|
This short article is in need of work. You can help Sonic Retro by adding to it.
|
Note: All values are signed.
Global Variables
Address (hex) |
Type |
Description
|
00912698
|
Byte
|
Currently playing music
|
03B0EF34
|
Byte
|
Lives
|
03B0EF35
|
Byte
|
Time in frames. Max 60.
|
03B0EF48
|
Byte
|
Time in minutes
|
03B0F0E4
|
2 Bytes
|
Rings. Allowing this to reach a negative value (over 32767) will crash the game.
|
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
|
03B0F128
|
Byte
|
Time in seconds.
|
03B18895
|
Byte
|
Light Speed Shoes obtained
|
03B18896
|
Byte
|
Crystal Ring obtained
|
03B188D5
|
Byte
|
Jet Anklet obtained
|
03B18DB5
|
Byte
|
Metal Sonic. Set this to 1 to replace Sonic with Metal Sonic. May crash if you set this during a level.
|
03B22DC0
|
Byte
|
Current Character
|
03B22DCC
|
Byte
|
Current Level
|
03B22DD4
|
Byte
|
Adventure Field Act
|
03B22DD8
|
Byte
|
Adventure Field Level
|
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
|
Byte
|
Debug. Setting this to 1 displays collision spheres around objects and activates free movement mode. (Except for Tails.)
|
03B2A2F2
|
Byte
|
Menu voice
|
03B2A2FD
|
Byte
|
Selected character in character select
|
03C74880
|
4 Bytes
|
Rings in vault in Casinopolis
|
Character Object 1
A pointer to this data for player 1 is at 03B42E10. A pointer for player 2 is at 03B25980. Length: $180
Offset (hex) |
Type |
Description
|
0
|
Byte
|
Action. Varies by character.
|
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 stop what they're doing.
|
|
6
|
2 Bytes
|
Invulnerable timer
|
8
|
Bitfield
|
Unknown
Bit |
Value |
Description
|
0
|
1
|
CPU controlled
|
|
9
|
Byte
|
Set this to a character ID and you'll jump as high as that character.
|
18
|
2 Bytes
|
X Rotation
|
1C
|
2 Bytes
|
Y Rotation
|
20
|
Float
|
X Position
|
24
|
Float
|
Y Position
|
28
|
Float
|
Z Position
|
2C
|
Float
|
Shield magnification factor
|
38
|
4 Bytes
|
Pointer to more data. Possibly movement related?
|
Character Object 2
A pointer to this data for player 1 is at 03B3CDF0. A pointer for player 2 is at 3B3CDF4.
Offset (hex) |
Type |
Description
|
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
|
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
|
4 Bytes
|
Idle Timer. Max 120000000.
|
38
|
Float
|
Horizontal Speed
|
3C
|
Float
|
Vertical Speed
|
9C
|
4 Bytes
|
Hang Time
|
A4
|
Float
|
Horizontal Speed Cap
|
A8
|
Float
|
Vertical Speed Cap
|
C4
|
Float
|
Minimum Rolling Speed
|
D0
|
Float
|
Minimum Running 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
|
110
|
Float
|
Collision Size
|
11C
|
Float
|
Y Offset
|
124
|
Byte
|
Animation
|
140
|
4 Bytes
|
Animation Address
- 0x03C49D90 Tails
- 0x03C532A0 Knuckles
- 0x03C53FA8 Gamma
- 0x03C54880 Amy
- 0x03C556A0 Big
- 0x03C56210 Sonic
|