This is a school project which I started last December to learn more about assembly programming and reverse engineering.
I thought it would be a good idea to look at Age of Mythology and see what I could learn from it while also trying to break the hardcoded limits of AoM modding.
My initial focus was on the limitation of not being able to add new cultures and civilizations which many modders (including me) have tried to overcome with several workarounds but have never really managed.
Now this is still a work in progress but it already has the features required to add cultures and civilizations!
It is now possible to add new cultures and civilizations through editing the new cultures.xml! This will add new tags to the proto, techtree, anim, sounds and adds new keywords to xs.
Age up progession bar can now be linked to any technology added to the progressiontechs.xml
Clicking on the random button will switch out the old options with the new custom gods which can be selected:
Hooked into the graphics of the game which made drawing ImGui development UI possible! Here is an example of development UI displaying a list of all world objects:
My time is somewhat limited (~8 hours per week) but I want to continue working on adding new features and improve modding support so make sure to drop some suggestions in the comments below!
Culture support is a bit hacked together atm and probably some other features have bugs as well.
Currently I just quickly hacked this for some of the culture and civilization names but it should be possible to trick the game into using a text file instead of the DLL which makes things a lot easier to modify.
Recorded games with more than one observer are currently broken.
For helping me learn assembly, some awesome ideas on how to approach certain issues and being a great rubber duck.
[This message has been edited by WarriorMario (edited 05-16-2018 @ 04:29 PM).]