don't click here

Sonic Adventure 2 Hacking

Discussion in 'Engineering & Reverse Engineering' started by Turbohog, Feb 20, 2012.

  1. flarn2006

    flarn2006

    Member
    280
    3
    18
    Insistence? I'm pretty sure I only asked once. Thanks though.
    How recent is this version?

    EDIT: I noticed there are new functions for each level to load the level header, and one for events as well. I tried replacing the event one with a jump to load a regular level, but it just crashed whenever a cutscene would appear. Any idea how (if at all) I could edit this so it loads the cutscene models as regular levels?

    Also, I'd love to figure out what parameters are required by sub_44B770, as I think that can be used to draw lines in 3D space.
     
  2. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    I only save one version of the disassembly, so it's as recent as that post I guess.
     
  3. darkspines35

    darkspines35

    It's Easy Actually. No, seriously. Tech Member
    248
    0
    16
    .V.
    Sanik Adevnt Casters
    That actually merged landtx00, landtx01, and landtx02 texture files and left one out from landtx02. The only other available thing we have is a set file for Knuckles Test. All found in the DC versions.
     
  4. Caverns 4

    Caverns 4

    Member
    346
    0
    16
    Sonic: Retold
    Is there any chance it's known how to fix the 2p mode alternate costumes for the characters that that bug out (e.g., Rouges, Eggman's, Tails')? It's possible in the gamecube version, but...
     
  5. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Disable Level-of-Detail (LoD) models for Sonic and Shadow: go to 31F9A1 (7205A1 RAM) and change 74 to EB.
     
  6. Caverns 4

    Caverns 4

    Member
    346
    0
    16
    Sonic: Retold
    Suddenly the game looks a lot better!

    So, I'm to guess that there isn't a known fix for the 2P mode characters in 1P mode? For me everything but Sonic/Shadow crashes the game.
     
  7. Fred

    Fred

    Taking a break Oldbie
    1,563
    117
    43
    Portugal
    Sonic 3 Unlocked
    Oh, people still play this game? Okay, good.

    [​IMG]

    (Super) Sonic Adventure 2: The New Challengers is something I've been working on for the past few weeks. It's a relatively extensive hack of the Steam version of Sonic Adventure 2 that aims to add replay value by allowing you to play any stage with any one of its same-gametype characters.

    The project's roots lie in MainMemory's character select hack, which MainMemory created on his own after I pitched the initial concept to him. My hack is directly built on top of his own, and therefore inherits the following features:

    • Holding the L and/or R buttons during level load will allow you to select a different character. Conversely to MainMemory's hack, holding down the R button will flip the hero/dark faction, while holding down the L button will instead select the alternate 2P character.
    • 2P characters have been given several fixes so they don't crash the game at every turn, including but not limited to: levels that start with a cutscene, Amy/Metal Sonic doing fire somersaults, Chao/Dark Chao firing their bazookas, Dark Chao's lives icon.
    • Various usability fixes, such as loading the 2P sound and voice banks when appropriate, and merging the character start/end position arrays so opposite-faction characters don't appear in the wrong place when they're outside their set of levels.
    However, I didn't make this post just to describe what MainMemory has already done. Despite his amazing efforts, the game was sadly not complete -- various unforeseen situations still resulted in a crash or otherwise incorrect behavior that resulted in some stages being impossible to clear.

    That's where this hack comes in. All stages are now possible to clear as all characters. All game crashes have (hopefully) been excised, and other obstacles have been worked around. Here is the full list of bugfixes:

    • Fixed Knuckles/Tikal crashing in Dry Lagoon's water
    • Fixed Knuckles/Tikal crashing in Cannon's Core 3's water
    • Fixed Rouge/Chaos crashing in Aquatic Mine's water
    • Fixed Rouge/Chaos crashing in Cannon's Core 4's water
    • Fixed Tails crashing in Sand Ocean's quicksand
    • Fixed Tails crashing in Egg Golem's quicksand
    • Fixed Eggman crashing in Hidden Base's quicksand
    • Fixed crashing when fighting a character vs. character boss as itself
    • Fixed Knuckles/Tikal crashing when interacting with Dry Lagoon's turtles
    • Fixed Knuckles/Tikal not being able to Move/Grab Dry Lagoon's turtles
    • Fixed Shadow/Metal Sonic not regaining control at the start of Cannon's Core 5
    Besides that, there are a vast number of gameplay and cosmetic changes to polish the overall experience:

    • New custom textures for stage title cards so each of the twelve characters get their own unique color scheme.
    • Tikal's emerald radar has been ported to 1P mode. It will only start blinking when it is within 100 units (yellow range) as opposed to 500 units (green range), so the game is much harder as her. Give it a try!
    • Level-up items no longer spawn if you're playing as the wrong character. This avoids inconsistencies such as getting the Bounce Bracelet as Shadow, and then being able to bounce attack only for the duration of the stage and never again on that save file. 2P characters share level-up items with their 1P counterparts, so they will spawn for them.
    • Shadow and Metal Sonic now load custom object layouts in Crazy Gadget/Final Rush to get around their lack of bounce attack. These changes do not affect Sonic or Amy's versions of the stage.
    • Added Action Window text for actions characters don't normally have (Magic Hands for Amy, Treasure Scope for Chaos, etc).
    • 2P characters now have victory sounds when clearing a stage. 1P characters now have unique victory sounds for bosses they don't normally face.
    • Disabled Knuckles/Rouge's audible screams when the shutters open during their versus boss battle when they aren't actually there.
    • Disabled Eggman's taunts during Security Hall's 1st mission when not playing as Rouge.
    • Disabled Eggman's taunts during Crazy Gadget when not playing as Sonic. They also now play in the 1st mission in general instead of being tied solely to the story mode.
    • Disabled Eggman's (and at one point, Tails') voiceovers during Cannon's Core when playing outside of the 1st mission or as the wrong character.
    • You can no longer freely change characters between Cannon's Core segments. However, character progression in the stage is now determined relative to the chosen starting character, alternating gametype and hero/dark faction in a manner identical to the original. This balances things out a bit, as if you choose to plow through one section as Chao Walker, you'll have to lumber around another as Dark Chao Walker, while still keeping an element of strategy in deciding which character you'll want to be in a particular segment.
    • Entering Chao World from a stage will now retain your current character properly, instead of defaulting back to the stage's normal character. You can still use the L and R buttons to change it, though.
    • Chao World now loads the appropriate sound/voice banks if you're playing as a 2P character; no more file swapping.
    • Modified the song playlist in Chao World to match the Dreamcast version more closely: the old Lobby and Race Entrance music has been restored, and the new Race Entrance music is now heard in Chao Cave. Chao Transporter (or Departure Machine, whatever) music is now the unused Bulletin Board theme.
    • Disabled LoD models for Sonic and Shadow in 2P Mode.
    • Merged with MainMemory's "No Battle" hack for Dreamcast-styled menus and title screen.
    • Custom title screen with hack name and updated credits.
    And finally, there are a few additional changes that replace existing files, and therefore also apply to your vanilla Sonic Adventure 2:

    • Restored the missing lyrics to Death Chamber's music from the official soundtrack.
    • Modified object layouts for Final Rush which fix the notorious broken vertical rail at the very end of the Chao route.
    • Replaced one of Green Hill's sound banks, which broke the 2P characters' sound effects and gave Sonic that ear-bleeding jump sound.
    • Restored the original "Presented by SEGA" screen, because frankly, the gigantic typeface on the new one was an eyesore.
    • Custom lives icons for all the characters based on their Dreamcast originals.
    • High-definiton item box icons, courtesy of BlazeHedgehog (except the 1-Up icon).
    Oh, and appropriately enough, there's an easter egg in there somewhere. :ssh:

    Many thanks to MainMemory for making this hack even possible. Seriously, the guy cracked the encryption on the program, disassembled it, documented the disassembly and implemented my original suggestion out of the blue mere days after I pitched it to him. He also gave me tips and pointers on stuff I wasn't sure of, including but not probably not limited to: Knuckles' missing animations, Cannon's Core character selection, Action Window text structures.

    > Download <

    Known issues:

    • Your opponent in character vs. character bosses often taunts you, and in doing so calls you "imposter", "stupid fox" and "thief", regardless of who you're actually playing as. Not to mention "Darn it, Eggman", "I can't lose to Tails" and "Alright, Shadow, time for me to finish this". I didn't touch them because it opens up a can of worms: why should I remove some but not others, and the issue of maybe seeking replacements like the 2P mode already does in the vanilla game ("Engarde, Tails!" versus "Recharged!") so I dunno, maybe if I do another release.
    • The file select screen only shows the right character 50% of the time. I actually tried messing around with the code that saves the last character played and the vanilla game will eat up anything that isn't negative (00~7F), though it displays increasingly wrong graphics. I have no idea how I would get it to load an additional texture file, nor how to reference it or anything. It's not a particularly important part of the game, anyway.
    • Ideally I wouldn't replace Green Hill's #2 sound bank, but I can't make heads or tails of the code that cycles through all the files in the folder. (Interpreting compiled C code is hard.) Personally I don't regret changing it, but I shouldn't have to force everybody else to replace their files too.
    Screenshots:

    [​IMG] [​IMG] [​IMG]

    DISCLAIMER: This is NOT a crack, or otherwise a full version of the game. It will not run if you do not own the game on Steam, and the DLC content will be locked if you don't own that, either. I have no intention to promote piracy of this game, quite the contrary, I recommend you buy it if you haven't already, because it is a solid, fun game and the PC port is really top notch. Well, if you can ignore the midget trees in the Chao Garden. And the broken Chao Race RNG. And the Chao key glitch. Just... pretend there's no Chao World.

    One last note, if you've downloaded any of the fixes I posted earlier in this thread, I urge you to restore the original files from your backups, or from here if you didn't keep any. All the fixes are now handled internally by the program so they don't interfere with the vanilla game. Thanks.

    Comments, critique and suggestions are welcome. Happy Easter!
     
  8. Titan

    Titan

    Member
    173
    15
    18
    UK
    I currently don't have a PC capable of running SA2, but I'll be downloading this as soon as I do; Neo, this is awesome :D
     
  9. Caverns 4

    Caverns 4

    Member
    346
    0
    16
    Sonic: Retold
    In b4 a version where if the player chooses Amy it incessantly plays her theme song.

    Just kidding, Just thought it'd be amusing. Awesome hack though!
     
  10. Sonic Warrior TJ

    Sonic Warrior TJ

    Have an ice time Member
    3,377
    212
    43
    GA
    I'd love to play this, but I'm missing something called SteamMetricsSDK.dll. I swear, every time I download something ever I'm always missing some stupid little file I never knew existed. I tried to search for it, but I can't seem to find it.
     
  11. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    SteamMetricsSDK.dll can generally be found with a legally purchased copy of the game. If your copy is purchased, then I suggest you verify the game cache, or delete the local files and reinstall.

    Edit: as long as I'm here, I will be porting some of the changes Neo's made to my alternate charsel hack, assuming I can figure out what exactly he changed...
     
  12. Sonic Warrior TJ

    Sonic Warrior TJ

    Have an ice time Member
    3,377
    212
    43
    GA
    Okay, cool. I did legally purchase it, earlier today in fact (I'd been meaning too, but the mod sealed the deal). Thanks for the advice, MainMemory.

    Edit: Still nothing after reinstalling both Steam and SA2, and restarting Steam after verifying the game cache. Huh.
     
  13. Fred

    Fred

    Taking a break Oldbie
    1,563
    117
    43
    Portugal
    Sonic 3 Unlocked
    So you bought Sonic Adventure 2 off Steam and you can't run it? Sounds like a problem you should take up with Steam, not here. If you can launch the vanilla game but not the hack then you didn't install the hack properly: you need to extract it all to Sonic Adventure 2's root folder (with sonic2app.exe) and preserve the folder structure (so the stuff in /resource/gd_PC ends up in the right place).
     
  14. Sonic Warrior TJ

    Sonic Warrior TJ

    Have an ice time Member
    3,377
    212
    43
    GA
    Oh, I see what I did. I extracted and put the folder itself in the SA2 folder. Meh.
     
  15. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator
    This would be my definitive SA2. I think I bought the game on Steam too, but I don't have the space, and my PC's too weak anyway.

    More incentive to buy a new PC sooner than later I suppose
     
  16. TheLoz

    TheLoz

    Member
    109
    0
    0
    UK
    Learning
    This is fantastic! One slight issue I've noticed is that it doesn't seem to be possible to finish Metal Harbor as Metal Sonic - the lack of light dash becomes a problem. Am I missing something here?
     
  17. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Metal Sonic is perfectly capable of performing the Light Dash.
     
  18. Fred

    Fred

    Taking a break Oldbie
    1,563
    117
    43
    Portugal
    Sonic 3 Unlocked
    2P characters inherit their level-up items from their 1P counterparts, so you'll first have to go to White Jungle as Shadow and pick up the Air Shoes before being able to light dash as Metal Sonic. Sorry. This is sort of a problem which I'm not really sure how to fix from a design standpoint, since I can't just offer the Air Shoes directly in Metal Harbor because that removes the challenge of finding and obtaining each level-up item in each level. And also the fact that I had to disable level-up items with 2P characters altogether due to crashes related to missing textures. Maybe in the future I'll come up with something. (Or someone will figure out a workaround for me!)

    I'll note however, that despite many level-up moves being necessary to clear the levels, the light dash actually isn't one of them. :) Well, sorta. You can't clear Crazy Gadget without either the light dash or out-of-bounds glitches.
     
  19. TheLoz

    TheLoz

    Member
    109
    0
    0
    UK
    Learning
    Ahh OK. Recently lost my save file to a hard-drive failure, so, I haven't got to White Jungle again yet. Good to know, thanks! :)

    Is it possible to clear Metal Harbor without light-dash, then? Never heard of that before - how's it done?
     
  20. Fred

    Fred

    Taking a break Oldbie
    1,563
    117
    43
    Portugal
    Sonic 3 Unlocked
    First you need to climb to the very top of the tower where you get the Light Shoes as Sonic. Jump on the stacked crates and then on top of the roof. Then, you need to charge up a spin dash at the aircraft carrier, release it and then immediately jump to maximize your distance in order to make it. Once at the far end of the aircraft carrier, you can just walk over the edge to find an alternate route that's normally hidden from view.

    Metal Sonic and Amy can't spin dash, so it's not as straightforward, but you can do a high jump off the opposite end of the roof, turn around in mid-air, jump dash and then immediately jump again to conserve your speed across the long leap.