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
|
Left wall type?
int
|
Right wall type?
int
|
Roof type?
int
|
int
|
Left outer extra wall type?
int
|
int
|
Right outer extra wall type?
int
|
int
|
Environment floor type
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
|
Left outer upper extra wall height
int
|
Left outer lower extra wall height
int
|
int
|
int
|
Right outer lower extra wall height
int
|
Right outer upper extra wall height
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
|
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
Wall type?
- Left and right combine to determine ceiling
- Not the actual walls
- >0: outward
- 0: vertical
Third row
These properties only ever have these values over all 11018 geometry segments of the retail tracks.
Property index |
Values
|
16 |
20,40,60
|
17 |
20,40,60,80
|
18 |
20,40
|
19 |
20
|
20 |
20
|
21 |
20,40,60,80
|
22 |
1
|
23 |
20
|
24 |
1,20,40
|
25 |
20
|
26 |
1
|
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
Length
Given Pulse at its maximum 193 mph on a modified Bonus 4 where all 494 sectors are 1200 long can complete at lap in 28.36 seconds
and on the same track but with 50 flat sectors on each side shortened to 100 can complete a lap in 27.41 seconds,
1000 length units is equivalent to 13.45 ft or 4.10 m. Additionally, the rotated portions of the track contribute approximately 0.20 seconds extra compared to flat.