Grognak's Mod Manager v1.7 (Updated March 6, 2013!)

Discuss and distribute tools and methods for modding. Moderator - Grognak
Grognak
Posts: 172
Joined: Tue Sep 18, 2012 9:42 pm

Grognak's Mod Manager v1.7 (Updated March 6, 2013!)

Postby Grognak » Tue Sep 18, 2012 10:35 pm

Grognak's Mod Manager


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
NOTE - Grognak's Mod Manager is no longer in development and has been succeded by Slipstream Mod Manager

Please restore your game to vanilla using GMM, and install Slipstream to install/uninstall mods from now on. Slipstream or SMM has fewer bugs, is faster and is required by a few newer mods. It is highly recommended that you use SMM instead of GMM, if for no other reason then because GMM is no longer developed.
- UltraMantis
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


What is this?
Grognak's Mod Manager, or GMM for short, is a program designed to make it easy to install multiple mods at the same time. No longer do you have to pack and unpack files or swap out each mod you want to use one at a time.

GMM is compatible with Windows, Mac OS X, and Linux.

Image

How do I install and use this?
You can unzip the archive anywhere and it will (hopefully) auto-detect where FTL is located.

Mods come in .ftl files. To make one available to GMM, simply drag it into the /mods folder.

To install mods, open GMM, select the mods you want to be installed, and hit Patch. Please note that you need to re-select mods that you already have installed, otherwise they will uninstall themselves.

In order to completely uninstall all mods, simply start the patching process with nothing selected.

I patched the game and now everything is replaced with exclamation marks!
1) Delete your /resources/ folder in the FTL directory (this will not affect your saves)
2a) If you have steam, verify your game cache.
2b) Otherwise, if you use the DRM free version, re-download the ZIP file and copy it's fresh /resources/ in.
3) Try using GMM again. Everything should work.

Help! It's giving me an error.
Try deleting modorder.txt from your /mods folder and relaunching GMM. If you bought FTL via Steam, make sure that you haven't moved the base game's folder. Also, make sure that your resource.dat and data.dat files are not read-only.

If all else fails, try asking on this thread.

Download links:
Version 1.7.0 - [Windows] - [Mac/Linux]
Version 1.6.0 - [All Platforms]
Version 1.5.0 - [All Platforms]
Version 1.4.1 - [All Platforms]
Version 1.4.0 - [All Platforms]
Version 1.3.0 - [All Platforms]
Version 1.2.0 - [All Platforms]
Version 1.1.0 - [All Platforms]
Version 1.0.0 - [All Platforms]

Source code:
The latest, greatest main.py version can be found on Github.

Modman.exe's source is available separately here.

Change list:
1.7:
- Lowered the required Python version to 2.6
- Added a Linux/Mac launcher (modman.command) to guarantee a terminal
- Added forum-scraped metadata for most mod files (based on their md5)
- Added a right-click clipboard menu to the text area.
- Added ini setting: never_run_ftl
- The ini's ftl_dats_path is ignored if it's invalid
- Added graceful exit on ctrl-c or Windows terminal closing
- Fixed data.dat/FTL.app file chooser, which sometimes left files hidden
- Fixed TclError for non-US locales with commas for decimal points
- Moved dat backups to GMM/backup/ (bak's in the old location will be deleted)
- Made the code tolerable by Python 3.x (hopefully without new 2.x bugs)
- Made the Patch/Toggle/Forum buttons expand to accomodate their text
- Added "Validate" button to check mods for problems
- Added support for appending xml files with unicode UTF-8 BOMs
- Added FTL launching under OSX
- Updated backend (un)packer to ftldat r7 (plus changes for Python 2.6/3.x)
- Massively shrinked download
- New, custom GMM launcher

1.6:
- GMM no longer needs to be placed in the FTL directory
- Added ini setting: ftl_dats_path
- Added drag-and-drop mod reordering
- Added "Toggle All" button
- Dats are unpacked to temp folders and deleted after patching.
- Added logging
- Deprecated ini setting: macmodsdir
- Deprecated ini setting: highlightall

1.5:
- Add option to select all mods automatically (on by default, changeable in .ini)
- .ini finding improvement (by Jocelyn)
- Minor edit in readme for Mac OS X users

1.4.1:
- Fixed Mac and Linux support
- Fixed slight error in readme (no longer called the OK button)

1.4:
- New custom GUI
- No longer reliant on EasyGUI
- Better ZIP file support
- More relevant error messages
- Now offers the option of running the game after you're done patching (Windows only)
- Now removes deleted mods from modorder.txt
- Now supports .append.xml as well as .xml.append
- Improved Mac OS X support
(Thanks to ser_aerochorro for his contributions!)

1.3:
- Added custom subdirectory support
- Added an option to be able to use .zip files
- Integrated Icehawk78's stability patch
- Now includes modman.ini
- The Scrap Advantage example mod is now functional

1.2:
- Added missing files required for Mac/Linux users

1.1:
- Fixed critical issue with sub-folders
- Experimental Mac/Linux support

1.0:
- Initial release


Credits:
  • bas: For his brilliant ftldat, which this program couldn't exist without.
  • Vhati: For contributing so much towards the latest versions. Seriously, Vhati deserves major props. :)

For developers:
How do I create a .ftl file?
A .ftl file is simply a renamed .zip with a specific file structure. For an example, try renaming and unpacking the example .ftl file that comes with the program.

The root of your ZIP file should contain one, multiples of, or all of the following folders:
    data
    audio
    fonts
    img

You should ONLY put in the files that you have modified. This helps keep mod sizes low and prevents major mod conflict.

Don't worry about data.dat or resource.dat, GMM will automatically move the files to the right spot.

What is the .append extension for?
Any file in your .ftl archive with the extension .append will be appended to its respective vanilla file. For an example, check out the mod that comes with the program.

It is highly recommended that you take advantage of this as much as possible. As a rule of thumb, if you're editing an event xml file, you're going to want to append your changes rather then flat out replace the file. Keep in mind that you can override vanilla events to your pleasure by having the same event name, and using .append helps prevent mod conflict.

Please note, both "file.xml.append" and "file.append.xml" will work, but the former may cause problems with some text editors. Use whichever works for you.

Donations:
If this program has helped you and you feel so inclined, I can accept donations via Flattr. Thank you. :)

Image
Last edited by Grognak on Sun Sep 23, 2012 10:37 pm, edited 10 times in total.
Leonick
Posts: 6
Joined: Sun Sep 16, 2012 6:57 pm

Re: Grognak's Mod Manager

Postby Leonick » Tue Sep 18, 2012 10:51 pm

Haven't tried it yet, but still, brilliant! If it works as advertised, great work, we need this. Let's hope the modders embrace this.
Moosicorn
Posts: 107
Joined: Sat Sep 15, 2012 9:13 pm

Re: Grognak's Mod Manager

Postby Moosicorn » Tue Sep 18, 2012 11:25 pm

How does this work really can you just turn the mods off and on?
Grognak
Posts: 172
Joined: Tue Sep 18, 2012 9:42 pm

Re: Grognak's Mod Manager

Postby Grognak » Tue Sep 18, 2012 11:28 pm

Moosicorn wrote:How does this work really can you just turn the mods off and on?


Yes, as long as the developer offers a .ftl file.
Cswartz9
Posts: 11
Joined: Tue Sep 18, 2012 11:33 pm

Re: Grognak's Mod Manager

Postby Cswartz9 » Tue Sep 18, 2012 11:35 pm

Okay, this is pretty cool. Now please try to make a Mac version? Everything comes as an EXE for every game nowadays and it makes me feel left out.
Grognak
Posts: 172
Joined: Tue Sep 18, 2012 9:42 pm

Re: Grognak's Mod Manager

Postby Grognak » Tue Sep 18, 2012 11:37 pm

Cswartz9 wrote:Okay, this is pretty cool. Now please try to make a Mac version? Everything comes as an EXE for every game nowadays and it makes me feel left out.


As far as I can tell, I don't think that'll be much of a problem. I'll try to include it in a later version.

Leonick wrote:Haven't tried it yet, but still, brilliant! If it works as advertised, great work, we need this. Let's hope the modders embrace this.


Thank you. :)
User avatar
Kieve
Posts: 952
Joined: Tue Sep 18, 2012 2:21 pm

Re: Grognak's Mod Manager

Postby Kieve » Wed Sep 19, 2012 2:12 am

Haven't tested it yet but I love the idea.
I do have to ask though - most mods will be editing blueprints.xml, and I imagine a fair few will also involve Events, autoBlueprints, and Animations.
-How does the manager resolve multiple mods making different changes to the same files?
-In the event of a conflict (two mods changing the same thing), which takes precedence?

And I shall add my thanks as well since this looks to be a godsend for us modding types.
Grognak
Posts: 172
Joined: Tue Sep 18, 2012 9:42 pm

Re: Grognak's Mod Manager

Postby Grognak » Wed Sep 19, 2012 2:45 am

Kieve wrote:Haven't tested it yet but I love the idea.
I do have to ask though - most mods will be editing blueprints.xml, and I imagine a fair few will also involve Events, autoBlueprints, and Animations.
-How does the manager resolve multiple mods making different changes to the same files?
-In the event of a conflict (two mods changing the same thing), which takes precedence?

And I shall add my thanks as well since this looks to be a godsend for us modding types.

Thanks for the support!

1) Modders are highly encouraged to use the .append tag on appropriate files to prevent any conflicts. Multiple mods appending the same file shouldn't ever be an issue.
2) GMM goes through an automatically-generated modorder.txt from top to bottom. The mods on the bottom will replace/append last. So if you have to replace an important file, ask people to put your mod near the top of the list to prevent conflicts.
Tysonclyde
Posts: 41
Joined: Mon Sep 17, 2012 11:16 am

Re: Grognak's Mod Manager

Postby Tysonclyde » Wed Sep 19, 2012 2:53 am

Dude, I love you. You fucking rock.
Symbiode
Posts: 1
Joined: Wed Sep 19, 2012 4:34 am

Re: Grognak's Mod Manager

Postby Symbiode » Wed Sep 19, 2012 4:36 am

I just tested it with a simple names.xml replacement I made, works great! Thank you for making this available.