Changing Sonic 2's level format
Posted 12 January 2006 - 11:58 AM
If it works as I like, not only do I not have to worry about cumbersome chunk switching mid-level (I would've hated that), but it also frees up a crapload of RAM. Assuming I change the Primary/Secondary level layout switches to 4 bits per 128x128 chunk reference instead of 1, this would free up $3400 bytes of RAM. I could do all sorts of crap with $3400 bytes :D
Posted 12 January 2006 - 01:25 PM
drx, on Jan 12 2006, 12:07 PM, said:
Wouldn't that involve rewriting hardcoded tile effects such as auto-spin in tubes and path swappers on loops?
Posted 14 January 2006 - 08:05 PM
An uninteresting picture, save one little detail (hint: look at the HUD)
As of now, it works perfectly, although right now it decompresses each level block all at once instead of gradually as I originally intended. No slowdown though interestingly enough (though EHZ isn't exactly the best example when testing slowdown). The BG warping does get weird past a certain point, though I'm not too concerned about it. Now all I have to do is finish this makeshift editor I'm doing, and then I'm in business for the rest of ym hack
Posted 14 January 2006 - 11:35 PM
Or, you can send the ROM to someone who has the capability for doing the same. I'd be willing to test it out, as long as your ROM isn't larger than 2MB (although I doubt it is at this point).
Posted 15 January 2006 - 10:31 AM
And on another note, found out why my level wasn't decompressing using my routine. Stupid retarded me forgot that the stack pointer is like any other pointer in that it must be even to be able to read words from it correctly... took exactly 30 seconds to fix. I hate programming sometimes...
Posted 15 January 2006 - 07:43 PM
First, where is the background deformations lines not defined at the bottom? Well, you may have fixed these ones manually. Second, I don't know how your HUD is working, and I'm curious. This is pixel by pixel coordinates that you show here, one for the character and one for the foreground camera. There is almost nothing to do with 128x128 tiles. Third, both Y coordinates are same as normal. Can you explain that points a bit more please?
Else, it seems a good work.
Posted 15 January 2006 - 09:36 PM
Oh, and for the record, the level in that screenie is the data for EHZ1 and EHZ2 spliced together very roughly. Just because.
As of now, objects work correctly (though I'm worried the respawn-tracking array might be too small, but I'll relocate it if neccesary), but the rings don't work, so I'll look more into that. I'm more intrigued by how I could screw around with the terrain with the 64x64 tiles, but I need more work on my editor before I can do that effectively.