don't click here

Hack Sonic Fine2uned

Discussion in 'Engineering & Reverse Engineering' started by Clownacy, Nov 21, 2017.

  1. Clownacy


    Tech Member
    Notice - The latest version can be found here

    Huh. The EU/US release date of Sonic 2 was "Sonic 2s day", on the 24th, but the JP one was the 21st. Today's the 21st, and a Tuesday...

    Er, anyway, Sonic 2 is very buggy. Looking at the massive bugfix thread should be a good indication. That thread also seems to indicate that some people want a hack that tries to fix as many of these bugs as possible. Well, this is that.

    Broken Chemical Plant Zone door?
    [​IMG] [​IMG]

    Broken multisprite mirroring in 2-player?
    [​IMG] [​IMG]

    Inconsistent 'E's in the title screen?
    [​IMG] [​IMG]

    Tails's macho-man arms?
    [​IMG] [​IMG]

    The other stuff?
    Fixed a huge number of issues in the sound driver (check FixDriverBugs in the Git disasm for more info)

    Fixed demo playback not emulating held buttons

    Fixed Nemesis decompression race condition crash

    Fixed Sonic being able to turn Super after touching the signpost and softlocking the game

    Fixed Sonic being able to turn Super after opening the animal capsule, and hanging in the air

    Fixed Super Sonic being abnormally fast after transforming underwater

    Fixed Super form ring drain speed so it's *actually* one ring per second

    Fixed Super Sonic roll deceleration speed so it's not unnatural

    Fixed Super Sonic's transformation being glitchy when you've already transformed once in the level before

    Fixed Super Sonic transformation palette fade so the last colour isn't skipped

    Fixed Super Sonic transformation palette fade being incorrect when underwater

    Fixed Tails' roll deceleration speed so it works like S2 Sonic instead of S1 Sonic

    Fixed roll-jumping using Sonic's regular collision hitbox

    Fixed the player's jump height being nerfed when jumping out of shallow water

    Fixed spin dashing when at the level boundary

    Fixed spin dash losing its speed if you jump immediately after releasing

    Fixed numerous drowning bugs

    Fixed camera jittering up and down when rolling while playing as Tails

    Fixed Tails' tails bugging out when he's stood next to a solid object

    Fixed Tails' tails so they flash too when he gets hurt

    Fixed Tails respawning with the wrong speeds if he died underwater

    Fixed rings accidentally deleting in levels that wrap vertically

    Fixed scattered rings so their despawn isn't delayed if you quickly lose rings again

    Fixed monitors so you don't pass through them when jumping at them from the side

    Fixed EHZ scrolling bug at the bottom of the screen

    Fixed CPZ boss goo not hurting Sonic if he ducks

    Fixed ARZ boss pillar so you can't fall through it by jumping on it

    Fixed ARZ boss arrows, so you don't hover by walking off one of them

    Fixed ARZ boss pillars so you don't hover if you're stood on one when the boss is defeated

    Fixed ARZ boss animations freezing when it hurts the player

    Fixed a bunch of strange CNZ boss behaviours when you first hit it

    Fixed HTZ background so part of it doesn't jitter when scrolling

    Fixed OOZ launchers making Sonic fast if he falls into one after getting hurt

    Fixed final boss's collision, so you don't get sucked into it and die if you hit it a certain way

    Fixed MTZ/HTZ/ARZ bosses so their parts don't fall off in the wrong direction when you beat them

    Fixed multiple bugs involving Sonic/Tails using the wrong speeds

    Fixed Tails not getting a smaller hitbox when he ducks

    Fixed Sonic/Tails glitching out if they fall into a CPZ pipe by being hurt

    Fixed AI Tails using the wrong sprite when flying because he hit a forced-roll object, the EHZ spiral, or the MTZ cylinder

    Fixed the camera warp trick seen in speedruns

    Fixed the second player's background being wrong in two-player CNZ

    Fixed MTZ's wall springs/MCZ's vines locking Sonic/Tails' controls when you roll-jump into them

    Fixed Silver Sonic/ARZ/OOZ/MTZ boss strange behaviour when you beat them on a certain frame

    Fixed MCZ boss writing to a random part of the Mega Drive's memory

    Fixed the horizontal level wrap trick seen in speedruns

    Fixed MCZ boss not laughing when he hurts Sonic/Tails and they drop rings

    Fixed bridges interfering with Sonic in debug mode

    Fixed various instances of the game clearing too much memory

    Fixed object collision from below

    Removed duplicate WFZ PLC entries

    Fixed sprite table overflow (Ashura glitch)

    Fixed ARZ waterfall corrupted graphics

    #Fixed strange notes in CNZ credits music

    Fixed CNZ act 2 background blank row

    Fixed DEZ/CPZ door sprite so they're not corrupted

    Fixed debug mode having an inconsistent camera Y-deadzone

    Fixed ARZ pillar objects disappearing while on the edge of the screen

    Fixed getting a Game Over in HTZ corrupting the Continue screen

    Fixed ARZ/MCZ/DEZ boss rumbling causing the background to distort

    Fixed HTZ bridge stakes objects disappearing while on the edge of the screen

    Fixed starting the game through the options menu not reseting the number of collected Chaos Emeralds

    Fixed Sonic keeping his invincibility stars when he goes Super

    Fixed multi-sprite objects not mirroring in 2-player

    Fixed drowning next to a monitor causing Sonic to die in his walking animation

    Fixed Tails' pushing animation oddities

    Fixed DEZ music not resuming after beating Silver Sonic

    Fixed objects like the MCZ crushing pillar being able to make Sonic enter his walking animation while charging a spin dash

    Combined REV02's bugfixes with REV00's missing features.
    - Fixed game crash that happens when you enter debug mode while dying and place an object
    - Invisible wall object is now visible in debug mode
    - Invisible MTZ wall bumper object is now visible in debug mode
    - Fixed crash that occasionally happens when you kill a Rexon

    Fixed errors in Sonic's mappings (one walking frame, and the black-and-white frame of his transformation)

    Fixed the player being able to walk around during the tally after touching the signpost by jumping near the right side of the screen

    Improved boot time

    Removed duplicate/inaccessible rings and objects

    Fixed Sonic's hand disappearing for one frame on the title screen

    Fixed a certain wall in CPZ2 that you could walk through by jumping over a plane switcher object

    Sped up level loading

    Fixed HTZ solidity so it's not possible to fall so fast that you clip through the floor and die in that one tall lava room in act 2

    Restored un-clipped Snare, Kick, Timpani, and Sega samples from Sonic 1

    Made drums fade with the rest of the music, instead of immediately going silent

    Fixed inconsistent 'E's on the 'THE HEDGEHOG' part of the title screen

    Fixed Super Sonic transformation not taking Sonic out of ball-mode (roll-jump control lock, smaller hitbox)

    Fixed ARZ having too many blocks, causing it to overflow its RAM buffer

    Fixed Sonic/Tails not slowing down, or creating a splash, if they fall into water after getting hit

    Fixed Level Select icons showing the wrong palette briefly right after changing the selected zone

    Added an invisible block to prevent a certain falling pillar from pushing you through the level in ARZ1

    Added an invisible block to prevent that platforms on the lava at the start of MTZ2 from pulling you through the ground

    Fixed frame-perfect Sonic/Tails sprite corruption and other minor irregularities in WFZ/ending cutscenes

    Fixed 14-Continues cheat causing OOZ music to play for the rest of the game

    Fixed "erratic" behaviour with object's detecting their distance from walls to their left

    Fixed 2P animated art loader accidentally overwriting its own loop counter

    Fixed rings disappearing when near the top of the screen

    Fixed rings not shaking with everything else during things like the HTZ earthquake sequences

    Fixed Tails having flesh-coloured arms in the Special Stages

    Fixed the shoe on the Speed Shoes monitor not having a white stripe on it

    Fixed HTZ seesaws not cancelling the spin dash if you're launched while charging it

    Fixed shield poking through the bottom of the tunnels in EHZ/HTZ

    (Check out 'credits.txt' for a list of guides I used, by the way.)

    Because I want to avoid some issues I've seen in similar hacks, this actually comes in two builds: a 'Pure' one that aims to be just vanilla Sonic 2 with as many fixes as possible (a theoretical REV03, basically), and an 'Impure' one, that has some non-bug-fixing design choices like Super Sonic detransformation and S&K style "slow ducking":
    Made it so you can duck while moving at slight speed, similar to S&K (though unlike S&K this does not change how fast you have to be to roll)

    Removed air speed cap

    Added S3K-style Super transformation, except you have to use alternating buttons, and you can detransform

    Made Tails able to enter Debug Mode

    Download here.
    Last edited: Mar 20, 2020
  2. Techokami


    For use only on NTSC Genesis systems Researcher
    Sonic Worlds Next
    >Fixed Sonic keeping his invincibility stars when he goes Super
    Awww, that was my favorite thing to do. Made Super Sonic look more awesome, imho. But excellent stuff!
  3. Epsilonsama


    Agree that's one of my favorite bugs in the game. Used to transform into Super Sonic with invincibility running. Super Sonic with stars is sick.
  4. Hi, this is the definitive version of Sonic 2. I've tried to compile my own bug fixed version, but codes I've found here are for different disassemblies. I'm not a hacker so I couldn't build an ideal version. This one dos the trick and saves me from all the trouble, thank you.

    For the impure version, I don't how "impurer" it would make it if Sonic kept his rings after the special stage, but I think it would be a very nice feature to add.
  5. MarkeyJester


    Original, No substitute Resident Jester
    "Tails's macho-man arms"

    Hahaha, I'm glad I'm not the only one who noticed that, iirc, Knuckles has the same problem with lock on. Is this an actual bug, or was it just a lack of art at all (i.e. was it just a typo in code that they accidentally missed, or did new art, mappings, etc, need to be created to resolve the issue. I say this, because I assumed there was no art for Tails' arms =o).

    We need some let's player to play this ROM hack, one who knows that bugs have been fixed, but without having seen the list, just to see how many they pick up on during the gameplay.

    Nice work though~ I think you went the extra mile with the "impure" version, would you ever consider making a proper brand new hack/game project with new levels, gimmicks and such? You have the skills and knowledge, I really think you could make something solid.
  6. Clownacy


    Tech Member
    I've been working on-and-off on a hack like that for a few years, it's just that it's very on/off.

    Surprisingly, Tails does have his own arms sprites: they're baked into his body sprite. I'm not really sure why they're the wrong colour in the first place.

    Good idea. I completely forgot about that one.
  7. Blue Spikeball

    Blue Spikeball

    Suggestion: How about a third version that aims to add the features of the Taxman remaster (but not "impure" features such as Super Sonic destransformation)? Or would that be too much?
  8. BlazeHedgehog


    A "Community Enigma"? Oldbie
    Here's a suggestion for the impure version: implement Sonic 2 & K's feature where you keep your rings when you exit a special stage.
  9. Clownacy


    Tech Member
    Yeah, joyeux mentioned that earlier, and it sounds like a good idea.

    That depends. It think adding its HPZ would be asking a little too much, but I don't remember what other features that version had.
  10. Dark Sonic

    Dark Sonic

    Working on my art!
    Here's a couple of them anyway:

    - Tails could fly and could carry Sonic.
    - Knuckles was in the game by default.
    - There were options to turn on Sonic 3 shields, insta shield, and random item boxes in 1 player mode (that was an extra in the debug menu anyway)
    - Some levels had added secret routes meant to play around with Knuckles and Tails' extra abilities (I remember off the top of my head anyway Chemical Plant Act 2 and Hill Top Act 1)
  11. Clownacy


    Tech Member
    Oh god. That's probably not going to happen then.
  12. E-122-Psi


    -2P Player VS also had a character select for the three, and added Chemical Plant, Aquatic Ruin, Hill Top and Oil Ocean as courses (less likely to be possible due to tile and object issues).
    -A secret 'full good ending' that alludes to Sonic 3.
    - Special Stages were fully 3D (obviously unlikely to be possible, at least not nearly on the same level anyway).
    - The beta version of Hidden Palace (called Proto Palace) was available through Level Select code. Landing on the emerald warped you back to the level select I believe.

    As you can see, things get a bit elaborate extras wise.
  13. Clownacy


    Tech Member
    Holy cow, remember this thing?

    Anyway, fun story: my university's shut down thanks to all of this Coronavirus business. So, I figured, to help pass the time, I'd play some Sonic 2.

    But which Sonic 2? The mobile """port"""/"""remake"""? No, that overrated thing makes my inner purist's blood boil. The original Mega Drive version? Nah, I prefer my games to not have literally over 100 bugs...

    ...Oh, I know - I'll just play that updated version of Fine2uned that I never released.

    If there's one thing I've learnt over the past two-and-a-half years, it's that scope-creep is the worst. Wanna know why an update for this blatantly-broken hack never came out? I was trying to add a full-blown options menu, a la Sonic 3 Complete, where you could enable or disable certain bugfixes that affected the 'feel' of the game (such as the in-air speed cap). For the last year or two, it's remained half-complete, preventing an update from ever coming out. So I finally just said 'screw it' and disabled the thing. Try hacking it back in if you want to, I guess. You won't find much, though.

    Anyway, the original release has one big dumb issue: Super Sonic is broken - he moves at a snail's pace. Again, stupid 2017-me was being stupid, and didn't think to just make a hotfix and release that. "Noooo, I have to release a full update instead!" Well I guess he got the last laugh, because here I am, releasing an actual update anyway...

    So, what's new in this version? According to an old changelog I had lying around...

    As a bonus, I'm releasing a third variant of Fine2uned that I originally made for myself, just for fun:

    You know how there's the 'pure' build and the 'impure' build? Well this is the 'ultra-impure' build, which adds the Insta-Shield. That's it. I meant to add a bunch of other wacky stuff to it like the elemental shields, but like everything else in this project, development stalled, and now it's been so long that I'm really not interested in continuing it.

    You can download all three builds here.

    Actual development of this hack will probably not continue, but I will try to fix any bugs people find... bugs that *I* introduced, that is. I might add more S2 bugfixes if I get bored, but don't hold your breath.
    Last edited: Aug 17, 2023
  14. Clownacy


    Tech Member
    Last edited: Mar 20, 2020
  15. Dek Rollins

    Dek Rollins

    size of a tangerine Member
    Just found out about this hack thanks to Razor & Zenon's video, and it looks pretty cool. If I may ask a question, is there a particular reason the impure version didn't give Tails his flight? I have zero experience hacking so I don't know how simple or complex that is, but it seems like the most obvious addition to make to such a project. If it's something you just didn't/don't want to add I totally understand though.
  16. Clownacy


    Tech Member
    It's a lot of effort, and it's the kind of thing I'd have in the ultra-impure version instead, since the game wasn't designed around it.
  17. Wafer


    Find me on Twitter instead Member
    I do have a version of Tails' object code with the flight ported over from Sonic 3, if you're interested (I know that code isn't super well-labeled, unless something's happened in the last couple of years). One caveat is that I didn't add any art, so the "tired" animation approximates a skydiving pose using two frames from the flat spin used eg. when falling from the Death Egg.

    Also, it isn't tested outside of the versus mode because reasons, so some gimmicks and the AI might need work, and he can't carry Sonic (again, lack of art and versus mode).

    In fact the more I edit this post, the less I think you'd actually want it ¯\_(ツ)_/¯
    Last edited: Mar 29, 2020
  18. Clownacy


    Tech Member
    No thanks. If I wanted to put the time into adding Tails' flight, I'd rather do it from scratch.
  19. RetroKoH


    Project Sonic 8x16
    This greatly reminds me of Mercury's ReadySonic for Sonic 1. Nice to see a culmination of all of the S2 fixes over the years. I remember WAY BACK in 2012 when that old thread took off. Can't believe that was 8 years ago now.
  20. Rrose80149


    I heard there's a rev03 of Sonic 1 in the fangames HQ forum. Maybe this Hack is rev03 as well. Do you have the source code zip file?