don't click here

SADX/SA1 Hacking/Modding

Discussion in 'Engineering & Reverse Engineering' started by MainMemory, Aug 15, 2009.

  1. Azu

    Azu

    I must be stupid. Member
    So, where's this object editor you speak of Memory?
     
  2. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,785
    365
    63
    SonLVL
    Page 6.
     
  3. Endri

    Endri

    Officer I don't have my drivers license with me. C Tech Member
    I used similar technic to try to find how to enable/disable the Super Sonic aura. Yet, it didn't work out for me :P
     
  4. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    I started looking into this, and I started documenting the structs pointed to in that pointer array you gave me. Here's level one:

    Code (Text):
    1. ==================================
    2. animation master struct 0x34 bytes
    3.  
    4. dword Blend_anim; // value of animation to blend with? unsure.
    5. float unknown;
    6. float x_trans_off; // this is how far the model moves up upon transition. Doesn't affect gameplay
    7. float Y_trans_off; // transition offset
    8. float Z_trans_off; // transition offset
    9. padding [c]; // seems to be empty
    10. float scale_x; //model scaling
    11. float scale_y;
    12. float scale_z;
    13. dword pointer; // points to another master struct
    14. dword pointer; // points to another master struct
    15. ===================================
    I still can't seem to find the transformation data
     
  5. Azu

    Azu

    I must be stupid. Member
    The editor crashed when I tired to click open.
     
  6. MXJ

    MXJ

    20
    0
    1
    12992
    Sonic Universe (Being procrastenated)
    Yeah, me too.

    Anyway, this whole thing is just fantastic. We can finally have ultimate control over almost anything in SADX! Great job MainMemory! Also, when will you be releasing a new sonic.ct? I don't want to rush you, but, I'm just asking.
     
  7. Endri

    Endri

    Officer I don't have my drivers license with me. C Tech Member
    Y-yeah. That's what happens when I hit open...
     
  8. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,785
    365
    63
    SonLVL
    Was it the Open button on the form, or the one in the Open File Dialog? And it's hard to fix problems without the exception text.
    Edit: Mine crashes sometimes when displaying the file list in the Open dialog. I don't know what causes this.
     
  9. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    Well I just made some more discoveries - there are 31 frames in sonic's standing animation, and his center of mass data works like this:

    Code (Text):
    1. Animation frame data for sonic's body appears at: 6032224, there are 31 frames
    2. Each entry is 0x10 bytes long
    3.  
    4. dword frame; // frame of the animation
    5. float x_pos;
    6. float y_pos;
    7. float z_pos;
    Go ahead, play with these values. Sonic's model will jump around onscreen accordingly. Also, right after sonic's torso, his right hand's frame data is present.
     
  10. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,785
    365
    63
    SonLVL
    I've uploaded a new version of sonic.CT. It's on the first page.
     
  11. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    MainMemory, I have a favor to ask of you, I've been trying to figure out this data for a long time now and I just can't wrap my brain around it. At 12777740 (dec) in sonic.exe is the auto-loop data for the double loop right before the whale chase in emerald coast. It follows a format SIMILAR to this:

    Code (Text):
    1. =============
    2. vector loop; 0x14
    3. =============
    4. short null; // nothing
    5. short rot1; // haven't figured out yet
    6. short rot2; // I think this ix X
    7. short rot_Y; // I know this is Y
    8. float X_coord; //
    9. float Y_coord; //
    10. float Z_coord; //
    The only part of that you can trust is the size and the xyz coords. Could you see if you can decipher the rest of the data? I tried finding the data in ram and having cheat engine find out what reads the data but doing that just crashed sadx.
     
  12. Endri

    Endri

    Officer I don't have my drivers license with me. C Tech Member
    A new cheat table, eh?

    I wonder what new address you discovered. Discoveries that will help improve the hackings ;)

    That made me wonder... should I make a new thread about disassembling sadx and editing it instead of posting here? I don't know, mixing so many subjects in only one thread makes it looks like MainMemory's works are getting ofusqued.
     
  13. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    I definitely think a pinned 'sadx knowledge' thread or something would be useful. I've got pages of offsets and structs, and other stuff floating around. If I put it all in one easy to find place I'm sure someone who was better at programming could make something very useful of it.
     
  14. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
  15. Endri

    Endri

    Officer I don't have my drivers license with me. C Tech Member
    What exactly is different in the picture? You mean the ground texture, that isn't ground texture anymore? =P

    If that's the case, MainMemory found an address to change the level textures!
     
  16. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    What happens in mode 14?

    you should get a pause screen. Also it should be noted that you can pause in cutscenes this way
     
  17. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    Just now I find the mode list in the sonic.ct file. Argh. Disregard that >_>
     
  18. Endri

    Endri

    Officer I don't have my drivers license with me. C Tech Member
    But now I'm interested, Sik. You might've found something useful.
     
  19. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    I don't think so, all I think he's discovered is that forcing the level to re-load incorrectly causes texture corruption, which I've been doing forever lol
     
  20. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,785
    365
    63
    SonLVL
    The modes that do that are clearly marked with (Bad Textures) in the CT and the wiki.
    Edit: Mode 16 is pause and 14 is credits (for me anyway)