Cheat Engine is a program that enables you to edit a program's RAM while it's running. You can use this program to edit the RAM in Sonic Adventure 2, and the below cheat table file contains the addresses so you don't need to enter them manually. It also contains some additional values relating to Chao, as well as a few tweaks to enable or fix certain things.
Note: All values are signed, unless noted otherwise.
Global variables
Address (hex) |
Type |
Description
|
0174AFDB
|
Byte
|
Minutes on clock
|
0174AFDC
|
Byte
|
Seconds on clock
|
0174AFDE
|
Byte
|
2P Mode
- 0 - 1 Player
- 1 - 2 Player (3 rounds)
- 2 - 2 Player (1 round)
|
0174AFDF
|
Byte
|
2P Level Category
- 1 - Level 1 (Mini Stage)
- 2, 3, 4 - Levels 2-4 (Normal)
|
0174AFED
|
Array of Bytes (3 bytes)
|
P1 2P Special Moves
|
0174AFF0
|
Array of Bytes (3 bytes)
|
P2 2P Special Moves
|
0174AFF7
|
Byte
|
Time Stop Activator
- 0 - inactive
- 1 - stops player 1
- 2 - stops player 2
|
0174AFF8
|
Byte
|
Sunglasses/Treasure Scope
|
0174AFFE
|
Byte
|
Controls Active
|
0174B004
|
Byte
|
Chao Key collected
|
0174B013
|
Byte
|
P1 Alternate Costume
|
0174B014
|
Byte
|
P2 Alternate Costume
|
0174B015
|
Byte
|
P1 Alternate Character
|
0174B016
|
Byte
|
P2 Alternate Character
|
0174B024
|
2 Bytes
|
Lives
|
0174B028
|
2 Bytes
|
P1 Rings
|
0174B02A
|
2 Bytes
|
P2 Rings
|
0174B050
|
4 Bytes
|
P1 Score
|
0174B05C
|
4 Bytes
|
Total Rings (Black Market)
|
01934B70
|
Byte
|
Current Level
|
01934B80
|
Byte
|
P1 Character
- 0 - Sonic
- 1 - Shadow
- 2 - Mechless Tails
- 3 - Mechless Eggman
- 4 - Knuckles
- 5 - Rouge
- 6 - Mech Tails
- 7 - Mech Eggman
|
01934BE0
|
Byte
|
Menu Mode (some level swaps horribly crash)
- 0 - inactive
- 1 - loading sequence
- 2 - reloads level item cloner
- 3 - reloads level combine levels
- 4 - returns to menu
- 5 - reload character?!?
- 6 - returns to menu
- 7 - level just finished loading
- 8 - fades to menu (exit?)
- 9 - restarts level no lost life
- 10 - fades to menu (exit)
- 11 - fades to menu (exit)
- 12 - restart level
- 13 - normal restart
- 14 - fades to menu (normal exit)
- 15 - return ring
- 16 - in-game level is fully loaded
- 17 - pause menu
- 18 - leftover memory card error ("slot %s")
- 19 - returns to menu
|
01934BE4
|
Byte
|
P2 Character
- 0 - Sonic
- 1 - Shadow
- 2 - Mechless Tails
- 3 - Mechless Eggman
- 4 - Knuckles
- 5 - Rouge
- 6 - Mech Tails
- 7 - Mech Eggman
|
01A5A678,01A5A67C
|
Byte
|
Cannon's Core Freeze Duration
|
01D7BB10
|
4 Bytes
|
Current Menu
- 0 - Title Screen
- 1 - Main Menu
- 2 - Story Select
- 3 - Stage Select
- 4 - 2P Dreamcast
- 5 - Story Mode
- 6 - Settings
- 7 - PAL TV Settings
- 8 - Sound Test
- 9 - File Select (from Title Screen)
- 10 - Kart Racing
- 11 - Download Event
- 12 - Boss Attack
- 13 - Tutorial
- 15 - Emblem Results
- 16 - 2P Battle
- 21 - Controls
- 22 - Bonus Video
- 23 - How to Play
- 24 - File Select (from Settings)
|
01D7BB14
|
4 Bytes
|
Current Menu State
|
01D9442C
|
2 Bytes
|
Kart Race Time
|
01D96F48
|
Byte
|
Have Boost (Route 101/280)
|
01DE4664
|
Byte
|
P1 Lighting (0 through 255)
|
01DE94A0
|
Float
|
X Gravity
|
01DE94A4
|
Float
|
Y Gravity
|
01DE94A8
|
Float
|
Z Gravity
|
01DEC628
|
4 Bytes
|
Emblem Results Time (Stops increasing after collecting 180 emblems)
|
01DEC62C
|
4 Bytes
|
Play Time
|
Pointer area
The data here changes its location when the level is loaded. Use pointers to find them.
Master Object struct
A pointer to this for P1 is at 01DEA6E0, for P2, 01DEA6E4. Length: 0x50.
These are all pointers.
Offset (hex) |
Description
|
0
|
Pointer to previously loaded object in chain.
|
4
|
Pointer to next loaded object in chain.
|
10
|
Main routine
|
14
|
Display routine
|
34
|
Object Data 1
|
40
|
Object Data 2
|
44
|
Object Name
|
Character Object 1
Length: 0x30
Offset (hex) |
Type |
Description
|
0
|
Byte
|
Action. Each object has its own values for this.
|
4
|
2 Bytes
|
Status Bitfield
Bit |
Value (hex) |
Description
|
0
|
1
|
On Ground
|
2
|
4
|
Hurt (setting bit causes you to take damage)
|
|
8
|
4 Bytes
|
X Rotation (BAMS)
|
C
|
4 Bytes
|
Y Rotation (BAMS)
|
10
|
4 Bytes
|
Z Rotation (BAMS)
|
14
|
Float
|
X Position
|
18
|
Float
|
Y Position
|
1C
|
Float
|
Z Position
|
20
|
Float
|
X Scale
|
24
|
Float
|
Y Scale
|
28
|
Float
|
Z Scale
|
Character Object 2
Common Values
Offset (hex) |
Type |
Description
|
0
|
Byte
|
Player Number
|
1
|
Byte
|
Character ID
- 0 - Sonic/Amy
- 1 - Shadow/Metal Sonic
- 2 - Mechless Tails
- 3 - Mechless Eggman
- 4 - Knuckles/Tikal
- 5 - Rouge/Chaos
- 6 - Mech Tails/Chao Walker
- 7 - Mech Eggman/Dark Chao Walker
- 9 - Super Sonic
- 10 - Super Shadow
|
3
|
Byte
|
Character ID 2
- 0 - Sonic
- 1 - Shadow
- 2 - Mechless Tails
- 3 - Mechless Eggman
- 4 - Knuckles
- 5 - Rouge
- 6 - Mech Tails
- 7 - Mech Eggman
- 8 - Amy
- 9 - Super Sonic
- 10 - Super Shadow
- 12 - Metal Sonic
- 13 - Chao Walker
- 14 - Dark Chao Walker
- 15 - Tikal
- 16 - Chaos
|
4
|
Array of Bytes (8 bytes)
|
Items in Action Window
|
C
|
Byte
|
Number of Items in Action Window
|
10
|
2 Bytes
|
Powerups Bitfield
Bit |
Value (hex) |
Description
|
0
|
1
|
Barrier
|
1
|
2
|
Magnetic Barrier
|
15
|
8000
|
Invincibility
|
|
12
|
Byte
|
Hang Time
|
24
|
4 Bytes
|
Upgrades Bitfield
Bit |
Value (hex) |
Description
|
0
|
1
|
Sonic's Light Shoes
|
1
|
2
|
Sonic's Ancient Light
|
2
|
4
|
Sonic's Magic Gloves
|
3
|
8
|
Sonic's Flame Ring
|
4
|
10
|
Sonic's Bounce Bracelet
|
5
|
20
|
Sonic's Mystic Melody
|
6
|
40
|
Tails' Booster
|
7
|
80
|
Tails' Bazooka
|
8
|
100
|
Tails' Laser Blaster
|
9
|
200
|
Tails' Mystic Melody
|
10
|
400
|
Knuckles' Shovel Claw
|
11
|
800
|
Knuckles' Sunglasses
|
12
|
1000
|
Knuckles' Hammer Gloves
|
13
|
2000
|
Knuckles' Air Necklace
|
14
|
4000
|
Knuckles' Mystic Melody
|
15
|
8000
|
Super Sonic
|
16
|
10000
|
Shadow's Air Shoes
|
17
|
20000
|
Shadow's Ancient Light
|
18
|
40000
|
Shadow's Flame Ring
|
19
|
80000
|
Shadow's Mystic Melody
|
20
|
100000
|
Eggman's Jet Engine
|
21
|
200000
|
Eggman's Large Cannon
|
22
|
400000
|
Eggman's Laser Blaster
|
23
|
800000
|
Eggman's Protective Armor
|
24
|
1000000
|
Eggman's Mystic Melody
|
25
|
2000000
|
Rouge's Pick Nails
|
26
|
4000000
|
Rouge's Treasure Scope
|
27
|
8000000
|
Rouge's Iron Boots
|
28
|
10000000
|
Rouge's Mystic Melody
|
|
64
|
Float
|
Horizontal Speed
|
68
|
Float
|
Vertical Speed
|
C0
|
Struct (0x84 bytes)
|
Physics Data
|
D0
|
Float
|
Base Speed (default is 3, changes when player picks up speed shoes, etc.)
|
174
|
Byte
|
Animation Frames
|
176,178,17A
|
2 Bytes
|
Current Animation
|
Sonic
Length: 0x3A0
Offset (hex) |
Type |
Description
|
35C
|
Byte
|
Homing Attack Timer
|
364
|
Byte
|
Homing Range Timer
|
References