don't click here

Sonic Adventure 2 Hacking

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

  1. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,819
    408
    63
    Myself
    Editing models is not possible.
     
  2. flarn2006

    flarn2006

    Member
    280
    3
    18
    Why not? Don't we already know the format?
    Are they embedded in the EXE in a way that can't be edited without using a split disassembly?
     
  3. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,819
    408
    63
    Myself
    As I've said numerous times before, the Ninja Chunk Model format is incredibly complicated, and even with the SDK's format description, I still can't do something as simple as extracting models in an MDL file to individual files and making those files into a new MDL file.

    The format used for most levels ("SA2B format") on the other hand doesn't even have the benefit of being an SDK format, and while we have figured out most of it, it's the last bit that prevents us from doing anything with it.

    Edit: there's also a bit of an issue with the Chunk format only supporting tristrips, which I have yet to find a good method for generating.
     
  4. flarn2006

    flarn2006

    Member
    280
    3
    18
    I've figured out how sub_44B770 works. It draws a line on the screen in a certain color at certain coordinates. It takes three arguments:
    • A pointer to a structure that contains 6 floats (start x, y, z, end x, y, z)
    • A pointer to a 32-bit integer that specifies the color (0xAARRGGBB)
    • A 32-bit integer (not a pointer) that determines how it should be drawn. 0 means to just draw the line without alpha, 1 is the same as 0 but uses alpha, 2 draws it with additive blending, and 3 just draws a point at the first set of coordinates.

    To keep a line on the screen, it can be called every frame from an object routine. I plan on just finished writing a universal line drawing object routine, along with a set of Lua functions to automatically tell it to draw lines. I also wrote a set of Lua functions to interface with it. I haven't uploaded this new version of the cheat table to the wiki, as it doesn't yet do anything unless you call the functions manually, but it's on Github in case anyone's interested.

    EDIT: I've now made it so the cheat table draws a box around the currently selected object when keyboard controls are turned on. I've uploaded this to the wiki, so just use the link in my signature to download it. This is what it looks like.
     
  5. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,819
    408
    63
    Myself
    I've made a new version of the Super Sonic mod, as a DLL file for the mod loader. Basically the only changes are that Super Sonic is always loaded regardless of who you pick, and Super Shadow is always loaded for character bosses and 2P mode.

    Edit: FYI, the first Sonic vs. Shadow fight crashes when loading.
     
  6. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,819
    408
    63
    Myself
    I have updated the Super Sonic mod so that it is possible to break crates.
     
  7. Shade Vortex

    Shade Vortex

    The Black Vortex Member
    618
    62
    28
    USA, WA.
    YouTube Memes
    Is it possible to replace the Black Shield in the air with the bounce attack, so that I can speedrun better and complete more levels as Metal Sonic? That way, he could beat stages like Final Rush where there's boxes blocking you from beating the stage (without having to remove the boxes manually)- maybe even replace using it on the ground with the spindash. I like the black shield and all, but it does seem to limit Metal Sonic more than it helps him, especially in the air.
     
  8. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,819
    408
    63
    Myself
    I actually was planning on making a mod to remove the Black Shield, which combined with the Amy Spin Dash mod would allow Metal Sonic to Spin Dash. Making Metal able to perform the Bounce Attack would be a simple matter of setting the Bounce Bracelet bit in the upgrades field, but I'm not sure if everyone would want that, considering that the Bounce Attack is the most often misfired ability in SA2.
     
  9. Caverns 4

    Caverns 4

    Member
    346
    0
    16
    Sonic: Retold
    Weeeeeell technically, it's not the bounce attack's fault; it's the light dashes fault for having a stupidly small range and not making any attempt to correct your direction.
    I would say the bounce attack would be somewhat useful for Amy and Metal, since the players know they wouldn't need to attempt a light dash anyway, and if I'm not mistaken, the only time one really misfires a bounce attack is when trying to light dash over a pit.

    Which, correct me if I'm mistaken, but aren't there only like, two places in the game where that happens?
     
  10. Blivsey

    Blivsey

    Charismatic Sonicaholic Member
    Come to think, wouldn't it happen that much less often if the Light Dash had a larger range? How possible is that to modify? (probably not at all...)
     
  11. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,819
    408
    63
    Myself
    The Disable Black Shield mod is now available. Use it with the Amy Spin Dash mod to enable Metal Sonic to Spin Dash, although he's just as slidey when charging as he is in the SADX Metal Sonic mod. I've also included an animation fix, because Metal Sonic is the only one of the four characters with no bounce animation at all. You'll have to give him the Bounce Bracelet separately though.

    Very possible.
     
  12. Shade Vortex

    Shade Vortex

    The Black Vortex Member
    618
    62
    28
    USA, WA.
    YouTube Memes
    Seems like the zip archive is damaged or something, 'cause I can't open it. Also, you say I'd have to give him the bounce bracelet separately (I'm guessing through Cheat Engine+the SA@ Cheat Table), but wouldn't it be possible for a mod to give him it as well?
     
  13. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,819
    408
    63
    Myself
    Upload error, redownload.

    Also, strangely enough, Metal Sonic's bounce attack doesn't seem to break crates, he just goes through them.

    I could make Metal able to bounce when Sonic gets the upgrade, but Shadow would probably get the bounce too.

    Also, have a video:
    http://youtu.be/O1K4nWFj0Hs
     
  14. Jeffery Mewtamer

    Jeffery Mewtamer

    Blind Bookworm Member
    2,022
    141
    43
    Considering that so many actions are assigned to the same button, I have to wonder how feasible it would be to overwrite the controller code to spread out actions more evenly.

    Say, make it so the Hedgehogs use one button for Jump and Homing attack, a second for Light/Spin Dash, a third for somersault/bounce, and Metal uses a fourth for his shield.
     
  15. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,819
    408
    63
    Myself
    At most the B and X buttons could be made to have separate functions, but after that, the Y button is already used, and the Z button isn't connected to any input. Unless you want to use the D-pad...
     
  16. Dark Sonic

    Dark Sonic

    Member
    14,632
    1,632
    93
    Working on my art!
    X for light dash and spin dash and B for somersault and bounce attack perhaps (I always wondered how abusable the spindash would be if it weren't tied to somersault)?
     
  17. Shade Vortex

    Shade Vortex

    The Black Vortex Member
    618
    62
    28
    USA, WA.
    YouTube Memes
    Thanks, it worked now! Also, I myself would have no problem with Shadow getting the bounce as well. It always seemed weird that Shadow was "Sonic with LESS abilities" basically. So I'd like that!

    And yeah, increasing light dash range and tweaking button configurations sounds like a great idea.
     
  18. Azookara

    Azookara

    come and see him Member
    Honestly since Spin Dashing / rolling and bouncing are both ball-form abilities I was imagining them on the same button while the light dash and the somersault were on the same button, rather. But it seems like either would work really well.
     
  19. JigenD

    JigenD

    Member
    95
    19
    8
    I have a problem with MainMemory's Dreamcast models mod: When the game attempts to load rouge's model it crashes back to Desktop. Also I was naive enough to overwrite the original files, so for now I am stuck with not being able to play Rouge's levels. Could anyone either fix rouge's dreamcast model and/or upload the original PC rouge model?


    Also I'd like to add that I am pretty excited with the developments regarding SA2 modding. I bought the game for Dreamcast on release day a few years ago, and I fell in love immediately: The fluid animations; the textures; the lighting; the improvements in the momentum-based gameplay, that SA2 was in comparison to SA1...I could go on and on...Oh and I am also guilty of, even today, finding SA2 more visually appealing than...say...sonic generations...And the fact that SA2 will run on any computer effortlessly is certainly a plus.


    While I am certainly no programmer, I'd like to provide some ideas/suggestions (and also some questions) regarding the future of SA2 modding:

    1) Somersault kills the momentum. Would it be possible to change both the somersault animation and physics, into something more like that Tails/Knuckles spin attack from SA1. That would mean that when playing as Sonic or Shadow, if you were running at top speed and pressed the action button, you would curl into a fast spinning ball (without losing momentum), and you would still be able to pass through those narrow obstacles, and be able to damage enemies, BUT as I mentioned, you would not suddenly lose all your hard-earned speed and momentum.

    2) Will it be possible in the future to edit the Stage Select menu? I already find it absolutely spectacular that you can change the characters with a press of a button (although I must confess that I haven't tried it yet), but a properly designed Character Select sub-menu would be even better. Also another sub-menu that would allow you to select new stage music "a la" sonic generations would certainly be a plus, and also preferable to having to swap the adx files every time you want to hear a different music. I sure hope I don't come out as a nitpicker, but after playing this game for 10+ years, some optional changes/improvements are more than welcome.

    3) Will we ever have the ability to build fully-functional custom levels with SA2 engine? The game already has plenty of assets and textures that could be used to build something new. A gaming fetish of mine that I'd like to see fulfilled is having Sonic R levels rebuilt on the SA2 engine, and use them as emerald hunting levels! (Of course they would have to be populated with a few enemies/items etc)

    4) One minor improvement to the game, in my opinion, would be having the non-mecha characters (pretty much everyone except tails and eggman) spin faster when they jump at higher speeds, you know something like the original genesis games. I think this would not be that hard to do, but I could be wrong.


    These are my suggestions, for now. Jesus...so much could be done to this game...I only which I could magically have immediate access to all the developments that will certainly occur to SA2 modding in the next 5 years.
     
  20. Reddie

    Reddie

    Member
    7
    0
    0
    Still stuck on Labyrinth Zone...
    Sonic Adventure 2: Genesis Edition
    http://www.youtube.com/watch?v=Y6u1FS6Fq0U
    It's something I'm working on for this game. Works with the SA2 Mod Loader.

    *Copy-Paste from Video Description*
    I did this a while ago. It's, pretty much that.
    I need help with someone that can record for me because my PC isn't fast enough. PM me please?

    Oh yeah, the features.
    -Genesis-Style HUD.
    -Sonic 1-Style Title Cards for Sonic and Shadow, Sonic 2-style Title Cards for Tails and Eggman, Sonic 3 & Knuckles-Style for Knuckles and Rouge.
    -Genesis SFX for Speed Characters (2P Included) and Menus. (I would've replaced the Emerald Hunting and Mech Characters' SFX but I don't know what sound is what. If anyone can give me a list of what SFX is used for, it would be greatly appreciated. Also for the Battle file, please?)
    -Genesis music remixes for menus and jingles.

    Planned features:
    -Black Eyes for everyone! (As external, totally optional mod I guess.)
    -Genesis SFXs for all the characters and stages.
    -Support for mods like MainMemory's Character Select Mod and Neo's Super Sonic Adventure 2: The New Challengers. (Only issue for now are title cards not looking like they should.)
    -Genesis-like menus and backgrounds.

    It's been said by MainMemory from Sonic Retro that MODEL EDITING IS NOT POSSIBLE. So I'm not touching anything there. The most I'll do will be adding Black Eyes. Also Eggman stays as Eggman.

    Some Screenshots:
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    I have a few issues though. Any help please?
    The ADX files this uses don't loop at all. I thought this was handled per-song but it isn't. Forget that. I just discovered why they don't loop. I have to loop them >.>
    The SA2ModLoader doesn't patch the NowLoading file for some reason. I changed that for all the languages but it still doesn't appear. I know it's the Mod Loader because when I tried replacing the original file, it worked.
    I tried to change the Stage Select map's icons but the game just crashes. I guess it has to do with checksums and file size. I hope it's something fixeable.
    I don't know what SFX does what for Emerald Hunting and Mech characters.


    No heavy engine modifications are being done with this. Actually, not even light engine modifications.
    I'm open to suggestions and stuff!