Difference between revisions of "Modding Whiplash/Fatal Racing"

From The /ovg/ Wiki
Jump to navigation Jump to search
Line 35: Line 35:
 
|Right lane width<br><code>int</code>
 
|Right lane width<br><code>int</code>
 
|Right shoulder width<br><code>int</code>
 
|Right shoulder width<br><code>int</code>
|<br><code>int</code>
+
|Left shoulder height<br><code>int</code>
|<br><code>int</code>
+
|Right shoulder height<br><code>int</code>
|<br><code>int</code>
+
|Length<br><code>int</code>
 
|Yaw rotation, clockwise (°)<br><code>float</code>
 
|Yaw rotation, clockwise (°)<br><code>float</code>
 
|Pitch rotation, upwards (°)<br><code>float</code>
 
|Pitch rotation, upwards (°)<br><code>float</code>
Line 165: Line 165:
 
|}
 
|}
 
====Values====
 
====Values====
 +
* Shoulder height
 +
** >0: up
 +
** 0: flat
 +
** <0: down
 
* AI line
 
* AI line
 
** >0: left
 
** >0: left

Revision as of 01:03, 15 March 2024

TRK file structure

Definition

Geometry length
int
0 0 int
Empty line
Empty line
Geometry
Signs
Empty line
Stunts
Empty line
Textures
Empty line
Race info
Empty line

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

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

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
    • >0: up
    • 0: flat
    • <0: down
  • AI line
    • >0: left
    • 0: center
    • <0: right
  • Grip
    • 0: full grip
    • 12: ice
  • Surface type
    • 524703 590082 590082 appears to define a moving ramp or at least a surface the car can fly off of vertically

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
  •  ?
    • No clue
  • 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