TRK file structure
Definition
Geometry
Track geometry.
Left shoulder width
int
|
Left lane width
int
|
Right lane width
int
|
Right shoulder width
int
|
Left shoulder height
int
|
Right shoulder height
int
|
Length
int
|
Yaw rotation, clockwise (°)
float
|
Pitch rotation, upwards (°)
float
|
Roll rotation, clockwise (°)
float
|
AI line
int
|
AI line
int
|
AI line
int
|
AI line
int
|
Track grip
int
|
int
|
Right shoulder? grip
int
|
int
|
int
|
int
|
int
|
int
|
Left surface type
int
|
Center surface type
int
|
Right surface type
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
Sign type?
int
|
int
|
int
|
float
|
float
|
float
|
Left outer upper extra wall angle?
int
|
Left outer lower extra wall angle?
int
|
int
|
int
|
Right outer lower extra wall angle?
int
|
Right outer upper extra wall angle?
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
int
|
Empty line
|
...
|
Surface type bit flags
Least significant bit |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0
|
Surface type |
|
|
|
|
|
|
Pit |
|
|
|
Transparent Requires no texture |
|
|
|
|
|
|
|
Flip horizontally |
|
|
|
Apply texture
|
Texture
|
- Texture
- Bit 0: some sort of offset?
- For normal textures, left index+1 right index-3
- For transparent, makes it darker?
- Bits 1-7: pair index, first texture on left, second on right
00000010
is first pair, 00000100
is second pair, etc
Sign type
Value |
Description
|
0 |
tall box
|
1 |
tall box, different texture
|
2 |
small, back upside down, on one leg
|
3 |
small, back upside down, on two legs
|
4 |
pair of tall flat rectangles space outwards only visible from center, different texture
|
5 |
giant tall folded boxes, different texture
|
6 |
giant tall box, different texture
|
7 |
WIDE short box
|
8 |
cube, different texture
|
9 |
flat square, always face camera
|
10 |
flat skinny rectangle, always face camera
|
11 |
flat small square, fixed, same back
|
12 |
fixed flat square, back upside down
|
13 |
4 tall skinny boxes
|
14 |
tall box with pyramid top, different texture
|
15 |
flat square, always face camera, same as 9?
|
16 |
fixed flat square, back upside down, same as 12?
|
>=256 |
no idea
|
Values
- Shoulder height
- AI line
- >0: left
- 0: center
- <0: right
- Grip
- Surface type
- 524703 590082 590082 appears to define a moving ramp or at least a surface the car can fly off of vertically
- Outer lower/upper extra wall angle?
- Not the actual walls
- >0: outward
- 0: vertical
Signs
Empty on some tracks.
Signable geometry index?
int |
Texture
int
|
...
|
-1 |
-1
|
- Texture
- Bit 0: unset is normal
- Bits 1-7: index in BLD texture file
- Bit 8: apply texture
Stunts
Controls geometry that moves and potrudes. Empty on some tracks.
Geometry index
int
|
Scale factor?
int
|
Angle?
int
|
?
int
|
Timing group
int
|
Height
int
|
Time bulging
int
|
Time flat
int
|
Smaller expands/larger contracts?
int
|
Bulge?
int
|
...
|
-1
|
- Scale factor?
- Increases the length and height of the "ramp"
- 1 is a bump, 4 starts breaking textures, 6 is huge vertical wall
- Angle?
- Lower is flatter, higher becomes trapezoid with longer top
- ?
- Timing group
- With otherwise identical config, two bumps with same number move together, with 1 and 2 move oppositely
Textures
Texture file
TEX:<DRH file>
|
Building texture file
BLD:<DRH file>
|
BACKS:
|
int |
int
|
...
|
|
-1
|
Race info
Not present on some tracks.
Track number
int
|
Impossible laps
int |
Hard laps
int |
Tricky laps
int |
Medium laps
int |
Easy laps
int |
Girlie laps
int
|
Track map size, smaller is larger
float |
Track map fidelity, smaller is more accurate
int |
float
|
Effects
Bonus 7
- Swapping yaw and pitch: loop
- Swapping yaw and roll: twisting line
- Swapping yaw and pitch, roll 90.00000: vertical ring to the left
- Negative yaw: turnright