don't click here

Sonic RDX Update

Discussion in 'Engineering & Reverse Engineering' started by Dude, Nov 19, 2008.

Thread Status:
Not open for further replies.
  1. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    0
    3
    0
    across town from Hinchy
    All the bitches.
    If Dude's okay with that design, you can count on me =P
     
  2. Dark Sonic

    Dark Sonic

    Member
    14,631
    1,611
    93
    Working on my art!
    Also if you really want to go above and beyond fix the cut scenes. Running in place is just strange D:
     
  3. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    [​IMG]
    lol wut?

    Below is a list of all sonic/metal sonic's animations. The address the current animation is stored at likes to jump around alot so posting the address would be useless (07315264 is the current offset working for me). You can use these values plus a debugger to find the assembly code in sonic.exe to make your animation swaps permanent.

    Code (Text):
    1. Sonic Animation Log
    2. (all values are in decimal ftw)
    3. 00: Standing
    4. 01: Transition to surf stance
    5. 02: Surf Stance
    6. 03: Looking around
    7. 04: Bored Comment
    8. 05: Bored Comment 2
    9. 06. 05 transition to 00
    10. 07: Lean Forward
    11. 08: Lean Back
    12. 09: Walk 1
    13. 10: Walk 2
    14. 11: Walk 3
    15. 12: Run 1
    16. 13: Run 2
    17. 14: Spin
    18. 15: Spin
    19. 16: Spring flight (loop)
    20. 17: 16 transition to 18
    21. 18. Falling
    22. 19: landing
    23. 20: Skid stop
    24. 21: Push (start)
    25. 22: Push (loop)
    26. 23: Take damage
    27. 24: 23 (landing)
    28. 25: Skid Stop
    29. 26: Air Flip
    30. 27: Hit wall 1
    31. 28: 27 recovery
    32. 29: Slow backflip
    33. 30: turn around
    34. 31: Slide stance
    35. 32: Spin Ball (no flash)
    36. 33: Pick up object
    37. 34: object Run
    38. 35: Object stop
    39. 36: Object Turnaround
    40. 37: Object stand
    41. 38: Object walk
    42. 39: Trampoline Flight
    43. 40: Trampoline Backflip
    44. 41: instance of 39
    45. 42: Trampoline Flip 2
    46. 43: instance of 39
    47. 44: Slip
    48. 45: Slip 44
    49. 46: slow frontflip
    50. 47: Hanging
    51. 48: Pull
    52. 49: Shake Tree
    53. 50: Pickup object
    54. 51: Shake object
    55. 52: Stop shaking
    56. 53: 00 transition to 50
    57. 54: idle holding tree
    58. 55: object spring
    59. 56: 55 transition to 57
    60. 57: Object fall
    61. 58: Object landing
    62. 59: Throw object
    63. 60: Toss object
    64. 61: Air throw
    65. 62: Air toss
    66. 63: Put object down
    67. 64: Light dash flight
    68. 65: Ready to pull
    69. 66: monkeybars (broken eyes)
    70. 67: monkeybars (broken eyes)
    71. 68: monkeybars (broken eyes)
    72. 69: climbing ladder
    73. 70: Shot from cannon
    74. 71: dunno (come back to this)
    75. 72: Jump pad invert
    76. 73: Flight to jump pad
    77. 74: Surfer stance
    78. 75: Win level
    79. 76: 75 transition to 00
    80. 77: 00 transition to 54
    81. 78: instance of 54
    82. 79: holding rocket
    83. 80: holding rocket
    84. 81: gassed/drunk sonic
    85. 82: pain flight
    86. 83: Spin (no flash?)
    87. 84: breathe bubble
    88. 85: Drowning
    89. 86: hit
    90. 87: death anim 1
    91. 88: Falling
    92. 89: Skydeck grasping cyl
    93. 90: 89 shimmy
    94. 91: reverse of 90
    95. 92: 89 slide down
    96. 93: 92 transition to 89
    97. 94: holding icicle
    98. 95: Slipping on icicle
    99. 96: jumping from icicle
    100. 97: Flight of 96
    101. 98: latching onto icicle
    102. 99: moving on icicle
    103. 100: flip of 99
    104. 101: instance of 100
    105. 102: snowboard stance
    106. 103: turning on board
    107. 104: turning on board
    108. 105: jumping on board
    109. 106: transition from 105?
    110. 107: board stance 2
    111. 108: board stance 2
    112. 109: wavering on board
    113. 110: hit on board
    114. 111: Falling on board
    115. 112: same as 111
    116. 113: hit on board
    117. 114: Standing on board
    118. 115: eh more boarding animations
    119. 116: Jump trick 1
    120. 117: Jump trick 2
    121. 118: Jump trick 3
    122. 119: Jump trick 4
    123. 120: Spin jump trick
    124. 121: Same as 120
    125. 122: Transition from 121
    126. 123: Melon grab
    127. 124: Crouch on board
    128. 125: Spin (no flash?)
    129. 126: Sonic shower
    130. 127: Shower 2
    131. 128: Shower 3
    132. 129: Shake off water
    133. 130: Pet chao
    134. 131: Pet chao loop
    135. 146: Metal Sonic Hover
     
  4. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    Sick! Does this mean a proper Super Sonic can be done now?
     
  5. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    Well it has been for awhile with the latest version of the super sonic hack that replaced metal sonic instead of sonic... I'm thinking the best way to do a super sonic hack would be a routine that changes "03B18DB5" to 1 when you have +50 rings and press b while in a ball, with the latest version of the super sonic hack.

    tl;dr - no, it only marginally helps the quest for a true super sonic modification.

    However it does allow for virtually any animation swap. You can totally remove sonic's surfer stance, or make it the default. You can even make sonic run by gliding and all that fun junk. I personally use it for making sonic do a cool flip after a homing attack.
     
  6. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    0
    3
    0
    across town from Hinchy
    All the bitches.
    Are there any unused animations in there? Because in the proto SA1 videos, Sonic does a few tricks on his snowboard not seen in the final game. Kind of curious as if the animations are still in the game.
     
  7. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    I saw a few snowboarding animations that seemed a tad out of place... perhaps they're the old ones. Got a source on the originals I can compare them to?
     
  8. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    0
    3
    0
    across town from Hinchy
    All the bitches.
  9. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    0
    3
    0
    across town from Hinchy
    All the bitches.
    Found Knuckles animations. Some might be mislabeled, and I didn't know what some were.

    Decimal again


    Code (Text):
    1. 00: Standing
    2. 01: stand alternate?
    3. 02: stand again
    4. 03: stand alternate again?
    5. 04: wait
    6. 05: wait 2
    7. 06: not sure
    8. 07: lean forward
    9. 08: lean back
    10. 09: walk 1
    11. 10: walk 2
    12. 11: walk 3
    13. 12: run 1
    14. 13: run 2
    15. 14: jumbled ball of knuckles
    16. 15: roll
    17. 16: ball, no flash
    18. 17: spring
    19. 18: falling
    20. 19: fall
    21. 20: land
    22. 21: stop?
    23. 22: dodge?
    24. 23: push
    25. 24: push 2
    26. 25: hit wall
    27. 26: knocked back?
    28. 27: get down and shake head
    29. 28: get down and stay and shake head
    30. 29: dodge/stop?
    31. 30: wind flip
    32. 31: Knocked back?
    33. 32: shake head
    34. 33: partial back flip
    35. 34: spin
    36. 35: glide 1
    37. 36: ready to pull
    38. 37: hurt?
    39. 38: drown
    40. 39: end pose
    41. 40: not sure
    42. 41: ready to dig
    43. 42: dig 2
    44. 43: glide up?
    45. 44: fall from glide
    46. 45: stand still, not moving.
    47. 46: lay 1
    48. 47: lay 2
    49. 48: lay 3
    50. 49: wall climb
    51. 50: fall from wall?
    52. 51: glide
    53. 52: jumpy glide?
    54. 53: glide to stand
    55. 54: punch 1
    56. 55: punch 2
    57. 56: punch 3
    58. 57: stand
    59. 58: stand 2
    60. 59: stand 3
    61. 60: stand 4
    62. 61: stand 5
    63. 62: stand 6
    64. 63: stand 7
    65. 64: jump back
    66. 65: stand
    67. 66: stand
    68. 67: stand
    69. 68: stand
    70. 69: stand
    71. 70: pickup object
    72. 71: walk object
    73. 72: throw object
    74. 73: throw object in air?
    75. 74: hold object
    76. 75: walk object
    77. 76: spring
    78. 77: fall
    79. 78: spring
    80. 79: fall after spring
    81. 80: fall
    82. 81: spring
    83. 82: land on ground
    84. 83: idle
    85. 84: hang from 1 arm
    86. 85: push
    87. 86: push tree
    88. 87: shake start
    89. 88: shake loop
    90. 89: put down
    91. 90: ready to push?
    92. 91: ready to push?
    93. 92: spring object
    94. 93: fall object
    95. 94: fall object 2
    96. 95: land object
    97. 96: punch
    98. 97: throw
    99. 98: punch
    100. 99: throw in air object
    101. 100: drop object
    102. 101: monkey bars
    103. 102: monkey bars 2
    104. 103: moneky bars 3
    105. 104: climb wall
    106. 105: spring
    107. 106: idle
    108. 107: not sure
    109. 108: ready to push?
    110. 109: hanging?
    111. 110: same
    112. 111: not sure
    113. 112: still not sure
    114. 113: still not sure
    115. 114: I HAVE NO IDEA D: !
    116.  
     
  10. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    ok so I found and mostly cracked the object's collision data. The way it works is pretty simple. The collision struct is loaded before the object struct. The game then takes the coordinates and creates spheres in which collision with polygons can be calculated - if an object isn't within one of these spheres then sonic will simply fall through any polygons he clips. There are also bitflags at the end of the struct that do interesting things like make the object act like water, lava, etc.

    Here's the struct, its 0x24 bytes long

    Struct Collision Data 0x24
    Float X position; // x-location of the collision sphere's center
    Float y position; // y-location of the collision sphere's center
    Float z position; // z-location of the collision sphere's center
    Float Spheresize; // Not sure if this is diameter or radius
    Float Unknown; // has always been 0 as far as I've seen
    Float Unknown; // has always been 0 as far as I've seen
    Dword Objectpointer; // points to OBJECT struct
    Dword Unknown; // again, always 0
    Short Col flags; // is a toggle for collision?
    Short Surface Flags; // These can hurt sonic, support sonic, take traction, etc

    The standard collision/surface flag combination seems to be 00 00 00 00 01 00 10 80
    If you apply those flags to an object that is normally non-solid, the game will calculate collision for it.


    oh and just in case you're wondering, YES this does vastly improve our ability to edit levels.
     
  11. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    Sorry for the double post
    [​IMG]
    yes, the island is solid.
     
  12. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator

    Can this be used to make Metal Sonic NOT run at max speed, but instead float like he should?
     
  13. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    Yep. It can also be used to make him not float at all, or to make him use his light dash animation for running.

    Any animation can be swapped for another one.
     
  14. Hodgy

    Hodgy

    Member
    797
    0
    16
    UK
    Games programming :)
    I'm probably way in over my head, but is there a complete level creator for this? Not just re-texturing but a full level creator? I wanna create some sonic unleashed style levels :3
     
  15. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    No not quite a level creator, I use a hodge podge array of different programs and a knowledge of the game programming to edit the levels... I really am looking to one day to make an all-in-one level editing solution, but I have to finish cracking the game all the way open first.
     
  16. Hodgy

    Hodgy

    Member
    797
    0
    16
    UK
    Games programming :)
    In that case I wish you luck! I'd love to help but unfortunatly I don't have the knowlege :v:
     
  17. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    0
    3
    0
    across town from Hinchy
    All the bitches.
    [​IMG]

    That is not a model swap, it's an animation swap.
     
  18. PsychoSk8r

    PsychoSk8r

    PsychedelAnt | Tone Turner Oldbie
    2,642
    57
    28
    Birmingham, UK
    30 Day Project: Revisited.A New Release!
    Uh, polygon jim, I'm slightly confused. Could you explain the screenshot a little more please? =P
    Dude: Heh, you got back in the game very quick, good to see how much progress you're making. I love it. =P
     
  19. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator
    Jimmy, how the hell...what the hell is that? :O
     
  20. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    0
    3
    0
    across town from Hinchy
    All the bitches.
    Pretty much I went from normal Sonic, to Super Sonic without any model editing, or reloading the stage.


    By editing Sonic animations, he turns into Super Sonic.


    Textures aren't loaded properly, as it doesn't want to load Supers file. Depending what level you are in, the texture is different on him.



    Anyway, this brings us one step closer to a real Super Sonic.





    Here's the same thing in reverse.

    http://www.youtube.com/watch?v=HBGI5RTxbMM

    No model editing involved, or texture editing.
     
Thread Status:
Not open for further replies.