Actions

SCHG

Sonic Adventure DX: PC/RAM Editing

From Sonic Retro

3

SCHG: Sonic Adventure
Dreamcast
Gamecube
PC
2010


Note: All values are signed, unless noted otherwise.

Global Variables

Main Locations

Address (hex) Type Description
00909FB0 4 Bytes Control disabled in cutscene
00909FB4 4 Bytes Not in cutscene, but control disabled for another reason (boss intros, etc.)
0091268C 4 Bytes Music Toggle
00912698 4 Bytes Currently playing music
0091269C 4 Bytes Music Copy
03ABDC7C Byte Game Mode
  • 0 - Restart Game (Doesn't stop music)
  • 2 - Exit SADX?
  • 3 - Black out screen, game still playing; or in level, disable object collision?
  • 4 - Action Stage (Adventure Mode)
  • 5 - Adventure Field (Adventure Mode)
  • 6 - Clear Screen, Disable movement
  • 7 - Clear Screen, Disable movement
  • 8 - Intro Movie (-> Title Screen) (Doesn't stop music)
  • 9 - Trial Mode
  • 10 - Mission Mode
  • 11 - Return to Character Select
  • 12 - Title Screen + Menus
  • 13 - Restart Game
  • 17 - Jump to Adventure
  • 18 - Story Introduction Screen
  • 21 - Start Credits
  • 22 - Credits
03B0E7F0 Struct Array (0x34*8) Controller Data
Offset (hex) Type Description
0 4 Bytes? 0?
4 4 Bytes? 0x003F07FE?
8 4 Bytes Held buttons
C 4 Bytes Not(Held buttons)
10 4 Bytes Pressed buttons
14 4 Bytes Released buttons
18 Byte? FF=Camera rotates right
1A Byte? FF=Camera rotates left
1C 2 Bytes (signed) Control stick X (-127..127)
1E 2 Bytes (signed) Control stick Y (-127..127)
20 2 Bytes (signed) C stick X (-127..127)
22 2 Bytes (signed) C stick Y (-127..127)
2C 4 Bytes Held buttons copy
03B0EF34 Byte Lives
03B0EF35 Byte Time in frames. Max 60.
03B0EF38 Byte Voice Language
  • 0 Japanese
  • 1 English
03B0EF40 Byte Setting this to -1 will hide the HUD. However, it is constantly being written to by code at 00413D9E. It will have no effect unless you disable that code.
03B0EF48 Byte Time in minutes
03B0F0E4 2 Bytes Rings. Allowing this to reach a negative value (over 32767) will crash the game.
03B0F0E8 Byte Text Language
  • 0 Japanese
  • 1 English
  • 2 French
  • 3 Spanish
  • 4 German
03B0F0EC Byte Debug. Setting this to a non-negative value displays collision spheres around both characters when on the ground and highlights bottomless pits in white.
03B0F0F8 Float X Gravity
03B0F0FC Float Y Gravity
03B0F100 Float Z Gravity
03B0F104 4 Bytes Enemy Bonus
03B0F108 4 Bytes Level Frame Counter
03B0F128 Byte Time in seconds.
03B0F13C 4 Bytes Frame Counter
03B183A8 Struct Array (0xC*8) Adventure Mode data (Indexed by character ID, Last Story is slot #4)
Offset (hex) Type Description
0 Byte Time of Day
6 Short Start Entrance
8 Short Start Level and Act
03B18DB4 Byte Last Story. Set this to 1 to use the Last Story's data for objects and events.
03B18DB5 Byte Metal Sonic. Set this to 1 to replace Sonic with Metal Sonic. May crash if you set this during a level.
03B18DB8 Byte Selection on Pause Menu
  • 0 Conitinue
  • 1 Restart
  • 2 Set Up Pad
  • 3 Quit
  • 4 Map
  • 5 Camera
03B22DC0 Byte Current Character
  • 0 Sonic
  • 1 Eggman (Crash)
  • 2 Tails
  • 3 Knuckles
  • 4 Tikal (Crash)
  • 5 Amy
  • 6 E-102 Gamma
  • 7 Big
03B22DC4 Byte Level Copy. Doesn't appear to do anything.
03B22DC8 Byte Entrance Number. Only applies to Adventure Fields.
03B22DCC Byte Current Level
03B22DD0 4 Bytes Set this to any non-zero value to speed up level transitions.
03B22DD4 Byte Adventure Field Act
03B22DD8 Byte Adventure Field Level
03B22DE4 Byte Game Status. (Bad Textures) means that the level will load incorrect textures. This has no effect on the menu.
  • 0 Reset Level (Bad Textures)
  • 1 Clear Screen, disable movement
  • 2 Crash if used directly (Used when dying/restarting)
  • 3 Clear Screen, disable movement
  • 4 Show Level, enable movement
  • 5 Load Adventure Field
  • 6 Die
  • 7 Restart
  • 8 Crash
  • 9 Transition w/ fadeout
  • 10 Clear Screen, disable movement
  • 11 Restart Copy
  • 12 Restart Copy
  • 13 Crash
  • 14 Credits
  • 15 Normal
  • 16 Paused
  • 17 Load Level w/ Loading Screen
  • 18 Crash
  • 19 Return to Title Screen Copy
  • 20 Return to Title Screen
  • 21 Loading Screen (Bad Textures)/Menu
  • 22 Restart Level (Bad Textures)
  • 23 Return to Title Screen Copy
  • 24 Load Level w/ Loading Screen
03B22DEC Byte Current Act
03B22DF0 Byte Next Level. Change this while the screen is fading out.
03B22E18 Byte Next Act. Change this while the screen is fading out.
03B29D08 2 Bytes Debug. Setting this to 1 displays collision spheres around objects and activates free movement mode. (Except for Tails.)
03B2A2F2 Byte Menu voice
  • 0 Default
  • 1 Sonic
  • 2 Tails
  • 3 Knuckles
  • 4 Amy
  • 5 Gamma
  • 6 Big
  • 7 Eggman
  • 8 Tikal
03B2A2FD Byte Selected character in character select
  • 0 Sonic
  • 1 Tails
  • 2 Knuckles
  • 3 Amy
  • 4 Big
  • 5 Gamma
  • 6 Super/Metal Sonic
03B2B3B0 4 Bytes High Score - Emerald Coast as Sonic
03B2C3FC 4 Bytes Rings in Black Market
03B2C45C 4 Bytes CG Movie Selection
03B2CAB0 Float Main Character X Position Copy
03B2CAB4 Float Main Character Y Position Copy
03B2CAB8 Float Main Character Z Position Copy
03B2CBB0 Pointer Camera's Object Data 1
03B2F718 Pointer Pointer to level layout data
03B42F8C Float Restart X Position
03B42F90 Float Restart Y Position
03B42F94 Float Restart Z Position
03C4E468 4 Bytes Pointer to first object in object list
03C539EC 4 Bytes Current Level for Tails' opponent's AI
  • 0 - Windy Valley
  • 1 - Speed Highway
  • 2 - Sky Deck
  • 3 - Icecap
  • 4 - Casinopolis
03C5B37C Byte Array Start of switch flags, one byte per switch, odd = on, even = off. Length unknown.
03C74880 4 Bytes Rings in vault in Casinopolis
03C82304 Float Health in Sky Chase

Max 5, decreases by .5 when hit.

3C88060 Byte Array (51232) Chao save file (in garden only)

Emblems

One bit for each emblem, starting at 03B2B5E8.

Offset Bit Description
0 0 Emerald Coast Level A as Sonic
0 1 Windy Valley Level A as Sonic
0 2 Twinkle Park Level A as Sonic
0 3 Speed Highway Level A as Sonic
0 4 Red Mountain Level A as Sonic
0 5 Sky Deck Level A as Sonic
0 6 Lost World Level A as Sonic
0 7 Ice Cap Level A as Sonic
1 0 Casinopolis Level A as Sonic
1 1 Final Egg Level A as Sonic
1 2 Windy Valley Level A as Tails
1 3 Speed Highway Level A as Tails
1 4 Sky Deck Level A as Tails
1 5 Ice Cap Level A as Tails
1 6 Casinopolis Level A as Tails
1 7 Speed Highway Level A as Knuckles
2 0 Red Mountain Level A as Knuckles
2 1 Sky Deck Level A as Knuckles
2 2 Lost World Level A as Knuckles
2 3 Casinopolis Level A as Knuckles
2 4 Twinkle Park Level A as Amy
2 5 Final Egg Level A as Amy
2 6 Hot Shelter Level A as Amy
2 7 Emerald Coast Level A as Gamma
3 0 Windy Valley Level A as Gamma
3 1 Red Mountain Level A as Gamma
3 2 Final Egg Level A as Gamma
3 3 Hot Shelter Level A as Gamma
3 4 Emerald Coast Level A as Big
3 5 Twinkle Park Level A as Big
3 6 Ice Cap Level A as Big
3 7 Hot Shelter Level A as Big
4 0 Emerald Coast Level B as Sonic
4 1 Windy Valley Level B as Sonic
4 2 Twinkle Park Level B as Sonic
4 3 Speed Highway Level B as Sonic
4 4 Red Mountain Level B as Sonic
4 5 Sky Deck Level B as Sonic
4 6 Lost World Level B as Sonic
4 7 Ice Cap Level B as Sonic
5 0 Casinopolis Level B as Sonic
5 1 Final Egg Level B as Sonic
5 2 Windy Valley Level B as Tails
5 3 Speed Highway Level B as Tails
5 4 Sky Deck Level B as Tails
5 5 Ice Cap Level B as Tails
5 6 Casinopolis Level B as Tails
5 7 Speed Highway Level B as Knuckles
6 0 Red Mountain Level B as Knuckles
6 1 Sky Deck Level B as Knuckles
6 2 Lost World Level B as Knuckles
6 3 Casinopolis Level B as Knuckles
6 4 Twinkle Park Level B as Amy
6 5 Final Egg Level B as Amy
6 6 Hot Shelter Level B as Amy
6 7 Emerald Coast Level B as Gamma
7 0 Windy Valley Level B as Gamma
7 1 Red Mountain Level B as Gamma
7 2 Final Egg Level B as Gamma
7 3 Hot Shelter Level B as Gamma
7 4 Emerald Coast Level B as Big
7 5 Twinkle Park Level B as Big
7 6 Ice Cap Level B as Big
7 7 Hot Shelter Level B as Big
8 0 Emerald Coast Level C as Sonic
8 1 Windy Valley Level C as Sonic
8 2 Twinkle Park Level C as Sonic
8 3 Speed Highway Level C as Sonic
8 4 Red Mountain Level C as Sonic
8 5 Sky Deck Level C as Sonic
8 6 Lost World Level C as Sonic
8 7 Ice Cap Level C as Sonic
9 0 Casinopolis Level C as Sonic
9 1 Final Egg Level C as Sonic
9 2 Windy Valley Level C as Tails
9 3 Speed Highway Level C as Tails
9 4 Sky Deck Level C as Tails
9 5 Ice Cap Level C as Tails
9 6 Casinopolis Level C as Tails
9 7 Speed Highway Level C as Knuckles
A 0 Red Mountain Level C as Knuckles
A 1 Sky Deck Level C as Knuckles
A 2 Lost World Level C as Knuckles
A 3 Casinopolis Level C as Knuckles
A 4 Twinkle Park Level C as Amy
A 5 Final Egg Level C as Amy
A 6 Hot Shelter Level C as Amy
A 7 Emerald Coast Level C as Gamma
B 0 Windy Valley Level C as Gamma
B 1 Red Mountain Level C as Gamma
B 2 Final Egg Level C as Gamma
B 3 Hot Shelter Level C as Gamma
B 4 Emerald Coast Level C as Big
B 5 Twinkle Park Level C as Big
B 6 Ice Cap Level C as Big
B 7 Hot Shelter Level C as Big
C 0 Twinkle Circuit Emblem 2
C 1 Sky Chase Act 1 Emblem 2
C 2 Sky Chase Act 2 Emblem 2
C 3 Sand Hill Emblem 2
C 4 Hedgehog Hammer Emblem 2
C 5 Twinkle Circuit Emblem 1
C 6 Sky Chase Act 1 Emblem 1
C 7 Sky Chase Act 2 Emblem 1
D 0 Sand Hill Emblem 1
D 1 Hedgehog Hammer Emblem 1
D 2-6 Chao Race
D 7 Sonic's Ending
E 0 Tails' Ending
E 1 Knuckles' Ending
E 2 Amy's Ending
E 3 Gamma's Ending
E 4 Big's Ending
E 5 Super Sonic's Ending
E 6-7 Field Emblems
F 0-7 Field Emblems
10 0-1 Field Emblems

Event Flags

All flags are one byte, either 0 or 1.

Address Description
03B18849 Sonic Unlocked in Adventure
03B1884A Tails Unlocked in Adventure
03B1884B Knuckles Unlocked in Adventure
03B1884C Amy Unlocked in Adventure
03B1884D Gamma Unlocked in Adventure
03B1884E Big Unlocked in Adventure
03B1884F Super Sonic Unlocked in Adventure
03B18850 Sonic's Story Complete
03B18851 Tails' Story Complete
03B18852 Knuckles' Story Complete
03B18853 Amy's Story Complete
03B18854 Gamma's Story Complete
03B18855 Big's Story Complete
03B18856 Super Sonic's Story Complete
03B18857 Gold Chao Egg Taken
03B18858 Silver Chao Egg Taken
03B18859 Black Chao Egg Taken

Sonic

Address Description
03B18888 Station Square City Hall (Field) open
03B18889 Station Square Hotel open
03B1888A Station Square Station open
03B1888B Station Square Sewer open
03B1888C Casino open all times of day
03B1888D Ice Stone available
03B1888E Door from Hotel to Casino open
03B1888F Casinopolis open
03B18890 Door from Station to Casino open
03B18891 Twinkle Park open
03B18892 Twinkle Circuit open
03B18894 Speed Highway open
03B18895 Light Speed Shoes obtained
03B18896 Crystal Ring obtained
03B18897 Egg Carrier Monorail active
03B18898 Egg Carrier Platform active
03B18899 Egg Carrier transformed
03B1889A Egg Carrier open?
03B1889B Egg Carrier sunk
03B1889C Windy Valley open
03B1889E Angel Island open
03B1889F Ice Cap open
03B188A1 Red Mountain open
03B188A2 Door to Shrine/Red Mountain open
03B188A3 Mystic Ruins Jungle open
03B188A4 Lost World open
03B188A5 Final Egg (Field) open
03B188A6 Sand Hill open
03B188A7 Ancient Light obtained
03B188A8 Final Egg open
03B188A9 Station Square <-> Mystic Ruins train open
03B188AA Station Square <-> Egg Carrier boat open
03B188AB Mystic Ruins <-> Egg Carrier boat open
03B188AC Gamma defeated
03B188AD Knuckles defeated
03B188AE Emerald Coast clear
03B188AF Windy Valley clear
03B188B0 Casinopolis clear
03B188B1 Twinkle Park clear
03B188B2 Speed Highway clear
03B188B3 Red Mountain clear
03B188B4 Ice Cap clear
03B188B5 Sky Deck clear
03B188B6 Lost World clear
03B188B7 Final Egg clear
03B188B8 Chaos 0 clear
03B188B9 Chaos 4 clear
03B188BA Chaos 6 clear
03B188BB Egg Hornet clear
03B188BC Egg Viper clear
03B188BD Sky Chase Act 1 clear
03B188BE Sky Chase Act 2 clear
03B188BF Chao Garden (Station Square) warp hole open
03B188C0 Chao Garden (Egg Carrier) warp hole open
03B188C1 Chao Garden (Mystic Ruins) warp hole open

Tails

Address Description
03B188C8 Station Square City Hall (Field) open
03B188C9 Station Square Hotel open
03B188CA Door from Hotel to Casino open
03B188CD Casinopolis open
03B188CE Speed Highway open
03B188CF Twinkle Park (Field) open
03B188D0 Twinkle Circuit open
03B188D2 Station Square Station open
03B188D3 Door from Station to Casino open
03B188D5 Jet Anklet obtained
03B188D6 Egg Carrier Platform active
03B188D7 Egg Carrier Monorail active
03B188D8 Egg Carrier transformed
03B188DA Egg Carrier sunk
03B188DB Windy Valley open
03B188DD Angel Island open
03B188DE Ice Cap open
03B188DF Icecap flag?
03B188E0 Mystic Ruins Jungle open
03B188E2 Sand Hill open
03B188E3 Rhythm Badge obtained
03B188E4 Station Square <-> Mystic Ruins train open
03B188E5 Station Square <-> Egg Carrier boat open
03B188E6 Mystic Ruins <-> Egg Carrier boat open
03B188E7 Gamma defeated
03B188E8 Knuckles defeated
03B188E9 Windy Valley clear
03B188EA Casinopolis clear
03B188EB Speed Highway clear
03B188EC Ice Cap clear
03B188ED Sky Deck clear
03B188EE Sand Hill clear
03B188EF Chaos 4 clear
03B188F0 Egg Walker clear
03B188F1 Egg Hornet clear
03B188F2 Sky Chase Act 1 clear
03B188F3 Sky Chase Act 2 clear
03B188F4 Emerald Coast clear
03B188F5 Red Mountain clear
03B188F6 Chao Garden (Station Square) warp hole open
03B188F7 Chao Garden (Egg Carrier) warp hole open
03B188F8 Chao Garden (Mystic Ruins) warp hole open

Knuckles

Address Description
03B18908 Speed Highway open
03B18909 Station Square Hotel open
03B1890A Door from Hotel to Casino open
03B1890B Casinopolis open
03B1890D Twinkle Park (Field) open
03B1890E Twinkle Circuit open
03B18910 Station Square Station open
03B18911 Door from Station to Casino open
03B18912 Egg Carrier Monorail active
03B18913 Egg Carrier Platform active
03B18915 Egg Carrier transformed
03B18917 Egg Carrier sunk
03B18918 Red Mountain open
03B18919 Angel Island open
03B1891A Door to Shrine open
03B1891C Mystic Ruins Jungle open
03B1891D Lost World Statue available (Gold)
03B1891E Lost World Statue availble (Silver)
03B1891F Lost World open
03B18920 Final Egg (Field) available (Locked)
03B18921 Shovel Claw obtained
03B18922 Fighting Gloves obtained
03B18923 Station Square <-> Mystic Ruins train open
03B18924 Station Square <-> Egg Carrier boat open
03B18925 Mystic RUins <-> Egg Carrier boat open
03B18927 Casinopolis clear
03B18928 Speed Highway clear
03B18929 Red Mountain clear
03B1892A Lost World clear
03B1892B Chaos 2 clear
03B1892C Chaos 6 clear
03B1892D Chaos 4 clear
03B1892E Sky Deck clear
03B1892F Chao Garden (Station Square) warp hole open
03B18930 Chao Garden (Egg Carrier) warp hole open
03B18931 Chao Garden (Mystic Ruins) warp hole open
03B18932 Shovel Claw cave closed
03B18933 Shovel Claw guard monkey destroyed

Amy

Address Description
03B18948 Station Square Hotel open
03B18949 Door from Hotel to Casino open
03B1894C Twinkle Park (Field) open
03B1894D Twinkle Circuit open
03B1894E Station Square Station open
03B1894F Door from Station to Casino open
03B18950 Egg Carrier Monorail active
03B18951 Egg Carrier Platform active
03B18952 Egg Carrier transformed
03B18953 Hedgehog Hammer clear?
03B18955 Egg Carrier sunk
03B18957 Mystic Ruins Jungle open
03B18958 Final Egg (Field) open
03B18959 Final Egg open
03B1895A Warrior Feather obtained
03B1895B Station Square <-> Mystic Ruins train open
03B1895C Station Square <-> Egg Carrier boat open
03B1895D Mystic Ruins <-> Egg Carrier boat open
03B1895E Twinkle Park clear
03B1895F Hot Shelter clear
03B18960 Final Egg clear
03B18961 ZERO clear
03B18963 Chao Garden (Station Square) warp hole open
03B18964 Chao Garden (Egg Carrier) warp hole open
03B18965 Chao Garden (Mystic Ruins) warp hole open
03B18966 Long Hammer obtained

Gamma

Address Description
03B18988 Station Square Hotel open
03B1898A Station Square Station open
03B1898B Twinkle Park (Field) open
03B1898C Twinkle Circuit open
03B1898E Egg Carrier Monorail active
03B1898F Egg Carrier Platform active
03B18990 Egg Carrier transformed/reservoir water
03B18991 Jet Booster obtained
03B18992 Laser Blaster obtained
03B18994 Egg Carrier sunk
03B18995 Hot Shelter open
03B18997 Final Egg (Field) exit open
03B18998 Windy Valley open
03B1899A Angel Island open
03B1899B Red Mountain open
03B1899C Door to Shrine open
03B1899D Mystic Ruins Jungle open
03B1899E Final Egg (Field) open
03B1899F Station Square <-> Mystic Ruins train open
03B189A0 Station Square <-> Egg Carrier boat open
03B189A1 Mystic Ruins <-> Egg Carrier boat open
03B189A2 Sonic defeated
03B189A3 Emerald Coast clear
03B189A4 Windy Valley clear
03B189A5 Red Mountain clear
03B189A6 Hot Shelter clear
03B189A7 Final Egg clear
03B189A8 E-101 clear
03B189A9 E-101mkII clear
03B189AA Chao Garden (Station Square) warp hole open
03B189AB Chao Garden (Egg Carrier) warp hole open
03B189AC Chao Garden (Mystic Ruins) warp hole open

Big

Address Description
03B189C8 Station Square Hotel open
03B189C9 Door from Hotel to Casino open
03B189CA Twinkle Park (Field) open
03B189CB Twinkle Circuit open
03B189CC Station Square Station open
03B189CE Door from Hotel to Pool open (Unused)
03B189CF Egg Carrier Monorail active
03B189D1 Egg Carrier transformed
03B189D3 Egg Carrier sunk
03B189D4 Angel Island open
03B189D5 Ice Stone available
03B189D6 Icecap open?
03B189D7 Mystic Ruins Jungle open
03B189D8 Life Ring obtained
03B189D9 Power Rod obtained
03B189DA Station Square <-> Mystic Ruins train open
03B189DB Station Square <-> Egg Carrier boat open
03B189DC Mystic Ruins <-> Egg Carrier boat open
03B189DD Emerald Coast clear
03B189DE Hot Shelter clear
03B189DF Twinkle Park clear
03B189E0 Ice Cap clear
03B189E1 Chaos 6 clear
03B189E2 Chao Garden (Station Square) warp hole open
03B189E3 Chao Garden (Egg Carrier) warp hole open
03B189E4 Chao Garden (Mystic Ruings) warp hole open
03B189E6 Lure powerup 1 obtained (Egg Carrier prison)
03B189E7 Lure powerup 2 obtained (Icecap)
03B189E8 Lure powerup 3 obtained (Station Square/Jet Anklet spot)
03B189E9 Lure powerup 4 obtained (Mystic Ruins Jungle)

Animation Data

These control the model used as well.

Locations

Address Character
03C49D90 Tails
03C532A0 Knuckles
03C53FA8 Gamma
03C54880 Amy
03C556A0 Big
03C56210 Sonic

Format

Each entry is $10 bytes long and is sorted by Animation number.

Offset Type Description
0 4 Bytes Pointer to animation
4 Byte Unknown. Don't change this.
5 Byte Property
Value Description
0 Display first frame
1 Display first frame
2 Default pose
3 Loop continuously
4 Jump to animation in next byte after 1 cycle
5 Play once, stop
6 Jump to animation in next byte after 1 cycle
7 Play once, stop
8 Transition to animation in next byte after 1 cycle
9 Current Speed -> Animation Speed
A Current Speed -> Animation Speed
B Display first frame
C Display first frame
6 Byte Next Animation
8 Float Transition Speed
C Float Animation Speed

Pointer Area

The data here changes its location when the level is restarted. Use pointers to find them.

Master Object Struct

A pointer to this for P1 is at 03B42E30, for P2, 03B42E34. Length: $34.
These are all pointers.

Offset (hex) Description
0 Pointer to previously loaded object in chain.
4 Pointer to next loaded object in chain.
8 Pointer to parent object.
C Pointer to child object.
10 Main routine
14 Display routine
18 Deletion routine
20 Object Data 1
24 Object Data 1 + 0xC0

Character Object 1

A pointer to this data for player 1 is at 03B42E10. A pointer for player 2 is at 03B42E14. Length: $180

Offset (hex) Type Description
0 Byte Action. Each object has its own values for this.
1 Byte Next Action
  • 0 Nothing
  • 1 Running on wind path
  • 2 ???
  • 3 Vertical Spring
  • 4 Spring
  • 5 Launched
  • 6 Trampoline Bounce 1
  • 7 Trampoline Bounce 2
  • 8 Trampoline Bounce 3
  • 9 Something Trampoline Related
  • 10 Something Trampoline Related
  • 11 Floating on air current
  • 12 Object Control
  • 13 Object Control with spin
  • 14 Running in air? (Possibly related to above)
  • 15 Pushing in air?
  • 16 Zipline/Helicopter
  • 17 Falling without falling?
  • 18 Bumper Car
  • 19 Victory
  • 20 Grabbing Rocket
  • 21 Horizontal Rocket
  • 22 Vertical Rocket
  • 23 Waterslide
  • 24 Return to normal
  • 25 Bouncy Spring/Bowling
  • 26 Loop
  • 27 ???
  • 28 Exit Bumper Car
  • 29 Monkey Bars
  • 30 Hanging on icicle
  • 31 Ladder
  • 32 Clinging to cylinder in Sky Deck
  • 33 Trapped by Final Egg robot
  • 34 Look around
  • 35 Hit something
  • 36 Breathe Bubble
  • 37 ???
  • 38 Frozen
  • 39 Drown
  • 40 Shower
  • 41 ???
  • 42 Shake off garbage
  • 43 Run down building
  • 44 Snowboard
  • 45 Pinball Mode
  • 46 Super Sonic
  • 47 Unsuper Sonic
  • 48 Makes Tails start flying
  • 49 Tails' Character Select Pose
  • 50 Die
4 Bitfield Status 1
Bit Value Description
0 1 On Ground
2 4 Hurt
5 Bitfield Status 2
Bit Value Description
0 1 Ball mode
1 2 Light Speed Dash charged (Sonic only)
2 4 Attacking
3 8 Holding object
4 16 Makes the character perform the action specified in $01.
6 2 Bytes Invulnerable timer
8 Byte Index to Character Array. 0=P1, 1=P2, etc.
9 Byte Character properties. Set this to a character ID.
10 4 Bytes Pointer to path data (loop/wind)
14 2 Bytes X Rotation
18 2 Bytes Y Rotation
1C 2 Bytes Z Rotation
20 Float X Position
24 Float Y Position
28 Float Z Position
2C Float Shield Scale/Big X Scale
30 Float Big Y Scale
34 Float Big Z Scale
38 4 Bytes Pointer 3
3C 4 Bytes Pointer
40 4 Bytes Set this to -1 and exit the level to crash the game.
44 4 Bytes Same as $40.
48 4 Bytes Pointer
4C 4 Bytes Pointer
A8 4 Bytes Pointer
AC 4 Bytes Pointer
C0 4 Bytes Pointer 2
C4 Float Something with X speed
C8 Float Something with Y speed
CC Float Something with Z speed
D0 Float Something with X speed
D4 Float Something with Y speed
D8 Float Something with Z speed
DC 2 Bytes X Rotation Last Time On Ground
E0 2 Bytes Y Rotation Last Time On Ground
E4 2 Bytes Z Rotation Last Time On Ground
FC Float Physics Multiplier?
100 4 Bytes Pointer. Keeps changing. Sometimes 0.
104 4 Bytes Same as 100
108 4 Bytes Pointer

Character Object 2

A pointer to this data for player 1 is at 03B3CDF0. A pointer for player 2 is at 3B3CDF4. Another pointer is at offset $C0 in data 1. Length: $200.

Offset (hex) Type Description
0 Float Holding Area for Running/Spindash Speed
4 Bitfield Upgrades 1
Bit Value Description
0 1 Crystal Ring
1 2 Light Shoes
2 4 Ancient Light
3 8 Jet Anklet
4 16 Rhythm Badge
5 32 Fighting Gloves
6 64 Shovel Claw
7 128 Long Hammer
5 Bitfield Upgrades 2
Bit Value Description
0 1 Warrior Feather
1 2 Laser Blaster
2 4 Jet Booster
3 8 Power Rod
4 16 Life Ring
7 128 Super Sonic
6 Bitfield Powerups 1
Bit Value Description
0 1 Shield
1 2 Magnetic Shield (also protects you)
7 Bitfield Powerups 2
Bit Value Description
6 64 Rings don't add to total
7 128 Invincible
C 2 Bytes Underwater Time. Countdown at 1068. Drown at 1831.
E 2 Bytes Idle Time. Max 1800.
18 Float Distance on automatic path
38 Float Horizontal Speed
3C Float Vertical Speed
68 4 Bytes Pointer to Master Struct for Object being held
9C 4 Bytes Hang Time
A0 Float Amount of grip on floor
A4 Float Horizontal Speed Cap
A8 Float Vertical Speed Cap
AC Float Something to do with the maximum speed Sonic can accelerate to on his own?
B4 Float Initial Jump Speed
C0 Float Rolling Cancel Speed
C4 Float Rolling End Speed
C8 Float Running 1 Speed
D0 Float Running 2 Speed
D4 Float While holding jump, add this to speed.
D8 Float Ground Acceleration
DC Float Air Acceleration
E0 Float Ground Deceleration
E4 Float Brake Speed
E8 Float Air Brake Speed
EC Float Air Deceleration
F0 Float Rolling Deceleration
F4 Float Something Gravity Related?
110 Float Collision Size
114 Float Gravity
11C Float Y Offset
124 2 Bytes Animation
130 Float Animation frame
140 4 Bytes Animation Address
  • 0x03C49D90 Tails
  • 0x03C532A0 Knuckles
  • 0x03C53FA8 Gamma
  • 0x03C54880 Amy
  • 0x03C556A0 Big
  • 0x03C56210 Sonic
1E4 Bitfield Unknown
Bit Value Description
1 2 Underwater

Character Object 3

A pointer to this data is at offset $38 in data 1.

Offset (hex) Type Description
2 2 Bytes Touching Object
6 2 Bytes Interact with objects
8 Float? ( or 4 Bytes) 10 when standing. Changes when you move. Does nothing?
C 4 Bytes Pointer
14 4 Bytes Address of touching object
1C 4 Bytes Address of 2nd touching object
24 4 Bytes Probably address of 3rd touching object
2C 4 Bytes Probably address of 4th touching object
Repeat until 90
90 Float Something with object collision. Never read from.
98 Float Something with object collision in the air. Never read from.
9C 4 Bytes Pointer
1A8 4 Bytes Pointer
1AC 4 Bytes Pointer
Sonic Community Hacking Guide
General
Sonic Music Hacking Guide | SonED2 Manual
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic Eraser | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic 2 (Nick Arcade prototype) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (8-bit) | Sonic 2 & Knuckles | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Sonic 3 | Sonic & Knuckles | Sonic 3 & Knuckles | Sonic & Knuckles Collection | Sonic Crackers | Sonic 3D: Flickies' Island | Chaotix | Sonic R PC | Sonic Jam 6 | Sonic Advance | Sonic Advance 2 | Sonic Advance 3 | Sonic Battle | 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 | Shadow the Hedgehog | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Generations
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 | Subroutine Equivalency List | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | VDP Documentation | Official Sega 32X Documentation | Official Mega-CD Documentation | Official Sega Mega Drive Documentation