Sonic Adventure 2 Hacking

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

  1. Fred

    Fred

    Formerly known as 'Neo' Oldbie
    1,431
    0
    16
    Portugal
    Sonic 3 Unlocked
    All I can say is, sorry for the troubles. I've experienced the same issue and I don't know what started it; even vanilla SA2 tends to crash right before the intro.

    I should really split the thing up into mods for the mod loader, but I'm swamped with other stuff ATM. Really happy to hear that somebody cares about this stuff though, so thanks for that.
     
  2. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,447
    1
    18
    Given that it seems to play havoc with Steam itself (I've actually had Steam freeze after forcing TNC to close) I'm willing to bet it's some kind of DRM protection getting in the way because the executable isn't exactly what it's expecting.
     
  3. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
    I'm pretty sure the decrypted EXE (which TNC is based on) skips most of the DRM stuff. I use the decrypted EXE as my normal game, and I very rarely get crashes. It's more likely there's some kind of race condition or something with their loading code. Why it makes Steam freeze, I don't know, maybe the program suddenly closing causes a problem?
     
  4. End User

    End User

    Member Member
    14
    0
    0
    Supers Over Hedgehogs (SA2)
    TNC doesn't present any problems for me, though the way I implemented it on my old and new laptops is roundabout. If this is the method you used to load it before, then please disregard this post.

    I started to load TNC a few years back using the Mod Loader method, which still works as of this post. All I did was place the relevant files of The New Challengers in their own separate folder within the "mods" directory and enabled them in the mod loader, formatted so the mod could be detected by the mod loader. After that, I just load the modified EXE from the "Sonic Adventure 2" folder and it presents no issues, aside from a pop-up that appears when I don't initiate the Steam client beforehand. I initially did this so the new files wouldn't tamper with the original files, but it could prove useful in your case. It's not the most elegant solution, but it's worth a try.
     
  5. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
    Actually, you can go a step further, and put EXEFile=SA2TNC.exe in mod.ini, and the mod manager will automatically load SA2TNC.exe when the mod is enabled, and the mod loader will give you a warning if you use the wrong EXE with the mod.
     
  6. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,447
    1
    18
    This will need a little more testing to make sure this is the case, but I think I figured out why TNC wasn't working:

    Either this is on by default now or I turned it on at some point and didn't realize it, but in Steam's "in-game" settings, there's a check box for "Use Big Picture Overlay when using Steam Input controller from Desktop"

    This makes some games boot up in kind of a pseudo-Big Picture mode in addition to messing with controller stuff. It was actually screwing up Sonic Mania for me bad enough that I couldn't play the game unless I closed DS4Windows. Seems like it messes with the controller's exclusive mode, among other things. Mr. MANGOMILK on Twitter pointed out the option to turn it off. Turning it off not only fixed Sonic Mania and let me keep using DS4Windows, but I'm playing TNC right now just fine.

    We'll have to see how things hold up long-term, but I'm thinking maybe it was a controller conflict.
     
  7. End User

    End User

    Member Member
    14
    0
    0
    Supers Over Hedgehogs (SA2)
    Over the last few days, I toyed around with the idea of editing the character models found in the Dreamcast version. The first test I wanted to try out was to see if I could manually replace Super Sonic's shoes with the classic ones seen in SA2: The Trial. Super Sonic's model data is small enough for attempted changes to be applied quickly - once I got rid of regular Sonic's data and changed those pointers to match Super Sonic's, that is - which resulted in a period of trial and error with regards to what produced functioning results.

    Currently, this is what the model looks like when inserted into the DC version (emulated, though I suspect it also works on real hardware.)
    [​IMG]

    In-game, the shoes move around and animate as they should, though Sonic's legs are persistently broken. I'm at a loss for what to attempt next, as my knowledge of the model structure starts and stops with what was most likely already discovered several years back. This particular type of change could be applied to any model in the game, though depending on the size of the package and what parts of the model you would like to change, the process could take a while.
     
  8. Jimmy Hedgehog

    Jimmy Hedgehog

    Member Member
    1,724
    0
    16
    England - Slough
    Getting the motivation to continue old projects
    Posted this in the wrong thread earlier so asked it to be trashed, so here it is where it's supposed to be!

    Just a general enquiry here, and I guess semi-request too I dunno, but how feasible/possible would it be to have a camera mod that focusses on a particular chao while in the garden? Been streaming SA2 and thought it'd be neat to kind of have "Chao Cam" while playing other games.
     
  9. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
  10. Irixion

    Irixion

    Member Member
    Good Job. Now do Eggman with Amy's animations and physics and Sonic with Eggman's animations.


    In all seriousness, how does this work if they all have different skeletons? Or is there something that I'm missing?
     
  11. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
    Sonic, Shadow, Amy, Metal Sonic, Tails, Knuckles, Rouge, Tikal, Chaos 0, Super Sonic, and Super Shadow all share the same skeleton in SA2, therefore models and animations can be swapped between any of them, and in fact they share several animations from the PLCOMMTN.PRS (PLayer COMmon MoTioN) file.
     
  12. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
  13. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
    I ran a poll on Twitter about model swaps, and the winner was Amy Over Metal Sonic.
    http://www.youtube.com/watch?v=FcJ_utObFI8
    Second place ended up in a three-way tie, so I chose Knuckles Over Rouge.
    http://www.youtube.com/watch?v=3fn9LKIT0ws
    After this, I'm probably done with model swaps for a while.
     
  14. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
    So here's something different, I managed to make SA2 display Super Sonic and Super Shadow in the 2P Battle menu by setting a couple of variables:
    http://www.youtube.com/watch?v=Nq65rq-u8oo
    It's not much (the video basically shows the entire thing) but you can download it here: http://mm.reimuhakurei.net/sa2mods/SuperBattle.7z

    Also, what I said in the previous post? Yeah, about that...
     
  15. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
    http://youtu.be/HjJTJarJAkQ
     
  16. Dark Sonic

    Dark Sonic

    I'll find the old avatar eventually Member
    12,008
    2
    18
    Working on my art!
    It begins.

    SA1 levels would be kinda interesting in SA2. I like SA1 more but SA2 always felt a bit better to play. I hope this is developed further!
     
  17. Irixion

    Irixion

    Member Member
    So what's really the biggest hurdle? Sa1 has been cracked open. I mean, even Heroes is getting there pretty much. Why the lag with Sa2? The formats can't be that different :S
     
  18. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
    They can, and they are. The models in SA2 are mostly the Ninja Chunk format, which is a lot more difficult to work with than SADX's Ninja Basic, on top of that, we've recently learned the character models use a custom weighting extension for the models which we have no idea how to implement. And on top of THAT, several models (including most of the level models) are in a different format which was created specifically for SA2B as a sort of fusion between Ninja Chunk and Nintendo's BMD format, and we still have not been able to fully crack that format.

    Plus, our tools have no way to import custom models with triangle strips, which is necessary for chunk models.
     
  19. Caverns 4

    Caverns 4

    Member Member
    339
    0
    16
    Sanik Quest: Journey To The Right
    A fusion between Ninja Chunk and BMD? How strange...
    I take it that's only used on Battle-exclusive models, but it seems like a strange choice to go as far as to make a combined format like that. Maybe it was necessary for the GC? Couldn't be that, other games don't use BMD models.Does it help at all that the original BMD format has been cracked wide open? There's a readily available BMD viewer.. Somewhere.

    The custom weighting thing doesn't really surprise me - if you're referring to the fact that stuff like Sonic, Knuckles, and Rouge have seemingly physics-based motion.
     
  20. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,273
    0
    16
    SonLVL
    Even SA2B uses regular Ninja Chunk models, for characters and the Basic Test level. And no, it doesn't really help that the BMD format is known, that's how we figured out it was based on BMD way back when SA2 first came out on PC, and yet it's only recently that progress has been made in decoding it.

    To my knowledge, the weighting has more to do with how the node positioning is applied to the vertices of the models, and the jiggle physics are an entirely separate system.