Talk:DAT Format (Monster Bash)

From ModdingWiki
Jump to navigation Jump to search

LZW compression

Does anyone have another implementation of the deLZW code? I tried porting the code from Gerald Lindsly's homepage to another programming language and I encountered some problems. I think they are related to those awful word-pointer to byte-pointer to word-pointer casts, but I'm not 100% sure. --K1n9 Duk3 08:24, 10 March 2011 (GMT)

You could take a look at the version I used for Camoto (decompress only) which is extended from EfficientLZW to work with a couple of games including Monster Bash. This code doesn't use pointers but is less efficient as it uses what are effectively resizable arrays. The Lindsly deLZW code includes the RLE expansion so if you use standard LZW code you'll need to perform the RLE decoding separately. LZW is pretty common so you can probably find an existing implementation in your language of choice. -- Malvineous 11:35, 10 March 2011 (GMT)
I got my ported code to work (used the wrong operator precedence somewhere), but thanks anyway. --K1n9 Duk3 15:55, 10 March 2011 (GMT)

Unused enemy in MB1

It seems that there is code in the Episode 1 .exe for the electrical spark enemy from Episode 2. The six frames that exist between the spear plat and the snake can be used for this enemy. Both the horizontal and vertical versions exist. SparkV occupies the first three frames, while Spark occupies the second triplet. They have enemy type codes of 0x3F and 0x3E, respectively. Lemm (talk) 08:49, 30 October 2013 (GMT)

What do you mean "the frames between the spear plat and the snake"? And where are the enemy type codes used? In a level you can place a spear_plat sprite and/or a snake sprite, but they are referenced by name only, as far as I can tell. -- Malvineous (talk) 10:02, 31 October 2013 (GMT)
I mean that there are two sprites, named "spark" and "sparkv", each of which contains three frames. Based upon the disassembly, the data for these sprites *should* have been entered, in the DAT file, after the spear_plat and before the snake, but no spark data was included. However, you should be able to place a 3-frame "spark" and a "sparkv" sprite in a level, just as you would any other sprite. Lemm (talk) 03:34, 1 November 2013 (GMT)