Difference between revisions of "Sonic Adventure DX: PC/RAM Editing"
From Sonic Retro
m (Text replacement - " Locations==" to " locations==") |
m (Text replacement - " Area==" to " area==") |
||
(4 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
__NOTOC__ | __NOTOC__ | ||
Note: All values are signed, unless noted otherwise. | Note: All values are signed, unless noted otherwise. | ||
− | ==Global | + | ==Global variables== |
===Main locations=== | ===Main locations=== | ||
{| class="prettytable" style="width:auto;" | {| class="prettytable" style="width:auto;" | ||
Line 865: | Line 865: | ||
|} | |} | ||
− | ===Event | + | ===Event flags=== |
All flags are one byte, either 0 or 1. | All flags are one byte, either 0 or 1. | ||
{| class="prettytable" style="width:auto;" | {| class="prettytable" style="width:auto;" | ||
Line 1,621: | Line 1,621: | ||
|} | |} | ||
− | ===Animation | + | ===Animation data=== |
These control the model used as well. | These control the model used as well. | ||
====Locations==== | ====Locations==== | ||
Line 1,718: | Line 1,718: | ||
|} | |} | ||
− | ==Pointer | + | ==Pointer area== |
The data here changes its location when the level is restarted. Use pointers to find them. | The data here changes its location when the level is restarted. Use pointers to find them. | ||
− | ===Master Object | + | ===Master Object struct=== |
A pointer to this for P1 is at 03B42E30, for P2, 03B42E34. Length: $34.<br /> | A pointer to this for P1 is at 03B42E30, for P2, 03B42E34. Length: $34.<br /> | ||
These are all pointers. | These are all pointers. |
Latest revision as of 04:26, 25 March 2020
SCHG: Sonic Adventure | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dreamcast Gamecube 2004 PC 2010 PC | ||||||||||||||||||||||||
|
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
| ||||||||||||||||||||||||||||||||||||||||||
03B0E7F0 | Struct Array (0x34*8) | Controller Data
| ||||||||||||||||||||||||||||||||||||||||||
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
| ||||||||||||||||||||||||||||||||||||||||||
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)
| ||||||||||||||||||||||||||||||||||||||||||
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
| ||||||||||||||||||||||||||||||||||||||||||
03B22DC0 | Byte | Current Character
| ||||||||||||||||||||||||||||||||||||||||||
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.
| ||||||||||||||||||||||||||||||||||||||||||
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
| ||||||||||||||||||||||||||||||||||||||||||
03B2A2FD | Byte | Selected character in character select
| ||||||||||||||||||||||||||||||||||||||||||
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
| ||||||||||||||||||||||||||||||||||||||||||
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
| ||||||||||||||||||||||||||||
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
| ||||||||||||||||||
4 | Bitfield | Status 1
| ||||||||||||||||||
5 | Bitfield | Status 2
| ||||||||||||||||||
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
| |||||||||||||||||||||||||||
5 | Bitfield | Upgrades 2
| |||||||||||||||||||||||||||
6 | Bitfield | Powerups 1
| |||||||||||||||||||||||||||
7 | Bitfield | Powerups 2
| |||||||||||||||||||||||||||
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
| |||||||||||||||||||||||||||
1E4 | Bitfield | Unknown
|
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 |
References