don't click here

Sonic Generations Hacking (and More!)

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

  1. 1stKirbyever

    1stKirbyever

    Member
    407
    0
    16
    Hey, Dario. Is there any reason why when I try to import a stage into Act 1 (Classic) that it gives me several other files too? (Example: Working on a custom stage, when I import it into Green Hill Act 1 and save, it gives me #GHZ100.ar.00 (around 200kb), #GHZ100.ar.01 (Around 20mb), and #GHZ100.ar.02 (around 10kb).)

    Also, can someone make a tutorial on Splines? I tried my own but it doesn't seem to be working very well :v:
     
  2. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    AR Files get split every 10 MB. Of course if you have a file bigger than that(lemme guess, your HKX is really big), you will get weird files like that. They work anyway.
     
  3. Chimera

    Chimera

    I'm not a furry. Tech Member
    1,272
    17
    18
    Castlevania prettyness
    Except Dragon Road Night wasn't jazz, it was also orchestral...
     
  4. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    SonicGLvl v0.5.5 Update:

    Downloads here as always. It's 3 AM so I'll be quick with the changelog.

    Changes:
    • Extended support for materials exported. Automatic double-sided materials support, and a wider range of texture units(reflection, specular, etc.). It's up to the user to select the correct shaders for the materials though.
    • Added support for Alpha-Translucent meshes; if the submesh is assigned to a material that uses an Opacity Map in max(since that's how you should treat opacity), it will be assigned to the new submesh type that allows you to use translucent meshes. For example, planes like this which are just textured:
      [​IMG]
      [​IMG]
    • Ability to create and move SonicSpawn objects. There can only be one of these active at a time(settable via the Stage > Set as active spawn point option). This should help layout makers with iteration time quite a bit, since they don't need to constantly change manually the starting position, nor replay the previous sections of their level.

      [​IMG]
    • Ctrl+Q will now translate a group of objects to the point in the terrain geometry that's being pointed to by the mouse. This should be really helpful for placing objects, along with the spline support.
    • Splines, although not smooth yet but rather just lines, can be actually previewed inside the editor now.
    • Packed the newest version of Dude's spline exporter Maxscript in the export_scripts folder.
    • Fixed the duplicate node crash for splines, levels like sph100 should load fine now.
    • Added some extra Notification boxes for different routines.
    • Removed expand.exe as it was causing issues for some users. If SonicGLvl isn't working for you when extracting stages, it might just be that you need the Expand CAB utilities installed from something. I believe the MSVC Redistributables include it normally.
    • Modified the Visiblity Tree generation a bit so it shouldn't be necessary to delete it now.
    • Fixed the DDS Importing bug, now they should be copied automatically properly.

    Let me know if I broke anything important. Have a good night.
     
  5. Harmony Friends

    Harmony Friends

    it's the whole gang Oldbie
    <3 <3 <3 <3 thanks for adding in my feature request.
     
  6. Lobotomy

    Lobotomy

    35% Cognac Banned
    4,394
    1
    0
    Traverse City
    Project: Matter/Energy
    Oh man, that'll make things so much easier.
     
  7. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    It seems there's an ugly Incorrect material assignment bug in most stages on the latest version. Working to fix it.

    EDIT: And fixed, uploading a hotfix in a bit along with a new packed version as well... Sorry for the inconveniences. :(

    EDIT2: Here it is. Either get the hotfixed EXE directly or get a new Pack from the downloads page. Apologies again for the stupid bug.
     
  8. synchronizer

    synchronizer

    Member
    2,196
    93
    28
    I'd love to see this ported and re-scaled:

    http://www.youtube.com/watch?v=kP7n7494oF0&feature=player_detailpage#t=36s

    (skip to 36 seconds)

    You'd be surprised at how some levels from Spyro would work as Shamar DLC open-world type levels in Sonic. Would anyone like to try this? (If possible)
     
  9. Chris Highwind

    Chris Highwind

    Member
    2,100
    16
    18
    Statesville, NC
    Slacking
    That looks like it'd actually work. I remember seeing a racetrack in Year of the Dragon (Magma something or other, it's in the first world) that looks like it'd be pretty good for a DLC-esque level.

    Also, this might be a big stretch, but would it be too much trouble to port the day levels from Unleashed Wii/PS2? I think they might work a lot better with Generations' gameplay than they did on their native console. But then again, it probably isn't as easy as porting the PS3/360 levels. The Secret Rings levels would be awesome as well, but that's probably definitely unlikely. It's a damn shame I can't be arsed to work on anything for more than a few minutes.
     
  10. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    Little infomation update to JoeTE's Supersonic Generations mod:

    Loving his classic supersonic btw.
     
  11. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Important update for Easy Ogre Exporter:

    https://arkeon.dyndns.org/svn-scol/trunk/setups/contrib/EasyOgreMaxExporter/output/

    The latest revision supports exporting the instanced meshes from Max properly. What does this mean? Well, for example, if you have the same model just copied over across your stage, if you make use of Max's instancing(which is duplicating the node, but sharing the same mesh, you can check this out by editing one of the meshes and see the changes on its clones in real time), the Ogre .scene will have it exported out as well. This reduces the number of exported meshes(since the same file is just reused and positioned differently on the stage), the RAM's usage of the game and the editor, and overall just being way more optimized to use. Do notice that these benefits are just if you make good use of the instancing.

    I haven't checked yet how well this works with GIA though(in theory it should, but I need to check if the script can generate it properly), but I feel this is quite an important thing to keep in mind for any stage designers.

    EDIT: I should mention SonicGLvl needs no update for this. It was already supported since v0.5, but I just needed the exporter to support it as well.

    EDIT2: I can confirm GIA still works with instancing support. For example, the same tree model instanced 40 times(each has its own separate lightmap, but it only uses 1 terrain model, hence decreasing the size of the terrain group radically and avoiding memory clogging).
    [​IMG]
     
  12. DustArma

    DustArma

    Member
    1,338
    10
    18
    Santiago, Chile
    Learning Python.

    In Max you can change parameters of the child instances without it reflecting on the parent, will that work on EOE?
     
  13. DustArma

    DustArma

    Member
    1,338
    10
    18
    Santiago, Chile
    Learning Python.
    the look at each other function is still tied to the old rotations so now it doesn't actually work anymore.
     
  14. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    I don't really like the look at each other function at all, kind of gimmicky so to speak. I think I'll replace it with "Look at point", so all selected objects face towards the polygon under the cursor(that would include objects as well). Sounds like a better solution to me.
     
  15. DustArma

    DustArma

    Member
    1,338
    10
    18
    Santiago, Chile
    Learning Python.
    That could work as well as long as it has decent accuracy (ie: For spring systems)
     
  16. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    It has polygon-level perfect accuracy, just try Ctrl+Q with objects. It's not that hard to calculate at all since I just do an AABB check first, then check the closest polygons.
     
  17. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    I don't know if this is a ogre or sonicglvl problem, but many of my imports now are coming chock full of errors. Nodes mis-rotated, wrong materials applied, etc and it's causing the game to crash on loading. I don't know how to diagnose the problem, short of sending you my export folder.

    EDIT: I tried using the ogremax exporter and the crashing stopped. However, the lighting is now different and the materials weren't imported properly (also some meshes have their normals flipped). No transparency effects, etc. Still though, it's an improvement over crashing. I think there's something either in my scene or a bug with easyogre that's causing problems.
     
  18. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    Sky Troops update:
    http://www.youtube.com/watch?v=xtcjQPUVXvo

    This stage is gonna be fuuuuun!
     
  19. Azu

    Azu

    I must be stupid. Member
    Is there like a guide on importing stage objects? As in, adding the options and all that. I want to import the cannon seen in Planet Wisp and Seaside Hill.

    Code (Text):
    1.  
    2.   <Cannon>
    3.     <AutoShot>false</AutoShot>
    4.     <BaseVel>25.4</BaseVel>
    5.     <CameraEaseTime_Enter>0.8</CameraEaseTime_Enter>
    6.     <CameraEaseTime_Keep>0</CameraEaseTime_Keep>
    7.     <CameraEaseTime_Leave>2</CameraEaseTime_Leave>
    8.     <CameraID>
    9.       <SetObjectID>22457</SetObjectID>
    10.     </CameraID>
    11.     <DstPos>
    12.       <x>35.2609</x>
    13.       <y>16.0392</y>
    14.       <z>-439.774</z>
    15.     </DstPos>
    16.     <GroundOffset>0</GroundOffset>
    17.     <IsCastShadow>false</IsCastShadow>
    18.     <ModeChange>0</ModeChange>
    19.     <MoveBarrel>true</MoveBarrel>
    20.     <Position>
    21.       <x>43.1642</x>
    22.       <y>22.1974</y>
    23.       <z>-370.197</z>
    24.     </Position>
    25.     <Range>100</Range>
    26.     <Rotation>
    27.       <w>1</w>
    28.       <x>0</x>
    29.       <y>0</y>
    30.       <z>0</z>
    31.     </Rotation>
    32.     <SetObjectID>22299</SetObjectID>
    33.     <StaticPercent>0</StaticPercent>
    34.     <Type>0</Type>
    35.     <UseFloorModel>false</UseFloorModel>
    36.     <VelRatio>3</VelRatio>
    37.   </Cannon>
    38.  

    Do I do it like this?
    Code (Text):
    1.  
    2. <Cannon>
    3.     <AutoShot>bool:false</AutoShot>
    4.     <BaseVel>double:0</BaseVel>
    5.     <CameraEaseTime_Enter>double:0.8</CameraEaseTime_Enter>
    6.     <CameraEaseTime_Keep>double:0</CameraEaseTime_Keep>
    7.     <CameraEaseTime_Leave>double:2</CameraEaseTime_Leave>
    8.     <CameraID>
    9.       <SetObjectID>integer</SetObjectID>
    10.     </CameraID>
    11.     <DstPos>
    12.       <x>double:0</x>
    13.       <y>double:0</y>
    14.       <z>double:0</z>
    15.     </DstPos>
    16.     <GroundOffset>double:0</GroundOffset>
    17.     <IsCastShadow>bool:false</IsCastShadow>
    18.     <ModeChange>integer</ModeChange>
    19.     <MoveBarrel>bool:true</MoveBarrel>
    20.     <Position>
    21.       <x>double:0</x>
    22.       <y>double:0</y>
    23.       <z>double:0</z>
    24.     </Position>
    25.     <Range>double:100</Range>
    26.        <Rotation>
    27.         <w>double:1</w>
    28.         <x>double:0</x>
    29.         <y>double:0</y>
    30.         <z>double:0</z>
    31.     </Rotation>
    32.     <SetObjectID>integer</SetObjectID>
    33.     <StaticPercent>integer</StaticPercent>
    34.     <Type>integer</Type>
    35.     <VelRatio>integer</VelRatio>
    36.     <Mesh>unknown.mesh</Mesh>
    37.   </Cannon>
    38.  
    I have no idea what the mesh name is.


    Also, is it not possible to give the multiparam some tan/sin/cos values?
     
  20. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    I'm going to update the svn with new meshes / templates sometime so that you'll be able to use the cannon and several models will have their orientation fixed.