MAK-Relic-Tool / Issue-Tracker

Central Bug Tracker / Issues Board for the MAK Relic Tool
0 stars 0 forks source link

SGA-V2 doesn't support Impossible Creatures (Steam Edition) #34

Open ModernMAK opened 1 year ago

ModernMAK commented 1 year ago

According to the tool; Impossible Creatures (Steam Edition) uses SGA v2.0

But the File Block of the Table of Contents does not load properly.

This appears to be caused by IC using a File Def of 17 bytes and DoW using a File Def of 20 bytes. IC seems to treat the StorageFlag as a UInt8 whereas DoW stores it as a UInt32.

Unless something else signifies this discrepancy between versions, V2 will need to be 'hacked' to fallback to a 17 byte FileDef if the 20 byte FileDef fails.

ModernMAK commented 1 year ago

Unfortunately, this highlights a major design flaw in EssenceFSSerializer; that we can't override the assembler and disassembler.

BUT.

The disassembler highlights the real problem; how do we specify when to use DoW V2 vs IC V2?

More research needs to be done on the differences between the two formats.

ModernMAK commented 1 year ago

Metadata could potentially be used to store whether it was loaded as an IC or SGA archive.

Manually created archives would still be a bit of an issue, but as of now; it's enough of a solution.

ModernMAK commented 8 months ago

Despite the reduction of scope; (#45), because Impossible Creatures is considered a V2 SGA, it should be handled properly.

If only so it's clear that an invalid DoW-V2 SGA is provided.