ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
AddressDescriptionCommentsNote - this is an upraged version of the 1.3 data sheet, if you would like to contruibe to it, please DM me
2
Main Menu
3
817F3680Sub menu
4
803E28E5Cursor position
5
803E28F6Menu colour8 bit; 0 blue, 1 red, 2 yellow, 3 gray, 4 purple, 5 greensome highlight over the menu colour seems to store itself at 817F2904 and uses RGBa
6
8021C2FBRelated to menu selectionSet to 5 when in css, 4 in free race settings
7
805ce500How many buttons in main menu(count starts at 1)
8
805ce501How many buttons in extra menu(count starts at 1)
9
805ce502How many buttons in Options menu(count starts at 1)
10
817F32E4Main menu cursor colour RGBA
11
12
Free race settings
13
803E2976Cursor position
14
803E2978Laps
15
803E2979Announcer toggle
16
803E297ALevel toggle
17
803E297BItem toggle
18
803E297CAir pit toggle
19
803E297DAir lost toggle
20
21
Character select
22
803E2994Cursor position(goes from 0 to 15, does not have super sonic)
23
803E2990Value used to determine if race is
ready to begin
Set to 5 when ready, and increments from 0
to 4 when each individual player readies.
Player 1 selecting board moves it up
additionally
24
803E2978 through
803E2988
The list of "Locked in" characters.
when a characters value is set to 1
they can't be selected
25
805CF46C to 805CF47Ccharacter name texture id8 bit
26
805CF46D+Board name texture id8 bit
27
Player dataPlayers have a space of 0x1080
bytes between each other, so to get
values for player 2, add 0x1080 to
values listed here, 0x2100 for
player 3, etc
AI uses player data as well






there are 8 player datas all together?
00499340 (20499340) - ps2
006A4B80 - pc

80609440 - GC
8061A040 - GC-TE-2.0
8061C240 - GC-TE-2.1
8061D4C0 - GC-TE-2.1.5
805303A0 - GC-TE-2.3ptr
Note, PS2 has a different player data struct to GC,
mainly in the later sections its different, the address
is only there so people can find the player struct easy


----other data sheets:----
PS2 datasheet: https://docs.google.com/spreadsheets/d/17JPYf836EIJ4-1rY3ATqj1Hpn08zB5bugKJzwj1DA3U/edit?usp=sharing (WIP)
PC datasheet: https://docs.google.com/spreadsheets/d/1KUcyNRT4o1lz3kn8jS81sl60pb2Nqo7foE_FCqayQy8/edit#gid=133111214&range=B122
28
80609440Player 1 Base Address, holds pointer to inputs but during replays it is the pointer to something else0x0
29
806094FACharacter0 = sonic, 1 = tails, and so onOffset: 0xBA
30
806094FBExtreme GearOffset: 0xBB
31
806094FCWhether you're in a loading screen (or perhaps something else)0xBC
32
806094FDWhat kind of player you are0 = human, 1 = AI0xBD
33
806094FEWhat kind of gear you're on0 = board, 1 = skates, 2 = bike0xBE
34
806094FFAttributesFetches attributes from a pre-made list.
0 will get you Sonic's, 1 will get you Tails',
etc
0xBF
35
8060951032-bit floatMirrors X
36
80609624X Position32-bit float0x1E4
37
80609628Y Position (Z Position in Math)32-bit float0x1E8
38
8060962CZ Position (Y Position in Math)32-bit float0x1EC
39
80609630Verticle Rotation (Forward Roll)0x1F0
40
80609634Horizontal Rotation (Spin)32-bit float, in radians0x1F4
41
80609638Rotation Roll (Sideways Roll)0x1F8
42
8060963C0x1FC
43
8060 9640Used with verticle speed?0x200
44
8060 971432-bit floatMirrors X
45
8060 975032-bit floatMirrors X
46
8060975C32-bit floatMirros X (can be changed, if locked it will try and move player to float, can not pass through walls, seems to be random, this also breaks the foor)
47
80609AECX pos as well?32-bit float0x6AC
48
80609AF0Y pos as well?32-bit float0x6B0
49
80609AF4Z poss as well?32-bit float0x6B4
50
80609AF8pointer to something80682B8C - when landing on turbulence?80682B8C + 0x8 = 80682B94, and this is a float
51
80609B7032-bit floatMirrors X
52
32-bit0x760Gets called in a rendering function
53
32-bit0x0764Gets called in a rendering function
54
32-bit0x76CGets called in a rendering function
55
80609BB0?????counts by 0.5 float and up to 35.0 then resets0x770
56
32-bit float0x778Gets called in a rendering function
57
80609BC4attack recovery?float, usually 0.50x784
58
80609bccset to 1 when attacked?0x78C
59
80609bd0set to float 10 when attacked?float0x790
60
80609bd4set to 0 when attacked?0x794
61
80609bd8set to float 0 when attacked?float0x798
62
80609bdcset to 15 when attacked?0x79c
63
80609bf0set to float 0 when attacked?float0x800
64
80609bf4set to 8 when attacked?0x804
65
80609bf8set to float 0 when attacked?float0x808
66
80609C0Csomething set to -1 while being attacked?0x7CC
67
80609CD8Pointer to boost end function32 bit0x898Adds 60 extra frames of boost to some characters on some levels e.g. Shadow, AiAi
68
80609CD8(CUSTOM) Z to Toggle Ignoring Turbulence BYTE value8 bit0x898Bytes opened up instead the player to use for codes such as Z Toggles Ignore Turbulence
69
80609CD9(CUSTOM) Gear Action BYTE (Used for Gambler currently)8 bit0x899
70
80609CDA(CUSTOM) 8 bit0x89A
71
80609CDB(CUSTOM) 8 bit0x89B
72
80609ce0Max Stun Time from Attacks (relates to next line)32 bit float0x8A0
73
80609ce4Stun Recovery Timer from Attacks (1st)32 bit float, increments by 0.5 each frame0x8A4
74
80609CECBoost Duration32 bit signed, Counts down until it hits boost
end (boost end is not known)
Offset: 0x8ACNOTE: Does not clear out when your boost ends. So it leaves leftover boost duration in here while not boosting.
75
80609CF4related to shock gate
76
80609d08Stun Recovery Timer from Attacks (2nd)32 bit float, increments by 0.5 each frame0x8C8805C30BC is lv3 tails attack
77
80609D10Max Stun Time for certain attack after effects(?)32 bit float (works for Storm's lv3 Daze timer, Eggman's lv3 Obscure, but the timer is offset 0xDA4)0x8D0
78
80609D19Stun Time for Shock Gate8 bit0x8D9set to 28 while being shocked, set to 52 after the initial shock of 28 ends.
79
80609D1CLEVEL 1 - Base Top speed32 but float0x0 | 0x8DCThanks KC (for the level structs)
80
80609D20Lvl1 Base Accel32 bit float0x4 | 0x8E0Lv1 top speed (old)80609D24 (old)
81
80609D24Lvl1 Top Speed32 bit float0x8 | 0x8E4 Lv1 Max Air (old)
82
80609D28Tier 1 Accel32 bit float0xC | 0x8E8Lv1 Air Drain (old)
83
80609D2BTier 2 Accel32 bit float0x10 | 0x8EBLv1 Drift Cost (old)
84
80609D30Tier 3 Accel32 bit float0x14 | 0x8F0
85
80609D34Offroad Speed Cap32 bit float0x18 | 0x8F8
86
80609D38Max Air32 bit signed0x1C | 0x8F8
87
80609D3CAir drain32 bit signed0x20 | 0x8FC
88
80609D40Drift Cost32 bit signed0x24 | 0x900
89
80609D44Boost Cost32 bit signed0x28 | 0x904
90
80609D48Tornado Cost32 bit signed0x2C | 0x908
91
80609D4BDrift Dash Speed32 bit float0x30 | 0x90B
92
80609D50Boost speed32 bit float0x34 | 0x910
93
80609D54level 2 - Base Top Speed32 bit float0x0 | 0x914
94
80609D58Lvl2 Base Accel32 bit float0x4 | 0x918
95
80609D5BLvl2 Top Speed32 bit float0x8 | 0x91B
96
80609D60Tier 1 Accel32 bit float0xC | 0x920
97
80609D64Tier 2 Accel32 bit float0x10 | 0x924
98
80609D68Tier 3 Accel32 bit float0x14 | 0x928
99
80609D6BOffroad Speed Cap32 bit float0x18 | 0x92D
100
80609D70Max Air32 bit signed0x1C | 0x930