Integrating my Mod into EE2 1.5

ImageImageTalking about Modding for EE2 and EE2 AOS. New maps, patches, programs and Multiplayer scenarios.
Post Reply
PaulStretch
Posts: 37
Joined: 27 Jun 2021, 16:10
Has thanked: 15 times
Been thanked: 1 time

Integrating my Mod into EE2 1.5

Post by PaulStretch »

I'm trying to integrate my mod with Dr. Mona Lisa's mod. I want to make changes to DB 155, but I don't want to make any changes until I understand what it is I'm altering. Example, there are duplicates of files, such as techtreenode5 and techtreenode6. From looking at the files I assume EE2 1.5 preserves the base DB file and instead pulls information from db 155 (so the mod can be easily uninstalled). Db 155 has separate files depending on what features the user enabled in the settings menu for 1.5. Example if the user doesn't want modded buildings then EE2 1.5 uses techtreenode6 in DB155. Where as if they do want modded buildings it uses techtreenode5. Let me know if I'm understanding this correctly and if there are any links I can follow that help me better understand how the mod works.

User avatar
Dr.MonaLisa
High Representative
Posts: 8182
Joined: 17 Jun 2010, 11:21
Location: Poland
Has thanked: 17 times
Been thanked: 25 times

Re: Integrating my Mod into EE2 1.5

Post by Dr.MonaLisa »

You understood the UP1.5 files structure pretty well.

There are many posts from me to read about it, but none probably explains everything as it should.
A first example: viewtopic.php?p=25804#p25804

Searching for "files structure" phrase also returns a lot of posts: search.php?keywords=files+structure

But is it needed to read?

Generally, since I did not have (and still don't have) language files for all EE2 distributions, in Unofficial Patch it was a priority to develop it in a way that won't remove existing features from users (like overwriting language files). After all, languages are something that makes a lot of players love the game they play much more than if it was in their secondary (English) language. This is why the support for all language was the absolute priority, which multiplied the work needed to put into developing the patch.

As example file: "techtreenodes.csv" is not read by the game at all in UP1.5 (Normal Version). I modified it in game executables to use techtreenode5 or techtreenode6. It had to match the exact characters length, that's why in these file names letters are cut instead of being added.

the names of .zip archives are not important. As first I used a different archive name for every update, but stopped it at version 1.5.5 (because it was pointless). So as result, most of editable files are placed in db_155.zip. This file is overwritten with every minor update (usually released at least 1 time per month). The bigger file db_150.zip contains audio files (and maybe some animations? I don't remember). Generally, exploring db_155.zip is like a shadow of db.zip, just with a new structure. Obviously not all files were needed in UP1.5, so most of them are still read from the normal db.zip.

The problem about modding on the normal version of UP1.5 are frequent updates. db_150 / db_155.zip are downloaded by the installer whenever it detects that their checksum mismatches. If you are modding the game on the normal version of UP1.5, you will need to verify the content of db_155.zip after every update and update files that changed. This can sound as fun for 1-2 months, but with time it might get tiring. This is why I recommend to use the Developers Version of UP1.5 for all players who want to mod their game. Developer Version updates don't overwrite mod files. Many game crashes (and sometimes fixes) are applied to the Developers Version as well as to the Normal one.

If you still decide to mod on the normal version of UP1.5, please make sure to add the following command to UP1.5 Settings Custom Configuration box:
DontReportCrashes=1

This will disable crashes reporting. I would very appreciate it, as modders are often polluting our stability statistics ( https://ee2.eu/statistics/#launchstats ) and the number of crashes never shows the reality.
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains
These users thanked the author Dr.MonaLisa for the post:
PaulStretch
PaulStretch
Posts: 37
Joined: 27 Jun 2021, 16:10
Has thanked: 15 times
Been thanked: 1 time

Re: Integrating my Mod into EE2 1.5

Post by PaulStretch »

Interesting. I tested modding the normal version, and it seemed like any small change I made kept the game from starting. Example, all I did was add "//" at a random empty line on the house_15 file, and it prevented the game from starting. Even when I deleted the changes I didn't fix it. I had to replace the DB_155 with a copy I made to get the game to work again. If I use the developer version will this not be and issue? Also by default the developer version doesn't report crashes?
User avatar
Dr.MonaLisa
High Representative
Posts: 8182
Joined: 17 Jun 2010, 11:21
Location: Poland
Has thanked: 17 times
Been thanked: 25 times

Re: Integrating my Mod into EE2 1.5

Post by Dr.MonaLisa »

By default the Developers Version doesn't report crashes.

It's possible that you modified a different file in your mod, which in the Normal version of UP1.5 is read at db_155.zip. So the things that your mod depends on are not visible for the game.

But normally, making a "single change" to files should not cause problems like this. After all it's exactly the same modding method as I'm using for over 6 years.
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains
Post Reply

Return to “EE2 files, modding, maps, testing, etc.”