assets/ now holds every track as a 16-colour indexed PNG (its palette is the track palette) plus a text file of lap gates and height map, and every vehicle as a PNG sprite sheet plus a text file with its name and handling (moved out of the code). The build embeds assets/ instead of unpacking the ADFs, so the disks are no longer needed to build either. skids extract converts original disks to assets and checks each file reads back identically; benchmark results from the assets match the disks exactly. Assets win over disk data with the same name, and --data assets picks up edits without a rebuild. assets/README.md describes how to edit everything.
Game assets
Everything the game uses is stored here as editable files. The build embeds this folder into the executable. To pick up changes:
- Rebuild:
cargo run --release. - Or skip the rebuild: run with
--data assets. Files given with--dataoverride the built-in copy.
These files were converted from the original Amiga disks with
skids extract --data <folder with the ADFs>. That conversion is lossless,
and running it again overwrites your edits.
Tracks: tracks/<name>/
track.png
The track picture: 1024 × 512, a 16-colour indexed (palette) image.
- Palette: the PNG's palette is the track's palette. Change a palette entry to recolour every pixel that uses it.
- Road vs scenery: colours 8–15 are road (full grip, full speed). Colours 0–7 are scenery (less grip, slower).
- Painting a new route: paint it with the upper eight colours and update the gates to match.
- Saving: keep the image indexed if your editor allows it. If it saves as full-colour RGB instead, each pixel is matched to the nearest default colour, which loses your palette.
track.txt
Plain text; lines starting with # are comments.
gate x1 y1 x2 y2: lap gates in race order.- Gate 0 is the start/finish line, and the grid forms up behind it.
- Cars must cross every gate, in order, to complete a lap. Computer drivers steer from one gate to the next.
- Coordinates are on the isometric ground plane. To find where a point
sits in the picture:
picture x = wx - wy + 512,picture y = (wx + wy) × 31/64 − 252. skids trace --data assets --track N --out t.pngdraws the gates (gate 0 in yellow) and the computer cars' paths over the picture.
height: 64 rows of 64 numbers giving ground height × 256. Each number covers a 16 × 8 pixel cell of the picture. Slopes push cars downhill and tilt the car sprites.start,flags: values from the original data that the game doesn't use.
To add a track, make a new folder with both files. Tracks are listed in name order.
Vehicles: vehicles/<id>.png and <id>.txt
<id>.png
A 2048 × 800 sprite sheet: 32 headings across by 25 tilts down, each cell 64 × 32.
-
Colours: use only palette indices 0–3:
- 0 transparent
- 1 tyres / shadow
- 2 trim
- 3 bodywork
The colours in the file are only a preview; each player's car is recoloured at run time.
-
Headings: column 12 faces right, and columns advance clockwise in 11.25° steps.
-
Tilts: row = roll × 5 + pitch (each 0–4), so row 12 is the car on flat ground.
<id>.txt
The display name and handling:
| Setting | Meaning |
|---|---|
top |
top speed on tarmac |
accel |
acceleration |
brake |
braking |
grip |
sideways grip; higher means less sliding |
turn |
steering rate |
mass |
weight in collisions |
offroad |
speed and grip multiplier on scenery |
To add a car, add a new <id>.png / <id>.txt pair.
Palettes: palettes/*.pal (optional)
16 lines of RRGGBB. Each file overrides the PNG palettes:
track1-3.pal: one tracktrack1.pal: every TRACK1 trackdefault.pal: all tracks