Note: All values are signed.
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
|
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
|
03B0F104
|
4 Bytes
|
Level Frame Counter
|
03B0F128
|
Byte
|
Time in seconds.
|
03B0F13C
|
4 Bytes
|
Frame Counter
|
Save Data
|
03B18849
|
Byte
|
Sonic Unlocked in Adventure
|
03B1884A
|
Byte
|
Tails Unlocked in Adventure
|
03B1884B
|
Byte
|
Knuckles Unlocked in Adventure
|
03B1884C
|
Byte
|
Amy Unlocked in Adventure
|
03B1884D
|
Byte
|
Gamma Unlocked in Adventure
|
03B1884E
|
Byte
|
Big Unlocked in Adventure
|
03B1884F
|
Byte
|
Super Sonic Unlocked in Adventure
|
03B18850
|
Byte
|
Sonic Unlocked in Mission
|
03B18851
|
Byte
|
Tails Unlocked in Mission
|
03B18852
|
Byte
|
Knuckles Unlocked in Mission
|
03B18853
|
Byte
|
Amy Unlocked in Mission
|
03B18854
|
Byte
|
Gamma Unlocked in Mission
|
03B18855
|
Byte
|
Big Unlocked in Mission
|
Sonic
|
03B1888F
|
Byte
|
Casinopolis open
|
03B18895
|
Byte
|
Light Speed Shoes obtained
|
03B18896
|
Byte
|
Crystal Ring obtained
|
03B1889C
|
Byte
|
Wind Stone in place
|
03B1889F
|
Byte
|
Ice Stone in place
|
03B188AE
|
Byte
|
Emerald Coast Clear
|
03B188AF
|
Byte
|
Windy Valley clear
|
03B188B0
|
Byte
|
Casinopolis clear
|
03B188B4
|
Byte
|
Ice Cap clear
|
Tails
|
03B188CD
|
Byte
|
Casinopolis open
|
03B188D5
|
Byte
|
Jet Anklet obtained
|
03B188DB
|
Byte
|
Wind Stone in place
|
03B188DE
|
Byte
|
Ice Stone in place
|
Knuckles
|
03B1890B
|
Byte
|
Casinopolis open
|
E-102 Gamma
|
03B18998
|
Byte
|
Wind Stone in place
|
End Save Data
|
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
- 2 Tails
- 3 Knuckles
- 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
|
03B2B690
|
Byte
|
Sonic Adventure Time of Day
|
03B2B6C0
|
Byte
|
Super Sonic Adventure Time of Day
|
03B2B6C6
|
Byte
|
Super Sonic Adventure Start Entrance
|
03B2B6C8
|
Byte
|
Super Sonic Adventure Start Act
|
03B2B6C9
|
Byte
|
Super Sonic Adventure Start Level
|
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
|
03B2F718
|
4 Bytes
|
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
|
03C74880
|
4 Bytes
|
Rings in vault in Casinopolis
|
03C82304
|
Float
|
Health in Sky Chase
Max 5, decreases by .5 when hit.
|
One bit for each emblem, starting at 03B2B5F0.
Offset |
Bit |
Description
|
0
|
0
|
Emerald Coast Level C as Sonic
|
0
|
1
|
Windy Valley Level C as Sonic
|
0
|
2
|
Twinkle Park Level C as Sonic
|
0
|
3
|
Speed Highway Level C as Sonic
|
0
|
4
|
Red Mountain Level C as Sonic
|
0
|
5
|
Sky Deck Level C as Sonic
|
0
|
6
|
Lost World Level C as Sonic
|
0
|
7
|
Ice Cap Level C as Sonic
|
1
|
0
|
Casinopolis Level C as Sonic
|
1
|
1
|
Final Egg Level C as Sonic
|
1
|
2
|
Windy Valley Level C as Tails
|
1
|
3
|
Speed Highway Level C as Tails
|
1
|
4
|
Sky Deck Level C as Tails
|
1
|
5
|
Ice Cap Level C as Tails
|
1
|
6
|
Casinopolis Level C as Tails
|
1
|
7
|
Speed Highway Level C as Knuckles
|
2
|
0
|
Red Mountain Level C as Knuckles
|
2
|
1
|
Sky Deck Level C as Knuckles
|
2
|
2
|
Lost World Level C as Knuckles
|
2
|
3
|
Casinopolis Level C as Knuckles
|
2
|
4
|
Twinkle Park Level C as Amy
|
2
|
5
|
Final Egg Level C as Amy
|
2
|
6
|
Hot Shelter Level C as Amy
|
2
|
7
|
Emerald Coast Level C as Gamma
|
3
|
0
|
Windy Valley Level C as Gamma
|
3
|
1
|
Red Mountain Level C as Gamma
|
3
|
2
|
Final Egg Level C as Gamma
|
3
|
3
|
Hot Shelter Level C as Gamma
|
3
|
4
|
Emerald Coast Level C as Big
|
3
|
5
|
Twinkle Park Level C as Big
|
3
|
6
|
Ice Cap Level C as Big
|
3
|
7
|
Hot Shelter Level C as Big
|
4
|
0
|
Twinkle Circuit Emblem 2
|
4
|
1
|
Sky Chase Act 1 Emblem 2
|
4
|
2
|
Sky Chase Act 2 Emblem 2
|
4
|
3
|
Sand Hill Emblem 2
|
4
|
4
|
Hedgehog Hammer Emblem 2
|
4
|
5
|
Twinkle Circuit Emblem 1
|
4
|
6
|
Sky Chase Act 1 Emblem 1
|
4
|
7
|
Sky Chase Act 2 Emblem 1
|
5
|
0
|
Sand Hill Emblem 1
|
5
|
1
|
Hedgehog Hammer Emblem 1
|
5
|
2-6
|
Chao Race
|
5
|
7
|
Sonic's Ending
|
6
|
0
|
Tails' Ending
|
6
|
1
|
Knuckles' Ending
|
6
|
2
|
Amy's Ending
|
6
|
3
|
Gamma's Ending
|
6
|
4
|
Big's Ending
|
6
|
5
|
Super Sonic's Ending
|
6
|
6-7
|
Field Emblems
|
7
|
0-7
|
Field Emblems
|
8
|
0-1
|
Field Emblems
|
These only work while you are in a garden. They are $800 bytes long, starting at 03C8888A.
Thanks to GerbilSoft for his memory editor and Artichao for the Chao Genome
These control the model used as well.
Each entry is $10 bytes long and is sorted by Animation number.
The data here changes its location when the level is restarted. Use pointers to find them.
A pointer to this for P1 is at 03B42E30, for P2, 03B42E34.
These are all pointers.
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
|
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.
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
|
Rhythym 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
|
Byte
|
Animation
|
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
|
|
A pointer to this data is at offset $38 in data 1.