Released [Tool] <Addon Manager> Melder

Discussion in 'Addons' started by RadthorDax, Aug 24, 2012.

  1. RadthorDax Commander

    #1
    [IMG]

    Melder is an Addon Manager for Firefall that streamlines installation, updates and general management of the Addons that you just can't live without!

    NOTICE: To use Melder with the Steam version of the Firefall client you need to run Launcher.exe found inside your steam install directory at:
    SteamApps/common/Firefall/system/bin/Launcher.exe
    Let it patch (~80mb) and then Melder will work with the steam installation.



    Download Current Version: Melder v1.0.2

    [IMG]
    [melder_info]version=1.0.2;dlurl=1500421[/melder_info]

    Features:
    • Addon Library letting you enable and disable any and all of your addons.
    • Library displays information relating to the addon as well as a button that opens it's official forum post.
    • Author-customisable installation instructions and addon info.
    • Backs-up files removed or replaced in the Firefall directory.
    • Automatically detects updates for both Melder and the Addons you have in your library.
    • Variety of tools, including Verifying the Firefall Installation.
    • One-Click Download of addons into your library from their forum thread.

    Instructions:
    • Download and run Melder and click the Addon Library button (the one with a folder icon) on the left.
    • This is your Addon Library. You should put the .Zip files of addons you download from the forums into this directory. Remember that you should not unzip them.
    • Back in Melder, you'll see the Library List get populated with a list of the addons in your library.
    • To install one, click the checkbox next to that addon. Uncheck it again to uninstall the addon.
    • If there is an update available for an addon, there will be a little green arrow to the right of the addon's name. Clicking it will download the update.
    • In order to use the "Click Here to Install with Melder" buttons you see around the forum, you will first have to enable the One-Click Download option in Melder's settings.

    ________________________________________________________________


    Supporting Melder in your Addon:

    In order to function at it's best, Melder requires a melder_info.ini file to be included somewhere in the addon's .ZIP file. These provide information and additional installation instructions that Melder can use to streamline the use of the addon. melder_info.ini files are simple to script, and here is an example:
    Code:
    title=My Addon
    author=RadthorDax
    version=2.7
    patch=0.8.1740
    url=http://www.firefallthegame.com/community/threads/addon-manager-melder.52327/
    destination=gui/components/MainUI/
    description=The quick brown fox
    jumps over the lazy dog.
    remove=gui/components/MainUI/HUD/Abilities/
    ignore=Addons/readme.txt
    • The commands, dest and destination, desc and description, and compatible and patch, mean the same.
    • Descriptions can be multi-lined.
    • You can include as many remove and ignore commands as you need. You can remove/ignore directories as well as specific files.
    • Remove commands will backup the specified file. Usually used when that file conflicts with your addon, but that your addon does not directly replace. Files marked with remove will be restored to their original location should your addon be uninstalled.
    • Ignore commands specify a file within your addon's zip file that should not be installed along with the rest of the files. This is useful for readme files etc.
    You should also include the following bbCode in your main post for your addon. It provides the One-Click download feature for your addon to players that have One-Click Downloads enabled in Melder's settings. The button used for One-Click Downloads is also shown below.

    [IMG]
    Code:
    [center][url=http://astrekassociation.com/melder.php?id=XXXXXX][img]http://astrekassociation.com/images/melder.png[/img][/url]
    [size=1][color=#161C1C][melder_info]version=#.#;patch=#.#.####;dlurl=XXXXXX[/melder_info][/color][/size][/center]
    You should replace both occurances of XXXXXX above with the numeric id code at the end of your addon's latest version's attachment url. You should replace the #.# with the current version information of your addon. Melder supports using multiple decimals in your version number. You should replace #.#.#### with the most recent Firefall patch version that your addon is compatible with.


    ________________________________________________________________


    Credits:
    • Red:red5:, for being and making pure awesomeness.
    • Jekotia, DeadWalking, Bnorus, and Arkii, for hours and hours of ideas, testing and feedback.
    • GaryWolf, for the sweet icon and other graphics.
    • All of you, for using Melder. Because without you there'd be no point!
    • The Donators! Because you guys rock!

    ________________________________________________________________


    Known Issues:
    • Does not work with the Steam client without running the Launcher found in Firefall's Steam installation directory.
    • Trying to spam click the addon tickboxes doesn't work most of the time, but can occasionally cause the addon to install a second time. This means that Melder will think the first installation is native to Firefall and will restore it should you uninstall the addon. The addon will then need to be manually uninstalled if this happens.

    ________________________________________________________________


    Future Features:
    Not all of these features will appear in the next version of Melder, but they are confirmed for furture versions.
    • Improved UI design.
    • Install all addons button.
    • Favoriting and Installing/Uninstalling all favorites.
    • Deleting addons from the library.
    • Dev Mode!
    • Support for managing addons/mods for both Live Client and PTS Client.
    • Better support for off-forum addons.
    • Runnable Command files.
    • LastRun file for easier bug hunting.
    • Bug fixes and greater general stability meaning less crashes.
    • MOAR SETTINGS!

    ________________________________________________________________

    Change Log:
    Code:
    v1.0.2
    - Now installs pure addons to the "...\Documents\Firefall\Addons\" directory. If the addon places/replaces/removes any files outside of the original addon directory, it installs as a mod.
    - Now tries to get the Firefall installation path from the registry before asking the user to find it on first run.
    - Extra exception handling for failed addon downloads resulting from the forums not serving attchments consistantly.
    - Now tells you if an addon is a true addon or a mod in the info panel. Based on file contents of the zip and instructions in the melder_info.ini file.
    - Added Uninstall All Addons, All Mods, and Everything options in Tools menu.
    - Disabled Simulate Install tool due to changes to the install process for the dual locations.
    - Improved and fixed a bug in the patch and version comparison algorithm.
    - Fixed a bug that would cause the failed read of all melder_info.ini files.
    - Removed the 'potentially incompatible' (orange arrow) icons, because who really cared anyway?
    - Opting to install a patch now only uninstalls all mods. Will also now run the Launcher with --forceCheck
    - Added new Licence information, found under the Help menu.
    
    v1.0.1
    - Melder can now authenticate with Firefall, allowing it to download attachments once again.
    - When updating an addon that is installed, Melder now uninstalls it first.
    - Melder refreshes the currently selected addon's info box if it has been updated or it's compatibility has been updated without needing to reselect it.
    - Moved the Donate button.
    - Gave the About window a minor facelift.
    
    v1.0
    - Fixed bug where Melder would fail to download an update for an addon and then remove the previous version.
    - Fixed an issue that caused Melder to update when it was already the latest version. There may be more than one thing causing this though.
    - Updating an addon no longer forces the whole list to refresh and check for updates again.
    - New setting to disable addon update download confirmations.
    - Melder now detects hotfix patches as well as normal patches.
    - Melder no longer believes that an addon with multiple decimal points in it's version number is an illogical paradox.
    - Melder's UI is now fully scalable.
    - Incorporated some protective measures against potentially harmful addons/mods.
    - Improved addon update downloading algorithm.
    - Improved Icons!
    - Update downloads now display thier progress on the progress bar.
    - Drastically reduced the amount of time it takes to check for addon updates by multithreading.
    - Implemented the melder:// protocol for 1-Click Downloads of addons from the forums into your Melder Library.
    - You can no longer run more than 1 instance of Melder at the same time. Trying to do so will focus the existing instance.
    - Added a status message to display information about current or recently completed actions.
    - Added option to archive the old version of updated addons.
    - Added Firefall patch compatibility version to the addon info display.
    - Enabled the about menu option.
    
    BETA v0.991
    - Fixed the invisible checkboxes bug.
    - Fixed a crash bug when trying to read a corrupted .zip file.
    - Fixed a bug that occured during uninstalling all addons when the user opts to patch firefall
    - Fixed a bug where uninstalling all addons didn't remove installed addons that are no longer in your library from the library list, even though they had been uninstalled.
    - Fixed a crash bug when trying to uninstall an addon that has had files manually removed from the firefall directory.
    - Fixed a crash bug involving having your addon directory in the same directory as melder.
    - Fixed a crash bug when moving your addon directory to a new location when the new location contains zip files with the same name as the addons being moved.
    - Fixed a crash bug when clicking the button to open the forum post of an addon with a blank url field.
    - Fixed a crash bug when trying to simulate an installation when your library is empty.
    - Fixed an indirect crash bug caused by selecting to not install when presented with an installation warning and the checkbox not reverting to its unchecked state.
    - Fixed a bug that caused newly updated addons to get deleted from your library if they had the same filename as its older version.
    - Melder no longer inverts the warning settings.
    - Melder now removes the ".../Firefall/system/melder_addons/" directory when an addon is uninstalled if it is empty.
    - Melder should no longer ever start minimized.
    - Melder can now REMOVE and IGNORE directories as well as single files.
    - Split the automatic update checking setting into automatic Melder update checking and automatic Addon update checking.
    - Prevented user from being able to move the addon library into the Firefall installation directory.
    - Now correctly updates addon patch compatibility from forum tag for the latest version of the addon.
    - Added warning if Melder is located in the Firefall installation directory.
    - Added Firefall Installation Verification (--forceCheck) to the Tools menu.
    - Added a Donate button, if you're so inclined. <3
    
    BETA v0.99
    - New Icon! Yay!
    - New Library list control.
    - Much improved the INI parser.
    - Added ignore command to melder_info.ini's. Used to ignore the installation of a file within the zip file, such as a readme.
    - Reintroduced settings.ini, located in "%LocalAppData%/Melder/..."
    - Default location for the addons folder moved to "%LocalAppData%/Melder/addons/..."
    - Added a prompt when a patch is detected for Firefall. Opting to patch will uninstall all addons to facilitate binary-diff patching, which can sizably reduce the size of patches needing to be downloaded.
    - The Library list will automatically refresh when changes are made in the addons directory.
    - Updates now appear as a green download arrow next to the addon name in the Library list.
    - Addons without melder_info.ini files are marked with a blue warning arrow.
    - Addons that might not be compatible with the latest Firefall patch are marked with an orange warning arrow.
    - Addons that are installed but have been removed from your Library are marked with a red warning symbol. Once uninstalled, they cannot be reinstalled unless you download the original zip file again.
    - Addons without melder_info.ini files, or a destination therein, warn you that they may not install correctly before installing.
    - New matching algorithm is executed if you choose to proceed past the melder_info.ini/destination warning. As a result, the addon will be installed to the right location with few exceptions.
    - Addons marked as potentially incompatible will warn you of such when you attempt to install them.
    - Added an Installation Simulation tool.
    - Added an Uninstall All Addons tool.
    - Added a manual check for updates.
    - Added a menu option to Get Help, which opens this thread in a new browser tab.
    - Added Settings Window.
    - Addons directory is now configurable in the settings.
    - Automatic update checking setting moved to settings.
    - Added options to disable various warning messages.
    - More things that I can't remember.
    - Laying foundations for fancy new magic superpower features.
    - An ungodly number of bugfixes.
    
    BETA v0.7
    - Melder now automatically updates itself.
    - Settings are now self-contained. The settings.ini file is loaded and deleted, if it exists.
    - Prompts user when there are updates available for addons in their library. (Only if the addon author has [melder_info ] tags in their forum post.)
    - Removed FirefallClient.exe textbox and icon in favor of requiring it to be found before Melder will run.
    - Melder now automatically checks the 32-bit and 64-bit default installation paths for FirefallClient.exe.
    - Fixed a bug with enabling/disabling automatic updates.
    - Fixed an Addon Library bug when addon .ZIP files don't contain a melder_info.ini file.
    - Various other bug fixes.
    
    BETA v0.6
    - Changed Melder to use .ZIP files instead of extracted directories.
    - Removed COPY command from melder_info.ini interpreter.
    - Added DEST command to melder_info.ini interpreter.
    - Added option to disable automatic update checking.
    - Added Launch Firefall button.
    - Various Bug Fixes
    
    BETA v0.5
    - Fixed some crash bugs pertaining to rarely occuring FirefallClient.exe path situations.
    - Fixed crash bug when trying to copy files into non-existant folders.
    - Added prompt to update client if there is a new version available.
    
    BETA v0.4
    - Melder should now run on .Net Framework 2.0 instead of requiring 4.0.
    - Fixed a bug whereby having Firefall installed in a different Directory than "Red 5 Studios" caused Melder to not recognise the user's FirefallClient.exe filepath.
    
    BETA v0.3
    - Initial public BETA version.

    Attached Files:

    • Like x 111
  2. #2
    I'll be brave and test...for science!!!

    edit: uh, how to install it?
    • Like x 1
  3. #3
    Very nice, you know you should ad in a link to this addon repository so people can easily find new addons http://fftba.com/addons.php
    • Like x 1
  4. RadthorDax Commander

    #4
    You dont need to install Melder, it is a standalone application.
    I'll keep updating the main post with more info too.

    For now, run it, and locate FirefallClient.exe by clicking the big folder icon. this should create your default settings and addons folder.
    Then, you'll need to drop all of the addon files their own folder inside the addons folder, along with a melder_info.ini file for that addon.
    This file controls how the addon is installed and is quite important.

    For now, only my own SuperBestFriends has such a file, but it is no big deal to make one as per the instructions in the main post. I would imagine other addon authors will produce them in time.
  5. Hanachi Stellar Ponies

    #5
    I keep getting the error "Please select the correct FirefallClient.exe". Don't know if that has to do with the fact that my firefall is installed on F:\ Instead of C:\.
  6. RadthorDax Commander

    #6
    It checks to make sure the selected FirefallClient.exe is actually in the right place in a "...\Red 5 Studios\" directory. doesnt matter where that folder is, but it wants the file structure to be right. can you post the complete path to your FirefallClient.exe?
    • Like x 1
  7. Hanachi Stellar Ponies

    #7
    "F:\Firefall\system\bin\FirefallClient.exe" is where I have it installed. I like simplicity.
  8. RadthorDax Commander

    #8
    Ah ok, I'll change it to just check as far back as system, since that is the most important part anyway. :)
  9. #9
    Hey RadthorDax, I've been working hard on a firefall addon repo site.
    Was going to use the opensource Nexus Mod Manager -- but I think teaming up with you would be even better! :D

    How do you wish to collaborate? I could open up the DB by setting up an API, like spitting out JSON or XML.
  10. RadthorDax Commander

    #10
    I'd be honored to work with you to integrate Melder into repository systems. At the moment, I've only put about 8 or 9 hours work into Melder, and I started coding the project itself less than a day ago! It's progressed quite quickly, and I hope it'll continue to do so. Right now, I'm concentrating on expanding the functionality slowly, and squashing bugs as they appear.

    By Saturday (tomorrow) evening, I believe I'll be in a position to start talking about collaberations and APIs.
  11. #11
    So, I've started using this so I could have an easier way of managing the addons I have installed. As it is now, I've been trying to make my own .ini files for the addons that aren't supported yet.

    I've had an issue when I've tried putting any addon in it's own folder, say \gui\components\MainUI\Addons\WeaponRange\WeaponRange.lua, it would say that the folder WeaponRange couldn't be found (meaning I would have to create that directory myself in the FireFall directory). Now, that seems like a step backwards. Am I doing something wrong when creating the script for these addons?

    It also seems to be a bit tedious, having to put every file in the specific place. I know you talked about NMM, and the ability to use that built-in extractor of sorts to get the correct directory tree would be something to look into.

    (A launch patcher button would be welcome as well!)

    Sorry if I'm not making any sense or going over points you are already looking to address.
  12. RadthorDax Commander

    #12
    Thanks for the feedback! Thats a bug, and I'll add it to my list. I hadn't thought about making sure that folders specified in the .ini existed before trying to copy into them :D
    You can expect the fix in the next update (within the next 3 hours).

    It is for this exact kind of thing that I uploaded a Beta version rather than trying to get all the features in first.
  13. #13
    Glad to hear that you're already looking into it! I can't wait to break it some more :p
    • Like x 1
  14. RadthorDax Commander

    #14
    Please do!!
  15. RadthorDax Commander

    #15
    Fixed!

    Coming soon!
  16. #16
    Just tried it out again using the new version, for some reason the startup is taking a lot longer than before.

    Also, I'm still having the issue with the directory creation. Here's a screenshot of the error, with all of the relevant info.

    (The folder WeaponRange was not made inside of the firefall directory).

    I just made the folder inside of the firefall directory, the error went away and it patched successfully.

    Attached Files:

  17. #17
    This is something I will definitely put into my mods, but I need some specific information on what exactly this does and what exactly is expected of directory structure.

    Wouldn't it make the most sense to use the existing directory structure inside the zip instead of using this COPY option? Someone not using this addon manager would need to extract the zip, and the files would need to go to the correct place, so mod authors will typically create a directory structure for the zip file.

    If the game is patched, all addons will be deleted. Will the mod manager detect this somehow?

    If the installation of a package overwrites a main file, is a backup made somewhere?
    • Like x 1
  18. RadthorDax Commander

    #18
    At the moment, using a zip file is something im looking into using in place of the current copy system.

    When the game gets patched, Melder knows. All addon files are removed by the patch process, so all the addons are seen as uninstalled. Melder will display a warning prompt if you try to install an addon that isn't compatible with the current build.
    Melder will check these for prompting addon updates and checking build compatibility. Coming Soon.

    All overwritten files are backed up, and restored when the addon is uninstalled. This is in the current, and all previous BETA versions of Melder.
  19. #19
    Once the user extracts the zip into its own folder, in order for the copy function to work, do all files need to be at the base of that folder's directory tree?
  20. #20
    One suggestion for COPY.
    Allow:
    Code:
    COPY=*,gui\components\MainUI\Addons\ADDONNAME\
    This would copy all addon files in the zip to the proper directory.