don't click here

Sonic Generations Hacking (and More!)

Discussion in 'Engineering & Reverse Engineering' started by Andrew75, Jun 23, 2011.

  1. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    To the Sky Rail Spring you can change how high it can go in the settings for how strong they strength of it will be.

    As for the tools you just have to tough it out for now mostly and figure out the problem. Its usually just a process of elimination for these type of things. And basically knowing how the levels work and what are needed to get them to work. Besides not everything is done for all the templates a lot are missing info and need to be added manually right now still. So its what Dario said, its just a risk you have to take for now to get into modding Generations, but albeit it isn't that hard to get the tools to make a level to work, its just knowing the tools inside SonicGlvl and using them right. Thats a tutorial that will need to be made to show people what each and everything can do and be used properly. Especially for people with camera trouble.

    I'd be down for making a video tutorial depending on what it is you'd like to know about. It all isn't that hard to do. (Well coming from someone who already has a grasp on it, but hey others have been getting the hang of it as well)
     
  2. SonicHyuga

    SonicHyuga

    Member
    48
    0
    6
    Tennessee
    Sky Rail (Generations) and Aquarium Park (Generations)
    The settings I've got them at now are the fastest. Editing the height they raise just causes issues, and int interrupts the homing attack.

    Yes, the bounce springs are garbage in this game compared to SA2. It can't be helped.
     
  3. Rainbow Dash

    Rainbow Dash

    20
    0
    0
    New Lenox, IL
    Generations Level (Experimenting)
    You know, when the whole renaming sensation started, I attempted to change up Amy Rose. Didn't work very well. If you or someone else could make an Amy Rose mod, now that would be awesome xD. It's one character mod I'd like to see (along with some Classic Sonic character mod - nobody likes to mod him o.o I did see your Classic Tails post though, looks pretty awesome too!)
     
  4. Azu

    Azu

    I must be stupid. Member
    I don't suppose someone can help me with importing these animations to max? I've gotten to where you have to convert the unpacked hkx to xf. When I do that, it keeps saying "No Files Found". Doesn't seem to be any help out there. I've searched, but no answer.
     
  5. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    Did you use the command line parameters to direct it towards the skeleton file, then the animation file?
     
  6. Azu

    Azu

    I must be stupid. Member
    The skeletons file was in the same folder as the animation. I even tired putting it in another folder by itself.

    hkxcmd convertkf "hkx" "kf"
    hkxcmd convertkf "skl" "hkx" "kf"
    hkxcmd convertkf "skl\skeletion.hkx" "hkx" "kf"

    I even tired to use the full path, still said no files found.

    When I convert the original hkx files to a readable format for Havok Preview Tool, it output them as ".anm.

    Okay, I got past the the No Files Found, however, when I export to kf, nothing happens, no message or anything.
    [​IMG]

    Code (Text):
    1.  
    2. C:\Users\Azu\Desktop\Animations>hkxcmd
    3. hkxcmd - Version 1.4.0.0
    4. Usage: hkxcmd <command> [-opts[modifiers]]
    5. <Commands>
    6.   About - Help about this program.
    7.   Convert - Read/write with no modifications but with different format
    8.   ConvertKF - Convert Gamebryo KF animation to Havok HKX animation.
    9.   DumpList - Dump the transform or float list for a given skeleton
    10.   ExportKF - Convert Havok HKX animation to Gamebryo KF animation.
    11.   Report - Generate a simple report for all supported Havok classes
    12. <Global Switches>
    13.   help          List of additional help options
    14.  
    15. C:\Users\Azu\Desktop\Animations>hkxcmd Convert "anim" "hkx"
    16. Converting '.\chr_classic_sonic_HD.hkx' ...
    17. Converting '.\chr_classic_sonic_spin.hkx' ...
    18. Converting '.\chr_classic_sonic_spin_1.hkx' ...
    19. Converting '.\chr_classic_sonic_spin_sphere.hkx' ...
    20. Converting '.\scb_head.hkx' ...
    21. Converting '.\scb_wheel.hkx' ...
    22. Converting '.\sc_balloon_loop.hkx' ...
    23. Converting '.\sc_bde_atk_loop.hkx' ...
    24. Converting '.\sc_bde_jump_loop.hkx' ...
    25. Converting '.\sc_box_e.hkx' ...
    26. Converting '.\sc_box_e_rev.hkx' ...
    27. Converting '.\sc_box_loop.hkx' ...
    28. Converting '.\sc_box_loop_rev.hkx' ...
    29. Converting '.\sc_box_s.hkx' ...
    30. Converting '.\sc_box_s_rev.hkx' ...
    31. Converting '.\sc_brake00_loop.hkx' ...
    32. Converting '.\sc_brake00_loop_rev.hkx' ...
    33. Converting '.\sc_brake01_loop.hkx' ...
    34. Converting '.\sc_brake01_s.hkx' ...
    35. Converting '.\sc_brake_turn_idle_rev.hkx' ...
    36. Converting '.\sc_chair_sit_loop.hkx' ...
    37. Converting '.\sc_chair_sit_s.hkx' ...
    38. Converting '.\sc_chair_stand.hkx' ...
    39. Converting '.\sc_change_loop.hkx' ...
    40. Converting '.\sc_change_loop_rev.hkx' ...
    41. Converting '.\sc_change_s.hkx' ...
    42. Converting '.\sc_change_s_rev.hkx' ...
    43. Converting '.\sc_clockbar_loop.hkx' ...
    44. Converting '.\sc_clockbar_s.hkx' ...
    45. Converting '.\sc_damage_cancel.hkx' ...
    46. Converting '.\sc_damage_f.hkx' ...
    47. Converting '.\sc_damage_f_e.hkx' ...
    48. Converting '.\sc_dashring_l.hkx' ...
    49. Converting '.\sc_dashring_r.hkx' ...
    50. Converting '.\sc_dash_loop.hkx' ...
    51. Converting '.\sc_dead_d.hkx' ...
    52. Converting '.\sc_dead_u.hkx' ...
    53. Converting '.\sc_direct_l.hkx' ...
    54. Converting '.\sc_direct_r.hkx' ...
    55. Converting '.\sc_float_loop.hkx' ...
    56. Converting '.\sc_gate_turn_e.hkx' ...
    57. Converting '.\sc_gate_turn_e_rev.hkx' ...
    58. Converting '.\sc_gate_turn_loop.hkx' ...
    59. Converting '.\sc_gate_turn_loop_rev.hkx' ...
    60. Converting '.\sc_gate_turn_s.hkx' ...
    61. Converting '.\sc_gate_turn_s_rev.hkx' ...
    62. Converting '.\sc_homing_act00.hkx' ...
    63. Converting '.\sc_homing_act01.hkx' ...
    64. Converting '.\sc_homing_act02.hkx' ...
    65. Converting '.\sc_homing_act03.hkx' ...
    66. Converting '.\sc_homing_act04.hkx' ...
    67. Converting '.\sc_homing_act05.hkx' ...
    68. Converting '.\sc_idle00.hkx' ...
    69. Converting '.\sc_idle00_rev.hkx' ...
    70. Converting '.\sc_idle01.hkx' ...
    71. Converting '.\sc_idle01_rev.hkx' ...
    72. Converting '.\sc_idle02.hkx' ...
    73. Converting '.\sc_idle02_rev.hkx' ...
    74. Converting '.\sc_idle03_loop.hkx' ...
    75. Converting '.\sc_idle03_loop_rev.hkx' ...
    76. Converting '.\sc_idle03_s.hkx' ...
    77. Converting '.\sc_idle03_s_rev.hkx' ...
    78. Converting '.\sc_idle_link_loop.hkx' ...
    79. Converting '.\sc_idle_link_loop_rev.hkx' ...
    80. Converting '.\sc_idle_link_s.hkx' ...
    81. Converting '.\sc_idle_link_s_rev.hkx' ...
    82. Converting '.\sc_idle_loop.hkx' ...
    83. Converting '.\sc_idle_squat.hkx' ...
    84. Converting '.\sc_jump_e.hkx' ...
    85. Converting '.\sc_jump_loop.hkx' ...
    86. Converting '.\sc_jump_loop_rev.hkx' ...
    87. Converting '.\sc_jump_s.hkx' ...
    88. Converting '.\sc_look_up_loop.hkx' ...
    89. Converting '.\sc_mc_result_fall.hkx' ...
    90. Converting '.\sc_needle_blow_loop.hkx' ...
    91. Converting '.\sc_pla_spike.hkx' ...
    92. Converting '.\sc_pulley_e.hkx' ...
    93. Converting '.\sc_pulley_loop.hkx' ...
    94. Converting '.\sc_pulley_normal_loop.hkx' ...
    95. Converting '.\sc_pulley_normal_s.hkx' ...
    96. Converting '.\sc_pulley_up_e.hkx' ...
    97. Converting '.\sc_pulley_up_loop.hkx' ...
    98. Converting '.\sc_pulley_up_s.hkx' ...
    99. Converting '.\sc_result00.hkx' ...
    100. Converting '.\sc_result00_loop.hkx' ...
    101. Converting '.\sc_result01.hkx' ...
    102. Converting '.\sc_result01_loop.hkx' ...
    103. Converting '.\sc_result02.hkx' ...
    104. Converting '.\sc_result02_loop.hkx' ...
    105. Converting '.\sc_result03.hkx' ...
    106. Converting '.\sc_result03_loop.hkx' ...
    107. Converting '.\sc_result04.hkx' ...
    108. Converting '.\sc_result04_loop.hkx' ...
    109. Converting '.\sc_result_look.hkx' ...
    110. Converting '.\sc_rider_brake_loop.hkx' ...
    111. Converting '.\sc_rider_brake_turn_idle.hkx' ...
    112. Converting '.\sc_rider_grind_l_loop.hkx' ...
    113. Converting '.\sc_rider_grind_r_loop.hkx' ...
    114. Converting '.\sc_rider_idle_loop.hkx' ...
    115. Converting '.\sc_rider_jump_e.hkx' ...
    116. Converting '.\sc_rider_jump_loop.hkx' ...
    117. Converting '.\sc_rider_jump_trick00.hkx' ...
    118. Converting '.\sc_rider_jump_trick01.hkx' ...
    119. Converting '.\sc_rider_jump_trick02.hkx' ...
    120. Converting '.\sc_rider_jump_trick03.hkx' ...
    121. Converting '.\sc_rider_jump_trick04.hkx' ...
    122. Converting '.\sc_rider_move_f.hkx' ...
    123. Converting '.\sc_rider_springjump_side_loop.hkx' ...
    124. Converting '.\sc_rider_springjump_side_loop_rev.hkx' ...
    125. Converting '.\sc_rider_springjump_up_loop.hkx' ...
    126. Converting '.\sc_rider_start.hkx' ...
    127. Converting '.\sc_run_loop.hkx' ...
    128. Converting '.\sc_slide_hip_loop.hkx' ...
    129. Converting '.\sc_springjump_s.hkx' ...
    130. Converting '.\sc_springjump_side_loop.hkx' ...
    131. Converting '.\sc_springjump_side_loop_rev.hkx' ...
    132. Converting '.\sc_springjump_up_loop.hkx' ...
    133. Converting '.\sc_squat_idle.hkx' ...
    134. Converting '.\sc_squat_loop.hkx' ...
    135. Converting '.\sc_stop_l.hkx' ...
    136. Converting '.\sc_stop_r.hkx' ...
    137. Converting '.\sc_struggle_grb_loop.hkx' ...
    138. Converting '.\sc_stumble00_b_loop.hkx' ...
    139. Converting '.\sc_stumble00_b_loop_rev.hkx' ...
    140. Converting '.\sc_stumble00_f_loop.hkx' ...
    141. Converting '.\sc_stumble00_f_loop_rev.hkx' ...
    142. Converting '.\sc_stumble_b_loop.hkx' ...
    143. Converting '.\sc_stumble_b_loop_rev.hkx' ...
    144. Converting '.\sc_stumble_f_loop.hkx' ...
    145. Converting '.\sc_stumble_f_loop_rev.hkx' ...
    146. Converting '.\sc_test.hkx' ...
    147. Converting '.\sc_updownpaul_damage.hkx' ...
    148. Converting '.\ssc_balloon_loop.hkx' ...
    149. Converting '.\ssc_boost_loop.hkx' ...
    150. Converting '.\ssc_brake00_loop.hkx' ...
    151. Converting '.\ssc_brake00_loop_rev.hkx' ...
    152. Converting '.\ssc_brake_turn_idle.hkx' ...
    153. Converting '.\ssc_brake_turn_idle_rev.hkx' ...
    154. Converting '.\ssc_catch_heli_l_loop.hkx' ...
    155. Converting '.\ssc_catch_heli_l_s.hkx' ...
    156. Converting '.\ssc_catch_heli_r_loop.hkx' ...
    157. Converting '.\ssc_catch_heli_r_s.hkx' ...
    158. Converting '.\ssc_change_e.hkx' ...
    159. Converting '.\ssc_change_e_rev.hkx' ...
    160. Converting '.\ssc_change_loop.hkx' ...
    161. Converting '.\ssc_change_loop_rev.hkx' ...
    162. Converting '.\ssc_cloud_jump.hkx' ...
    163. Converting '.\ssc_dash_loop.hkx' ...
    164. Converting '.\ssc_fall_loop.hkx' ...
    165. Converting '.\ssc_flow_bar_loop.hkx' ...
    166. Converting '.\ssc_flow_bar_l_loop.hkx' ...
    167. Converting '.\ssc_flow_bar_r_loop.hkx' ...
    168. Converting '.\ssc_get_bubble.hkx' ...
    169. Converting '.\ssc_get_bubble_e.hkx' ...
    170. Converting '.\ssc_get_bubble_e_rev.hkx' ...
    171. Converting '.\ssc_get_bubble_rev.hkx' ...
    172. Converting '.\ssc_homing_act02.hkx' ...
    173. Converting '.\ssc_homing_act04.hkx' ...
    174. Converting '.\ssc_homing_act05.hkx' ...
    175. Converting '.\ssc_idle_fly_loop.hkx' ...
    176. Converting '.\ssc_idle_loop.hkx' ...
    177. Converting '.\ssc_idle_squat.hkx' ...
    178. Converting '.\ssc_jump_e.hkx' ...
    179. Converting '.\ssc_jump_loop.hkx' ...
    180. Converting '.\ssc_jump_loop_rev.hkx' ...
    181. Converting '.\ssc_jump_s.hkx' ...
    182. Converting '.\ssc_look_up_loop.hkx' ...
    183. Converting '.\ssc_move_d_loop.hkx' ...
    184. Converting '.\ssc_move_l_loop.hkx' ...
    185. Converting '.\ssc_move_r_loop.hkx' ...
    186. Converting '.\ssc_move_u_loop.hkx' ...
    187. Converting '.\ssc_pulley_e.hkx' ...
    188. Converting '.\ssc_pulley_loop.hkx' ...
    189. Converting '.\ssc_pulley_s.hkx' ...
    190. Converting '.\ssc_pulley_up_e.hkx' ...
    191. Converting '.\ssc_pulley_up_loop.hkx' ...
    192. Converting '.\ssc_pulley_up_s.hkx' ...
    193. Converting '.\ssc_result00.hkx' ...
    194. Converting '.\ssc_result00_loop.hkx' ...
    195. Converting '.\ssc_result01.hkx' ...
    196. Converting '.\ssc_result01_loop.hkx' ...
    197. Converting '.\ssc_result02.hkx' ...
    198. Converting '.\ssc_result02_loop.hkx' ...
    199. Converting '.\ssc_result03.hkx' ...
    200. Converting '.\ssc_result03_loop.hkx' ...
    201. Converting '.\ssc_result04.hkx' ...
    202. Converting '.\ssc_result04_loop.hkx' ...
    203. Converting '.\ssc_result_idle_loop.hkx' ...
    204. Converting '.\ssc_run_loop.hkx' ...
    205. Converting '.\ssc_slide_hip_loop.hkx' ...
    206. Converting '.\ssc_springjump_s.hkx' ...
    207. Converting '.\ssc_springjump_side_loop.hkx' ...
    208. Converting '.\ssc_springjump_side_loop_rev.hkx' ...
    209. Converting '.\ssc_springjump_up_loop.hkx' ...
    210. Converting '.\ssc_squat_idle.hkx' ...
    211. Converting '.\ssc_squat_loop.hkx' ...
    212. Converting '.\ssc_updownpaul_b_loop.hkx' ...
    213. Converting '.\ssc_updownpaul_damage.hkx' ...
    214. Converting '.\ssc_updownpaul_f_loop.hkx' ...
    215. Converting '.\ssc_updownpaul_loop.hkx' ...
    216. Converting '.\ssc_updownpaul_s.hkx' ...
    217.  
    218. C:\Users\Azu\Desktop\Animations>hkxcmd ConvertKF chr_classic_sonic_HD.hkx "hkx"
    219. "kf"
    220.  
    221. C:\Users\Azu\Desktop\Animations>
    222.  
    223.  

    I don't know how I did it, but I managed to convert them to KF, but when I import it into Max (2011 x64), it says improper format. Do I need to load the skeleton or sonic model with his bones first?
     
  7. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    use exportkf instead of convert, and use complete filenames for all 3 parameters.

    And yes, have the model w/skeleton in the scene before import, that is why you're getting the improper format message.
     
  8. Azu

    Azu

    I must be stupid. Member
    Ah. I got it, but what up with his bones?

    [​IMG]
     
  9. Aerosol

    Aerosol

    Not here. Moderator
    11,163
    573
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    Oh shit I just woke up my fucking fiancee laughing you asshole why did you do that.
     
  10. Azu

    Azu

    I must be stupid. Member
    I admit, it's rather funny. If laughed at that, a video of that animation should have you rolling.:v:
     
  11. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    Have to import the model at its correct scaling make sure its at the default scaling in the maxscript when you put in the animation. Or else rotations and scaling will screw up.

    Since I'm assuming you're putting it into UDK. You'll have to adjust and mess with the Units to get it at the correct size in UDK.

    Edit: Oops new page.
     
  12. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    DEAR SWEET GOD! YOU MONSTER, WHAT DID YOU DO TO HIM?! :v:

    Please show. I want to see that nightmare fuel in action.
     
  13. Azu

    Azu

    I must be stupid. Member
    I'm actually using the .model import script. I get the same deal. I don't see an option to adjust scaling import. This is, I want to convert it editable poly and I can guadify it. If I do that, I'll loose the skin data, even if I copy it and paste it back in.


    EDIT: It seems most of the objects doesn't want to work with their animations. For instance, I do:

    Code (Text):
    1.  
    2. C:\Users\Azu\Desktop\Animations>hkxcmd ExportKF "SKL_cmn_obj_thorngrind.hkx"
    and it tells me there are no animations.


    Also,here's the videos. This the S Rank animation.


     
  14. Damizean

    Damizean

    As classic as rock Member
    118
    0
    0
    Valencia, España
    Various projects
  15. Azu

    Azu

    I must be stupid. Member
    So, how do I use it?:D Do I have to convert them using hkxcmd and use your tool? Or drop the raw files in the Assets folder then use the frontend? Also, is the plugin for Max 2011-2012?
     
  16. Damizean

    Damizean

    As classic as rock Member
    118
    0
    0
    Valencia, España
    Various projects
    Basically, here's the guide on how to use it:

    1. Upgrade the Hkx files to the newer format version. That is done with the provided tool "AssetCc2.exe" (or batch convert them with the convert.bat file).
    2. After you have your skeleton and animation HKX converted, fire up the HkxReaderFrontend. There you should provide the path to the HkxReader.exe and a list of the Hkx files you want to read.
    3. On the window that will appear with the results readen, select "Export as HKA". It'll export the skeletons and animations into an intermediate text file.
    4. After you have the HKA files created, load the HKAImporter script on 3DS Max and with the model imported with the reference pose and scale 1, import the animations.
    5. ???
    6. Profit.

    It should work on both MAX 2011 and 2012.
     
  17. Azu

    Azu

    I must be stupid. Member
    Ah. But, how do I scale the model to 1? Or scale the bones?Also, didn't see "Export as HKA". I still see "Dump and Read. The console windows comes up and it start reading the files. After a while, it starts writing something, after a while the console window closes.
     
  18. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    There is more than one version of the model importer script. When he said change the scaling in the script, he meant it. Open the script file and look for the rotation / scaling commands and change them.
     
  19. Azu

    Azu

    I must be stupid. Member
    The script I used was "Model Importer-Updated 6-07-2012". I'll try and look at the script.

    clearlistener()

    mdlScale = 1.0

    Is that the one I change? It's already at 1.0.
     
  20. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    Look for a series of 3 values of 36. That's what you're looking for IIRC.