Hellgate: London (Single Player) > Modification

Modfile Inspector, files.xml editor, ModPackage Creator 1.2c

(1/8) > >>

Kite:
I've been playing around with the Reanimator Tool for the past few hours (nice work! :mrgreen:) and I quickly got tired of always having to copy the modified files to their respective folders... As I had nothing else to do (who cares about studying xD) I thought I'd try programming a little tool that allowes me to directly create a mod package from those cooked files... However as the new HGL launcher doesn't seem to like my own zipped mod packages, I didn't care about implementing this functionality...
When placed in the "Flagship StudiosHellgate London" folder (together with the Reanimator.jar) the program searches for all *.txt.cooked files located in this folder level, creates a new mod package folder + directory tree structure and places the files in their respective folders.

I tried to keep the tool as simple as possible and made it command-line based so it can be used for scripting or whatever other purposes. When running the program you can decide wether you want to add information like the name of your mod (also used as mod folder name), the version, or the author's name (the corresponding "modinfo.ini" file will be created automatically), or if you just want to create the package using standard values (empty name, version, author fields in the "modinfo.ini").

All in all I just want to hear what you guys think of this and where you see some potential for improvements...

How to start:
First of all I expect the Reanimator.jar to be located in the "Flagship StudiosHellgate London" folder (where the NewLauncher.exe is located), so that all the modified files created by Reanimator are also being placed in this folder. The "ModPackageCreator.exe" and its "files.xml" file should also be placed in this folder.
To use the program, either create a shortcut and add the startup parameters there (e.g. "-n "My New Mod" -v "1.2.0" -a "Kite") or open up a command prompt. For quick&dirty tests you can also use the parameter "-x" which will tell the program to just use standard values for all fields.
The final mod package will also be located in the "Flagship StudiosHellgate London" folder.

Important: As the program was written in C# it requires the .Net Framework 2.0 to run!

I might also add a GUI in the near future or add some more customization options (currently there is no option to specify where the final mod package should be created etc.)





HINT:
I tried to find all possible bugs or errors (and I'm pretty confident I slayed most of them :)), but some might still be left. Use with caution and don't blame me if anything bad happens :P If anyone is interested, I can also provide the source-code (undocumented and don't comment on my programming style... or lack thereof xD)

HINT2:
As I have no connection to the development process of the SP modification or Revival, there is no use in asking maeyan or any other developer for help concerning this tool. If you have any problems or questions, feel free to contact me via PM :)



In return I have a small question regarding the "modinfo.ini" file:
Would it be possible to add additional entries to the file like
"Short description" - for a short summarization of what this mod does and
"Description" - for a more complete list of changes?
I think this might help keeping track of all the different mods when having a huge amount of packages...



EDIT:
Added a simple GUI that requires the ModPackageCreator.exe (you need to download both files).

EDIT2:
Just came accross a buggy function in the GUI... v1.1 is the newest version.

EDIT3: v1.2
Added requested features to the ModPackageCreator:

* -t "type": Defines the installation type of the mod (required, opt-in, opt-out). A shortened parameter version is available via -t R = required, -t OI = opt-in, -t OO = opt-out. If no argument is specified, the standard argument is "required".
* -c "files": Defines the cooked files to be used for generating the mod package. Multiple files have to be seperated via ";":
-c "affixes.txt.cooked;itemquality.txt.cooked;"
* -s: Doesn't require the user to hit a key when packaging is done. Pretty handy when running the program from a script.
* -z: Not implemented yet, but reserved for zipping the created package.
* -p "path": Allows you to specify the path where the package should be created
Added features to the GUI:

* Dialog to select which cooked files should be used.
* Dialog to select the destination folder of the mod.
* Option to select the type of the mod.
* Option to zip a created package (not implemented yet)
* Option to create a package without using any parameters ("quick & dirty"-style)
* If you are interested in which parameters are being passed to the ModPackageCreator or if you just want to save them for alter usage, I have also added a button which copies these parameters to your clipboard, e.g.:
-s -a "nobody" -t "OI" -n "Test" -v "0.1a" -p "E:Program FilesFlagship StudiosHellgate London" -c "affixes.txt.cooked;gameglobals.txt.cooked;global_themes.txt.cooked;itemquality.txt.cooked;items.txt.cooked;monsters.txt.cooked;offer.txt.cooked;treasure.txt.cooked;"
EDIT4: v1.3
Added zipping functionality (and enabled it in the GUI) to automatically zip the created mod package. Uses "SharpZipLib" http://www.sharpziplib.com/ under the GPL license http://www.icsharpcode.net/OpenSource/S ... ib/GPL.asp
WARNING:
As I am deleting the "normal" unzipped mod folder after zipping it, make sure you use a folder name that isn't already existing, e.g. if you name your mod "ABC" and you already have a folder called "ABC", the mod files will be placed inside this folder, but at the end of the progress, the whole folder will be deleted (files can still be found in the zipped folder)! Keep this in mind and you'll have absolutely no problems :)

EDIT5: v1.4
Added requested features to the ModPackageCreator:

* Added file comparison (via MD5 hash) so only modified files are used when building the package (compares *txt.cooked files in the Dataexcel and data_commonexcel folder with files created by Reanimator).
* Added switch "-m" to specify that only modified files should be used
GUI changes:

* Redesigned some of the GUI elements
* Added checkbox to select/unselect wether only modified files should be used
EDIT6: v1.5 (Creator)
The basic functionality and features of v1.5 are the same as in v1.4. No new features were added, no errors were corrected. The only difference (for programmers) is, that I cleaned up the code, extracted the main functionality and placed it in a seperate DLL (ModPackageCreatorLib.dll) so the most important methods can be used without the need of using the console or parameters. All methods inside the DLL are fully commented so if you are using MS Visual Studio you'll see those neat little help lines and explanations.


EDIT7: v1.5 (GUI)
Added a config file for the GUI which allows you to determine the standard values for all the GUI fields. This way you can save your most commonly used settings (e.g. Mod name, author, target folder, if the folder should be zipped, etc.) and are not forced to enter them each time you start the GUI. Edit the *.config file by hand to make changes.



EDIT8: v1.6 (Creator + GUI)
Added a new option to specify the type of the mod (base/original) and modified the command-line arguments to match the new parameter.
Changed some command-line arguments:
Changed -t to -i (installation type)
Changed -m to -o (onlyUseModifiedFiles)
Added -m (mod type)
[attachment=0:wklvmmpq]ModPackageCreator v1.6 - ModPackageCreator - GUI v1.6.zip[/attachment:wklvmmpq]

Additionally, you can download a new, reworked standalone version of the GUI featuring the creation of multiple mod packages from the next page.(recommended)[/b]


Known bugs/possible problems:
Even though the "files.xml" is designed so that other files and their locations inside the mod package can be added, the Creator and the GUI are currently only looking for *.txt.cooked files, when no arguments are specified via the "-c" switch. I haven't tested this yet, but the program MIGHT process those files correctly when passing these files as arguments via "-c".
Sometimes small changes to *.txt.cooked files aren't recognised correctly when using the option "onlyUseModifiedFiles" resulting in the file not being used as it is "identical" to the original file.

Resolved bugs:

* GUI signals "Successfully created new mod package XY!" even though the Creator shows an error: Outputs and exceptions from "ModPackageCreator" are now correctly redirected to the GUI
* There seems to be a problem when generating the directory structure of the mod package. This MIGHT be solved by editing the "files.xml" file and replacing the <folder name="Data"> with <folder name="Dataexcel">.

ElectricMessiah:
I'm probably going to regret this question....

Where is the Reanimator download?  I've not seen a link for it yet.  (runs and hides).

Kite:
The Reanimator is a tool only available for Founding members -> viewtopic.php?f=2&t=42

maeyan:
This is really cool Kite. Well done!  :D I love community contributions

The new Reanimator suite is written in C# and defines a new modding method, that is actually an XML schema designed to script the modifications. This allows us to combine multiple modifications. There are lots of other tasty tools too, such as IDX explorer and DAT repacking (handy for replacing movies, sounds and strings). If your interested in contributing, send me a PM and i'll hook you up with the SVN credentials.

Malachor:
Hi Kite, great program, but could you add the option to modify "type=", so we can use opt-in, opt-out or required, rather than just required?
Could you also add the option to specify the files that go into it? I ended up with 3 txt.cooked files, 2 I expected, 1 I didn't(since I hadn't modified it).
And I was wondering why you've kept the older version of the gui? It might make it a bit confusing, since the main program is with the older version of the gui.

Navigation

[0] Message Index

[#] Next page

Go to full version