-
-
Notifications
You must be signed in to change notification settings - Fork 20
/
CGameCtnGhost.chunkl
196 lines (149 loc) · 3.62 KB
/
CGameCtnGhost.chunkl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
CGameCtnGhost 0x03092000 // A ghost.
- inherits: CGameGhost
0x000 (skippable) [TMT.v2, MP4.v2, TM2020.v9]
version
v9+
int AppearanceVersion
ident PlayerModel
vec3 LightTrailColor
list<packdesc> SkinPackDescs
bool HasBadges // boolnode?
if HasBadges
SBadge Badge
if AppearanceVersion >= 1
string
string GhostNickname
string GhostAvatarName
v2+
string RecordingContext
v4+
bool
v5+
CPlugEntRecordData RecordData
int[]
v6+
string GhostTrigram
v7+
string GhostZone
v8+
string GhostClubTag
0x003 [TM10, TMPU]
ident PlayerModel
string SkinFile
string GhostNickname
0x004 (skippable) [TMPU]
Checkpoint[] Checkpoints
0x005 (skippable) [TMPU, TMS, TMSX, TMNESWC, TMU, TMF, MP3, TMT, MP4, TM2020] // race time
timeint? RaceTime
0x006 [TMS, TMSX, TMNESWC]
ident PlayerModel
string SkinFile
int
string GhostNickname
0x007 // old light trail color
vec3 LightTrailColor
0x008 (skippable) [TMS, TMSX, TMNESWC, TMU, TMF, MP3, TMT, MP4, TM2020] // respawns
int? Respawns
0x009 (skippable) [TMS, TMSX, TMNESWC, TMU, TMF, MP3] // light trail color
vec3 LightTrailColor
0x00A (skippable) [TMSX, TMNESWC, TMU, TMF, MP3, TMT, MP4, TM2020] // stunt score
int? StuntScore
0x00B (skippable) [TMSX, TMNESWC, TMU, TMF, MP3, TMT, MP4, TM2020] // checkpoint times
Checkpoint[] Checkpoints (version: 1)
0x00C [TMNESWC, TMU, TMF, MP3, TMT, MP4, TM2020]
int
0x00D [TMU]
ident PlayerModel
string SkinFile
int
int
int
int
string GhostNickname
0x00E [TMU, TMF, MP3, TMT, MP4, TM2020]
0x00F [TMU, TMF, MP3, TMT, MP4, TM2020] // ghost login
string GhostLogin
0x010 [TMU, TMF, MP3, TMT, MP4, TM2020] // validation map UID
id Validate_ChallengeUid
0x011 [TMU] // validation TMU
0x012 [TMU, TMF]
uint32
uint128
0x013 (skippable) [TMF, MP3, TMT, MP4, TM2020]
int
int
0x014 (skippable) [TMF, MP3, TMT, MP4, TM2020]
int
0x015 [TMF] // ghost nickname
id GhostNickname
0x017 (skippable) [TMF, MP3] // ghost metadata
list<packdesc> SkinPackDescs
string GhostNickname
string GhostAvatarName
0x018 [TMF, MP3]
ident PlayerModel
0x019 (base: 0x011) [TMF] // validation TMUF
0x01A (skippable) [MP3, TMT, MP4, TM2020]
int
0x01B (skippable, ignore) [MP3, TMT, MP4, TM2020] // race result
0x01C [MP3, TMT, MP4, TM2020]
uint256
0x01D (skippable) [MP3.v3, TMT.v3, MP4.v3, TM2020.v4] // player input data
version
PlayerInputData[] PlayerInputs (version: Version)
0x01F (skippable, ignore) [MP4] // OldColorHistory
0x021 (skippable, ignore) // OldKeyStrokes
0x022 (skippable, ignore) [MP3, TMT, MP4, TM2020] // timed pixel array
0x023 (skippable) [MP3, TMT, MP4, TM2020]
version
string
int
string
int
int
string
int
string
v2+
byte
int
int
v3+
byte
byte
0x024 (skippable, ignore) [MP3, TMT, MP4, TM2020] // match replay separators
0x025 (skippable) [MP3.v0, TMT.v0, MP4.v0, TM2020.v1] // validation TM2
0x026 (skippable) [MP3, TMT, MP4, TM2020]
uint128
0x027 (skippable, ignore) [MP3, TMT, MP4, TM2020] // timed pixel array 2
0x028 (skippable) [MP4, TM2020] // title id
0x029 (skippable, ignore) [TM2020]
0x02A (skippable, ignore) [TM2020]
0x02B (skippable, ignore) [TM2020]
0x02C (skippable, ignore) [TM2020]
0x02D (skippable, ignore) [TM2020]
0x02E (skippable, ignore) [TM2020]
archive PlayerInputData
int<EVersion> Version // 8 in ShootMania, 12 in TM2020
int
v4+ // chunk version, NOT archive version
timeint? StartOffset
int Ticks
data Data
archive SBadge
int Version
vec3 Color
if Version == 0
int
string
list<SSticker> Stickers
list<string> Layers
archive SSticker
string
string
archive Checkpoint
timeint? Time
v0=
float? Speed
v1=
int? StuntsScore