How to compile the Advanced Genie Editor on Linux (Ubuntu 18.04)

The Advanced Genie Editor is an excellent software to inspect and modify the core game files of games that use the Genie format – that includes Age of Empires II in particular. It is written in C++ and licensed under an open source license1, which makes the whole thing twice as nice (the open source part, not the fact that it is written in C++).

While the Advanced Genie Editor is just available for download as a Windows executable, it can also be compiled and run on Linux systems.

As I happen to play my Age of Empires II on my Linux as well (using Wine/PlayOnLinux), this is what I desire, to be able to look up stuff easily when developing other Age of Empires II related tools.

Unfortunately, being rather inexperienced with the whole C++ build chain, I never really got it to compile. Which sucked, because I would either have to reboot into Windows or use my windows laptop next to my main PC to run the precompiled windows version. This also meant no copy-pasting.

But after some more hours of trial and error, I finally got it to work!

HowTo

On a freshly installed Ubuntu 18.04, run the following commands:

sudo apt install git build-essential cmake libwxgtk3.0-dev libboost-all-dev libsfml-dev
git clone https://github.com/Tapsa/AGE.git
cd AGE
mkdir extern
cd extern
git clone https://github.com/Tapsa/genieutils.git
git clone https://github.com/Tapsa/pcrio.git
cd ..
cp "Misc Files"/zlib.cpp extern/genieutils
cp /usr/share/SFML/cmake/Modules/FindSFML.cmake cmake/
mkdir build
cd build
cmake .. -DEXTERN_DIR=extern
make

The make step will take some time.

Finally, you will have an AdvancedGenieEditor3 executable in AGE/build/! Happy modding.

(You cannot change the (absolute) location of the AGE/build/extern/genieutils/libgenieutils.so library though. Otherwise, the program will not work anymore, as it will be unable to locate the library.)

  1. GPLv3

2 thoughts on “How to compile the Advanced Genie Editor on Linux (Ubuntu 18.04)

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert