Sonic Adventure 2 Hacking

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

  1. Azu

    Azu

    I must be stupid. Member
    Hmm. Then I'm not sure why it's crashing.
     
  2. Caverns 4

    Caverns 4

    Member
    339
    0
    16
    Sanik Quest: Journey To The Right
    Speaking from experience, the issues with Eggman's alt. models are most likely a material or texture that was broken in the texture process. It's possible the material that his mustache, sunglasses, etc. at on are being given a faint (As in non existent but the material dictates it's their anyway) alpha layer that shouldn't be there; I've seen this happen in games before. Wind Waker actually did this iirc to make Link's eye's show through his hair.

    I don't know how the bug is happening, but I'd say something just didn't go right, and if so, perhaps re-attempting the fix might possibly yeild different results. It's not very likely, but it's an idle thought.

    Main Memory, what does the process do with the mdl files? If it does anything remotely intricate I'd say it's likely we just don't understand the format well enough yet.
     
  3. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,340
    32
    28
    SonLVL
    It does exactly the same thing the PC version of SA2 does when reading its big endian mdl files so the little endian processor can read them, slightly modified so it can work in reverse as well. If there were any bugs, they either existed in the game, or they would cause the converter program to crash.
     
  4. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,458
    4
    18
    http://www.youtube.com/watch?v=FAZT-vLoB3M

    Somebody in the comments mentioned the Gameshark code to switch characters kept the correct sound banks. Is there any way that could be fixed in the PC version with a Cheat Engine thing?

    I'd try and figure it out myself but I am useless at that kind of stuff
     
  5. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,340
    32
    28
    SonLVL
    Yes. Change the Current Character value in the main table instead of using the Character Switch.
     
  6. JRokujuushi

    JRokujuushi

    I'm give up your appellation's technical monkey Member
    106
    0
    16
    The sound effect it uses for Sonic's bounce in that video is excellent.
     
  7. flarn2006

    flarn2006

    Member
    264
    0
    0
    SA2 Cheat Table
    Yeah I know, it's almost as if they put that there intentionally. What's that sound normally used for?
     
  8. Fred

    Fred

    Formerly known as 'Neo' Oldbie
    1,482
    42
    28
    Portugal
    Sonic 3 Unlocked
    That's... quite obviously the punch sound. It's kinda hilarious that it ended up perfectly aligned with the bounce, though. Also, POWER BOOST! POWER BOOST!

    I've been working on some stuff too, but are mostly just necessary steps to back an executable mod which doesn't exist yet. On that note, I've been messing around with the IDA database and making basic character switch stuff by loading the wrong subroutines, and I have a few questions (mostly for MainMemory, I guess, since he's apparently the only one interested in messing with the game's code): what's stopping us from jumping to the end of the executable and running arbitrary code we inserted there? Also, any idea how we can read the controller state at any given point (hopefully just as a bitstring)?
     
  9. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,340
    32
    28
    SonLVL
    There's really nothing stopping us from adding custom code, except for the complexity involved in adding a new code segment to the exe and aligning all the pointers properly. A tool could be made to handle all that, much like buildSADX does for SADX.

    The controller state: I found it once, but there's like, four copies of it, and I'm not entirely sure which is used where. The button layout, unsurprisingly, is the same as SADXPC's (described on the SCHG page for it).
     
  10. Fred

    Fred

    Formerly known as 'Neo' Oldbie
    1,482
    42
    28
    Portugal
    Sonic 3 Unlocked
    Yeah, I'm a complete noob when it comes to low-level programming. I have no idea what's legal and what's illegal. You mind if I just take this to PM and fill you in on what I wanted to do? It's relatively innocuous, maybe I can even convince you to do all the work for me.
     
  11. flarn2006

    flarn2006

    Member
    264
    0
    0
    SA2 Cheat Table
    You mean legal/illegal as in whether it's a valid operation, not whether or not it's actually against the law, right? I can't imagine any of this being against the law. :v:
    (Unless you're talking about things like enabling the DLC that you already have downloaded without paying for it, which seems like a gray area. I would add it to the cheat table, but not until I know for a fact it's not against the forum rules.)
     
  12. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,340
    32
    28
    SonLVL
    You can certainly try.
     
  13. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,340
    32
    28
    SonLVL
    Enable racing characters to coexist with other types in 2P mode: at 3274C7 (7280C7 RAM) change C7 46 1C A0 7D 72 00 to 90 90 90 90 90 90 90.
     
  14. Fred

    Fred

    Formerly known as 'Neo' Oldbie
    1,482
    42
    28
    Portugal
    Sonic 3 Unlocked
    I made some mild texture hacks for my personal use, figured some of you might be interested in them:

    This one digitally restores all the lives icons to their original designs. Meaning that the 1P icons are back to their Dreamcast selves (though in higher quality) and the 2P ones aren't sharpened to disfigurement. And this one digitally restores the item box barrier, invincible and bomb icons, restores the red cross design to the health kits and replaces all the 1-Up icons with a common one based on the Heroes design. (This is mostly so you don't pick up a Shadow 1-Up while playing as Metal Sonic, but also to save me the trouble of actually doing anything to the icons in the first place.) Unpack to the PRS directory, back up the originals as needed.
     
  15. Glaber

    Glaber

    Has Beaten Sonic Genesis for GBA Oldbie
    how do you install it, just drag and drop?
     
  16. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,340
    32
    28
    SonLVL
    This exe is the first to include custom code, namely a replacement character loading routine with two differences:
    • Holding the "L" button while the level is loading will cause it to load the other character in the Hero/Dark alignment (Sonic<->Shadow, Eggman<->Tails, etc).
    • Holding the "R" button will cause it to load the 2P alternate character (Sonic->Amy, Eggman->Dark Chao Walker, etc).
    • Holding both the "L" and "R" buttons will cause it to load the 2P alternate character of the other alignment (Sonic->Metal Sonic, Eggman->Chao Walker, etc).
    • This works for both players.
    • It also has all the alternate character fixes applied.
    The mod was requested by Neo for use with his texture packs and some SET files he will make to account for Shadow's lack of bounce attack.
     
  17. Azu

    Azu

    I must be stupid. Member
    Is it possible to use P2 abilities outside of 2P mode?
     
  18. Fred

    Fred

    Formerly known as 'Neo' Oldbie
    1,482
    42
    28
    Portugal
    Sonic 3 Unlocked
    Right, so to go along this post, here is a set of alternate object layouts that provide workarounds so Shadow and Metal Sonic can clear all of Sonic's missions. These address the following:

    • Green Forest, 5th mission: Shadow can't jump high enough to clear the collapsing floor right at the end of the stage. Fixed it by adding a platform he can wait on until the whole thing comes down.
    • Crazy Gadget, 5th mission: There are two points in the stage where you need to use the bounce attack to destroy a steel container that's out of reach - one's too high, the other is too low. I tried to fix it by messing around with the containers in a way that wouldn't really affect Sonic's playthrough of the level.
    • Final Rush, all missions: This is the most glaring one because it prevents the characters from clearing the stage at all. At two points in the stage (roughly halfway and right at the end) there is a room with three shafts in the floor which are plugged by stacked wooden containers. I took a cue from the 2P layout and removed the ones embedded in the pit and left the other ones, which can be destroyed with a somersault. (Note to score attackers: I removed 6 containers (4 in hard mode), which equals a total of 120 points (80 in hard mode) that are Lost Forever.)
    • Final Rush, 3rd mission: Shadow can't reach the chao because of the notoriously broken rail which doesn't let you grind up, only down, leaving you no option but to perform a fringe case bounce attack to even manage to clear the stage normally in the unmodified game. I fixed it by simply flipping said rail upside down. Again, so it's perfectly clear: This fixes the broken rail in the chao route of Final Rush. (Specifically, the files set0030_u.bin, set0030_hd_u.bin and set0030_2p_u.bin.)

    Drop the files right in the gd_PC folder. Happy replay value!

    If you mean stuff like Sonic Wind and Black Wave, then no. They're mostly offensive attacks, what's the point in having them in a single player game?

    Other than that the characters play about exactly the same as they do in the 1P mode, with the exception that Tikal lacks her nerfed emerald radar.
     
  19. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,340
    32
    28
    SonLVL
    It is possible, however Sonic for example: Speed Up works fine, Sonic Wind does nothing unless used with a second character, Time Stop crashes unless used with a second character.
     
  20. Azu

    Azu

    I must be stupid. Member
    What about Tails and Eggman's beam and missile attacks?