Tuesday, February 18, 2014

FMod - Not My Fault

I had a tiny bit of spare time today, which I used to investigate the error report by the most recent Abiathar tester. She created a set of files (for Keen Dreams) with The Omegamatic that could be opened only by it and Keen. Obviously, this is a problem; I need to be able to handle anything that Keen can.

First, I checked the Huffman dictionaries and made sure they were fully intact. When I checked the game maps file, I noticed that the map header was 100 bytes shorter than it should be: it was missing the lengths of the compressed headers. After a little more research, I discovered that The Omegamatic never writes those extra bytes for Keen Dreams. Since patching the short file back in just uses the original version of the non-overwritten part, everything would have appeared to work fine. This time, the bug isn't my fault.

So, to allow Abiathar to modify Omegamatic-produced Keen Dreams levels, I spent 5 minutes creating a tiny utility to append 100 bytes with value "42" to the end of the inputted file. That should cause Abiathar to use the default header length, which The Omegamatic probably assumes. I'll package FxTomDMh.exe with Abiathar in File Emitter.

No comments:

Post a Comment