SiegeEngineers / genie-rs

Rust libraries for reading/writing various Age of Empires I/II files.
https://docs.rs/genie
GNU General Public License v3.0
18 stars 9 forks source link

AoE2-DE aoe2record file format support #44

Open rnestler opened 3 years ago

rnestler commented 3 years ago

Is there any work underway to support the record game format from AoE 2 DE? When trying to open one I got the following output:

[crates/genie-scx/src/format.rs:181] victory_conquest = true
[crates/genie-scx/src/format.rs:187] _timeline_count = 0
[crates/genie-scx/src/format.rs:187] _timeline_available = 0
[crates/genie-scx/src/format.rs:187] _old_time = 0.0
Time(Time { time: 104, old_world_time: 0, unknown: 0 })
ViewLock(ViewLock { x: 30.0, y: 25.0, player: PlayerID(2) })
Time(Time { time: 104, old_world_time: 0, unknown: 0 })
ViewLock(ViewLock { x: 30.0, y: 25.0, player: PlayerID(2) })
Time(Time { time: 104, old_world_time: 0, unknown: 0 })
ViewLock(ViewLock { x: 30.0, y: 25.0, player: PlayerID(2) })
Time(Time { time: 104, old_world_time: 0, unknown: 0 })
ViewLock(ViewLock { x: 30.0, y: 25.0, player: PlayerID(2) })
Time(Time { time: 104, old_world_time: 0, unknown: 0 })
ViewLock(ViewLock { x: 30.0, y: 25.0, player: PlayerID(2) })
Time(Time { time: 104, old_world_time: 0, unknown: 0 })
ViewLock(ViewLock { x: 30.0, y: 25.0, player: PlayerID(2) })
Time(Time { time: 104, old_world_time: 0, unknown: 0 })
ViewLock(ViewLock { x: 30.0, y: 25.0, player: PlayerID(2) })
thread 'tests::aoe2_de_rec' panicked at 'unsupported command type 0x29', crates/genie-rec/src/actions.rs:1443:19

So I guess the file format is kind of support, just not all the commands?

the-eater commented 3 years ago

Hey! I'm actually working on getting DE support into genie-rs, the actions are quite easy, however genie is able to expose a lot of info in the header that we're trying to figure out how it changed in DE so that might take a while :)

rnestler commented 3 years ago

Hi @the-eater in the meantime I tested it again and it seems it was kind of random that it thought it could parse the header (and probably misinterpreted some things), since I couldn't get it to work with more recent game recordings.

It looks like https://github.com/happyleavesaoc/aoc-mgz supports DE, so it may be worth taking a look at it :slightly_smiling_face:

M1ngXU commented 1 year ago

What's the status of genie-rec?

simonsan commented 1 year ago

What's the status of genie-rec?

Older recorded game files are supported afaics, 2DE is not supported and work is done in #47.