Jump to content

Mod Distribution/Automation Program


Daemonjax

Recommended Posts

BETA (11/2/2012) is available for download.

 

MAIN DOWNLOAD LINK (r31)

 

Important updates:

 

ModInstaller.bat direct download link (r33)

 

README:

 

The GUI that dose coded is in the first link above. I can't promise that it'll work for you. We're working on it. ;)

 

Installation:

 

1) Extract anywhere (hereafter referred to as this folder).

2) Extract any important updates to this folder.

3) You may have to edit the config\config.xml file manually (it does have sane defaults).

4) Download and extract XSHAPE v0.14+ into your xcom folder.

5) Download and extract Gildor's Unreal Package Decompressor into this folder.

6) Open a command prompt to that folder.

7) Use ModMaker.bat and ModInstaller.bat with the /? switch to see usage info.

 

i.e.

 

modinstaller /?

 

 

Comes with:

 

Batch files:

 

ModMaker.bat : Generates the .xcom_mod file.

ModInstaller.bat: Installs patch data in .xcom_mod files and runs XSHAPE, decompressor, and renames .uncompressed_size files as needed.

 

Example mod:

 

EqualGenderRatioMod : Instead of a 33% chance of having a female soldier, it will be a 50% chance. Modifies: XComGame.upk

 

Also, for testing purposes, located in the folder is all the data you need to actually create the EqualGenderRatioMod.xcom_mod.

 

 

 

Committers : Daemonjax, dose206

Contributors: Iluvatarwc

 

Project Requirements for Release Candidate 1:

 

1) Patching the UPK bytecode (ModInstaller)

2) Creation of UPK bytecode patches (ModMaker)

3) Uninstallation of mods (not yet implemented / do manually)

4) Decompressing UPKs (ModInstaller Batch File / Gildor's decompressor tool)

5) Handling of <filename>.uncompressed_size files (ModInstaller Batch File)

6) SHA hash patching of the main executable file (ModInstaller Batch File / XSHAPE)

7) Unpacking (not yet implemented / use Gildor's extractor tool manually)

8 ) The option to include additional info when making a mod to speed up installation. (not yet implemented)

9) Support for multiple modified files within the same mod. (not yet implemented)

 

Possible Future Features:

 

1) GUI (currently broken, at least for me)

2) Backup handling (kinda simple) (Probably won't make it into first beta)

3) Version checks (this could mean almost anything, so someone explain this one)

4) Modpatcher support (easy)

5) Hexediting support (easy)

6) UE Explorer support (easy)

7) Merging mods that modify the same extracted file(s) (moderately time-consuming)

8 ) The ability to quickly "flashmod" using info simply copy/pasted from a forum, and revert those changes. (moderately time consuming)

 

Programming Language: Probably C# and Java

 

Project Page: http://code.google.com/p/xcom-modmanager/

 

IRC: Server: chat.freenode.net -- Channel: #xcom-mod-manager

 

Note: Be sure to download any important updates. Sometimes I notice a problem with a particular file, and I fix it rather quickly. I try to limit repacking the main distribution file to once per day. Right now, at r32, ModInstaller is pretty solid.

Edited by Daemonjax
Link to comment
Share on other sites

  • Replies 108
  • Created
  • Last Reply

Top Posters In This Topic

FWIW I think the Nexus Mod Manager is a great model for a convenient mod installation automator. Since it ties directly into the site and can detect updates to mods as they're uploaded, it's probably worth investigating whether it can be used as a base to work from. It seems fairly modular seeing as a number of third party programs were integrated into it for Skyrim, and I believe that if you include I think python scripts in your mod package, it can automatically undo any changes a mod makes when uninstalling a given mod.
Link to comment
Share on other sites

Required would be

 

Decompressing

Patching the bytecode

Filehandling of the little uncompressedfilesize files

Sha1 hash Patching

 

Nice would be

Backuphandling

Version checks

 

Would love to help you but my experince with java are near to none, so my code would look like a complet mess i guess, dont know if this would lead to more work for you then help :P

Link to comment
Share on other sites

So, now that it's actually possible to mod the .upk files and have the game load them, what would be the best way to distribute these mods?

 

I think we should avoid directly sharing game asset files, and so a separate program would be needed to distribute only the changes to the file(s).

 

Any thoughts?

 

What features would be required of such a program?

 

What features would you like to see?

 

Would anyone else be willing to work with me to make this, rather than it being a lone wolf project?

 

i'm sorry but i don't familiar with moding mechanism,but i'm 200% support you and your team (there has to be!) to bring forth awesome mods for xcom fans,hip hip huraaaay for daemon :D

 

btw,what's the first project you'll be doing??can you share any preview on what's on your mind?hehe :)

 

ooh,one question,what do you mean by way to distribute the mod?is it other than a patcher.bat or just like TES,FO style (copy paste,make folder etc etc)?

 

sorry for asking a lot of questions,got very excited :D

Link to comment
Share on other sites

Optimally I think this would be something that lets the user edit single lines of data, as in change soldier default stats while keeping everything else in the file as it is. There was a savegame editor for Blood Bowl that was pretty much the exact thing I mean here. Just cant remember where it resides atm. if it even exists anymore.
Link to comment
Share on other sites

Optimally I think this would be something that lets the user edit single lines of data, as in change soldier default stats while keeping everything else in the file as it is. There was a savegame editor for Blood Bowl that was pretty much the exact thing I mean here. Just cant remember where it resides atm. if it even exists anymore.

 

That sounds good, but let's take a step back here... What I'm talking about is a program that would make a mod like the mod you're describing easy to distribute to non-modders so they can use it themselves :D

 

 

I want to write a program that has the goal of answering the question: How does Player A get and "install" the Mod that Player B wrote?

 

While I agree with what you said, I don't want to raise everyone's expectations to unreasonable levels here. :D I'm just one guy.

Edited by Daemonjax
Link to comment
Share on other sites

Would love to help you but my experince with java are near to none, so my code would look like a complet mess i guess, dont know if this would lead to more work for you then help :P

 

Well, maybe we won't do it in Java then :D

 

What programming languages do you know?

 

I'll put you down as a volunteer for now at least.

Edited by Daemonjax
Link to comment
Share on other sites

I'd be interested in pitching in, but with a caveat. I have two kids and am a full time uni student so my time is... limited. I'm pretty comfortable in Java, but also have some experience in some of the .NET languages.

 

EDIT: Is this project related to your XSHAPE project? I'm still trying to sort out the current mod pipeline, but the goals stated in this thread seem to match what XSHAPE is doing to the untrained eye.

Edited by dose206
Link to comment
Share on other sites

Right now XHSAPE does SHA patching of the main executable, nothing else.

 

This program would have to do what XSHAPE already does, but it also has to do way more.

 

We can do the project using more than one programming language if need be. The separate parts of the program could communicate with each other using network packets over loopback on some port :D Doing that isn't as hard as it sounds, and might even be preferable... at least for the GUI and Backend.

Edited by Daemonjax
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...