don't click here

Sonic 3 Complete

Discussion in 'Engineering & Reverse Engineering' started by Tiddles, Dec 25, 2009.

  1. Vague Rant

    Vague Rant

    Deceptively cute Oldbie
    While it's not really necessary now that you're already playing with this hack, there's a set of Game Genie codes to disable Super/Hyper music on the wiki's S&K Cheat Codes page. I honestly haven't tried it yet because it's so much crap to copy, paste, and enable, but if you hate them enough it might be worth it.
     
  2. nineko

    nineko

    I am the Holy Cat Tech Member
    6,298
    475
    63
    italy
    While I like the Super Sonic music from S&K, I wish there was a way to transform back to normal Sonic, if anything to save your rings.
     
  3. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    Indeed, that's what I've done with LRZ in this version. In Launch Base I have a special case of the act complete screen that plays no music of its own to retain the ominous final boss music in the background.
    That's more or less how it works here, except with C and B in place of A and C in your example. B's debug function is suppressed as long as C is held down. As I was saying, I might have a look at making (A or C) plus B work, but I'd probably leave A doing its normal thing in debug, since it's already pretty much off limits in the original version. C+B feels fairly reasonable on my MD pads, but then I do have big thumbs.
    FWIW, this version lets you do that via the same method as invoking the transformation. I was uneasy about adding that because it feels a bit too easy to abuse somehow... but it's useful for testing at least, so I kept it in. Another idea I have to thank Megamix for.
    I always wanted to try it, and I'm quite pleased with how it ended up, with a little palette darkening for contrast. The iterations of how that looked along the way tell a sad tale of stumbling around in the dark:
    [​IMG] [​IMG] [​IMG] [​IMG]
    I doubt I have much interesting data to share in itself. I'm happy to give the copy of Stealth's disassembly with my changes in it out on individual request, but I'd rather not turn it out in the public domain - it's the first assembly "thing" I've ever done, and combined with the oddities of that disassembly, some of the code is a bit of a mess - I've relied an awful lot on replacing instructions with a jsr or jmp out to a blank bit of ROM to do some alternative calculations for one thing. So I'd rather not put it out as an example that the naive might try to learn technique from, but in terms of using the knowledge for other hacks, or building your own copy with different music switched (for example), I've no objection to either.

    Here are some bits and pieces of trivia I found anyway, some of which may be new:
    • Here's something I found while copying the final LBZ2 boss's intro routines back over from Sonic 3. Fire up Sonic 3 alone, and use an emulator cheat facility to force FFFA80 to 0101. This makes a few bosses behave like Knuckles' versions: the AIZ1 boss chucks bombs, the HCZ2 boss doesn't fly down for the tornado, and the LBZ2 laser boss runs a very broken version of Knuckles' post-LBZ2 bomb cutscene when you kill it. It appears to carry the garbage that should be the bomb right out of the laser machine carcass, which is quite neat - shame that didn't make it. It also suggests that Knuckles wasn't meant to fight the arm boss at this point.
    • The Knuckles vs. Eggman glitch in Mushroom Hill seems to result from the Kosinski decompression queue getting overloaded if you reach the boss too soon after entering the level, presumably due to level art still loading. The EggRobo face is normally patched over the top of the correct section of the Eggman+Eggmobile graphic, but it may be partially or completely unloaded if you go too fast here. EggRobo has a different animation speed and slightly different mappings, and you can see Eggman's 'tache bobs too slowly if this happens, as if it were EggRobo's head. His damaged and killed graphics are also misplaced due to the different mappings. All I did to "fix" this was give Knuckles a different PLC at this point that loads a Nemesis-compressed copy of the EggRobo face as its last item, so it doesn't matter if the Kosinski decompression comes off or not.
    • As I mentioned in my first post, DAC samples B2 and B3 use a different sample between the games. This is the clap sound in the miniboss and Knuckles themes in Sonic 3, and Knuckles theme in Sonic & Knuckles. It's apparently not used in any other music, so flies completely under the radar.
    • The S3C 0517 credits are clearly longer than the S&K final ones, and don't end up lining up in the same way with the ending visuals. However, they still end up lining up pretty well in their own right somehow, with the music finishing just in time to fade to the Sonic 3 logo (or the appropriate ominous scene of failure), removing the long silence from the end of the S&K version. I'm almost tempted to think the ending timing was designed to work with both, in spite of the longer credits having apparently disappeared before the ending scenes were constructed in the betas.
     
  4. Hayate

    Hayate

    Tech Member
    Wait, you put the final boss music in LBZ? That's not right - Sonic 3 only had it there because they had to cut the game in half and chuck a final boss in.

    Exactly - the "arm boss" as you call it was probably never planned to even exist, but SEGA threw it in at the last minute. So when they continued with the full game, they decided "Well, we made this boss now, we might as well use it!"

    ...Though, it's a bit inconsistent considering Knuckles skips the CNZ and LRZ bosses for absolutely no reason whatsoever.

    I use the keyboard, so holding A and pressing C feels a lot more natural than any other combination.
     
  5. Covarr

    Covarr

    Sentient Cash Register Member
    4,233
    3
    18
    Trapped in my own thoughts.
    Two stageplays, a screenplay, and an album
    Cheat yourself into all the chaos and super emeralds, and it becomes rather similar to Unleashed's boost. Quite abusable, but since there's more platforming in this game (such as parts of Flying Battery Zone underneath the airship), there's actually a good reason to want to not just have it on ALL THE TIME. Of course, since you can't use it under 50 rings, it's not TOO easy to abuse.

    With this mod, I've noticed some glitches that I never saw before, mostly with music. For example, if you're hyper and the music is fast, you get a 1up, then transform back to regular while the 1up music is still playing, then when the level music continues it's still fast. Hell, there's more than a few issues with Hyper Sonic/1up music.
     
  6. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    I built this to be the version I'd always wished I'd had, and I was always disappointed by the omission of that fight and everything that went with it. Launch Base felt quite flat without it to me. It's almost certainly not right in the context of what would have happened in a single Sonic 3, since it's pulled out of S3K, but I'm glad to have it back as a mid-game superboss.

    Yeah, in general, if any change of music pace occurs during the 1up sound, it'll affect the 1up sound rather than the music behind it. This has always happened if you gain or lose speed shoes while 1up music is playing, but that's much less likely to happen in normal gameplay. It never happened with transformations before because the music track was changed, and the sound code takes care of arranging that properly in a way it doesn't for tempo adjustments. It's quite an annoying bug, and not trivial to work around. I have an idea how I might do it but I don't know when I'll get around to trying it.

    Another weird one you might spot in debug is that if you hit a hyper monitor if you're already super or hyper, the level music restarts. That shouldn't be too hard to fix, but I've yet to do anything with it because it's a debug-only condition.

    I'd be eager to hear of any other odd bugs you've found in this version - at the very least I can add them to the list of things I'd like to do with it.
     
  7. ICEknight

    ICEknight

    Researcher Researcher
    I must agree with this. Having a mid-game boss is not something too out of place, with all the mid-level bosses Sonic 3 added to the mix. It certainly didn't feel as epic as a true final boss, but it was a shame to remove it from Sonic's adventure.


    The last split second of Sonic, Tails and the Death Egg falling down the screen still looks as bad as it did in S3&K, though. I would have tried to fix that by fading the screen a bit earlier... if I knew how to do it.
     
  8. GeneHF

    GeneHF

    SEGA-ier than you'll potentially ever be. Site Staff
    8,429
    59
    28
    Scenic Studiopolis
    Complete Global Conquest
    This is pretty nifty! My only problem with it, as it stands, is it uses the really inferior S3 theme and invincibility. Honestly, S3K did them a lot better... especially the invincibility. Would you be opposed to producing a version that uses those two instead, you know, as an option for the people who aren't fond of the older themes?

    EDIT: How rude of me, I forgot to add how much I love that you added in the final boss to Sonic and Tails' modes. I didn't like that they removed that from Launch Base too much since I found it to be a good boss in Sonic 3... more so because it was able to knock Super Sonic right out of that state. Fantastic job with that! :)
     
  9. MathUser

    MathUser

    3rd top wiki contributor Researcher
    2,151
    8
    18
  10. Vague Rant

    Vague Rant

    Deceptively cute Oldbie
    If it's not a great deal of them, what might be worth doing is documenting what each section of changes you've made do to the ROM; then using an app like IPSelect, people could pick and choose which changes to apply and have their own custom version which uses their preferred music, allows keeping the boss disabled, etc.
     
  11. Hayate

    Hayate

    Tech Member
    WHS.

    Also, oh my. That's a lot of stuff on that wiki page.

    Oh if only this hack retained the S&K title and derived themes...
     
  12. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    I've put together a tiny IPS file to patch the Sonic & Knuckles main themes (25, 2A, 2C, 32) back into the posted build if you so desire. It does nothing else - the Knuckles and miniboss themes are still the Sonic 3 versions, the credits are still the S3C 0517 version, complete with now-inconsistent Sonic 3-style end sting, and the fade before the act complete screen doesn't come back.

    I'll try to throw together a few more musical variations when I get a new main version out, whenever that may be. This particular change will become a one-byte patch when I get that together, which is handy, isn't it? You could even just wham in a GG code to do it on that version.

    It really does. I was always disappointed that nothing was added to that scene for S3K - you know, Death Egg lands in the background maybe, Tails flies Sonic off after it? As it is, it's the least satisfactory explanation of a zone transition in the whole game IMO. It's another thing like moving Flying Battery that I would really like to have done properly, but sits lurking somewhere on the "maybe" agenda for want of time to do it right and a concrete idea of how it should hang together.
     
  13. Chimpo

    Chimpo

    Why is Tekken 6 afraid of Tekken 7? Member
    8,608
    1,465
    93
    Los Angeles, 2029
    Aiming for Genbu!
    Why not just map it to Up on the D-Pad when you're in the air?

    I mean, it's not like that piece of shit direction is used ever in the games.
     
  14. Spanner

    Spanner

    The Tool Member
    Perhaps one day it'll be possible to make the Death Egg crashing on the mountain part of the Sonic & Knuckles title screen its own cutscene, then going to MHZ after that (omitting the rest of the title screen stuff).
     
  15. SwissCM

    SwissCM

    Member
    Just throwing a few ideas out there, take them or leave them I guess.

    1. Have the surfboarding intro to Angel Island if you have no emeralds, have the Super Sonic intro if you have emeralds, have a Hyper Sonic intro if you have Hyper emeralds.
    2. Super Sonic has the Sonic 3 powerup music, while Hyper Sonic has the S&K powerup music.
    3. Create a super version of tails, basically only invincibility and increased flight speed but no flickys. Hyper version could be same as original.
    4. Same deal with Knuckles only... different in some way? Maybe allow some kind of way to gain lift while gliding so you can glide upwards a bit while Hyper?
    5. Have the original level order of Flying Battery after Carnival Night, before Icecap. Will require making new cutscenes which could be difficult but it would be really interesting to see.
    6. Add Knuckles' glide ability to competition mode.
    7. Quite a few of Knuckles' levels seem half arsed. Carnival Night for example. It would be nice to see his levels polished a bit better (have him actually fight a goddamn boss on Act 2 for example).
    8. Totally bring back the Stranger in Moscow-ish music for Sonic's ending.
     
  16. Hayate

    Hayate

    Tech Member
    I love you.

    After having actually played the hack, B+C isn't too bad, since if I hold B and press C I transform, or if I hold C and press B I also transform.

    Chimpo: Up+Jump might work for transforming, but it wouldn't work at all for de-transforming (nor would any other direction) since Hyper Sonic needs that to do an upward dash.

    This.

    Sonic starts off Super because he already had the emeralds from Sonic 2. Which is also why Knuckles knocks them off and steals them. It wouldn't make sense to have the alternate intros you're proposing as it would imply the game actually took place twice (or more). If there's going to be an alternate intro that you see in a clear game, it would have to be that Knuckles isn't there at all and Super/Hyper Sonic simply speeds into the act with 50 rings.

    Hell naw. I like to listen to the stage theme. The speedup/slowdown way is brilliant.

    This. Mainly so that you only need 7 emeralds for Super Tails.

    Knuckles already has distinct Super/Hyper forms. Hyper Knuckles has infinite air underwater and kills all enemies when he glides into a wall at speed.

    This was already suggested, and yeah.

    This. Knuckles' version of CNZ needs to be totally redone (hell, I usually just make him grab on to Sonic's route in act 2 when I play as him). Also, give him a ring or three at the start of ICZ2. And let him fight the epic LRZ boss!

    Oh, and to add a note or two of my own...

    1. Please, please fix that damn Hyper Sonic in MGZ2 boss bug. The one where it glitches up the graphics and then kills you. I wouldn't mind if you let the glitchy graphics stay, but at least fix the death. :P
    2. Shouldn't the minibosses play the S&K theme when you fight them as Knuckles? To me the S3 Knuckles' theme and S3 miniboss theme were always related to each other (you can even hear the former played inside the latter), so hearing Knuckles' theme while playing as Knuckles just... doesn't seem right.
     
  17. GeneHF

    GeneHF

    SEGA-ier than you'll potentially ever be. Site Staff
    8,429
    59
    28
    Scenic Studiopolis
    Complete Global Conquest
    I smirked a little fighting the Sandopolis Midboss with the S3 Midboss music. That's actually the one midboss where I think the S3K one might be a tiny bit more fitting just because it seems to be more of a "OH SHIT" moment instead of just another Robotnik brand baddie.

    The IPS patch is much appreciated, BTW. It's interesting how this hack has opened up a pandora's box to editing S3/S3K, coupled with the 0517 prototype build of Sonic 3C. I look forward to seeing what sort of goodness comes of this.

    EDIT: I noticed some small bugs while playing through, if you want to look into them.

    -The HUD palette is a little messed up in Angel Island Zone. The back-shading of the letters is white.
    -The music for Flying Battery Zone Act 2 doesn't begin playing after beating the boss and breaking the egg capsule during the cinematic. I don't know if you made this intentional or not.
    -Knuckles' palette is a little off in Hidden Palace Zone (the shoes)

    That's all I've noticed that seems a little off so far.
     
  18. SMTP

    SMTP

    Tech Member
    Thats actually normal...
     
  19. Covarr

    Covarr

    Sentient Cash Register Member
    4,233
    3
    18
    Trapped in my own thoughts.
    Two stageplays, a screenplay, and an album
    Actually, what I think would be cool, is to play the S&K miniboss, boss, and invinciblity music if you're playing as Knuckles, and the S3 musics if you're playing as Sonic or Tails. I dunno how feasible this is, though, because it means having both songs in the game, and you'd still have to choose only one title screen music.
     
  20. Vague Rant

    Vague Rant

    Deceptively cute Oldbie
    Alternatively, you could have the Sonic 3 music play in Sonic 3 zones, and the S&K music in S&K zones.