don't click here

Sonic Adventure 2 Hacking

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

  1. Glaber

    Glaber

    Has Beaten Sonic Genesis for GBA Oldbie
    unless they use body groups, I don't think so.
     
  2. Aquaslash

    Aquaslash

    Emerald Dragoon Moderator
    2,818
    0
    16
    Hampton, VA
    The S Factor: Sonia and Silver
    I wasn't talking about actually in the game. I don't think we have the ability to do that yet.
     
  3. darkspines35

    darkspines35

    It's Easy Actually. No, seriously. Tech Member
    248
    0
    16
    .V.
    Sanik Adevnt Casters
    Everyone seems to think this.... While yes, they're the same model, no, they're not shared. Super Sonic, Super Shadow, and Shadow himself all share the same base head model, BUT they're all in their own individual files. ssonicmdl, sshadowmdl, and teriosmdl respectively.

    Well technically we could. The old vertex replacement method that was used for SADX ages ago could be used in theory. We just can't actually write to the model format yet. There's still stuff to figure out about it :v:
     
  4. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    "teriosmdl"? Wasn't Terios Shadow's beta name? its neat that it still lives on in the filenames like that.
     
  5. darkspines35

    darkspines35

    It's Easy Actually. No, seriously. Tech Member
    248
    0
    16
    .V.
    Sanik Adevnt Casters
    Yeah, all of Shadow's main files are his beta name. teriosmdl, teriosmtn, and teriostex. He's referenced as sh in most of the other files that include him though.
     
  6. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,651
    218
    43
    SonLVL
    The method would have to be modified slightly. As far as replacing vertices and polygons, there are three main problems: I obviously don't have the format 100% figured out yet (if I did, Sonic's model would show up completely), the chunk model format only supports strips and I have no method for converting triangles to strips, and several models have their polygon data stored in another model, which makes it difficult to replace without breaking all the other models.
     
  7. darkspines35

    darkspines35

    It's Easy Actually. No, seriously. Tech Member
    248
    0
    16
    .V.
    Sanik Adevnt Casters
    It'd be fine for specific models though. Like the head for instance. Since they don't use that caching thing.
     
  8. Ryuki

    Ryuki

    Member
    96
    0
    6
    http://s11.postimage.org/nrukg7q83/joys.png

    [​IMG]

    :specialed:

    2P costumes in single player is easily achieved via a simple model/texture swap. Absolute no brainer, but I thought it would be interesting to post anyway.
    Not sure how far into the game you can get before the game crashes, but eh. I'm sure Metal Harbour and the light dash upgrade will enlighten.

    Waitsforincominghate*

    EDIT: After completing metal harbor it seems to work without any hitches.
     
  9. Dark Sonic

    Dark Sonic

    Member
    14,356
    1,402
    93
    Working on my art!
    Is changing the title screen back to the original sa2 one just a simple file swap? Sa2bs title screen sucks.

    And someone get those omochao hints out of here. Can't even read em the loading screen lasts 2 seconds
     
  10. Ryuki

    Ryuki

    Member
    96
    0
    6
    I know many of you aren't fond of the visible upgrades on characters as you progress through the game, so I tried to come up with a solution that wouldn't require much programming or hacking knowledge, as it's something I'm severly lacking in.
    (Can't really do much beyond changing file names in the gd_PC directory :v: )
    If I remember rightly, the secondary (2p) costume doesn't display those upgrades? So wouldn't replacing Sonic's default model with his secondary model solve the problem? Obviously you'd have to manually transfer the respective .PVR files from Sonic's default texture instead of simply swapping both his texture files, (His default .PRS contains textures for all of his upgrades, his secondary .PRS doesn't. I'm sure the results of combining the secondary model with the default texture would be horrific.) but it should work in theory, right?

    I tried this myself, but unfortunately the only .PRS compressor I could find a working link to was Nemesis', and the output file was a whopping 66KB, nearly 3 times larger than Sonic's texture files which are only 25KB. This inevitably lead to a crash when loading one of Sonic's levels.

    I did find a link to one of Polygon Jim's old topics where he released his own .PRS compressor, but I think the link's been removed, that, or I'm missing something.

    http://forums.sonicretro.org/index.php?showtopic=10377

    Does anybody know of any other .PSR compressors?
     
  11. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,651
    218
    43
    SonLVL
    How about this?

    FraGag ported it to C# and I use it in my tools now since puyo tools is kind of terrible at PRS decompressing.


    Edit: Looks like all the data from the .rel files was put in resource\gd_PC\DLL\Win32\Data_DLL.dll, in little endian SA2B format. So yeah, editing levels will be a bit difficult. The good news is, all the LandTables are already labeled for us :specialed:
     
  12. Glaber

    Glaber

    Has Beaten Sonic Genesis for GBA Oldbie
    has anyone found a way to extract the voice files out of this version of SA2(B) and in a way that they will work? I tried using AFSExplorer to get the files out, but they don't have their proper names.
     
  13. Ch1pper

    Ch1pper

    Fighting the Battle of Who Could Care Less Member
    765
    55
    28
    Life.
    I recall starting to catalogue SA2B's voice files (from the GameCube version), so these should work fine. (I just never continued... Maybe I will now.)
    When I did Heroes, they had no 'real' filenames beyond simply being numbered. Just go with it.
     
  14. Ryuki

    Ryuki

    Member
    96
    0
    6
    Thanks for the link MainMemory, this did a great job of compressing the modified .PRS File! (It now sits at 23KB, actually smaller than the original .PRS from the game folder)

    Unfortunately upon loading the 'Metal Harbour' (and every other level) title card, the game encounters an error and is forced to close.
    Is this because of the difference in the size of the .PRS files? If so, how would I go about filling out the rest of the modified .PRS file so that it's an equal size to the original file? Or is there some other fix?

    Sorry about all the questions, but I'd rather look a fool for 5 minutes by asking than a constant pain in the ass that isn't willing to help himself.
     
  15. darkspines35

    darkspines35

    It's Easy Actually. No, seriously. Tech Member
    248
    0
    16
    .V.
    Sanik Adevnt Casters
    Provided the main file changes from this version stem from the 360's set up, it now uses csb files to pack music in the ADX folder. I was also able to rip sound effect files very easily too. As for the voice clips, they should still be in the AFS package unless that was changed and I never noticed. And MainMemory, you said it was in little endian. Are all the files in little endian? If so, that'll make some projects a little bit easier to handle. Hoping to get my hands on this version soon to mess with it internally, haha.

    EDIT:

    It's crashing due to an ID or something most likely, but you can modify the default model files themselves, and you would actually need to for him to display correctly (PSO model has modified UV Maps IIRC). You just need to remove the IDs for the items in the default file's header and you're done. I don't have my list for this stuff, but it's part of how I got Super Sonic and Super Shadow working in the game. It's also why the PSO outfits don't have upgrades. The game basically checks to see if the ID for the model exists, if it doesn't, it won't bother trying to load something that doesn't exist. It makes hacking models a fair bit easier honestly (ie, you can remove the LoD models this way).
     
  16. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,651
    218
    43
    SonLVL
    I haven't checked all the files yet, mostly because I'm not even sure which files are actually used...

    As for MDL files, I should get around to making buildMDL and buildMTN programs sometime, and there should probably be a list of what each file contains and which IDs are what on the wiki, at SCHG:Sonic Adventure 2/Model Files.

    Also I'm just going to put this here where it's in public view (SA2B model format):
     
  17. darkspines35

    darkspines35

    It's Easy Actually. No, seriously. Tech Member
    248
    0
    16
    .V.
    Sanik Adevnt Casters
    I guess I should get into wiki editing then...
     
  18. Glaber

    Glaber

    Has Beaten Sonic Genesis for GBA Oldbie
    What program did you use to get at the voice files?
     
  19. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    0
    0
    0
    across town from Hinchy
    All the bitches.
    http://www.youtube.com/watch?v=HEycTKgCLlM&feature=plcp

    Nothing that exciting, it's just the ram address for Sonic's current action, action 58 is the same as the flying around debug from SADX PC.
     
  20. Trunks

    Trunks

    AGAIN TRY Oldbie
    Man, I don't know about the popular opinion, but I feel like this game really holds up. Sure there are a number of garbage levels, but overall it's good clean fun.

    I'm ultimately curious whether or not it'll be possible to import higher resolution textures for the characters. I'd really, really like to go in and clean the textures up on the characters and make them look as nice as they deserve to.