Hi folks.
I'm rushing to finish my game for the CPCRetroDev competition, but exomizer has been giving me some serious problems.
In the last few days it has been decompressing my tile data incorrectly, and even crashing outright.
There was a recent mention of potential exomizer crashes in my game's dev thread, but at that time everything was ok.
And I had used exomizer A LOT during Chunky Pixel Curator's development, and never had a problem!
Suddenly, with less than 6 weeks to go, exomizer is being problematic.
:( :'(
Anyway, it's time to stop banging my head against a brick wall (this has cost me several evenings of dev time), and have a look at bit buster (1.2).
The compression is slightly worse for the sort of data I'm throwing at it, but I'm willing to live with that, as my time is running out!
I'm looking forward to the improvement in decompression time (though exomizer was perfectly acceptable).
However, I'm having trouble making bit buster work.
Does anyone have a good depack routine, that has been used successfully recently?
Thanks.
[EDIT] Never mind!!!
I actually got BitBuster working, and I presume exomizer will be ok as well.
Somewhere along the line I had deleted the type declaration in this line of code:
__at(ADDR_EXO_BUFFER) char const G_a[1608] = {
I'm not sure how that happened, but it would likely have been when I was copy/pasting a new set of compressed data into the appropriate array.
SDCC assumed I meant 16-bit int, whereas of course I need the array to be 8-bit char.
How embarrassing! :-[
Anyway, I am *so* relieved that things are working again!
I really thought my project was in jeopardy!
[EDIT 2] YAY!!! Exomizer is working again!
And so exomizer continues to be excellent and problem-free for me!
Incidentally, for anyone that is interested, here are some benchmarks:
uncompressed: 5729 bytes
BitBuster: 1608 bytes
exomizer: 1428 bytes
Quite a large win for exomizer in terms of compression ratio!
To sum up Exomizer is more effective at compression rate but takes longer to decompress than BitBuster? What's the time difference in your case?
Quote from: Singaja on 10:34, 15 September 15
To sum up Exomizer is more effective at compression rate but takes longer to decompress than BitBuster? What's the time difference in your case?
Yes, apparently exomizer's algorithm is much more complex, and therefore takes longer to decompress.
Having said that, the data I'm decompressing takes something like half a second (note - not scientifically tested!).
It happens between stages in my game, and doesn't affect gameplay at all, so I'm perfectly happy with that.
There is a visible pause in the gameplay during decompression, but it's very quick, and I don't think anyone will mind.
:)
Quote from: Singaja on 10:34, 15 September 15
To sum up Exomizer is more effective at compression rate but takes longer to decompress than BitBuster? What's the time difference in your case?
Patience... Exomizer is still decompressing... 8)
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179): has it finished decompressing yet? ;D
No it crashed! Sometimes it happens, dunno why. ;D