Skip to content

some data mods, generated programmatically, so they can be recreated automagically for every new patch

License

Notifications You must be signed in to change notification settings

SiegeEngineers/auto-mods

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

auto-mods

some data mods, generated programmatically, so they can be recreated automagically for every new patch

If you are looking for the legacy C++ version of auto-mods, check out the master branch.

We just do everything auto!« - MbL, 2020

Published Mods

Setup

Create a Python3 virtualenv and install the requirements:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Usage

Execute the executable without parameters to get usage instructions.

$ ./auto-mod.py --help
usage: auto-mod [-h] --mods
                {community-games,x3,x9,exploding-kings,exploding-relic-monks,exploding-villagers,exploding-villagers-extreme,flying-dutchman,kidnap,matryoshka,no-wall,nomad-king,pocket-horse,random-costs,random-costs-light,random-tech-costs,random-unit-costs,rewarding-snipes,teamwork}
                [{community-games,x3,x9,exploding-kings,exploding-relic-monks,exploding-villagers,exploding-villagers-extreme,flying-dutchman,kidnap,matryoshka,no-wall,nomad-king,pocket-horse,random-costs,random-costs-light,random-tech-costs,random-unit-costs,rewarding-snipes,teamwork} ...]
                [--logfile LOGFILE]
                input_filename output_filename

Programmatically mod Genie engine dat files (mainly for Age of Empires II Definitive Edition)

positional arguments:
  input_filename        The dat file to modify
  output_filename       Where the modified dat file shall be written to

options:
  -h, --help            show this help message and exit
  --mods {community-games,x3,x9,exploding-kings,exploding-relic-monks,exploding-villagers,exploding-villagers-extreme,flying-dutchman,kidnap,matryoshka,no-wall,nomad-king,pocket-horse,random-costs,random-costs-light,random-tech-costs,random-unit-costs,rewarding-snipes,teamwork} [{community-games,x3,x9,exploding-kings,exploding-relic-monks,exploding-villagers,exploding-villagers-extreme,flying-dutchman,kidnap,matryoshka,no-wall,nomad-king,pocket-horse,random-costs,random-costs-light,random-tech-costs,random-unit-costs,rewarding-snipes,teamwork} ...]
  --logfile LOGFILE

For example, in order to patch the current dat file with the Flying Dutchman modifications, one might execute

./auto-mod.py ~/aoe/Aoe2DE\ proton/resources/_common/dat/empires2_x2_p1.dat ./empires2_x2_p1.dat --mods flying-dutchman

And then use the resulting empires2_x2_p1.dat in the current directory for whatever.

In order to patch the current dat file with the Flying Dutchman modifications AND the Exploding Villagers, execute

./auto-mod.py ~/aoe/Aoe2DE\ proton/resources/_common/dat/empires2_x2_p1.dat ./empires2_x2_p1.dat --mods exploding-villagers flying-dutchman

And then use the resulting empires2_x2_p1.dat in the current directory for whatever.

To build all available auto-mods, activate the virtualenv and run ./create-mods.sh. Your base dat file must be available at ~/aoe/Aoe2DE\ proton/resources/_common/dat/empires2_x2_p1.dat. If it is not, replace the path in the .sh file beforehand. The mods will be zipped and placed in the build folder.

Troubleshooting

If your output looks somewhat like this:

$ ./auto-mod.py 
Traceback (most recent call last):
  File "/home/user/git/auto-mods/./auto-mod.py", line 8, in <module>
    from genieutils.datfile import DatFile
ModuleNotFoundError: No module named 'genieutils'

Then you forgot to activate the virtualenv.

Fix this by running source venv/bin/activate, then run your command again.

About

some data mods, generated programmatically, so they can be recreated automagically for every new patch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published