Actions

SCHG

Sonic Generations/Collision Properties

From Sonic Retro

SCHG: Sonic Generations
Main Article

Objects
Collision Properties

File Index
BB

BB2
BB3

How-To
Import Levels

Create Breakable Objects
Create Splines

How Sonic or other objects react to the collision geometry inside of the game relies on certain extra properties assigned during conversion to the individual Havok rigid bodies.

Havok Converter supports adding these properties to custom rigid bodies with a tag naming system. New tags and key/value pairs can be added to the program as needed.

Havok Converter Database

Havok Property Keys

All these keys were found and documented by various users by inspecting the collision files found in the game. Just because a key or a value doesn't show up here doesn't mean the game can't use it. Thankfully a user by the name of Sergeanur helped figure out that the keys were just hashes.

Material Behavior Attribute

  • swa_attribute
  • Key 1260399450
  • Data Values
  • For Both Unleashed and Generations
    • 1: Normal
    • 2: Deep Water (Use Convex Hull for Generations)
    • 3: Rock
    • 4: Dirt
    • 5: Wood
    • 6: Grass
    • 7: Snow (Works only in Unleashed. Crashes in Generations missing sound file.)
    • 8: Metal
    • 9: Sand (Works only in Unleashed. Generations has no sand tracks in Sonic's CSB file, so it plays concrete footstep SFX instead. Use the "dirt" tag if you want sand collisions.)
    • 10: Glass
    • 11: Shallow Water
    • 12: Death Trigger
    • 13: Damage Trigger
    • 14: Deathless Water
    • 15: No Effect
  • Generations Only
    • 16: Oil
    • 17: Pinball Glass
    • 18: Wrong Way
    • 19: Lava
    • 20: Poison


Player Collision

  • swa_col_player
  • Key 2088238466
  • Automatically this is set to 1 but you can change this in case you want Sonic to fall through something. Or want enemies or objects only to be affected.


Camera Collision

  • swa_col_camera
  • Key 1706239430
  • Setting this set to 1 will not let the camera go through collision which is default when exported. 0 will make allow the camera to go through it.


Other Collision

  • swa_col_other
  • Key 620872783
  • This also is set to 1 on default. Setting it to 0 will allow Object Physics and other objects that aren't Sonic or Enemies go through. Useful for object physics to go and break outside of areas sonic can't go to.


Attacking Collision

  • swa_col_attacking
  • Key 1651585625


Evil Balance/Classic Idle Edge

  • swa_evil_isbalance_ground
  • Key 122999549
  • This is used for Werehog in Unleashed for the balancing beams but turns out it is also used for Classic Sonic as well when tested in Werehog Level Collision


Wall Jump -Unleashed Only

  • swa_sonic_isplayerwalljump
  • Key 507440184
  • Setting this to 1 will let any wall be able to walljump. Generations doesn't use this you just need to place the triangle jumping collision in an area where you want to walljump instead.


Conveyor Belt

  • swa_sonic_isbeltconveyor
  • Key 1196263925
  • Use 'Egg_BeltCollisionSV', 'Egg_BeltCollision' objects in Unleashed. Use 'BeltConveyorCollision' object in Generations


Player Wall

  • swa_sonic_isplayerwall
  • Key 1368296714


Ice Ground

  • swa_isIce_ground
  • Key 246659335
  • Limited movement in SG Final, allmost full in SG Demo1
  • Normally this is set to 0 and turned off.


Collision Specific

  • swa_col_specific
  • Key 1330259859
  • By default this is always set to 1. Value 2 is Collision for the IK and Value 3 is the IK collision for the feet to adjust to.
  • Note : Setting the Value to 2 is collision that goes inbetween the IK Collision for feet adjustement.


Intersectional Way

  • intersectional_way
  • Key 1009866916
  • Used in Casino Night DLC


Pinball Glass

  • pinball_glass
  • Key 2040148113
  • Used in Casino Night DLC


Unknown Keys

  • Key 195947759
  • Key 892943938


Tagging System

  • Example using a naming structure such as col_25_hkRB_mat1@IceGround
  • Using @ with the tag will apply the properties without having to add the key to it.
  • Types
    • @Balance (Unleashed only)
    • @Water
    • @NoCamera
    • @Slide (Werehog only in Unleashed. For autosliding in Generations using Guide Path ID# 888 (Hardcoded ID))
    • @IceGround (Limited movement in SG Final, allmost full in SG Demo1)
    • @DamageFall
    • @DisableThrowColl
    • @DisableTemColl
    • @spiral (Generations only)
    • @Spiral (Generations only)
    • @enableQtoW (Generations only)
    • @EnableQtoW (Generations only)
    • @NoStanding (Generations only, Used in SPH)

References


Sonic Community Hacking Guide
General
SonED2 Manual | Subroutine Equivalency List
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic CD (2011) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (Master System) | Sonic 3 | Sonic 3 & Knuckles | Chaotix | Sonic Jam | Sonic Jam 6 | Sonic Adventure | Sonic Adventure DX: Director's Cut | Sonic Adventure DX: PC | Sonic Adventure (2010) | Sonic Adventure 2 | Sonic Adventure 2: Battle | Sonic Adventure 2 (PC) | Sonic Heroes | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Colours | Sonic Generations | Sonic Forces
Technical information
Sonic Eraser | Sonic 2 (Nick Arcade prototype) | Sonic CD (prototype; 1992-12-04) | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Tails Adventures | Sonic Crackers | Sonic 3D: Flickies' Island | Sonic & Knuckles Collection | Sonic R | Sonic Shuffle | Sonic Advance | Sonic Advance 3 | Sonic Battle | Shadow the Hedgehog | Sonic Rush | Sonic Classic Collection | Sonic Free Riders | Sonic Lost World
Legacy Guides
The Nemesis Hacking Guides The Esrael Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)
Move to Sega Retro
Number Systems (or scrap) | Assembly Hacking Guide | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | SMPS Music Hacking Guide | Mega Drive technical information