Super Peel-Out in Sonic 3 & Knuckles

Discussion in 'Engineering & Reverse Engineering' started by snkenjoi, Dec 4, 2008.

Thread Status:
Not open for further replies.
  1. snkenjoi

    snkenjoi

    Tech Member
    85
    0
    0
    <!--quoteo(post=252689:date=Dec 2 2008, 05:53 PM:name=Nitsuj99)--><div class='quotetop'>QUOTE (Nitsuj99 @ Dec 2 2008, 05:53 PM) [​IMG] [​IMG]

    eh, close enough

    EDIT:
    update
     
  2. Stealth

    Stealth

    Tech Member
    593
    0
    0
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    I don't know how exactly you went about doing this, but you SHOULD be able to fix it by doing this (assuming you haven't modified it much farther):

    Go to "MusicPadding" and delete all of the $FF's up to (but not including Music_Credits, and replace them with:

    cnop 0,$E4104

    The actual size of your assembled ROM is $20439C, so you can trim all of the 0 bytes that come after, which are just space allocated for Sonic 3. With those bytes, your ROM excedes the cartridge address space limit by $439C (that's how much excess data/code you've added to Sonic and Knuckles). If you want to add Sonic 3 to build Sonic 3 and Knuckles, then skip this step (you still have to remove the MusicPadding bytes as described above) and do this:

    Find Art_Sonic, and delete all data up to (not including) ArtUnc_Knux. Then, replace all references to ArtSonic within the code with:

    ($300000).l

    Next, remove all of the $FF bytes following EndROMPadding up to (but not including) LockOnROM_Start, and replace them with:

    cnop 0,$200000

    Finally, assemble, open the ROM in a hex editor, go to address $200000, delete everything from that point to the end of the file, and then, paste in the contents of a clean Sonic 3 ROM

    If everything works out, this should result in a Sonic 3 and Knuckles ROM with peel-out, and without losing sound
     
  3. Puto

    Puto

    Shin'ichi Kudō, detective. Tech Member
    2,013
    0
    0
    Portugal, Oeiras
    Part of Team Megamix, but haven't done any actual work in ages.
    Wouldn't that remove the newly added art for the peelout?
     
  4. Stealth

    Stealth

    Tech Member
    593
    0
    0
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    No. Knuckles' art still starts at the same offset from the start of Sonic's first art data set in his ROM, meaning that he either added it to his S&K extended art data (Art_Sonic_Extra), or made a whole new data for it somewhere else
     
  5. snkenjoi

    snkenjoi

    Tech Member
    85
    0
    0
    [​IMG] [​IMG]

    Sonic 3 and Knuckles - Peelout & Sound

    Are you sure? I actually replaced Art_Sonic and they seemed to be different sizes when I checked. To make room, I removed the data within Art_Sonic_Extra - (I think) it's no longer used.

    Thanks (for everything) Stealth!
     
  6. nineko

    nineko

    I am the Holy Cat Tech Member
    [​IMG] [​IMG] [​IMG]
     
  7. Stealth

    Stealth

    Tech Member
    593
    0
    0
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    I thought that's what I saw when I tried screwing with it. Anyway, Art_Sonic_Extra is the S&K-specific set of animation frames, the ones that don't appear in Sonic 3. That's why I suggested removing Art_Sonic and having it reference the set in the appended Sonic 3 ROM, those should be the same

    Also, there are a few frames that cause errors, like the one just pointed out above, the fact that the peel-out eats some other animations like going up the tree in AIZ, and a few as in the wall sections in LRZ that cause you to run down the wall at a different angle and send you back in the opposite direction at the bottom, which now seem to cause a large art load that stalls the game for a second and overwrites stuff like the HUD with garbage. That'd be due to reading bad data from the PLC. You'd probably do best adding everything to the end of all of the current data, meaning new mappings and PLC entries at the end of the lists, and the new art frames at the end of Art_Sonic_Extra. The fact that the art is split in two doesn't really change the way you call up the frames in animation or how the tiles are taken from the mappings and PLC, that's already taken care of by the frame ID test in Sonic_Load_PLC
     
  8. snkenjoi

    snkenjoi

    Tech Member
    85
    0
    0
    Some frames don't work because I havn't fixed the animation scripts for them, and some don't work because they are simply not there. Also, there appears to be some sort of sprite limit ($D9?). I probably broke Super Sonic editing the PLCs.

    Re-ordering the data in that way would fix many errors.

    I created it mostly as a proof of concept for the lulz, but with that said, I would like to do a 'perfect' version.
     
Thread Status:
Not open for further replies.