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
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): ================================== animation master struct 0x34 bytes dword Blend_anim; // value of animation to blend with? unsure. float unknown; float x_trans_off; // this is how far the model moves up upon transition. Doesn't affect gameplay float Y_trans_off; // transition offset float Z_trans_off; // transition offset padding [c]; // seems to be empty float scale_x; //model scaling float scale_y; float scale_z; dword pointer; // points to another master struct dword pointer; // points to another master struct =================================== I still can't seem to find the transformation data
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.
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.
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): Animation frame data for sonic's body appears at: 6032224, there are 31 frames Each entry is 0x10 bytes long dword frame; // frame of the animation float x_pos; float y_pos; 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.
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): ============= vector loop; 0x14 ============= short null; // nothing short rot1; // haven't figured out yet short rot2; // I think this ix X short rot_Y; // I know this is Y float X_coord; // float Y_coord; // 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.
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.
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.
http://srb2town.sepwich.com/junk/sadx_gamemode_22.PNG Setting the game mode to 22 (inside the level already) gave me that. Huh, sure it's the game mode?
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!
What happens in mode 14? you should get a pause screen. Also it should be noted that you can pause in cutscenes this way
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
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)