sandsmark/genieutils

What is the genie .dat made of.

Maxzor opened this issue · 2 comments

Hello, thank you for the updates, had AGE3 compiled on ubuntu :) (GUI opens, altough coredumps when opening the empire.dat after what seems like reading a good chunk).
I managed to compile it only once with your forks though, you seem to have a hard time with those horrible git submodules ...
Dropped the effort of compiling on windows after trials with msys2, almost there but cmake + wxwidgets + msys2 is a pain.

Found the bundled AGE3 from Tapsa with AoE2DE from steam : wouldn't it be nice to be able to export the hole .dat in human-readable form?

What is the .dat made of?
I fiddled with this stub decompression, I get a few readable strings, but 99% garbage.

What is the genie .dat made of

the .dat is basically a direct dump of the in-memory structures of the genie engine.

Hello, thank you for the updates, had AGE3 compiled on ubuntu :) (GUI opens, altough coredumps when opening the empire.dat after what seems like reading a good chunk).

can you get a stacktrace with e. g. gdb when it crashes? and I saw that github issues was disabled for the AGE repo for some reason, maybe because Tapsa disabled it on his repo. But feel free to report issues with it

I managed to compile it only once with your forks though, you seem to have a hard time with those horrible git submodules ...

I'm not a big fan of them myself, but I thought that was the easiest for others to use. Just running git submodule update --init etc. in the right order doesn't work? And again, feel free to open an issue on the AGE repo and post the errors you get there.

Dropped the effort of compiling on windows after trials with msys2, almost there but cmake + wxwidgets + msys2 is a pain.

Here's the build steps from appveyor (I'm not sure if vcpkg works with msys2):

    cd C:\Tools\vcpkg
    git pull
    .\bootstrap-vcpkg.bat
    cd C:\projects\AGE
    vcpkg update
    vcpkg install sfml:x86-windows-static
    vcpkg install wxwidgets:x86-windows-static
    c:\tools\vcpkg\vcpkg integrate install
    git submodule update --init --recursive
    cmake -DENABLE_IPO=True -D CMAKE_CXX_FLAGS_RELEASE:STRING="/MT /O2 /Ob2 /DNDEBUG" -DLINKING_TYPE=static -D CMAKE_C_FLAGS_RELEASE:STRING="/MT /O2 /Ob2 /DNDEBUG" -G "Visual Studio 15 2017" -DVCPKG_TARGET_TRIPLET=x86-windows-static -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake .

But yes, wxwidgets is a PITA, also as a developer.

I'd like to eventually port AGE to Qt (I saw Tapsa started on that as well), then it gets much easier to build on windows as well (just download the qt installer, open qtcreator, and you can just clone from git there and everything you need is already installed). But because of the way AGE is implemented it's a ton of boring menial work, so I've just postponed it for now.

Found the bundled AGE3 from Tapsa with AoE2DE from steam : wouldn't it be nice to be able to export the hole .dat in human-readable form?

I thought about it, but it would require a lot of tedious boring work again (basically need to mark all variables manually somehow for export).

But have you looked at openage? Their converter exports a lot of the data from the .dat to more plain text as well.

I fiddled with this stub decompression, I get a few readable strings, but 99% garbage.

Have you looked at https://github.com/sandsmark/genieutils/blob/master/src/tools/extract/datextract.cpp ?

The autotest for the dat stuff also does some decompression: https://github.com/sandsmark/genieutils/blob/master/tests/DatTest.cpp

Also; what version of aoe(2) are you trying to open with AGE when it crashes?

And fwiw, here's the build steps from the aur packages for arch, in case that helps:
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=genieutils-git
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=advancedgenieeditor-git