From 9d82d99c154a479536409dc656858158b7e3d5a2 Mon Sep 17 00:00:00 2001 From: Andy Dixon Date: Mon, 19 Oct 2026 20:23:40 +0000 Subject: [PATCH 1/2] Add the contents of disk 1 - LHA -lh5/-lh6/-lh7 decoding with CRC checks (disk 1 is mostly lh5) - Real track palettes and set names, read from each track file's header - Camaro, plus the caravan as a towable trailer (Caravans option) - Drivers' names, menu pictures and the original .set values per car - Original sound effects (IFF 8SVX) through a new sample mixer: engine pitched with revs, tyre screech, crashes, backfire, horn, start beeps - The original tune (OctaMED MMD1) through a new player; loudness tracks OpenMPT's render through the whole song. Music option in the menu - Title picture (IFF ILBM) at the top of the menu - skids unpack and skids music commands - Gate crossings now judged on each car's whole movement per frame, including collision knocks; stalled computer cars are put back on the line after 8 seconds The executable's game logic (handling, AI) is still not decoded. --- README.md | 62 ++--- assets/README.md | 47 +++- assets/gfx/chat2.png | Bin 0 -> 727 bytes assets/gfx/mouse.png | Bin 0 -> 197 bytes assets/gfx/sign.png | Bin 0 -> 153 bytes assets/gfx/skidtoon.png | Bin 0 -> 15666 bytes assets/music/tune.med | Bin 0 -> 228148 bytes assets/sounds/backfire.wav | Bin 0 -> 2642 bytes assets/sounds/beep.wav | Bin 0 -> 8148 bytes assets/sounds/beep2.wav | Bin 0 -> 4130 bytes assets/sounds/crash1.wav | Bin 0 -> 3724 bytes assets/sounds/crash2.wav | Bin 0 -> 3548 bytes assets/sounds/crash3.wav | Bin 0 -> 2310 bytes assets/sounds/engine.wav | Bin 0 -> 1600 bytes assets/sounds/horn.wav | Bin 0 -> 3078 bytes assets/sounds/motor.wav | Bin 0 -> 2364 bytes assets/sounds/motor3.wav | Bin 0 -> 4260 bytes assets/sounds/screech.wav | Bin 0 -> 10448 bytes assets/sounds/screech2.wav | Bin 0 -> 15870 bytes assets/sounds/screech3.wav | Bin 0 -> 7990 bytes assets/tracks/track1-1/track.png | Bin 135428 -> 135428 bytes assets/tracks/track1-1/track.txt | 3 + assets/tracks/track1-2/track.png | Bin 141468 -> 141468 bytes assets/tracks/track1-2/track.txt | 3 + assets/tracks/track1-3/track.png | Bin 128833 -> 128833 bytes assets/tracks/track1-3/track.txt | 3 + assets/tracks/track1-4/track.png | Bin 121471 -> 121471 bytes assets/tracks/track1-4/track.txt | 3 + assets/tracks/track1-5/track.png | Bin 148228 -> 148228 bytes assets/tracks/track1-5/track.txt | 3 + assets/tracks/track1-6/track.png | Bin 141818 -> 141818 bytes assets/tracks/track1-6/track.txt | 3 + assets/tracks/track2-1/track.png | Bin 128793 -> 128793 bytes assets/tracks/track2-1/track.txt | 3 + assets/tracks/track2-2/track.png | Bin 127508 -> 127508 bytes assets/tracks/track2-2/track.txt | 3 + assets/tracks/track2-3/track.png | Bin 131582 -> 131582 bytes assets/tracks/track2-3/track.txt | 3 + assets/tracks/track2-4/track.png | Bin 122652 -> 122652 bytes assets/tracks/track2-4/track.txt | 3 + assets/tracks/track2-5/track.png | Bin 131591 -> 131591 bytes assets/tracks/track2-5/track.txt | 3 + assets/tracks/track2-6/track.png | Bin 103726 -> 103726 bytes assets/tracks/track2-6/track.txt | 3 + assets/tracks/track3-1/track.png | Bin 158792 -> 158792 bytes assets/tracks/track3-1/track.txt | 3 + assets/tracks/track3-2/track.png | Bin 135697 -> 135697 bytes assets/tracks/track3-2/track.txt | 3 + assets/tracks/track3-3/track.png | Bin 99927 -> 99927 bytes assets/tracks/track3-3/track.txt | 3 + assets/tracks/track3-4/track.png | Bin 132141 -> 132141 bytes assets/tracks/track3-4/track.txt | 3 + assets/tracks/track3-5/track.png | Bin 158527 -> 158527 bytes assets/tracks/track3-5/track.txt | 3 + assets/tracks/track3-6/track.png | Bin 147842 -> 147842 bytes assets/tracks/track3-6/track.txt | 3 + assets/tracks/track4-1/track.png | Bin 138849 -> 138849 bytes assets/tracks/track4-1/track.txt | 3 + assets/tracks/track4-2/track.png | Bin 139009 -> 139009 bytes assets/tracks/track4-2/track.txt | 3 + assets/tracks/track4-3/track.png | Bin 132461 -> 132461 bytes assets/tracks/track4-3/track.txt | 3 + assets/tracks/track4-4/track.png | Bin 166775 -> 166775 bytes assets/tracks/track4-4/track.txt | 3 + assets/tracks/track4-5/track.png | Bin 121125 -> 121125 bytes assets/tracks/track4-5/track.txt | 3 + assets/tracks/track4-6/track.png | Bin 156272 -> 156272 bytes assets/tracks/track4-6/track.txt | 3 + assets/vehicles/camaro-menu.png | Bin 0 -> 410 bytes assets/vehicles/camaro.png | Bin 0 -> 170377 bytes assets/vehicles/camaro.txt | 23 ++ assets/vehicles/caravan-menu.png | Bin 0 -> 408 bytes assets/vehicles/caravan.png | Bin 0 -> 151425 bytes assets/vehicles/caravan.txt | 23 ++ assets/vehicles/cow-menu.png | Bin 0 -> 301 bytes assets/vehicles/cow.txt | 7 + assets/vehicles/f1-menu.png | Bin 0 -> 365 bytes assets/vehicles/f1.txt | 7 + assets/vehicles/midget-menu.png | Bin 0 -> 398 bytes assets/vehicles/midget.txt | 7 + assets/vehicles/mini-menu.png | Bin 0 -> 360 bytes assets/vehicles/mini.txt | 7 + assets/vehicles/police-menu.png | Bin 0 -> 376 bytes assets/vehicles/police.txt | 7 + assets/vehicles/porsche-menu.png | Bin 0 -> 341 bytes assets/vehicles/porsche.txt | 7 + assets/vehicles/truck-menu.png | Bin 0 -> 412 bytes assets/vehicles/truck.txt | 7 + assets/vehicles/vw-menu.png | Bin 0 -> 381 bytes assets/vehicles/vw.txt | 7 + docs/FORMATS.md | 149 ++++++++--- src/app.rs | 330 ++++++++++++++++++++---- src/audio.rs | 415 ++++++++++++++++++++++++------- src/data/mod.rs | 156 +++++++++++- src/data/palette.rs | 8 +- src/data/track.rs | 39 ++- src/data/vehicle.rs | 131 ++++++++-- src/formats/iff.rs | 296 ++++++++++++++++++++++ src/formats/lha.rs | 38 ++- src/formats/lzh.rs | 307 +++++++++++++++++++++++ src/formats/med.rs | 174 +++++++++++++ src/formats/mod.rs | 3 + src/game/ai.rs | 18 +- src/game/mod.rs | 141 ++++++++++- src/main.rs | 222 ++++++++++++++++- src/music.rs | 283 +++++++++++++++++++++ 106 files changed, 2706 insertions(+), 287 deletions(-) create mode 100644 assets/gfx/chat2.png create mode 100644 assets/gfx/mouse.png create mode 100644 assets/gfx/sign.png create mode 100644 assets/gfx/skidtoon.png create mode 100644 assets/music/tune.med create mode 100644 assets/sounds/backfire.wav create mode 100644 assets/sounds/beep.wav create mode 100644 assets/sounds/beep2.wav create mode 100644 assets/sounds/crash1.wav create mode 100644 assets/sounds/crash2.wav create mode 100644 assets/sounds/crash3.wav create mode 100644 assets/sounds/engine.wav create mode 100644 assets/sounds/horn.wav create mode 100644 assets/sounds/motor.wav create mode 100644 assets/sounds/motor3.wav create mode 100644 assets/sounds/screech.wav create mode 100644 assets/sounds/screech2.wav create mode 100644 assets/sounds/screech3.wav create mode 100644 assets/vehicles/camaro-menu.png create mode 100644 assets/vehicles/camaro.png create mode 100644 assets/vehicles/camaro.txt create mode 100644 assets/vehicles/caravan-menu.png create mode 100644 assets/vehicles/caravan.png create mode 100644 assets/vehicles/caravan.txt create mode 100644 assets/vehicles/cow-menu.png create mode 100644 assets/vehicles/f1-menu.png create mode 100644 assets/vehicles/midget-menu.png create mode 100644 assets/vehicles/mini-menu.png create mode 100644 assets/vehicles/police-menu.png create mode 100644 assets/vehicles/porsche-menu.png create mode 100644 assets/vehicles/truck-menu.png create mode 100644 assets/vehicles/vw-menu.png create mode 100644 src/formats/iff.rs create mode 100644 src/formats/lzh.rs create mode 100644 src/formats/med.rs create mode 100644 src/music.rs diff --git a/README.md b/README.md index 6017d70..e11fdc7 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,17 @@ A cross-platform (Windows, macOS, Linux) engine written in Rust that plays *Super Skidmarks* (Acid Software, 1995) on the original Amiga data. -The game's data was converted from the original ADF disk images (disks 2–6 -of the six-disk set) into editable files in [`assets/`](assets/README.md). -The images themselves are no longer kept in this repository. +The game's data was converted from the six original ADF disk images into +editable files in [`assets/`](assets/README.md). The images themselves +aren't kept in this repository. - **Each track:** a 16-colour PNG (the PNG's palette is the track's palette), plus a text file with the lap gates and height map. -- **Each car:** a PNG sprite sheet, plus a text file with its name and - handling. +- **Each car:** a PNG sprite sheet and menu picture, plus a text file with + its name, driver and handling. +- **Sounds:** WAV files. +- **Music:** the tune, as an OctaMED module. +- **Pictures:** the title picture and a few other images, as PNGs. Edit them with any image editor or text editor. The build embeds the `assets/` folder, so the finished program is a single self-contained file. @@ -24,36 +27,33 @@ give either to also gets the game data. ## What works -- All 24 tracks across the four track files. Each has its isometric height - map and lap gates. -- All 8 vehicles (Mini, Beetle, Porsche, Formula 1, Midget, Truck, Police, - Cow), with 32 headings and 25 body-tilt frames for hills. +- All 24 tracks across the four track files, in their original palettes. + Each has its isometric height map and lap gates. +- All 9 cars (Mini, Beetle, Porsche, Formula 1, Midget, Truck, Police, + Cow, Camaro) with their drivers' names, each with 32 headings and 25 + body-tilt frames for hills. +- The caravan: turn on **Caravans** in the menu and every car tows one. +- The original sound effects, and the original tune played by a built-in + OctaMED player. The menu has a **Music** option: menus, always, or off. +- The original title picture. - 1 or 2 players (split screen) plus up to 7 computer drivers. - Power-slide handling, slopes, car-to-car bumping, and skid marks burnt into the track. - Lap and position tracking, lap times, and a results table. -- Procedural engine, tyre and crash sound. +- Engine note pitched with revs, tyre screech, crashes, backfires, a horn + and start beeps, all from the original samples. ## What's reconstructed -Disk 1 of the six-disk set is missing from this archive. It held the -executable, palettes, sound and music. As a result: +The executable is on disk 1, but its game logic, a compiled Blitz Basic 2 +program, hasn't been decoded. So the **handling, computer drivers and race +rules** are new code written to feel like the original, not a translation +of it. -- **Handling, AI and race rules** are new code written to feel like the - original, not a translation of the original 68000 code. -- **Colours** come from a reconstructed palette, built around how the - tracks use their 16 colour indices. If you have the real palettes, put - them in a `palettes/` folder next to the disks as `.pal` files (16 lines - of `RRGGBB`): - - `track1-3.pal` for one track - - `track1.pal` for all six tracks in a file - - `default.pal` for everything -- **Sound** is synthesised. - -If you find disk 1, drop it in with the others. Anything it contains under -`track/` or `vehicles/` is picked up automatically. The format notes in -[docs/FORMATS.md](docs/FORMATS.md) cover everything reverse engineered so -far. +Each car's original settings file has eleven handling numbers whose +meaning lives in that code. They're kept in the car's settings asset for +when it is decoded. [docs/FORMATS.md](docs/FORMATS.md) covers everything +reverse engineered so far. ## Running @@ -76,6 +76,7 @@ exists both as an asset and on disk, the asset wins. | Accelerate | ↑ (or W in one-player games) | W | | Brake / reverse | ↓ (or S) | S | | Steer | ← → (or A D) | A D | +| Horn | Right Shift | Left Shift | | Pause | P | | | Leave race | Esc | | @@ -89,6 +90,8 @@ skids extract --data ADFS [--out assets] # convert original disks into editable skids bench --data DIR --seconds 120 # race CPU cars on every track: laps and time on road skids trace --data DIR --track 11 --out t.png # plot CPU racing lines skids render --data DIR --track 3 --out shot.png # headless screenshot +skids music --out tune.wav --seconds 60 # render the tune to WAV +skids unpack disk.adf --out files/ # extract a disk or LHA archive as-is ``` ## Building @@ -114,11 +117,12 @@ GitHub Actions builds all three platforms on every push ``` assets/ the game data as editable PNG and text files build.rs embeds assets/ into the executable -src/formats/ ADF (OFS/FFS), LHA and CrunchMania readers +src/formats/ ADF (OFS/FFS), LHA (incl. -lh5-), CrunchMania, IFF 8SVX/ILBM, OctaMED src/data/ track, vehicle and palette decoding; locating the game files src/game/ physics, AI and race rules src/render/ software renderer at 320×256 (PAL low-res) and a bitmap font -src/audio.rs synthesised sound (cpal) +src/audio.rs sample mixer and sound effects (cpal) +src/music.rs OctaMED player src/app.rs menus, race screens and results ``` diff --git a/assets/README.md b/assets/README.md index 15e8e79..b6c46ae 100644 --- a/assets/README.md +++ b/assets/README.md @@ -42,6 +42,8 @@ Plain text; lines starting with `#` are comments. - **`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. +- **`set`:** the name of the set of tracks this one belongs to, shown under + the menu thumbnail. - **`start`, `flags`:** values from the original data that the game doesn't use. @@ -68,12 +70,21 @@ A 2048 × 800 sprite sheet: 32 headings across by 25 tilts down, each cell - **Tilts:** row = roll × 5 + pitch (each 0–4), so row 12 is the car on flat ground. +### `-menu.png` (optional) + +The car's 64 × 32 picture from the original select screen, in the same +four colours as the sprite sheet. + ### `.txt` -The display name and handling: +The display name, driver and handling: | Setting | Meaning | |-----------|---------| +| `name` | name shown in the menu | +| `driver` | driver's name, shown next to it | +| `trailer` | `yes` for something towed behind cars (the caravan) rather than driven | +| `original`| the 16 values from the original `.set` file, kept for reference; the game doesn't use them yet | | `top` | top speed on tarmac | | `accel` | acceleration | | `brake` | braking | @@ -82,7 +93,39 @@ The display name and handling: | `mass` | weight in collisions | | `offroad` | speed and grip multiplier on scenery | -To add a car, add a new `.png` / `.txt` pair. +The handling values are a reconstruction, so tune them freely. To add a +car, add a new `.png` / `.txt` pair. + +## Sounds: `sounds/*.wav` + +8-bit mono WAV files at the original Amiga sample rates. A loop point, +stored in the WAV's `smpl` chunk, makes a sound repeat from there; most +sample editors keep it. The game uses these names: + +| Sound | Use | +|-------|-----| +| `motor3` | engine, pitched up and down with revs (falls back to `motor`, then `engine`) | +| `screech2` | tyres sliding (falls back to `screech3`, then `screech`) | +| `crash1`, `crash2`, `crash3` | collisions, picked at random | +| `backfire` | lifting off at high revs | +| `horn` | Right Shift (player 1) or Left Shift (player 2) | +| `beep`, `beep2` | countdown, then lights out | + +Missing sounds fall back to synthesised ones. Any other WAV files are kept +but not used. + +## Music: `music/*.med` + +The tune, an OctaMED module. Edit it in a tracker that reads MED files, +such as OpenMPT. The game's player supports plain sample instruments (no +synth sounds) and the commands listed in `docs/FORMATS.md`. Preview it +with `skids music --data assets --out tune.wav`. If there are several +files, the first in name order plays. + +## Pictures: `gfx/*.png` + +Indexed PNGs. `skidtoon.png` is the title picture at the top of the menu, +shown at half size. The others aren't used. ## Palettes: `palettes/*.pal` (optional) diff --git a/assets/gfx/chat2.png b/assets/gfx/chat2.png new file mode 100644 index 0000000000000000000000000000000000000000..2268e3bef7e57f8b6a76129426df18beb8716a9c GIT binary patch literal 727 zcmV;|0x127P)5%j)!TCGX54P^g7zf(gpY4HL#Ig0lO08 zH!`Z{Wdexa7kTZ2y7piM3gpC$jJ(0yx+-`uLDB2m2-@RrIw&$`4W3vWXMZ8b+46~vEAwIx>o|y;b^-4&z82R`6;NV+ zbAuXLxLBv0Z-tX+^B`1uNkauk)#~^w06ftHt`5k(7W4X~ctp5O{Ca`YMLNvlwGvq`cq(^2$PJIB!f#3k25WS|ql3me;3e zdcb9~A|MV2xRu)5^!8g#?Ue|Aq$O`@{c`Srn_M1Oty9p;{m{!5AGx%_yN2;(C}M@Q zx2<)28s%V}wdq80&*I@G70RQ8XZz21ZV~vACpLV<&2S$iA7gnMQh>sl{C>)Jn?q12 zeLkw^5JKdxc)~_93cmF4+<*-(-y?DQ^>@ikcGnIaC%L3sYT233`wAa^6GtZS#2j!h z!}hPz_C2bjRxKDsAFQ%3KQJu$i}8(_XFRv?o)kJVrnw17EG59LiW#JO++1Ltm;&EW z2k!7O_Nr%WE%{p88mC_oz8k^hgzN?nrJ7NCGDFODr5G|?F7S=K+UI#5z&izr8Qy-6 zc!tfVflf=J@;~r?DE`RrZ5mn79T@u0%CA!4SmRR7SGX2ll)v34hDT(I?H2$5002ov JPDHLkV1f|`SGxcJ literal 0 HcmV?d00001 diff --git a/assets/gfx/mouse.png b/assets/gfx/mouse.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd994447bbc691a715b3bff5944b190d5fbe9dc GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!L4Z$)E0BJ0V8HxCt4)xA36PM1;Zy5qR6r8N;P6)CwEtiJ9 sc^^INs&_l;+xGN&pJo%=EPaf*|DS-`oV8xkK(iSlq A!2kdN literal 0 HcmV?d00001 diff --git a/assets/gfx/skidtoon.png b/assets/gfx/skidtoon.png new file mode 100644 index 0000000000000000000000000000000000000000..3238f64e940ef8a4eb32846ebdd8c572228ce4f6 GIT binary patch literal 15666 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 Y0iAw2Xlp>wI{*Lx07*qoM6N<$f*w&afdBvi literal 0 HcmV?d00001 diff --git a/assets/music/tune.med b/assets/music/tune.med new file mode 100644 index 0000000000000000000000000000000000000000..3d91c342458a508d2632cee31c5e5f2d3513da84 GIT binary patch literal 228148 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�$%mX)(2-;kcHp%H!^hiZkJX2c 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[_RzIU**_|DzqrkdO!@JHb++Uy(9 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/beep.wav b/assets/sounds/beep.wav new file mode 100644 index 0000000000000000000000000000000000000000..5d9024cb745e91135cd460ba3c6d37a77ccde577 GIT binary patch literal 8148 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 X85rwx0N=s?e}wgaFg1Yh=P~p@Y>ZN> literal 0 HcmV?d00001 diff --git a/assets/sounds/beep2.wav b/assets/sounds/beep2.wav new file mode 100644 index 0000000000000000000000000000000000000000..7b36af5a9dfcb98af432cba049bd45a3a2289bed GIT binary patch literal 4130 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 I`~QFaAMFb*p#T5? literal 0 HcmV?d00001 diff --git a/assets/sounds/crash1.wav b/assets/sounds/crash1.wav new file mode 100644 index 0000000000000000000000000000000000000000..5a5acbd03a796e2ee9590ede265502427748a9bf GIT binary patch literal 3724 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/crash2.wav b/assets/sounds/crash2.wav new file mode 100644 index 0000000000000000000000000000000000000000..37d07d60fc53c8796c9fbcf4e55961a7dc0a7a15 GIT binary patch literal 3548 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 AQvd(} literal 0 HcmV?d00001 diff --git a/assets/sounds/crash3.wav b/assets/sounds/crash3.wav new file mode 100644 index 0000000000000000000000000000000000000000..59157355cf711641e427c562aa6a491b19c08f84 GIT binary patch literal 2310 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 literal 0 HcmV?d00001 diff --git a/assets/sounds/screech.wav b/assets/sounds/screech.wav new file mode 100644 index 0000000000000000000000000000000000000000..b396e6e9819b0aa3bceef73766a41fdd3c49f0e9 GIT binary patch literal 10448 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 Yw=g)u|Ko=%kWq)Vq|9m~AX=_ihlKG6P9(B1 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 T{r_9P`hUFqaXA71zw3Vk)Nf=E literal 0 HcmV?d00001 diff --git a/assets/tracks/track1-1/track.png b/assets/tracks/track1-1/track.png index cd3c03eee89654ea83d35571dbc8bd450f9190a8..e2541056265840ccd8122abaa0b56ad04c42e81d 100644 GIT binary patch delta 71 zcmV-N0J#5zq6mbd2#_f>0000YnKPOWXQfn9}N0kvHMrw~jvA+rDg delta 71 zcmV-N0J#5zq6mbd2#_f>3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMrx1IH976yA diff --git a/assets/tracks/track1-1/track.txt b/assets/tracks/track1-1/track.txt index 4ec564a..b38f9b6 100644 --- a/assets/tracks/track1-1/track.txt +++ b/assets/tracks/track1-1/track.txt @@ -27,6 +27,9 @@ gate 600.6875 768.8125 488.4375 696.3125 gate 599.25 904.75 487.75 759.25 gate 456.75 935 408.5 776.75 +# Name of the set of tracks this one belongs to, shown in the menu. +set Racing In The Name Of + # As stored in the original data; not used by the game. start 458 107 flags 1 diff --git a/assets/tracks/track1-2/track.png b/assets/tracks/track1-2/track.png index 2b016fe93ed9c950a6a9b62f06b29e8453aa634c..4fa1b6d90e20ec038a0ffc29fadcd4da6f813d7e 100644 GIT binary patch delta 71 zcmV-N0J#60(FmN;2#_f>0000YnKPOWXQfn9}N0kvHMKPYjmA@KkJ delta 71 zcmV-N0J#60(FmN;2#_f>3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMKPaI89Dx7; diff --git a/assets/tracks/track1-2/track.txt b/assets/tracks/track1-2/track.txt index d66dc0f..f1718d8 100644 --- a/assets/tracks/track1-2/track.txt +++ b/assets/tracks/track1-2/track.txt @@ -36,6 +36,9 @@ gate 253.125 618.375 144.34375 626.03125 gate 311.4375 676.8125 239.25 719.28125 gate 357.25 723.75 333.1875 815.5625 +# Name of the set of tracks this one belongs to, shown in the menu. +set Racing In The Name Of + # As stored in the original data; not used by the game. start 461 295 flags 0 diff --git a/assets/tracks/track1-3/track.png b/assets/tracks/track1-3/track.png index 4cc87e64384fa04b1a3e72e10f11494623ed5d72..d92666b152456d7678f49189cc89116d12fa78ed 100644 GIT binary patch delta 68 zcmV-K0K5Oe?gzo{2aqW=0000YnKPOWXQfnBv-0p#{C-Xj74 delta 68 zcmV-K0K5Oe?gzo{2aqW=3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N al#qt5s-DcqyzuViqO2fAfnBv-0p#{?fgO?n diff --git a/assets/tracks/track1-3/track.txt b/assets/tracks/track1-3/track.txt index cecec04..ef721b9 100644 --- a/assets/tracks/track1-3/track.txt +++ b/assets/tracks/track1-3/track.txt @@ -31,6 +31,9 @@ gate 487.75 549.25 491.5 648.5 gate 708 556 686.5 649.5 gate 766.5 529.5 861 616.5 +# Name of the set of tracks this one belongs to, shown in the menu. +set Racing In The Name Of + # As stored in the original data; not used by the game. start 608 305 flags 0 diff --git a/assets/tracks/track1-4/track.png b/assets/tracks/track1-4/track.png index 5c64086d73dada7a4b86d15ffca5786c144a0ae2..22b6514968ce1adb36d3ba7c6a174aab3f0515c0 100644 GIT binary patch delta 68 zcmV-K0K5PHvOWXQfnBv-0V3Kk#v&{L delta 68 zcmV-K0K5PHvpp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N al#qt5s-DcqyzuViqO2fAfnBv-0V3LPX&k%& diff --git a/assets/tracks/track1-4/track.txt b/assets/tracks/track1-4/track.txt index e9e9960..0149810 100644 --- a/assets/tracks/track1-4/track.txt +++ b/assets/tracks/track1-4/track.txt @@ -31,6 +31,9 @@ gate 761 667 688.5 575.5 gate 645 675 623 573 gate 550.4375 729.8125 495.75 655.25 +# Name of the set of tracks this one belongs to, shown in the menu. +set Racing In The Name Of + # As stored in the original data; not used by the game. start 608 305 flags 0 diff --git a/assets/tracks/track1-5/track.png b/assets/tracks/track1-5/track.png index 3f10d94398bc233d175149c8d204990a7aa029bb..9ba0206cc9b41ffeec244d70bf2598844ea10a96 100644 GIT binary patch delta 71 zcmV-N0J#5zh6#j*36Lo?0000YnKPOWXQfn9}N0kvHMr$RmQA+G=c delta 71 zcmV-N0J#5zh6#j*36Lo?3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMr$TK-96ta6 diff --git a/assets/tracks/track1-5/track.txt b/assets/tracks/track1-5/track.txt index 96fe681..be020d4 100644 --- a/assets/tracks/track1-5/track.txt +++ b/assets/tracks/track1-5/track.txt @@ -32,6 +32,9 @@ gate 381.40625 687.25 449.78125 749.875 gate 472.28125 690.78125 551.53125 741.53125 gate 468.5625 611.34375 549.5625 610.34375 +# Name of the set of tracks this one belongs to, shown in the menu. +set Racing In The Name Of + # As stored in the original data; not used by the game. start 301 79 flags 0 diff --git a/assets/tracks/track1-6/track.png b/assets/tracks/track1-6/track.png index de23f0a61b6d006235edc2be17f09731bb0e8bfe..9379e898ab538573d6999ed00cdc9a65c3dcbf0f 100644 GIT binary patch delta 71 zcmV-N0J#79(+K+02#_f>0000YnKPOWXQfn9}N0kvHMohhb;BM<-p delta 71 zcmV-N0J#79(+K+02#_f>3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMohjAW9iRXJ diff --git a/assets/tracks/track1-6/track.txt b/assets/tracks/track1-6/track.txt index 432f2c3..3f71a25 100644 --- a/assets/tracks/track1-6/track.txt +++ b/assets/tracks/track1-6/track.txt @@ -48,6 +48,9 @@ gate 535.65625 389.6875 437.78125 406.5625 gate 576.625 424.75 529.125 502.25 gate 646.96875 425.4375 648.46875 504.4375 +# Name of the set of tracks this one belongs to, shown in the menu. +set Racing In The Name Of + # As stored in the original data; not used by the game. start 434 354 flags 1 diff --git a/assets/tracks/track2-1/track.png b/assets/tracks/track2-1/track.png index 9c328f8b1e3e0d551e24c0093e1de7be59ead70a..26a4eb5912db50cb93590b327de753729c0a90b6 100644 GIT binary patch delta 68 zcmV-K0K5O0?gyFf2aqW=0000HnId;pGpa;0RhdM0cXzv0GiG<0yLU6pcSNd)h|HOH as=K@0s;bP)|L*SYA?B&_fnBv-0lfAD$|Ao2 delta 68 zcmV-K0K5O0?gyFf2aqW=3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N al#qt5s-DcqyzuViqO2fAfnBv-0lfBFX&o8> diff --git a/assets/tracks/track2-1/track.txt b/assets/tracks/track2-1/track.txt index 160eb12..f1ddc41 100644 --- a/assets/tracks/track2-1/track.txt +++ b/assets/tracks/track2-1/track.txt @@ -28,6 +28,9 @@ gate 360.5 837.5 380 756 gate 222.9375 708.375 281.25 659.65625 gate 80.25 559.03125 229.5625 610.21875 +# Name of the set of tracks this one belongs to, shown in the menu. +set Even Flow + # As stored in the original data; not used by the game. start 474 167 flags 1 diff --git a/assets/tracks/track2-2/track.png b/assets/tracks/track2-2/track.png index 19dc2c82b881e1aa03540cd32d00c6aca909e80b..45bf83068f4338a0ef34c81a416b36906bc6ffe6 100644 GIT binary patch delta 68 zcmV-K0K5N`pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N al#qt5s-DcqyzuViqO2fAfnBv-0k`o|qa5-8 diff --git a/assets/tracks/track2-2/track.txt b/assets/tracks/track2-2/track.txt index 955b8ff..c821728 100644 --- a/assets/tracks/track2-2/track.txt +++ b/assets/tracks/track2-2/track.txt @@ -33,6 +33,9 @@ gate 622.375 910.5 544.6875 822.6875 gate 508.6875 934.5 481.71875 820.71875 gate 418 903.5 421.75 805.75 +# Name of the set of tracks this one belongs to, shown in the menu. +set Even Flow + # As stored in the original data; not used by the game. start 339 117 flags 1 diff --git a/assets/tracks/track2-3/track.png b/assets/tracks/track2-3/track.png index 4d62ac25b4c270ad054fa1e6f9b906e4c4536fba..b746d53df5d38ad0ff143c5027fc23eb13d192bb 100644 GIT binary patch delta 71 zcmV-N0J#7Dg9!eE2#_f>0000HnId;pGpa;0RhdM0cXzv0GiG<0yLU6pcSNd)h|HOH ds=K@0s;bP)|L*SYA?B&_fn9}N0kvHMp#f)PB8dP1 delta 71 zcmV-N0J#7Dg9!eE2#_f>3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMp#iNF9OM81 diff --git a/assets/tracks/track2-3/track.txt b/assets/tracks/track2-3/track.txt index 531dfd6..f4a4bed 100644 --- a/assets/tracks/track2-3/track.txt +++ b/assets/tracks/track2-3/track.txt @@ -40,6 +40,9 @@ gate 610 280 715.5 340.5 gate 627.25 212.75 703.5 208.5 gate 565.5 156.5 587 89 +# Name of the set of tracks this one belongs to, shown in the menu. +set Even Flow + # As stored in the original data; not used by the game. start 420 97 flags 0 diff --git a/assets/tracks/track2-4/track.png b/assets/tracks/track2-4/track.png index 1cb3e8e95f2e87f1f5e9147ca5daacc369618f25..b44ef7a6ec4be2101af64f5676eaa5bce9aa7cc6 100644 GIT binary patch delta 68 zcmV-K0K5O3z6YGX2aqW=0000HnId;pGpa;0RhdM0cXzv0GiG<0yLU6pcSNd)h|HOH as=K@0s;bP)|L*SYA?B&_fnBv-0l(hts3K4R delta 68 zcmV-K0K5O3z6YGX2aqW=3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N al#qt5s-DcqyzuViqO2fAfnBv-0l(fuRvfDU diff --git a/assets/tracks/track2-4/track.txt b/assets/tracks/track2-4/track.txt index 9e237bd..c5e6ea9 100644 --- a/assets/tracks/track2-4/track.txt +++ b/assets/tracks/track2-4/track.txt @@ -47,6 +47,9 @@ gate 551.3125 264.84375 488.125 183.375 gate 504.84375 311.25 424.9375 247.21875 gate 465.90625 350.15625 376.78125 298.09375 +# Name of the set of tracks this one belongs to, shown in the menu. +set Even Flow + # As stored in the original data; not used by the game. start 689 201 flags 1 diff --git a/assets/tracks/track2-5/track.png b/assets/tracks/track2-5/track.png index 8dbbc09a5c4720a97517393403ba00408553784a..eee6ed583fbdf8aa56833fde732788a49c82599c 100644 GIT binary patch delta 71 zcmV-N0J#5$gb0U(2#_f>0000HnId;pGpa;0RhdM0cXzv0GiG<0yLU6pcSNd)h|HOH ds=K@0s;bP)|L*SYA?B&_fn9}N0kvHMssSfrA*KKT delta 71 zcmV-N0J#5$gb0U(2#_f>3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMssU{h9033T diff --git a/assets/tracks/track2-5/track.txt b/assets/tracks/track2-5/track.txt index 618574a..534c1da 100644 --- a/assets/tracks/track2-5/track.txt +++ b/assets/tracks/track2-5/track.txt @@ -51,6 +51,9 @@ gate 598.9375 295.90625 581.4375 233.40625 gate 486.375 293.34375 450.375 235.34375 gate 350.8125 298.75 320.0625 235.5 +# Name of the set of tracks this one belongs to, shown in the menu. +set Even Flow + # As stored in the original data; not used by the game. start 353 47 flags 0 diff --git a/assets/tracks/track2-6/track.png b/assets/tracks/track2-6/track.png index ba64ee694d1bef3ec85e3f1b974fc3b33a300c15..6c3d150012a83fc44cadc2a39723e31efe83b2fe 100644 GIT binary patch delta 68 zcmV-K0K5OLss^sA29PN<0000HnId;pGpa;0RhdM0cXzv0GiG<0yLU6pcSNd)h|HOH as=K@0s;bP)|L*SYA?B&_fnBv-0nwD}A0iR} delta 68 zcmV-K0K5OLss^sA29PN<3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N al#qt5s-DcqyzuViqO2fAfnBv-0nwB}%^Yn2 diff --git a/assets/tracks/track2-6/track.txt b/assets/tracks/track2-6/track.txt index 75a6ae1..644edbe 100644 --- a/assets/tracks/track2-6/track.txt +++ b/assets/tracks/track2-6/track.txt @@ -54,6 +54,9 @@ gate 722.125 791.0625 640.125 753.0625 gate 659.5 864.25 598.5 787.25 gate 556.375 884.4375 560.75 793.5625 +# Name of the set of tracks this one belongs to, shown in the menu. +set Even Flow + # As stored in the original data; not used by the game. start 353 47 flags 0 diff --git a/assets/tracks/track3-1/track.png b/assets/tracks/track3-1/track.png index 2fe73aafca29ef32a5d2e77761ce2ba5aefe4752..1af44480c1ca32bbfeffe1ff89b9f60d67259c63 100644 GIT binary patch delta 71 zcmX?cgY(1<&Iy_(#x8pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHM>ubKm9oPT> diff --git a/assets/tracks/track3-1/track.txt b/assets/tracks/track3-1/track.txt index 43076c4..e3ec483 100644 --- a/assets/tracks/track3-1/track.txt +++ b/assets/tracks/track3-1/track.txt @@ -44,6 +44,9 @@ gate 307.5 604.875 307.6875 694.3125 gate 358.5 603.5 386 696 gate 437.34375 599.28125 412.75 695.25 +# Name of the set of tracks this one belongs to, shown in the menu. +set Surf 'n' Slam + # As stored in the original data; not used by the game. start 641 315 flags 0 diff --git a/assets/tracks/track3-2/track.png b/assets/tracks/track3-2/track.png index a557fce336734314eaf46856fcfc2355018e9369..9eae5b2215fd3c0fdb0e74c69b9cb1258a0de189 100644 GIT binary patch delta 71 zcmbQZgk$0ojtQD3#x83>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMv=M{E9B%*s diff --git a/assets/tracks/track3-2/track.txt b/assets/tracks/track3-2/track.txt index 4cf94ef..1d72498 100644 --- a/assets/tracks/track3-2/track.txt +++ b/assets/tracks/track3-2/track.txt @@ -30,6 +30,9 @@ gate 498.8125 807.25 578.75 940.28125 gate 566.5 820.5 690.75 890.25 gate 597.75 790.3125 707.8125 768.96875 +# Name of the set of tracks this one belongs to, shown in the menu. +set Surf 'n' Slam + # As stored in the original data; not used by the game. start 475 288 flags 0 diff --git a/assets/tracks/track3-3/track.png b/assets/tracks/track3-3/track.png index 9b503883dc2375c7aad7898a311f7749e583f5ca..6bc19f13fb41278bbe8bb51c6c78c955e340c462 100644 GIT binary patch delta 68 zcmccK!*;!gZGxtWv5VlDGrN`21k+rMT{@IpLepj%E2VWPtuj_x6>7XH&84HmrMx_C YcR7&Jv3q8DclU-x}8Gp3`0G*c|0ssI2 delta 68 zcmV-K0K5O!j0V??29PN<3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N al#qt5s-DcqyzuViqO2fAfnBv-0s4hV1007XH&84HmrMx_C bcR7&Jv3q8DclU-3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHM&;x`f9DM)) diff --git a/assets/tracks/track3-4/track.txt b/assets/tracks/track3-4/track.txt index 8ea54b9..f837bee 100644 --- a/assets/tracks/track3-4/track.txt +++ b/assets/tracks/track3-4/track.txt @@ -39,6 +39,9 @@ gate 573.59375 394.84375 716.59375 427.84375 gate 483.625 301.96875 614.125 331.46875 gate 450.3125 217.03125 589.3125 298.03125 +# Name of the set of tracks this one belongs to, shown in the menu. +set Surf 'n' Slam + # As stored in the original data; not used by the game. start 796 294 flags 0 diff --git a/assets/tracks/track3-5/track.png b/assets/tracks/track3-5/track.png index 68c173e789c34e194deb7114baf9e6417f7e6242..9f728cc5b887df41ccc0dd8f8aaafaddac00f1b9 100644 GIT binary patch delta 71 zcmdmgjdTAs&Iy_(#x8pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHM;%d0O9k>7h diff --git a/assets/tracks/track3-5/track.txt b/assets/tracks/track3-5/track.txt index ab4b934..a1b37fc 100644 --- a/assets/tracks/track3-5/track.txt +++ b/assets/tracks/track3-5/track.txt @@ -36,6 +36,9 @@ gate 304.5 269.5 405 337 gate 335.75 207.5 415.75 287.5 gate 386.125 161.5 465.375 240.25 +# Name of the set of tracks this one belongs to, shown in the menu. +set Surf 'n' Slam + # As stored in the original data; not used by the game. start 744 137 flags 0 diff --git a/assets/tracks/track3-6/track.png b/assets/tracks/track3-6/track.png index 650072a135f562e63d44c3c3e5304e7bbf498b5b..4beb8474008a865dec0a47fb51c2d4e846506bd7 100644 GIT binary patch delta 71 zcmZo_=4@)_oS>_yP%xpp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMB|&MA8?pcZ diff --git a/assets/tracks/track3-6/track.txt b/assets/tracks/track3-6/track.txt index ef8fed3..69893c1 100644 --- a/assets/tracks/track3-6/track.txt +++ b/assets/tracks/track3-6/track.txt @@ -47,6 +47,9 @@ gate 796.78125 544.59375 896.84375 523.4375 gate 760.125 503.53125 816.78125 446.34375 gate 658.5 417.5 705.75 366.25 +# Name of the set of tracks this one belongs to, shown in the menu. +set Surf 'n' Slam + # As stored in the original data; not used by the game. start 356 188 flags 0 diff --git a/assets/tracks/track4-1/track.png b/assets/tracks/track4-1/track.png index 792682d099c95bfb7242ffbe05e22f6b1ec0d606..946757622b1022d31ce305c3f82f74798fa06544 100644 GIT binary patch delta 71 zcmaF3hvVTMjtQD3#>Pr#?w)aRaS1I~3Jnb{4>g|YqSTS5lvWM|p)<>k&vYnt%3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHM1RlD%9Gn0E diff --git a/assets/tracks/track4-1/track.txt b/assets/tracks/track4-1/track.txt index 08f7aee..1589b5c 100644 --- a/assets/tracks/track4-1/track.txt +++ b/assets/tracks/track4-1/track.txt @@ -37,6 +37,9 @@ gate 402 504 402 378 gate 342.53125 501.71875 264 374.5 gate 316.5625 513.03125 192.25 387 +# Name of the set of tracks this one belongs to, shown in the menu. +set Sounf Of Speed + # As stored in the original data; not used by the game. start 213 275 flags 1 diff --git a/assets/tracks/track4-2/track.png b/assets/tracks/track4-2/track.png index 442cfb07c463bb27b50b256aaa0bf125e6b88a50..cd609738bd2480d96aca0db8b39322e41f2c29df 100644 GIT binary patch delta 71 zcmZqN$I-ZtV}hoMv9Z#byJuWnTtds0LPJB#Lyc#;D0QSMrIiCg=*)8CGaX7DGds@A b4Bb7meE05E2jBGUX^d@+W!xIev_uX7D5@W7 delta 71 zcmV-N0J#5wz6gQ72#_f>3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHMq#lUt9Do1- diff --git a/assets/tracks/track4-2/track.txt b/assets/tracks/track4-2/track.txt index 95d41a2..6920a75 100644 --- a/assets/tracks/track4-2/track.txt +++ b/assets/tracks/track4-2/track.txt @@ -47,6 +47,9 @@ gate 715.375 842.65625 586.40625 755 gate 701.84375 891.1875 585.65625 814.03125 gate 663.3125 939.1875 581.0625 837.78125 +# Name of the set of tracks this one belongs to, shown in the menu. +set Sounf Of Speed + # As stored in the original data; not used by the game. start 122 216 flags 0 diff --git a/assets/tracks/track4-3/track.png b/assets/tracks/track4-3/track.png index c784d91bfb1ad68f9f1e291ed1310b28ec8c6a59..0e3f6b8a61dcd9857fa038e129c2f9372cf8fbcb 100644 GIT binary patch delta 71 zcmaFc#qqX_V}hoMv9Z#byJuWnTtds0LPJB#Lyc#;D0QSMrIiCg=*)8CGaX7DGds@A b4Bb7meE05E2jBGUX^d@+W!xIeB)|#)MmZlX delta 71 zcmV-N0J#6{iU{qB2#_f>3>pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHM5Cx`s976yA diff --git a/assets/tracks/track4-3/track.txt b/assets/tracks/track4-3/track.txt index f055732..bebca03 100644 --- a/assets/tracks/track4-3/track.txt +++ b/assets/tracks/track4-3/track.txt @@ -40,6 +40,9 @@ gate 372.1875 581.84375 301.1875 652.34375 gate 402.625 626.75 392.625 759.25 gate 435.0625 628.59375 502.1875 772.34375 +# Name of the set of tracks this one belongs to, shown in the menu. +set Sounf Of Speed + # As stored in the original data; not used by the game. start 672 360 flags 0 diff --git a/assets/tracks/track4-4/track.png b/assets/tracks/track4-4/track.png index 2d90a14498cbfe224c949cfb367d592bd023ec27..61c3e07674d3193f49624fd5af79b5dc6c0c11bc 100644 GIT binary patch delta 71 zcmex9jqCd~t_hkZ#>Pr#?w)aRaS1I~3Jnb{4>g|YqSTS5lvWM|p)<>k&vYnt%pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHM8jG|19RmOW diff --git a/assets/tracks/track4-4/track.txt b/assets/tracks/track4-4/track.txt index 3db98fc..efd1411 100644 --- a/assets/tracks/track4-4/track.txt +++ b/assets/tracks/track4-4/track.txt @@ -43,6 +43,9 @@ gate 293.90625 281.8125 414.1875 352 gate 347.40625 233.625 448.21875 353.125 gate 423.4375 212.9375 488.71875 377.71875 +# Name of the set of tracks this one belongs to, shown in the menu. +set Sounf Of Speed + # As stored in the original data; not used by the game. start 800 350 flags 0 diff --git a/assets/tracks/track4-5/track.png b/assets/tracks/track4-5/track.png index ecbc933df603e360759d807ed8b7c86a00e32fbb..591e337909154128561b07d355725580e5d7da7f 100644 GIT binary patch delta 68 zcmZ3wiGArN_6eFM#>Pr#?w)aRaS1I~3Jnb{4>g|YqSTS5lvWM|p)<>k&vYnt%pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N al#qt5s-DcqyzuViqO2fAfnBv-0m#@v>l~;6 diff --git a/assets/tracks/track4-5/track.txt b/assets/tracks/track4-5/track.txt index 7eee00c..57fb8cb 100644 --- a/assets/tracks/track4-5/track.txt +++ b/assets/tracks/track4-5/track.txt @@ -47,6 +47,9 @@ gate 265.75 441.875 165.75 375.875 gate 247.84375 489.21875 133.09375 438.96875 gate 259.9375 536.59375 154.9375 525.59375 +# Name of the set of tracks this one belongs to, shown in the menu. +set Sounf Of Speed + # As stored in the original data; not used by the game. start 362 264 flags 0 diff --git a/assets/tracks/track4-6/track.png b/assets/tracks/track4-6/track.png index fe20e1239828aef22c9ff453d38debc453e60d4e..28601b8d80c703723a5f4cdba3055c29a3048ade 100644 GIT binary patch delta 71 zcmexxg!97@&Iy_(#>Pr#?w)aRaS1I~3Jnb{4>g|YqSTS5lvWM|p)<>k&vYnt%pp?EEFU_8Z=fQNNgxzgfxVlOt83oIyN*=Oh{&8Tzq(N dl#qt5s-DcqyzuViqO2fAfn9}N0kvHM6Jp2@9UlMy diff --git a/assets/tracks/track4-6/track.txt b/assets/tracks/track4-6/track.txt index 692c6a2..c4446a6 100644 --- a/assets/tracks/track4-6/track.txt +++ b/assets/tracks/track4-6/track.txt @@ -42,6 +42,9 @@ gate 506.1875 355.09375 607.4375 450.84375 gate 628.3125 300 668.3125 426 gate 841.875 457.5 766.875 502.5 +# Name of the set of tracks this one belongs to, shown in the menu. +set Sounf Of Speed + # As stored in the original data; not used by the game. start 501 153 flags 0 diff --git a/assets/vehicles/camaro-menu.png b/assets/vehicles/camaro-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..430774c7c689700d82e828a79e13d3c3e695fcef GIT binary patch literal 410 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%0Ag(~EWBv-tYyO=T5!Stv--(K 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 DcM!n` literal 0 HcmV?d00001 diff --git a/assets/vehicles/camaro.txt b/assets/vehicles/camaro.txt new file mode 100644 index 0000000..f18d8dd --- /dev/null +++ b/assets/vehicles/camaro.txt @@ -0,0 +1,23 @@ +# Skids vehicle settings. Lines starting with # are comments. +# The sprite sheet is camaro.png: 32 headings across, 25 tilts down. +name CAMARO +driver ROD +# yes = towed behind cars (Caravans option) instead of driven +trailer no +# The 16 values from the original .set file. Their meaning is not +# decoded yet, so the game does not use them; the handling below is +# a reconstruction. +original 54 35 32 8 7 22 22 16 49 14 53 0 0 0 0 0 +# top speed on tarmac, world pixels per second +top 200 +# acceleration and braking, world pixels per second squared +accel 170 +brake 320 +# sideways grip (higher = less sliding) +grip 5 +# steering rate, radians per second +turn 3.6 +# weight in collisions +mass 1 +# speed and grip multiplier off the road +offroad 0.55 diff --git a/assets/vehicles/caravan-menu.png b/assets/vehicles/caravan-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..a9ebb026653daf18e4a3799f7716f1d6dace3b14 GIT binary patch literal 408 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≻iJJlH1 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

*H8$e;;-ru9z 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 10SR=K#S{>yO-RJF;sHd1}?Y;KJ1KI$e8yiRJ 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 z z5#Ca49A`!9b?xK}3W&y1I~e1l;pt2CNBwSha8dfqYjqOWIE%@tZlsFlQBv z#X9gOFhk!?mKK^9HB9Dl{^rIKUTd#{w!SM&+J}d<1khBV;7-t=pCBRS*hj&JI7hdF zV*l;>>+S5^z+!A3+~dGDk7Y*>{YIQ9dRndSY%UGIJ0r^GXDn|}CVth?j=3~w^hTg& zb_FFwzKunL$1IK#K!ff552Cu?&O(Bkgahe+J9^lZ#TxJ2d|AFADRf?Cz4|APKjLpbDHl#8raQke`B zsW3(~PvQv3rsf)FD2X8O#u!V6uDYk2#1JILe532|Imyd=;V5^r@-BjQDZED{V(J6E zMu+jCQn_QyoOYrfmq_8B!=f$hueYq9CQKRUOqzv#wr-a6>$d0nSg2|E+R{-(v0WHbS@KVrsirlt<|iBi zF3H^;DI^z`-pi|f$cIo1;a`Bghd!_3G-WYa&J&D)s1&}TUil1YWnRzOy*h2ZNemo- ztxU6iT`eM;1iT89A^I8Ww?@G3L^!h2g=8Lk;5mcrB6@e7a%A;&nLgrNo$!YRD=|}@ z9M)b;S6IbsK7b=fHrmkN#TqZZR@wd^9T7iDR&5=fv+Nzn%zD3%<)05OfdOQ~)R_KM z+B{|MJyJBzYRxht9f95u{w?*mATpJKbyUHlNF)ROCo|e#67$8e}b~n#8NWq2qen-W1gKGv~8Mz4=t_bxS~9)E?Tzj5?j? z?FqyGV;&P)TjGRF)c|AJC%qkIJgUX&MfYm|lDdDJ=nHY`^)ptbPmp7^zhP9-XF_P; zVd8?OI=cU`FOSbWIqOs@l3=i1RTysoq9bhWn+ChIji%+dv%2YU<)4?ma6619{s)*0 z43#t=Xzkp3X*aMwsxx1PTV14SbDx-Z${me5f#P2F>^RG33Z4+orx(yeVo@Q6#m;Y8i25j$F!vB|tT^EH zKs>DscxWeuqmQidC$!szC)Y6iahaPRUL_ShGB;PL_kBPONT1(j%e~?mzgqYX7Q8tO zpgutLU-y7$ac8FWW^wWK$z7A*z>G{lXjLsJlm7!){xCNDL|&Nsx#f7#ryZwo)2ERv z4DgUbKX4@8nMCX>d9fqe5j6MCf@&Z+X?&N4R#$o$<1M*biwf?o^yO1+*`g#$+&a!s z)+63R^*6m&d_xRtTA#I7H4F;e>GRm&E!|J@7!{E zVH^Qut`bgQC7;$1nsO*D|Quwo$ zJ|=rJY}~Py5>Pj}a5IG-Xpir1G3qY`9iRRbls!*CYHZ?&v6YY7t>b(F-S{tQf=U#g zRt%UW6%cOCAO`Xai~tMhbi*7kJ}&1aP-MPti5V*U-dxVgY(WIzYpni!n}UZm15IQ- zL>3d(K8#zYz@6p~Am7r#kEPHHg1wFL(OtsCgd(I~#Lwx}7g}P1VqX_>gI)wG_+LKE z`vCtAL=na^$Xr>tObihM)5EY`A47kR|we4y;mIst#*in;Vg zt^k~L&#<$Vu*Gyjj%YLZhPp6?36JujCKHK0sB?8(kd>7PrHkz8%wri_O~(;!Vt&br zCvfKCh!z#ik-g7h17Xr}3Y7>-!MUi+XOB^h5Sn`}UL&u8GOWk95MzKZZcMhRYcdK< z=^1V)8?h}u_effwrscv)ckP;=>IDxIKi+cr$9t{Ohudzn@Dr>P*UqKLqa8%&u2d{< z(a;L3`wt)ptm;tM^NgTs+e-lGsatjW8&drekZt!XBETmG3dhCB)&4tvgtf(e(F1lH zqC3l�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 sIa1DL7-v43w0j)2kh0@0DE z5EPvv9P4;I78Jr07V7NLtT3gp4fYtw%3GC1*ec#S1wCYz`<8 zY@VVXtWSd<2Y|RwCy4pAYP%||pM+k6<2-TnP;VEV&6KKC`qrx4a!xcwsatB1aSx!3 zG^bbfkZoHIM~w;f4z5PO#NjHJ<3D`nne4%_ZddPAd<$6fJI+pdq8tzk*9a^huaBAH z-E$gPVGwUlNdJoL$MOLX_r-~ISsLj80000E z5EPvv9P4;@bh97sPqY`RY?*41DcSOERe z&axuf6tL;l<_PyKy0000E z5EPvv9P4;Nafwc~>V8a7>RXEcQ-*=e?36%z; z`)=*1g)-K&BK|q}4*cY}gj5gJvT&#+@qT)8sP$xJC5Kotx+WcylgEx{3oXSCs(p&y zcr$!f(6X<-y*^sO2c!!`6~GV)j3MVNBO?XpY3K}(vWH>C(p@OESEdHJMvyYVBgR$# nvj-(!_656rvhM8tF93W25$&vPSNjSz00000NkvXXu0mjfra+GS literal 0 HcmV?d00001 diff --git a/assets/vehicles/porsche.txt b/assets/vehicles/porsche.txt index a91b4a5..b4ea473 100644 --- a/assets/vehicles/porsche.txt +++ b/assets/vehicles/porsche.txt @@ -1,6 +1,13 @@ # Skids vehicle settings. Lines starting with # are comments. # The sprite sheet is porsche.png: 32 headings across, 25 tilts down. name PORSCHE +driver IMAGINE +# yes = towed behind cars (Caravans option) instead of driven +trailer no +# The 16 values from the original .set file. Their meaning is not +# decoded yet, so the game does not use them; the handling below is +# a reconstruction. +original 56 34 22 6 2 15 21 12 49 14 44 0 0 0 0 0 # top speed on tarmac, world pixels per second top 225 # acceleration and braking, world pixels per second squared diff --git a/assets/vehicles/truck-menu.png b/assets/vehicles/truck-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..d3cf402e9fc8a83b5a4b46f64a765b47c011b0d3 GIT binary patch literal 412 zcmV;N0b~A&P)E z5EPvv9P4;wH+AP7Vmy#J9CRxlbs zo4Sp>ms*6+V60_&IhbCK@->2g2B44{P^Uit>VoiDO{yWT6!{K-#xz1@s0dt&%E`X1 zwYcHE2$eBtYPxiMR^WVh9yvl|r&@3|Bk!&}=6&g~JS`ZqIDPZ8L^zrIn%fK?;qpnn zUCU*B+S^jUID*)&SvsOJzmv@hTMJkdnEZas+5H`NdYh?P7piP{x;GiDJT(pN)FnQz z>zYY@%k7NO*quFV9obWJ_X$TlxiaKK*bxkkptYyulP}FvcT#3;Rxu3|EZNfuaYbkz zNOS2w98m&9d<3v0z<*A6P0EoK!Jb;r0;D|T(^|tI$lb!H_~mtjATTK45rV7BhuicT zs~f55!$$T5fX^Q){{aXD*+`#T@RtJZjIBPO#_K=V*ML85BKxSJ3a>i=0000E z5EPvv9P4;Fhx06|C~D+itssCyA& zp;bd>N%sT_Y%*lSuPQ)CrUcoPOh`YVjAbJzz#J|vHwiT1g2>L$Eilh=vf3#35bz}3 zTGc>Fnn=Zg0=b^voX&Vxz*gA=BTxpA#GN%;4dX0X_Nu_T3l#Nd*t*?;SlTU?`CLvD zYEO76QHQ1bDD!#NbuWsa3oE%!-7y5Kx}BY>buMo3f88l+vk&JwMC_L0Zbpuc{v0*1 zDVbV95Ib%JeD|n, cams: [(f32, f32); 2], paused: bool, + sounds: RaceSounds, }, Results { race: Box, }, } +/// What the race screen remembers between frames to decide when to play +/// one-shot sounds. +#[derive(Default)] +struct RaceSounds { + countdown: Option, + go_played: bool, + bumps: Vec, + throttle: [f32; 2], +} + pub struct App { pub data: GameData, + /// Indices of vehicles that can be driven (not trailers). + cars: Vec, + /// The title picture at half size, if the data has one. + title: Option<(usize, usize, Vec)>, pub settings: Settings, screen: Screen, pub frame: Frame, @@ -95,21 +122,35 @@ pub struct App { impl App { pub fn new(data: GameData, audio: Audio) -> App { - let cars = [ - data.vehicles.iter().position(|v| v.id == "f1").unwrap_or(0), + let drivable: Vec = (0..data.vehicles.len()) + .filter(|&i| !data.vehicles[i].trailer) + .collect(); + let pick = |id: &str| { data.vehicles .iter() - .position(|v| v.id == "mini") - .unwrap_or(0), - ]; + .position(|v| v.id == id) + .unwrap_or(drivable[0]) + }; + let cars = [pick("f1"), pick("mini")]; + let title = data.pictures.get("skidtoon").map(half_size); + let music = if audio.has_music() { + Music::Menus + } else { + Music::Off + }; + audio.set_music(music != Music::Off); App { data, + cars: drivable, + title, settings: Settings { players: 1, track: 0, laps: 3, cars, opponents: 3, + caravans: false, + music, }, screen: Screen::Menu { cursor: 0 }, frame: Frame::new(), @@ -134,7 +175,14 @@ impl App { if self.settings.players == 2 { v.push(Item::Car2); } - v.extend([Item::Opponents, Item::Quit]); + v.push(Item::Opponents); + if self.data.vehicles.iter().any(|v| v.trailer) { + v.push(Item::Caravans); + } + if self.audio.has_music() { + v.push(Item::Music); + } + v.push(Item::Quit); v } @@ -148,7 +196,11 @@ impl App { seed: u32, ) -> Result { let track = self.data.load_track(track_index)?; - let nv = self.data.vehicles.len(); + let trailer = if self.settings.caravans { + self.data.vehicles.iter().position(|v| v.trailer) + } else { + None + }; let mut setup = Vec::new(); for (p, &car) in cars.iter().enumerate().take(humans) { setup.push(EntrantSetup { @@ -156,6 +208,7 @@ impl App { driver: Driver::Human(p), team: p, name: format!("PLAYER {}", p + 1), + trailer, }); } let mut rng = seed.wrapping_mul(2654435761) | 1; @@ -164,10 +217,11 @@ impl App { rng ^= rng >> 17; rng ^= rng << 5; setup.push(EntrantSetup { - vehicle: rng as usize % nv, + vehicle: self.cars[rng as usize % self.cars.len()], driver: Driver::Cpu, team: humans + i, name: CPU_NAMES[(i + seed as usize) % CPU_NAMES.len()].to_string(), + trailer, }); } // Humans start at the back, as is tradition. @@ -189,9 +243,15 @@ impl App { self.tick += 1; match &mut self.screen { Screen::Menu { .. } => self.update_menu(input), - Screen::Race { race, paused, .. } => { + Screen::Race { + race, + paused, + sounds, + cams, + } => { if input.hit(Key::Escape) { self.audio.silence(); + self.audio.set_music(self.settings.music != Music::Off); self.screen = Screen::Menu { cursor: 0 }; return; } @@ -216,22 +276,10 @@ impl App { }; let p2 = input.controls(Key::W, Key::S, Key::A, Key::D); race.step(&[p1, p2]); - for (i, e) in race - .entrants - .iter() - .filter(|e| matches!(e.driver, Driver::Human(_))) - .enumerate() - { - let c = &e.car; - let skid = if c.on_road { - ((c.slip - 50.0) / 100.0).clamp(0.0, 1.0) - } else { - 0.0 - }; - self.audio.set_voice(i, true, c.rpm, skid, c.bump); - } + race_sounds(&self.audio, race, sounds, cams, input, self.tick); if race.phase == Phase::Done { self.audio.silence(); + self.audio.set_music(self.settings.music != Music::Off); let Screen::Race { race, .. } = std::mem::replace(&mut self.screen, Screen::Menu { cursor: 0 }) else { @@ -265,7 +313,6 @@ impl App { let delta = input.hit(Key::Right) as i32 - input.hit(Key::Left) as i32; let item = items[cur]; let s = &mut self.settings; - let nv = self.data.vehicles.len(); let wrap = |v: usize, n: usize, d: i32| (v as i32 + d).rem_euclid(n as i32) as usize; if delta != 0 { match item { @@ -275,9 +322,23 @@ impl App { let i = LAP_CHOICES.iter().position(|&l| l == s.laps).unwrap_or(1); s.laps = LAP_CHOICES[wrap(i, LAP_CHOICES.len(), delta)]; } - Item::Car1 => s.cars[0] = wrap(s.cars[0], nv, delta), - Item::Car2 => s.cars[1] = wrap(s.cars[1], nv, delta), + Item::Car1 | Item::Car2 => { + let slot = (item == Item::Car2) as usize; + let at = self + .cars + .iter() + .position(|&c| c == s.cars[slot]) + .unwrap_or(0); + s.cars[slot] = self.cars[wrap(at, self.cars.len(), delta)]; + } Item::Opponents => s.opponents = wrap(s.opponents, 8 - s.players + 1, delta), + Item::Caravans => s.caravans = !s.caravans, + Item::Music => { + const ORDER: [Music; 3] = [Music::Menus, Music::Always, Music::Off]; + let at = ORDER.iter().position(|&m| m == s.music).unwrap_or(0); + s.music = ORDER[wrap(at, 3, delta)]; + self.audio.set_music(s.music != Music::Off); + } _ => {} } s.opponents = s.opponents.min(8 - s.players); @@ -294,6 +355,8 @@ impl App { | Item::Car2 | Item::Laps | Item::Players + | Item::Caravans + | Item::Music | Item::Opponents => { let s = &self.settings; match self.build_race( @@ -310,7 +373,9 @@ impl App { race: Box::new(r), cams, paused: false, + sounds: RaceSounds::default(), }; + self.audio.set_music(self.settings.music == Music::Always); if let Screen::Race { race, cams, .. } = &mut screen { for (i, cam) in cams.iter_mut().enumerate() { if let Some(e) = @@ -400,8 +465,17 @@ impl App { f.clear(0x101820); } - f.text_centered(160, 10, "SKIDS", YELLOW, 4); - f.text_centered(160, 42, "A SUPER SKIDMARKS REVIVAL", WHITE, 1); + let top = match &self.title { + Some((w, h, px)) => { + f.image(px, *w, *h, (SCREEN_W as i32 - *w as i32) / 2, 2); + *h as i32 + 6 + } + None => { + f.text_centered(160, 10, "SKIDS", YELLOW, 4); + f.text_centered(160, 42, "A SUPER SKIDMARKS REVIVAL", WHITE, 1); + 60 + } + }; let cursor = cursor.min(items.len() - 1); let s = &self.settings; @@ -414,9 +488,20 @@ impl App { Item::Car1 => format!("P1 CAR < {} >", self.data.vehicles[s.cars[0]].name), Item::Car2 => format!("P2 CAR < {} >", self.data.vehicles[s.cars[1]].name), Item::Opponents => format!("OPPONENTS < {} >", s.opponents), + Item::Caravans => { + format!("CARAVANS < {} >", if s.caravans { "ON" } else { "OFF" }) + } + Item::Music => format!( + "MUSIC < {} >", + match s.music { + Music::Menus => "MENUS", + Music::Always => "ALWAYS", + Music::Off => "OFF", + } + ), Item::Quit => "QUIT".to_string(), }; - let y = 64 + i as i32 * 14; + let y = top + i as i32 * 12; let colour = if i == cursor { YELLOW } else { WHITE }; if i == cursor { f.text_shadow(8, y, ">", RED, 1); @@ -430,10 +515,22 @@ impl App { if let Some(th) = self.thumb(track).cloned() { let f = &mut self.frame; f.frame_rect( - Rect::new(px - 2, 62, THUMB_W as i32 + 4, THUMB_H as i32 + 4), + Rect::new(px - 2, top - 2, THUMB_W as i32 + 4, THUMB_H as i32 + 4), WHITE, ); - f.image(&th, THUMB_W, THUMB_H, px, 64); + f.image(&th, THUMB_W, THUMB_H, px, top); + let set = self + .data + .load_track(track) + .map(|t| t.set_name) + .unwrap_or_default(); + f.text_centered( + px + THUMB_W as i32 / 2, + top + THUMB_H as i32 + 4, + &truncate(&set.to_uppercase(), 21), + GREY, + 1, + ); } // Car preview, slowly turning. @@ -443,33 +540,155 @@ impl App { let v = &self.data.vehicles[s.cars[which]]; let heading = (self.tick / 4) as usize % vehicle::HEADINGS; let pal = palette::car_palette(which); - let (cx, cy) = (px + THUMB_W as i32 / 2 - 32, 150); - f.fill(Rect::new(px - 2, 140, THUMB_W as i32 + 4, 52), 0x203018); - f.frame_rect(Rect::new(px - 2, 140, THUMB_W as i32 + 4, 52), WHITE); + let by = top + THUMB_H as i32 + 16; + let (cx, cy) = (px + THUMB_W as i32 / 2 - 32, by + 3); + f.fill(Rect::new(px - 2, by, THUMB_W as i32 + 4, 48), 0x203018); + f.frame_rect(Rect::new(px - 2, by, THUMB_W as i32 + 4, 48), WHITE); let clip = Rect::new(0, 0, SCREEN_W as i32, SCREEN_H as i32); f.sprite_shadow(v.frame(vehicle::LEVEL, heading), cx + 3, cy + 3, clip); f.sprite(v.frame(vehicle::LEVEL, heading), &pal, cx, cy, clip); - f.text_centered(px + THUMB_W as i32 / 2, 182, &v.name, WHITE, 1); + let label = if v.driver.is_empty() { + v.name.clone() + } else { + format!("{} - {}", v.name, v.driver) + }; + f.text_centered( + px + THUMB_W as i32 / 2, + by + 38, + &truncate(&label, 21), + WHITE, + 1, + ); let help = if self.settings.players == 2 { "P1: ARROWS P2: W A S D" } else { "DRIVE: ARROWS OR W A S D" }; - f.text_centered(160, 222, help, GREY, 1); + f.text_centered(160, 230, help, GREY, 1); f.text_centered( 160, - 236, + 242, "UP/DOWN: CHOOSE LEFT/RIGHT: CHANGE ENTER: GO", GREY, 1, ); if let Some(st) = &self.status { - f.text_centered(160, 200, st, RED, 1); + f.text_centered(160, 218, st, RED, 1); } } } +/// Plays the sounds a race frame calls for: engines and tyres for each +/// player, countdown beeps, horns, backfires, and crashes near a camera. +fn race_sounds( + audio: &Audio, + race: &Race, + s: &mut RaceSounds, + cams: &[(f32, f32); 2], + input: &Input, + tick: u64, +) { + let humans: Vec = (0..race.entrants.len()) + .filter(|&i| matches!(race.entrants[i].driver, Driver::Human(_))) + .collect(); + for (slot, &i) in humans.iter().enumerate().take(2) { + let c = &race.entrants[i].car; + let skid = if c.on_road { + ((c.slip - 50.0) / 100.0).clamp(0.0, 1.0) + } else { + 0.0 + }; + audio.set_voice(slot, true, c.rpm, skid); + let pan = if humans.len() == 2 { + [0.3, 0.7][slot] + } else { + 0.5 + }; + let throttle = c.controls.throttle; + // Lifting off at high revs pops now and then. + if s.throttle[slot] > 0.0 + && throttle == 0.0 + && c.rpm > 0.7 + && (tick.wrapping_mul(2654435761)).is_multiple_of(4) + { + audio.play(Sfx::Backfire, pan); + } + s.throttle[slot] = throttle; + } + // Player one's horn is Right Shift, player two's Left Shift. + let horn_keys = [Key::RightShift, Key::LeftShift]; + for (slot, key) in horn_keys.iter().enumerate().take(humans.len().max(1)) { + if input.hit(*key) { + audio.play( + Sfx::Horn, + if humans.len() == 2 { + [0.3, 0.7][slot] + } else { + 0.5 + }, + ); + } + } + + match race.countdown() { + Some(n) if s.countdown != Some(n) => { + s.countdown = Some(n); + audio.play(Sfx::Beep, 0.5); + } + None if !s.go_played && race.phase != Phase::Countdown => { + s.go_played = true; + audio.play(Sfx::Go, 0.5); + } + _ => {} + } + + s.bumps.resize(race.entrants.len(), 0.0); + for (i, e) in race.entrants.iter().enumerate() { + let b = e.car.bump; + if b > 0.3 && b > s.bumps[i] + 0.2 { + let (sx, sy) = e.car.screen_pos(); + let near = cams + .iter() + .take(humans.len().max(1)) + .map(|c| (c.0 - sx).hypot(c.1 - sy)) + .fold(f32::MAX, f32::min); + if near < 220.0 { + let pan = (0.5 + (sx - cams[0].0) / 400.0).clamp(0.1, 0.9); + audio.play(Sfx::Crash(b), pan); + } + } + s.bumps[i] = b; + } +} + +/// Halves a picture with a 2x2 box filter, for the menu header. +fn half_size(p: &crate::formats::iff::Picture) -> (usize, usize, Vec) { + let (w, h) = (p.w / 2, p.h / 2); + let rgb = |x: usize, y: usize| { + let c = p + .palette + .get(p.pixels[y * p.w + x] as usize) + .copied() + .unwrap_or((0, 0, 0)); + (c.0 as u32, c.1 as u32, c.2 as u32) + }; + let mut out = Vec::with_capacity(w * h); + for y in 0..h { + for x in 0..w { + let px = [ + rgb(2 * x, 2 * y), + rgb(2 * x + 1, 2 * y), + rgb(2 * x, 2 * y + 1), + rgb(2 * x + 1, 2 * y + 1), + ]; + let avg = |f: fn(&(u32, u32, u32)) -> u32| px.iter().map(f).sum::() / 4; + out.push((avg(|c| c.0) << 16) | (avg(|c| c.1) << 8) | avg(|c| c.2)); + } + } + (w, h, out) +} + pub fn draw_race( f: &mut Frame, data: &GameData, @@ -536,24 +755,37 @@ pub fn draw_world( } } - let mut order: Vec = (0..race.entrants.len()).collect(); - order.sort_by(|&a, &b| { - race.entrants[a] - .car - .screen_pos() - .1 - .total_cmp(&race.entrants[b].car.screen_pos().1) - }); - for i in order { + // Cars and caravans, back to front. + let mut order: Vec<(f32, usize, bool)> = Vec::new(); + for (i, e) in race.entrants.iter().enumerate() { + order.push((e.car.screen_pos().1, i, false)); + if let Some(t) = e.trailer { + order.push((track::to_screen(t.x, t.y).1, i, true)); + } + } + order.sort_by(|a, b| a.0.total_cmp(&b.0)); + for (_, i, is_trailer) in order { let e = &race.entrants[i]; let c = &e.car; + let pal = palette::car_palette(c.team); + if is_trailer { + let t = e.trailer.unwrap(); + let (sx, sy) = track::to_screen(t.x, t.y); + let x = view.x + sx as i32 - cx - (vehicle::SPR_W as i32 / 2); + let y = view.y + sy as i32 - cy - (vehicle::SPR_H as i32 / 2); + let pix = + data.vehicles[t.vehicle].frame(vehicle::LEVEL, vehicle::heading_frame(t.heading)); + f.sprite_shadow(pix, x + 3, y + 2, view); + f.sprite(pix, &pal, x, y, view); + continue; + } let v = &data.vehicles[c.vehicle]; let (sx, sy) = c.screen_pos(); let x = view.x + sx as i32 - cx - (vehicle::SPR_W as i32 / 2); let y = view.y + sy as i32 - cy - (vehicle::SPR_H as i32 / 2); let pix = v.frame(c.tilt, vehicle::heading_frame(c.heading)); f.sprite_shadow(pix, x + 3, y + 2, view); - f.sprite(pix, &palette::car_palette(c.team), x, y, view); + f.sprite(pix, &pal, x, y, view); if let Driver::Human(p) = e.driver { let tag = format!("P{}", p + 1); let tx = x + 32 - 5; diff --git a/src/audio.rs b/src/audio.rs index b5d8feb..2e32168 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -1,151 +1,364 @@ -//! Procedural sound: an engine note per human player, tyre squeal and knocks. +//! Sound: the game's own samples and tune, mixed in software. //! -//! The retail samples are on disk 1, which is not in this dump, so everything -//! is synthesised. Parameters are passed to the audio thread through atomics. +//! Each human player has an engine voice (the `motor3` loop, pitched with +//! revs) and a tyre voice (`screech2`). One-shots cover crashes, backfires, +//! the horn and the start beeps; the OctaMED tune plays on top. When a +//! sample is missing, a simple synthesised stand-in is used instead. -use std::sync::atomic::{AtomicU32, Ordering}; -use std::sync::Arc; +use crate::formats::iff::Sound; +use crate::formats::med::Song; +use crate::music::Player; +use std::collections::BTreeMap; +use std::sync::{Arc, Mutex}; pub const VOICES: usize = 2; -#[derive(Default)] -struct VoiceParams { - rpm: AtomicU32, - skid: AtomicU32, - bump: AtomicU32, - active: AtomicU32, +#[derive(Clone, Copy, Debug, PartialEq)] +pub enum Sfx { + /// Countdown tick. + Beep, + /// Lights out. + Go, + Horn, + Backfire, + /// Strength 0..1. + Crash(f32), +} + +/// The samples the game uses, picked out of the sound assets by name. +#[derive(Default, Clone)] +pub struct Bank { + engine: Option>, + skid: Option>, + crashes: Vec>, + beep: Option>, + go: Option>, + horn: Option>, + backfire: Option>, +} + +impl Bank { + pub fn from_sounds(sounds: &BTreeMap) -> Bank { + let get = |names: &[&str]| { + names + .iter() + .find_map(|n| sounds.get(*n)) + .map(|s| Arc::new(s.clone())) + }; + Bank { + engine: get(&["motor3", "motor", "engine"]), + skid: get(&["screech2", "screech3", "screech"]), + crashes: ["crash1", "crash2", "crash3"] + .iter() + .filter_map(|n| sounds.get(*n)) + .map(|s| Arc::new(s.clone())) + .collect(), + beep: get(&["beep"]), + go: get(&["beep2", "beep"]), + horn: get(&["horn"]), + backfire: get(&["backfire"]), + } + } +} + +/// A sample playing from `pos`, `step` source frames per output frame. +struct Play { + sound: Arc, + pos: f64, + step: f64, + volume: f32, + pan: f32, + /// Stop after this many output frames (0 = play to the end). + frames_left: usize, +} + +impl Play { + fn new(sound: Arc, rate: f32, volume: f32, pan: f32) -> Play { + let step = sound.rate as f64 / rate as f64; + Play { + sound, + pos: 0.0, + step, + volume, + pan, + frames_left: 0, + } + } + + /// Next sample value, or None when finished. + fn next(&mut self, pitch: f64) -> Option { + let s = &self.sound; + let i = self.pos as usize; + if i >= s.data.len() { + return None; + } + let v = s.data[i] as f32 / 128.0 * s.volume; + self.pos += self.step * pitch; + if self.pos as usize >= s.data.len() { + if let Some(start) = s.loop_start { + let len = (s.data.len() - start).max(1) as f64; + while self.pos as usize >= s.data.len() { + self.pos -= len; + } + } + } + Some(v) + } } #[derive(Default)] -pub struct Shared { - voices: [VoiceParams; VOICES], - master: AtomicU32, +struct Voice { + active: bool, + rpm: f32, + skid: f32, + level: f32, + engine: Option, + tyres: Option, + synth: Synth, } -fn store(a: &AtomicU32, v: f32) { - a.store(v.to_bits(), Ordering::Relaxed); +struct Mixer { + rate: f32, + bank: Bank, + voices: [Voice; VOICES], + oneshots: Vec, + music: Option, + song: Option>, + music_on: bool, + music_volume: f32, + noise: u32, } -fn load(a: &AtomicU32) -> f32 { - f32::from_bits(a.load(Ordering::Relaxed)) +impl Mixer { + fn frame(&mut self) -> (f32, f32) { + let (mut l, mut r) = (0.0f32, 0.0f32); + let rate = self.rate; + for (i, v) in self.voices.iter_mut().enumerate() { + let target = if v.active { 1.0 } else { 0.0 }; + v.level += (target - v.level) * 0.0008; + if v.level < 1e-4 { + continue; + } + let pan = if i == 0 { 0.35 } else { 0.65 }; + let mut out = 0.0; + match (&mut v.engine, &self.bank.engine) { + (Some(p), _) => out += p.next(0.55 + v.rpm as f64 * 1.35).unwrap_or(0.0) * 0.55, + (None, Some(s)) => v.engine = Some(Play::new(s.clone(), rate, 1.0, pan)), + (None, None) => out += v.synth.engine(v.rpm, rate), + } + match (&mut v.tyres, &self.bank.skid) { + (Some(p), _) => { + out += p.next(0.9 + v.skid as f64 * 0.2).unwrap_or(0.0) * v.skid.min(1.0) * 0.45 + } + (None, Some(s)) => v.tyres = Some(Play::new(s.clone(), rate, 1.0, pan)), + (None, None) => out += v.synth.squeal(v.skid), + } + out *= v.level; + l += out * (1.0 - pan) * 2.0; + r += out * pan * 2.0; + } + self.oneshots.retain_mut(|p| { + if p.frames_left == 1 { + return false; + } + p.frames_left = p.frames_left.saturating_sub(1); + match p.next(1.0) { + Some(v) => { + l += v * p.volume * (1.0 - p.pan) * 2.0; + r += v * p.volume * p.pan * 2.0; + true + } + None => false, + } + }); + if self.music_on { + if let Some(m) = &mut self.music { + let (ml, mr) = m.next(); + l += ml * self.music_volume; + r += mr * self.music_volume; + } + } + (l * 0.5, r * 0.5) + } + + fn rand(&mut self) -> u32 { + self.noise ^= self.noise << 13; + self.noise ^= self.noise >> 17; + self.noise ^= self.noise << 5; + self.noise + } + + fn play(&mut self, sfx: Sfx, pan: f32) { + let (sound, volume, max_secs) = match sfx { + Sfx::Beep => (self.bank.beep.clone(), 0.6, 0.35), + Sfx::Go => (self.bank.go.clone(), 0.7, 0.8), + Sfx::Horn => (self.bank.horn.clone(), 0.8, 0.6), + Sfx::Backfire => (self.bank.backfire.clone(), 0.7, 0.0), + Sfx::Crash(strength) => { + let n = self.bank.crashes.len(); + let r = self.rand() as usize; + let pick = if n > 0 { + Some(self.bank.crashes[r % n].clone()) + } else { + None + }; + (pick, 0.3 + 0.7 * strength.clamp(0.0, 1.0), 0.0) + } + }; + let Some(sound) = sound else { return }; + // A crash pile-up should not stack dozens of copies. + if self.oneshots.len() >= 12 { + self.oneshots.remove(0); + } + let mut p = Play::new(sound, self.rate, volume, pan); + // Looped samples (beeps, horn) are cut off after a fixed time. + p.frames_left = if max_secs > 0.0 { + (max_secs * self.rate) as usize + 1 + } else { + 0 + }; + self.oneshots.push(p); + } } pub struct Audio { - shared: Arc, + mixer: Arc>, #[cfg(feature = "audio")] _stream: Option, } impl Audio { - pub fn new(enabled: bool) -> Audio { - let shared = Arc::new(Shared::default()); - store(&shared.master, 0.5); + pub fn new(enabled: bool, bank: Bank, song: Option>) -> Audio { + let mixer = Arc::new(Mutex::new(Mixer { + rate: 44100.0, + bank, + voices: Default::default(), + oneshots: Vec::new(), + music: None, + song, + music_on: false, + music_volume: 0.7, + noise: 0x2468_ace1, + })); #[cfg(feature = "audio")] { let stream = if enabled { - backend::open(shared.clone()) + backend::open(mixer.clone()) } else { None }; Audio { - shared, + mixer, _stream: stream, } } #[cfg(not(feature = "audio"))] { let _ = enabled; - Audio { shared } + Audio { mixer } } } - pub fn set_voice(&self, i: usize, active: bool, rpm: f32, skid: f32, bump: f32) { - let v = &self.shared.voices[i]; - store(&v.active, if active { 1.0 } else { 0.0 }); - store(&v.rpm, rpm); - store(&v.skid, skid); - // Knocks are latched until the audio thread consumes them. - if bump > load(&v.bump) { - store(&v.bump, bump); - } + fn with(&self, f: impl FnOnce(&mut Mixer) -> R) -> R { + let mut m = self.mixer.lock().unwrap_or_else(|e| e.into_inner()); + f(&mut m) + } + + pub fn set_voice(&self, i: usize, active: bool, rpm: f32, skid: f32) { + self.with(|m| { + let v = &mut m.voices[i]; + v.active = active; + v.rpm = rpm; + v.skid = skid; + }); + } + + pub fn play(&self, sfx: Sfx, pan: f32) { + self.with(|m| m.play(sfx, pan.clamp(0.0, 1.0))); + } + + /// Starts the tune from the top, or stops it. + pub fn set_music(&self, on: bool) { + self.with(|m| { + if on && !m.music_on { + m.music = m.song.clone().map(|s| Player::new(s, m.rate as f64)); + } + m.music_on = on; + }); + } + + pub fn has_music(&self) -> bool { + self.with(|m| m.song.is_some()) } pub fn silence(&self) { for i in 0..VOICES { - self.set_voice(i, false, 0.0, 0.0, 0.0); + self.set_voice(i, false, 0.0, 0.0); } } + + /// Renders `frames` stereo frames without a sound device (for tests). + #[cfg(test)] + fn render(&self, frames: usize) -> Vec<(f32, f32)> { + self.with(|m| (0..frames).map(|_| m.frame()).collect()) + } } -/// Synth state for one voice, run on the audio thread. +/// Stand-in sounds for when the samples are not available. #[derive(Default)] struct Synth { phase: f32, sub_phase: f32, - rpm: f32, - skid: f32, - knock: f32, - noise: u32, lp: f32, + noise: u32, skid_lp: f32, - level: f32, } impl Synth { - fn sample(&mut self, p: &VoiceParams, rate: f32) -> f32 { - let target_level = load(&p.active); - self.level += (target_level - self.level) * 0.0008; - self.rpm += (load(&p.rpm) - self.rpm) * 0.002; - self.skid += (load(&p.skid) - self.skid) * 0.004; - let b = load(&p.bump); - if b > 0.0 { - self.knock = self.knock.max(b); - store(&p.bump, 0.0); - } + fn white(&mut self) -> f32 { + self.noise = self + .noise + .wrapping_mul(1_664_525) + .wrapping_add(1_013_904_223); + (self.noise >> 8) as f32 / (1u32 << 23) as f32 - 1.0 + } - self.noise ^= self.noise << 13; - self.noise ^= self.noise >> 17; - self.noise ^= self.noise << 5; - let white = (self.noise as f32 / u32::MAX as f32) * 2.0 - 1.0; - - // Engine: a buzzy pulse with a sub-octave, low-passed. - let freq = 38.0 + self.rpm * 150.0; + fn engine(&mut self, rpm: f32, rate: f32) -> f32 { + let freq = 38.0 + rpm * 150.0; self.phase = (self.phase + freq / rate).fract(); self.sub_phase = (self.sub_phase + freq * 0.5 / rate).fract(); let pulse = if self.phase < 0.3 { 1.0 } else { -0.45 }; let sub = if self.sub_phase < 0.5 { 0.5 } else { -0.5 }; - let raw = pulse + sub + white * 0.15; - self.lp += (raw - self.lp) * (0.06 + self.rpm * 0.12); - let engine = self.lp * 0.32; + let raw = pulse + sub + self.white() * 0.15; + self.lp += (raw - self.lp) * (0.06 + rpm * 0.12); + self.lp * 0.32 + } - // Tyres: band-limited noise. - self.skid_lp += (white - self.skid_lp) * 0.35; - let squeal = (white - self.skid_lp) * self.skid.min(1.0) * 0.22; - - let knock = white * self.knock * 0.6; - self.knock *= 0.9985; - - (engine + squeal + knock) * self.level + fn squeal(&mut self, skid: f32) -> f32 { + let w = self.white(); + self.skid_lp += (w - self.skid_lp) * 0.35; + (w - self.skid_lp) * skid.min(1.0) * 0.22 } } #[cfg(feature = "audio")] mod backend { - use super::{load, Shared, Synth, VOICES}; + use super::Mixer; use cpal::traits::{DeviceTrait, HostTrait, StreamTrait}; use cpal::{FromSample, SizedSample}; - use std::sync::Arc; + use std::sync::{Arc, Mutex}; - pub fn open(shared: Arc) -> Option { + pub fn open(mixer: Arc>) -> Option { let host = cpal::default_host(); let device = host.default_output_device()?; let config = device.default_output_config().ok()?; let fmt = config.sample_format(); let config: cpal::StreamConfig = config.into(); + mixer.lock().ok()?.rate = config.sample_rate.0 as f32; let stream = match fmt { - cpal::SampleFormat::F32 => build::(&device, &config, shared), - cpal::SampleFormat::I16 => build::(&device, &config, shared), - cpal::SampleFormat::U16 => build::(&device, &config, shared), + cpal::SampleFormat::F32 => build::(&device, &config, mixer), + cpal::SampleFormat::I16 => build::(&device, &config, mixer), + cpal::SampleFormat::U16 => build::(&device, &config, mixer), _ => None, }?; stream.play().ok()?; @@ -155,33 +368,20 @@ mod backend { fn build( device: &cpal::Device, config: &cpal::StreamConfig, - shared: Arc, + mixer: Arc>, ) -> Option where T: SizedSample + FromSample, { - let rate = config.sample_rate.0 as f32; let channels = config.channels as usize; - let mut synths: [Synth; VOICES] = Default::default(); - for (i, s) in synths.iter_mut().enumerate() { - s.noise = 0x1234_5678 ^ (i as u32 * 0x9e37_79b9); - } device .build_output_stream( config, move |data: &mut [T], _| { - let master = load(&shared.master); + let mut m = mixer.lock().unwrap_or_else(|e| e.into_inner()); for frame in data.chunks_mut(channels) { - let mut l = 0.0; - let mut r = 0.0; - for (i, s) in synths.iter_mut().enumerate() { - let v = s.sample(&shared.voices[i], rate); - // Player one leans left, player two right. - let pan = if i == 0 { 0.35 } else { 0.65 }; - l += v * (1.0 - pan) * 2.0; - r += v * pan * 2.0; - } - let (l, r) = ((l * master).clamp(-1.0, 1.0), (r * master).clamp(-1.0, 1.0)); + let (l, r) = m.frame(); + let (l, r) = (l.clamp(-1.0, 1.0), r.clamp(-1.0, 1.0)); for (c, out) in frame.iter_mut().enumerate() { let v = if channels == 1 { (l + r) * 0.5 @@ -200,3 +400,34 @@ mod backend { .ok() } } + +#[cfg(test)] +mod tests { + use super::*; + + fn tone(rate: u32, looped: bool) -> Sound { + let data = (0..400) + .map(|i| ((i as f32 * 0.3).sin() * 100.0) as i8) + .collect(); + Sound { + rate, + data, + loop_start: looped.then_some(0), + volume: 1.0, + } + } + + #[test] + fn samples_mix_and_one_shots_finish() { + let mut sounds = BTreeMap::new(); + sounds.insert("motor3".to_string(), tone(13714, true)); + sounds.insert("crash1".to_string(), tone(8363, false)); + let a = Audio::new(false, Bank::from_sounds(&sounds), None); + a.set_voice(0, true, 0.5, 0.0); + a.play(Sfx::Crash(1.0), 0.5); + let out = a.render(44100); + assert!(out.iter().any(|f| f.0.abs() > 0.01), "engine is audible"); + // A 400-sample crash at 8363 Hz lasts about 2100 output frames. + assert!(a.with(|m| m.oneshots.is_empty())); + } +} diff --git a/src/data/mod.rs b/src/data/mod.rs index 91e4b42..5eb1be0 100644 --- a/src/data/mod.rs +++ b/src/data/mod.rs @@ -14,7 +14,8 @@ pub mod palette; pub mod track; pub mod vehicle; -use crate::formats::{adf::Adf, crm, lha}; +use crate::formats::iff::{self, Picture, Sound}; +use crate::formats::{adf::Adf, crm, lha, med}; use std::collections::BTreeMap; use std::fs; use std::path::{Path, PathBuf}; @@ -80,11 +81,8 @@ impl FileSet { Ok(entries) => { for e in entries { match e.data { - Some(d) => self.add(&e.path, d), - None => self.warnings.push(format!( - "{path}: {} uses unsupported method {}", - e.path, e.method - )), + Ok(d) => self.add(&e.path, d), + Err(why) => self.warnings.push(format!("{path}: {}: {why}", e.path)), } } } @@ -116,7 +114,11 @@ fn logical_key(path: &str) -> Option { return None; } let (dir, name) = (&parts[n - 2], &parts[n - 1]); - matches!(dir.as_str(), "track" | "vehicles" | "palettes").then(|| format!("{dir}/{name}")) + matches!( + dir.as_str(), + "track" | "vehicles" | "palettes" | "sfx" | "gfx" | "sounds" | "music" + ) + .then(|| format!("{dir}/{name}")) } /// Unpacks CrunchMania data, passing plain data through untouched. @@ -144,6 +146,12 @@ pub struct GameData { pub tracks: Vec, pub track_files: Vec, pub vehicles: Vec, + /// Sound effects by lower-case name (`motor3`, `screech2`, ...). + pub sounds: BTreeMap, + /// The tune as an OctaMED module, and the name it is stored under. + pub music: Option<(String, Vec)>, + /// Pictures by lower-case name (`skidtoon`, ...). + pub pictures: BTreeMap, pub files: FileSet, pub warnings: Vec, } @@ -151,7 +159,17 @@ pub struct GameData { impl GameData { /// Loads the built-in data, overlaid with whatever is under `dir`. pub fn load(dir: Option<&Path>) -> Result { - let mut files = FileSet::embedded(); + Self::load_from(dir, true) + } + + /// As `load`, optionally without the built-in data (used when + /// converting original disks, so the old assets do not shadow them). + pub fn load_from(dir: Option<&Path>, built_in: bool) -> Result { + let mut files = if built_in { + FileSet::embedded() + } else { + FileSet::default() + }; if let Some(dir) = dir { files.scan(dir); } @@ -205,6 +223,7 @@ impl GameData { let Some(id) = key .strip_prefix("vehicles/") .and_then(|n| n.strip_suffix(".png")) + .filter(|n| !n.ends_with("-menu")) else { continue; }; @@ -212,7 +231,14 @@ impl GameData { .get(&format!("vehicles/{id}.txt")) .map(String::from_utf8_lossy); match Vehicle::from_assets(id, data, txt.as_deref()) { - Ok(v) => vehicles.push(v), + Ok(mut v) => { + if let Some(png) = files.get(&format!("vehicles/{id}-menu.png")) { + if let Err(e) = v.set_menu_png(png) { + warnings.push(format!("vehicles/{id}-menu.png: {e}")); + } + } + vehicles.push(v) + } Err(e) => warnings.push(format!("{key}: {e}")), } } @@ -227,7 +253,14 @@ impl GameData { continue; } match Vehicle::parse(name, data) { - Ok(Some(v)) => vehicles.push(v), + Ok(Some(mut v)) => { + if let Some(set) = files.get(&format!("vehicles/{}.set", v.id)) { + if let Err(e) = v.apply_set(set) { + warnings.push(format!("vehicles/{}.set: {e}", v.id)); + } + } + vehicles.push(v) + } Ok(None) => warnings.push(format!("{key}: sprite data is blank, skipped")), Err(e) => warnings.push(format!("{key}: {e}")), } @@ -248,10 +281,14 @@ impl GameData { } )); } + let (sounds, music, pictures) = load_media(&files, &mut warnings); Ok(GameData { tracks, track_files, vehicles, + sounds, + music, + pictures, files, warnings, }) @@ -274,6 +311,105 @@ impl GameData { } } +type Media = ( + BTreeMap, + Option<(String, Vec)>, + BTreeMap, +); + +/// Sounds, music and pictures. Assets (`sounds/*.wav`, `music/*.med`, +/// `gfx/*.png`) win over the originals (`sfx/` and `gfx/` IFF files, and the +/// CrunchMania-packed tune). +fn load_media(files: &FileSet, warnings: &mut Vec) -> Media { + let stem = |key: &str, dir: &str, ext: &str| -> Option { + let name = key.strip_prefix(dir)?.strip_prefix('/')?; + name.strip_suffix(ext).map(str::to_string) + }; + let mut sounds = BTreeMap::new(); + // Lowest priority first; later inserts replace earlier ones. + for dir in ["gfx", "sfx"] { + for (key, data) in &files.files { + if let Some(name) = stem(key, dir, ".iff") { + if iff::is_8svx(data) { + match iff::read_8svx(data) { + Ok(s) => { + sounds.insert(name, s); + } + Err(e) => warnings.push(format!("{key}: {e}")), + } + } + } + } + } + for (key, data) in &files.files { + if let Some(name) = stem(key, "sounds", ".wav") { + match iff::wav_to_sound(data) { + Ok(s) => { + sounds.insert(name, s); + } + Err(e) => warnings.push(format!("{key}: {e}")), + } + } + } + + let mut music = None; + for (key, data) in &files.files { + if let Some(name) = stem(key, "sfx", ".crn") { + match unpack(data) { + Ok(d) if med::is_med(&d) => music = Some((name, d)), + Ok(_) => warnings.push(format!("{key}: not an OctaMED module")), + Err(e) => warnings.push(format!("{key}: {e}")), + } + } + } + if let Some((key, data)) = files + .files + .iter() + .find(|(k, _)| k.starts_with("music/") && k.ends_with(".med")) + { + music = Some((stem(key, "music", ".med").unwrap_or_default(), data.clone())); + } + + let mut pictures = BTreeMap::new(); + for (key, data) in &files.files { + if let Some(name) = stem(key, "gfx", ".iff") { + if data.get(8..12) == Some(b"ILBM") { + match iff::read_ilbm(data) { + Ok(p) => { + pictures.insert(name, p); + } + Err(e) => warnings.push(format!("{key}: {e}")), + } + } + } + } + for (key, data) in &files.files { + if let Some(name) = stem(key, "gfx", ".png") { + match image::read_indexed(data, &palette::TRACK_DEFAULT) { + Ok(img) => { + let palette = img + .palette + .unwrap_or_default() + .iter() + .map(|c| (c.0, c.1, c.2)) + .collect(); + pictures.insert( + name, + Picture { + w: img.w, + h: img.h, + pixels: img.pixels, + palette, + }, + ); + } + Err(e) => warnings.push(format!("{key}: {e}")), + } + } + } + (sounds, music, pictures) +} + /// Sort key that orders TRACK2-10 after TRACK2-9. fn natural_key(name: &str) -> Vec<(String, u64)> { let mut out = Vec::new(); diff --git a/src/data/palette.rs b/src/data/palette.rs index 822b881..c1e6e1f 100644 --- a/src/data/palette.rs +++ b/src/data/palette.rs @@ -1,10 +1,8 @@ //! Colour palettes. //! -//! The track and vehicle files carry no colour tables; the retail game sets -//! them from its main executable, which lives on disk 1. Until that disk is -//! available we use a reconstructed palette. Indices on the retail tracks are -//! ordered dark-to-light, with 0-7 used for scenery and 8-15 for the driving -//! surface, so two ramps give a faithful-looking result. +//! Each original track file carries the 16-colour palette its six tracks +//! share (see `track.rs`). `TRACK_DEFAULT` is only a fallback for track +//! pictures that arrive without one: indices 0-7 scenery, 8-15 road. //! //! Each track asset's PNG carries its own palette, so the usual way to //! recolour a track is to edit that. Palettes can also be dropped in as text diff --git a/src/data/track.rs b/src/data/track.rs index bbe4f05..daf1a4e 100644 --- a/src/data/track.rs +++ b/src/data/track.rs @@ -3,6 +3,10 @@ //! File layout: //! 0x00 7 x BE32 end offsets. Section 0 runs from 0x1c to the first offset //! and holds the selector thumbnails; sections 1..6 are tracks. +//! The last 142 bytes of section 0 are: BE16 file number, the 16 +//! colour palette shared by all six tracks as 48 BE16 values (R, G, B +//! per colour, 0-15 each), 12 bytes of unknown settings, then the +//! name of the set of tracks, NUL-terminated. //! //! Each track section (281240 bytes once decrunched): //! 0x0000 height map, 64x64 BE16 8.8 fixed point, one cell per 16x8 pixels @@ -49,6 +53,8 @@ pub fn on_screen(sx: f32, sy: f32, margin: f32) -> bool { pub struct TrackFile { pub name: String, pub number: u32, + pub palette: [Rgb; 16], + pub set_name: String, /// Packed track sections (index 0 = first playable track). pub sections: Vec>, } @@ -67,6 +73,8 @@ impl Gate { pub struct Track { pub name: String, + /// The set of six tracks this one belongs to. + pub set_name: String, /// Palette indices, W x H. pub pixels: Vec, pub palette: [Rgb; 16], @@ -104,9 +112,13 @@ impl TrackFile { .trim_start_matches(|c: char| !c.is_ascii_digit()) .parse() .unwrap_or(u32::MAX); + let (palette, set_name) = file_header(&d[SECTIONS * 4..ends[0]]) + .unwrap_or((palette::TRACK_DEFAULT, String::new())); Ok(TrackFile { name: name.to_string(), number, + palette, + set_name, sections, }) } @@ -117,10 +129,26 @@ impl TrackFile { pub fn decode(&self, section: usize) -> Result { let raw = unpack(&self.sections[section]).map_err(|e| e.to_string())?; - Track::from_section(self.track_name(section), &raw) + let mut t = Track::from_section(self.track_name(section), &raw)?; + t.palette = self.palette; + t.set_name = self.set_name.clone(); + Ok(t) } } +/// Palette and set name from the tail of section 0. +fn file_header(s: &[u8]) -> Option<([Rgb; 16], String)> { + let tail = s.get(s.len().checked_sub(142)?..)?; + let mut pal = [Rgb(0, 0, 0); 16]; + for (i, c) in pal.iter_mut().enumerate() { + let v = |k: usize| (be16(tail, 2 + (i * 3 + k) * 2).min(15) * 17) as u8; + *c = Rgb(v(0), v(1), v(2)); + } + let name = &tail[110..]; + let end = name.iter().position(|&b| b == 0).unwrap_or(name.len()); + Some((pal, crate::formats::latin1(&name[..end]).trim().to_string())) +} + impl Track { pub fn from_section(name: String, d: &[u8]) -> Result { if d.len() < SECTION_SIZE { @@ -168,6 +196,7 @@ impl Track { name, pixels, palette: palette::TRACK_DEFAULT, + set_name: String::new(), height, gates, start, @@ -236,6 +265,7 @@ impl Track { let mut gates = Vec::new(); let mut start = (0.0, 0.0); let mut flags = 0; + let mut set_name = String::new(); let mut height = Vec::with_capacity(HM_W * HM_H); let mut in_height = false; for (n, line) in txt.lines().enumerate() { @@ -287,6 +317,7 @@ impl Track { .ok_or_else(|| err("bad flags"))? } "height" => in_height = true, + "set" => set_name = line[3..].trim().to_string(), other => return Err(err(&format!("unknown entry `{other}`"))), } } @@ -304,6 +335,7 @@ impl Track { name: name.to_string(), pixels: img.pixels, palette: pal, + set_name, height, gates, start, @@ -331,10 +363,11 @@ impl Track { t.push_str(&format!("gate {} {} {} {}\n", g.a.0, g.a.1, g.b.0, g.b.1)); } t.push_str(&format!( - "\n# As stored in the original data; not used by the game.\nstart {} {}\nflags {}\n\n\ + "\n# Name of the set of tracks this one belongs to, shown in the menu.\nset {}\n\n\ + # As stored in the original data; not used by the game.\nstart {} {}\nflags {}\n\n\ # height: 64 rows of 64 values, ground height x 256. Each value covers\n\ # 16x8 pixels of the picture.\nheight\n", - self.start.0, self.start.1, self.flags + self.set_name, self.start.0, self.start.1, self.flags )); for row in self.height.chunks(HM_W) { let line: Vec = row.iter().map(|v| v.to_string()).collect(); diff --git a/src/data/vehicle.rs b/src/data/vehicle.rs index 8ecd532..4054161 100644 --- a/src/data/vehicle.rs +++ b/src/data/vehicle.rs @@ -6,6 +6,11 @@ //! Its colours are only a preview; cars are recoloured per player. The text //! file holds the display name and handling. //! +//! Settings (`vehicles/*.set`, disk 1): car name and driver name, each +//! ending in a newline, then 544 bytes: 16 BE16 values (11 used; their +//! meaning lives in the executable and is not decoded yet) and a 64x32 +//! two-colour-plane picture for the menu, plane 0 then plane 1. +//! //! Original data (`vehicles/*.aga`): //! 409600 bytes once decrunched: 25 tilt blocks x 32 headings x 512 bytes. //! Each frame is a 64x32 AGA sprite with two bitplanes stored per line @@ -135,6 +140,13 @@ pub fn default_spec(id: &str) -> Spec { pub struct Vehicle { pub id: String, pub name: String, + pub driver: String, + /// Towed behind cars rather than driven (the caravan). + pub trailer: bool, + /// The 16 values from the original `.set` file, kept for reference. + pub original: Vec, + /// 64x32 menu picture (indices 0-3), from the `.set` file. + pub menu_picture: Option>, pub spec: Spec, /// Palette indices 0..3, TILTS * HEADINGS frames of SPR_W x SPR_H. pub frames: Vec, @@ -166,12 +178,58 @@ impl Vehicle { let id = file.trim_end_matches(".aga").to_lowercase(); Ok(Some(Vehicle { name: display_name(&id), + driver: String::new(), + trailer: id == "caravan", + original: Vec::new(), + menu_picture: None, spec: default_spec(&id), id, frames, })) } + /// Applies an original `.set` file. + pub fn apply_set(&mut self, d: &[u8]) -> Result<(), String> { + let nl = |from: usize| d[from..].iter().position(|&b| b == b'\n').map(|p| p + from); + let a = nl(0).ok_or("no name line")?; + let b = nl(a + 1).ok_or("no driver line")?; + let body = &d[b + 1..]; + if body.len() < 32 + 512 { + return Err(format!("{} bytes of settings, expected 544", body.len())); + } + let name = crate::formats::latin1(&d[..a]).trim().to_uppercase(); + if !matches!(self.id.as_str(), "f1" | "vw") && !name.is_empty() { + self.name = name; + } + self.driver = crate::formats::latin1(&d[a + 1..b]).trim().to_uppercase(); + self.original = (0..16).map(|i| crate::formats::be16(body, i * 2)).collect(); + let pic = &body[32..32 + 512]; + let mut px = vec![0u8; SPR_W * SPR_H]; + for (i, p) in px.iter_mut().enumerate() { + let (byte, mask) = (i / 8, 0x80 >> (i % 8)); + *p = (pic[byte] & mask != 0) as u8 | (((pic[256 + byte] & mask) != 0) as u8) << 1; + } + self.menu_picture = Some(px); + Ok(()) + } + + pub fn menu_png(&self) -> Option, String>> { + self.menu_picture + .as_ref() + .map(|px| image::write_indexed(SPR_W, SPR_H, &preview_palette(), true, px)) + } + + pub fn set_menu_png(&mut self, png: &[u8]) -> Result<(), String> { + let img = image::read_indexed(png, &preview_palette())?; + if (img.w, img.h) != (SPR_W, SPR_H) || img.pixels.iter().any(|&p| p > 3) { + return Err(format!( + "menu picture must be {SPR_W}x{SPR_H} using colours 0-3" + )); + } + self.menu_picture = Some(img.pixels); + Ok(()) + } + /// Loads an editable asset: sprite sheet PNG plus optional settings text. pub fn from_assets(id: &str, png: &[u8], txt: Option<&str>) -> Result { let img = image::read_indexed(png, &preview_palette())?; @@ -198,6 +256,10 @@ impl Vehicle { let mut v = Vehicle { id: id.to_string(), name: display_name(id), + driver: String::new(), + trailer: id == "caravan", + original: Vec::new(), + menu_picture: None, spec: default_spec(id), frames, }; @@ -227,6 +289,13 @@ impl Vehicle { "# Skids vehicle settings. Lines starting with # are comments.\n\ # The sprite sheet is {id}.png: 32 headings across, 25 tilts down.\n\ name {name}\n\ + driver {driver}\n\ + # yes = towed behind cars (Caravans option) instead of driven\n\ + trailer {trailer}\n\ + # The 16 values from the original .set file. Their meaning is not\n\ + # decoded yet, so the game does not use them; the handling below is\n\ + # a reconstruction.\n\ + original {original}\n\ # top speed on tarmac, world pixels per second\n\ top {top}\n\ # acceleration and braking, world pixels per second squared\n\ @@ -242,6 +311,14 @@ impl Vehicle { offroad {offroad}\n", id = self.id, name = self.name, + driver = self.driver, + trailer = if self.trailer { "yes" } else { "no" }, + original = self + .original + .iter() + .map(|v| v.to_string()) + .collect::>() + .join(" "), top = s.top, accel = s.accel, brake = s.brake, @@ -255,16 +332,32 @@ impl Vehicle { fn apply_settings(&mut self, txt: &str) -> Result<(), String> { for (n, line) in txt.lines().enumerate() { let line = line.split('#').next().unwrap_or("").trim(); - let Some((key, val)) = line.split_once(char::is_whitespace) else { - if line.is_empty() { + if line.is_empty() { + continue; + } + let (key, val) = line.split_once(char::is_whitespace).unwrap_or((line, "")); + let val = val.trim(); + match key { + "name" => { + self.name = val.to_uppercase(); continue; } - return Err(format!("line {}: expected `key value`", n + 1)); - }; - let val = val.trim(); - if key == "name" { - self.name = val.to_uppercase(); - continue; + "driver" => { + self.driver = val.to_uppercase(); + continue; + } + "trailer" => { + self.trailer = matches!(val, "yes" | "true" | "1"); + continue; + } + "original" => { + self.original = val + .split_whitespace() + .filter_map(|x| x.parse().ok()) + .collect(); + continue; + } + _ => {} } let num: f32 = val .parse() @@ -338,24 +431,28 @@ mod tests { #[test] fn settings_round_trip() { - let mut v = Vehicle { + let blank = |frames| Vehicle { id: "f1".into(), - name: "X".into(), + name: String::new(), + driver: String::new(), + trailer: false, + original: Vec::new(), + menu_picture: None, spec: BASE_SPEC, - frames: vec![0; TILTS * HEADINGS * SPR_W * SPR_H], + frames, }; + let mut v = blank(vec![0; TILTS * HEADINGS * SPR_W * SPR_H]); + v.driver = "SIMON".into(); + v.original = vec![60, 71, 30]; v.spec.grip = 6.25; v.name = "FORMULA 1".into(); let txt = v.settings_text(); - let mut w = Vehicle { - id: "f1".into(), - name: String::new(), - spec: BASE_SPEC, - frames: Vec::new(), - }; + let mut w = blank(Vec::new()); w.apply_settings(&txt).unwrap(); assert_eq!(w.spec, v.spec); assert_eq!(w.name, "FORMULA 1"); + assert_eq!(w.driver, "SIMON"); + assert_eq!(w.original, v.original); assert!(w.apply_settings("grip fast").is_err()); } diff --git a/src/formats/iff.rs b/src/formats/iff.rs new file mode 100644 index 0000000..1c5cbe3 --- /dev/null +++ b/src/formats/iff.rs @@ -0,0 +1,296 @@ +//! IFF readers: 8SVX sounds and ILBM pictures. + +use super::{be16, be32}; + +/// An 8-bit signed sample, as stored in an 8SVX `BODY`. +#[derive(Clone, Debug, PartialEq)] +pub struct Sound { + pub rate: u32, + pub data: Vec, + /// Loop start in samples, if the sound repeats. + pub loop_start: Option, + pub volume: f32, +} + +#[derive(Clone, Debug)] +pub struct Picture { + pub w: usize, + pub h: usize, + /// Palette indices, w * h. + pub pixels: Vec, + /// 8-bit RGB triples. + pub palette: Vec<(u8, u8, u8)>, +} + +/// (chunk id, chunk body) pairs. +type Chunks<'a> = Vec<(&'a [u8], &'a [u8])>; + +fn chunks(d: &[u8]) -> Option<(&[u8], Chunks<'_>)> { + if d.len() < 12 || &d[0..4] != b"FORM" { + return None; + } + let end = (be32(d, 4) as usize + 8).min(d.len()); + let form = &d[8..12]; + let mut out = Vec::new(); + let mut p = 12; + while p + 8 <= end { + let id = &d[p..p + 4]; + let n = be32(d, p + 4) as usize; + let body = d.get(p + 8..p + 8 + n)?; + out.push((id, body)); + p += 8 + n + (n & 1); + } + Some((form, out)) +} + +pub fn is_8svx(d: &[u8]) -> bool { + d.len() >= 12 && &d[0..4] == b"FORM" && &d[8..12] == b"8SVX" +} + +pub fn read_8svx(d: &[u8]) -> Result { + let (form, chunks) = chunks(d).ok_or("not an IFF file")?; + if form != b"8SVX" { + return Err("not an 8SVX sound".into()); + } + let vhdr = chunks + .iter() + .find(|c| c.0 == b"VHDR") + .ok_or("no VHDR chunk")? + .1; + let body = chunks + .iter() + .find(|c| c.0 == b"BODY") + .ok_or("no BODY chunk")? + .1; + if vhdr.len() < 20 { + return Err("short VHDR".into()); + } + let one_shot = be32(vhdr, 0) as usize; + let repeat = be32(vhdr, 4) as usize; + let rate = be16(vhdr, 12) as u32; + if vhdr[15] != 0 { + return Err("compressed 8SVX is not supported".into()); + } + let volume = (be32(vhdr, 16) as f32 / 65536.0).clamp(0.0, 1.0); + // Only the first octave is used; multi-octave sounds store more after it. + let len = if one_shot + repeat > 0 { + (one_shot + repeat).min(body.len()) + } else { + body.len() + }; + let data = body[..len].iter().map(|&b| b as i8).collect(); + let loop_start = (repeat > 2).then_some(one_shot); + Ok(Sound { + rate: rate.max(1000), + data, + loop_start, + volume, + }) +} + +pub fn read_ilbm(d: &[u8]) -> Result { + let (form, chunks) = chunks(d).ok_or("not an IFF file")?; + if form != b"ILBM" { + return Err("not an ILBM picture".into()); + } + let bmhd = chunks + .iter() + .find(|c| c.0 == b"BMHD") + .ok_or("no BMHD chunk")? + .1; + let body = chunks + .iter() + .find(|c| c.0 == b"BODY") + .ok_or("no BODY chunk")? + .1; + let w = be16(bmhd, 0) as usize; + let h = be16(bmhd, 2) as usize; + let planes = bmhd[8] as usize; + let masking = bmhd[9]; + let compression = bmhd[10]; + if planes == 0 || planes > 8 || w == 0 || h == 0 { + return Err("unsupported bitmap layout".into()); + } + let palette = chunks + .iter() + .find(|c| c.0 == b"CMAP") + .map(|c| c.1.chunks_exact(3).map(|p| (p[0], p[1], p[2])).collect()) + .unwrap_or_else(|| { + (0..1u16 << planes) + .map(|i| { + let v = (i * 255 / ((1 << planes) - 1)) as u8; + (v, v, v) + }) + .collect() + }); + + let row_bytes = w.div_ceil(16) * 2; + let rows_per_line = planes + (masking == 1) as usize; + let mut raw = Vec::with_capacity(row_bytes * rows_per_line * h); + match compression { + 0 => raw.extend_from_slice(body), + 1 => { + // ByteRun1 + let mut i = 0; + while i < body.len() && raw.len() < row_bytes * rows_per_line * h { + let n = body[i] as i8; + i += 1; + if n >= 0 { + let k = n as usize + 1; + raw.extend_from_slice(body.get(i..i + k).ok_or("ByteRun1 data ended early")?); + i += k; + } else if n != -128 { + let b = *body.get(i).ok_or("ByteRun1 data ended early")?; + raw.extend(std::iter::repeat_n(b, (1 - n as isize) as usize)); + i += 1; + } + } + } + _ => return Err(format!("unknown ILBM compression {compression}")), + } + if raw.len() < row_bytes * rows_per_line * h { + return Err("BODY is shorter than the picture".into()); + } + let mut pixels = vec![0u8; w * h]; + for y in 0..h { + for p in 0..planes { + let row = &raw[(y * rows_per_line + p) * row_bytes..][..row_bytes]; + for x in 0..w { + if row[x >> 3] & (0x80 >> (x & 7)) != 0 { + pixels[y * w + x] |= 1 << p; + } + } + } + } + Ok(Picture { + w, + h, + pixels, + palette, + }) +} + +/// Writes 8-bit unsigned mono WAV, with the loop start in a `smpl` chunk so +/// sample editors keep it. +pub fn sound_to_wav(s: &Sound) -> Vec { + let data: Vec = s.data.iter().map(|&v| (v as i16 + 128) as u8).collect(); + let mut chunks: Vec<(&[u8; 4], Vec)> = Vec::new(); + let mut fmt = Vec::new(); + fmt.extend_from_slice(&1u16.to_le_bytes()); + fmt.extend_from_slice(&1u16.to_le_bytes()); + fmt.extend_from_slice(&s.rate.to_le_bytes()); + fmt.extend_from_slice(&s.rate.to_le_bytes()); + fmt.extend_from_slice(&1u16.to_le_bytes()); + fmt.extend_from_slice(&8u16.to_le_bytes()); + chunks.push((b"fmt ", fmt)); + chunks.push((b"data", data)); + if let Some(start) = s.loop_start { + let mut smpl = vec![0u8; 36]; + smpl[28..32].copy_from_slice(&1u32.to_le_bytes()); + let mut lp = vec![0u8; 24]; + lp[8..12].copy_from_slice(&(start as u32).to_le_bytes()); + lp[12..16].copy_from_slice(&(s.data.len() as u32 - 1).to_le_bytes()); + smpl.extend(lp); + chunks.push((b"smpl", smpl)); + } + let mut out = b"RIFF\0\0\0\0WAVE".to_vec(); + for (id, body) in chunks { + out.extend_from_slice(id); + out.extend_from_slice(&(body.len() as u32).to_le_bytes()); + out.extend_from_slice(&body); + if body.len() & 1 == 1 { + out.push(0); + } + } + let n = (out.len() - 8) as u32; + out[4..8].copy_from_slice(&n.to_le_bytes()); + out +} + +/// Reads mono or stereo 8/16-bit PCM WAV (stereo is mixed down). +pub fn wav_to_sound(d: &[u8]) -> Result { + if d.len() < 12 || &d[0..4] != b"RIFF" || &d[8..12] != b"WAVE" { + return Err("not a WAV file".into()); + } + let le16 = |o: usize| u16::from_le_bytes([d[o], d[o + 1]]); + let le32 = |o: usize| u32::from_le_bytes([d[o], d[o + 1], d[o + 2], d[o + 3]]); + let (mut fmt, mut data, mut loop_start) = (None, None, None); + let mut p = 12; + while p + 8 <= d.len() { + let n = le32(p + 4) as usize; + let body = p + 8..(p + 8 + n).min(d.len()); + match &d[p..p + 4] { + b"fmt " if n >= 16 => { + fmt = Some((le16(p + 8), le16(p + 10), le32(p + 12), le16(p + 22))) + } + b"data" => data = Some(body), + b"smpl" if n >= 60 && le32(p + 8 + 28) > 0 => { + loop_start = Some(le32(p + 8 + 36 + 8) as usize) + } + _ => {} + } + p += 8 + n + (n & 1); + } + let (format, channels, rate, bits) = fmt.ok_or("no fmt chunk")?; + let body = &d[data.ok_or("no data chunk")?]; + if format != 1 || channels == 0 || !(bits == 8 || bits == 16) { + return Err("only 8- or 16-bit PCM WAV is supported".into()); + } + let step = channels as usize * (bits as usize / 8); + let sample = |frame: &[u8]| -> i32 { + let mut acc = 0i32; + for c in 0..channels as usize { + acc += if bits == 8 { + (frame[c] as i32 - 128) << 8 + } else { + i16::from_le_bytes([frame[2 * c], frame[2 * c + 1]]) as i32 + }; + } + acc / channels as i32 + }; + let data: Vec = body + .chunks_exact(step) + .map(|f| (sample(f) >> 8) as i8) + .collect(); + let loop_start = loop_start.filter(|&s| s + 2 < data.len()); + Ok(Sound { + rate: rate.max(1000), + data, + loop_start, + volume: 1.0, + }) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn wav_round_trip() { + let s = Sound { + rate: 8363, + data: (-50..50).map(|v| v as i8).collect(), + loop_start: Some(20), + volume: 1.0, + }; + let back = wav_to_sound(&sound_to_wav(&s)).unwrap(); + assert_eq!(back, s); + } + + #[test] + fn byterun1_picture() { + // 16x1, 1 plane: run of 2 x 0xff. + let mut d = b"FORM\0\0\0\0ILBMBMHD\0\0\0\x14".to_vec(); + let mut bmhd = vec![0u8; 20]; + bmhd[1] = 16; + bmhd[3] = 1; + bmhd[8] = 1; + bmhd[10] = 1; + d.extend(bmhd); + d.extend(b"BODY\0\0\0\x02\xff\xff"); + let n = (d.len() - 8) as u32; + d[4..8].copy_from_slice(&n.to_be_bytes()); + let p = read_ilbm(&d).unwrap(); + assert_eq!(p.pixels, vec![1; 16]); + } +} diff --git a/src/formats/lha.rs b/src/formats/lha.rs index 44b2ed2..016ace7 100644 --- a/src/formats/lha.rs +++ b/src/formats/lha.rs @@ -1,9 +1,11 @@ //! LHA/LZH archive reader (header levels 0, 1 and 2). //! -//! The game disks only use the `-lh0-` (stored) method because every file is -//! already CrunchMania-packed, so compressed methods are reported rather than -//! decoded. +//! Supports the stored (`-lh0-`, `-lz4-`) and LZSS/Huffman (`-lh5-`, `-lh6-`, +//! `-lh7-`) methods. Every decoded file is checked against the header CRC. +//! Entries in other methods, or that fail to decode, carry the reason in +//! `data` instead of their contents. +use super::lzh; use super::{latin1, le16, le32}; use std::fmt; @@ -28,8 +30,8 @@ pub struct LhaEntry { /// Path inside the archive, `/`-separated. pub path: String, pub method: String, - /// File contents for stored entries, `None` for methods we do not decode. - pub data: Option>, + /// File contents, or why they could not be read. + pub data: Result, String>, } pub fn parse(d: &[u8]) -> Result, LhaError> { @@ -45,7 +47,9 @@ pub fn parse(d: &[u8]) -> Result, LhaError> { } let method = latin1(method); let mut packed = le32(d, p + 7) as usize; + let original = le32(d, p + 11) as usize; let level = d[p + 20]; + let mut crc = None; let mut name = String::new(); let mut dir = String::new(); @@ -59,6 +63,9 @@ pub fn parse(d: &[u8]) -> Result, LhaError> { return Err(LhaError::Truncated(p)); } name = latin1(&d[p + 22..p + 22 + name_len]); + if p + 24 + name_len <= d.len() { + crc = Some(le16(d, p + 22 + name_len)); + } let mut q = p + header_len; if level == 1 { // Extended headers follow the base header and are counted @@ -81,6 +88,7 @@ pub fn parse(d: &[u8]) -> Result, LhaError> { if p + header_len > d.len() || header_len < 26 { return Err(LhaError::Truncated(p)); } + crc = Some(le16(d, p + 21)); let mut q = p + 26; let mut next = le16(d, p + 24) as usize; while next != 0 { @@ -101,10 +109,18 @@ pub fn parse(d: &[u8]) -> Result, LhaError> { return Err(LhaError::Truncated(data_start)); } let path = join_path(&dir, &name); - let data = match method.as_str() { - "-lh0-" | "-lz4-" => Some(d[data_start..data_end].to_vec()), - _ => None, + let body = &d[data_start..data_end]; + let decoded = match method.as_str() { + "-lh0-" | "-lz4-" => Ok(body.to_vec()), + "-lh5-" => lzh::decode(body, original, 13).map_err(|e| e.to_string()), + "-lh6-" => lzh::decode(body, original, 15).map_err(|e| e.to_string()), + "-lh7-" => lzh::decode(body, original, 16).map_err(|e| e.to_string()), + other => Err(format!("unsupported method {other}")), }; + let data = decoded.and_then(|v| match crc { + Some(c) if lzh::crc16(&v) != c => Err("CRC mismatch".to_string()), + _ => Ok(v), + }); if method != "-lhd-" { out.push(LhaEntry { path, method, data }); } @@ -149,7 +165,7 @@ mod tests { h[20] = 0; h[21] = name.len() as u8; h.extend_from_slice(name.as_bytes()); - h.extend_from_slice(&[0, 0]); // CRC, unchecked + h.extend_from_slice(&lzh::crc16(body).to_le_bytes()); h[0] = (h.len() - 2) as u8; h.extend_from_slice(body); h @@ -163,7 +179,7 @@ mod tests { let e = parse(&arc).unwrap(); assert_eq!(e.len(), 2); assert_eq!(e[0].path, "dir/a.bin"); - assert_eq!(e[0].data.as_deref(), Some(&b"hello"[..])); - assert_eq!(e[1].data.as_deref(), Some(&b"world!"[..])); + assert_eq!(e[0].data.as_deref(), Ok(&b"hello"[..])); + assert_eq!(e[1].data.as_deref(), Ok(&b"world!"[..])); } } diff --git a/src/formats/lzh.rs b/src/formats/lzh.rs new file mode 100644 index 0000000..32e3b3c --- /dev/null +++ b/src/formats/lzh.rs @@ -0,0 +1,307 @@ +//! Decoder for the LHA `-lh5-`, `-lh6-` and `-lh7-` methods: LZSS with +//! static Huffman blocks, as used by LHA 2.x on the Amiga. +//! +//! Each block starts with a 16-bit symbol count, then three code-length +//! tables: one for the code-length codes (19 symbols), one for literals and +//! lengths (510 symbols) and one for match offsets. Codes are canonical, +//! assigned in symbol order within each length, and read MSB first. + +use std::fmt; + +#[derive(Debug, PartialEq)] +pub enum LzhError { + Truncated, + BadTable, + BadReference, +} + +impl fmt::Display for LzhError { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + f.write_str(match self { + LzhError::Truncated => "compressed data ended early", + LzhError::BadTable => "invalid Huffman table", + LzhError::BadReference => "match reaches before the start of the file", + }) + } +} + +impl std::error::Error for LzhError {} + +const NC: usize = 510; +const NT: usize = 19; +const TBIT: u32 = 5; +const CBIT: u32 = 9; + +struct Bits<'a> { + d: &'a [u8], + pos: usize, + buf: u64, + len: u32, +} + +impl Bits<'_> { + fn fill(&mut self) { + while self.len <= 56 { + // Reading past the end yields zero bits; callers detect overrun + // through `overrun()` once a block has been decoded. + let b = self.d.get(self.pos).copied().unwrap_or(0); + self.pos += 1; + self.buf |= (b as u64) << (56 - self.len); + self.len += 8; + } + } + + fn peek(&mut self, n: u32) -> u32 { + if n == 0 { + return 0; + } + self.fill(); + (self.buf >> (64 - n)) as u32 + } + + fn skip(&mut self, n: u32) { + self.fill(); + self.buf <<= n; + self.len -= n; + } + + fn get(&mut self, n: u32) -> u32 { + let v = self.peek(n); + self.skip(n); + v + } + + fn overrun(&self) -> bool { + self.pos > self.d.len() + 8 + } +} + +/// Canonical Huffman decoder built from code lengths. +struct Table { + /// A table with one symbol consumes no bits. + single: Option, + count: [u16; 17], + symbols: Vec, +} + +impl Table { + fn single(sym: u16) -> Table { + Table { + single: Some(sym), + count: [0; 17], + symbols: Vec::new(), + } + } + + fn from_lengths(lengths: &[u8]) -> Result { + let mut count = [0u16; 17]; + for &l in lengths { + if l as usize > 16 { + return Err(LzhError::BadTable); + } + count[l as usize] += 1; + } + count[0] = 0; + let mut symbols = Vec::new(); + for len in 1..=16u8 { + for (s, &l) in lengths.iter().enumerate() { + if l == len { + symbols.push(s as u16); + } + } + } + // Over-subscribed code sets are corrupt; incomplete ones are allowed. + let mut left = 1i32; + for &c in &count[1..] { + left = left * 2 - c as i32; + if left < 0 { + return Err(LzhError::BadTable); + } + } + Ok(Table { + single: None, + count, + symbols, + }) + } + + fn decode(&self, bits: &mut Bits) -> Result { + if let Some(s) = self.single { + return Ok(s); + } + let (mut code, mut first, mut index) = (0i32, 0i32, 0i32); + for len in 1..=16 { + code |= bits.get(1) as i32; + let n = self.count[len] as i32; + if code - first < n { + return Ok(self.symbols[(index + code - first) as usize]); + } + index += n; + first = (first + n) << 1; + code <<= 1; + } + Err(LzhError::BadTable) + } +} + +/// Reads the code-length or offset table (`read_pt_len` in LHA). +fn read_pt( + bits: &mut Bits, + nn: usize, + nbit: u32, + special: Option, +) -> Result { + let n = bits.get(nbit) as usize; + if n == 0 { + return Ok(Table::single(bits.get(nbit) as u16)); + } + if n > nn { + return Err(LzhError::BadTable); + } + let mut lens = vec![0u8; nn]; + let mut i = 0; + while i < n { + let mut c = bits.peek(3); + if c == 7 { + // Lengths of 7 and above: unary extension after the first 3 bits. + let mut mask = 1u32 << 12; + let look = bits.peek(16); + while look & mask != 0 { + mask >>= 1; + c += 1; + if c > 16 { + return Err(LzhError::BadTable); + } + } + bits.skip(c - 3); + } else { + bits.skip(3); + } + lens[i] = c as u8; + i += 1; + if Some(i) == special { + let zeros = bits.get(2) as usize; + i = (i + zeros).min(nn); + } + } + Table::from_lengths(&lens) +} + +/// Reads the literal/length table (`read_c_len` in LHA). +fn read_c(bits: &mut Bits, pt: &Table) -> Result { + let n = bits.get(CBIT) as usize; + if n == 0 { + return Ok(Table::single(bits.get(CBIT) as u16)); + } + if n > NC { + return Err(LzhError::BadTable); + } + let mut lens = vec![0u8; NC]; + let mut i = 0; + while i < n { + match pt.decode(bits)? { + 0 => i += 1, + 1 => i += bits.get(4) as usize + 3, + 2 => i += bits.get(CBIT) as usize + 20, + c => { + lens[i] = (c - 2) as u8; + i += 1; + } + } + } + if i > NC { + return Err(LzhError::BadTable); + } + Table::from_lengths(&lens) +} + +/// Decodes `original_size` bytes. `dict_bits` is 13 for lh5, 15 for lh6 +/// and 16 for lh7. +pub fn decode(d: &[u8], original_size: usize, dict_bits: u32) -> Result, LzhError> { + let np = dict_bits as usize + 1; + let pbit = if dict_bits >= 15 { 5 } else { 4 }; + let mut bits = Bits { + d, + pos: 0, + buf: 0, + len: 0, + }; + let mut out = Vec::with_capacity(original_size); + while out.len() < original_size { + let mut left = bits.get(16); + if left == 0 { + return Err(LzhError::Truncated); + } + let pt = read_pt(&mut bits, NT, TBIT, Some(3))?; + let c = read_c(&mut bits, &pt)?; + let p = read_pt(&mut bits, np, pbit, None)?; + while left > 0 && out.len() < original_size { + left -= 1; + let sym = c.decode(&mut bits)? as usize; + if sym < 256 { + out.push(sym as u8); + continue; + } + let length = sym - 256 + 3; + let mut dist = p.decode(&mut bits)? as u32; + if dist > 1 { + dist = (1 << (dist - 1)) + bits.get(dist - 1); + } + let dist = dist as usize + 1; + if dist > out.len() { + return Err(LzhError::BadReference); + } + let start = out.len() - dist; + for k in 0..length.min(original_size - out.len()) { + out.push(out[start + k]); + } + } + if bits.overrun() { + return Err(LzhError::Truncated); + } + } + Ok(out) +} + +/// CRC-16 as used in LHA headers (polynomial 0xA001, reflected, init 0). +pub fn crc16(d: &[u8]) -> u16 { + let mut crc = 0u16; + for &b in d { + crc ^= b as u16; + for _ in 0..8 { + crc = if crc & 1 != 0 { + (crc >> 1) ^ 0xa001 + } else { + crc >> 1 + }; + } + } + crc +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn crc_check_value() { + // Standard check value for CRC-16/ARC. + assert_eq!(crc16(b"123456789"), 0xbb3d); + } + + #[test] + fn canonical_decode() { + // Lengths a=1, b=2, c=2 give codes 0, 10, 11. + let t = Table::from_lengths(&[1, 2, 2]).unwrap(); + let data = [0b0101_1000u8]; + let mut bits = Bits { + d: &data, + pos: 0, + buf: 0, + len: 0, + }; + assert_eq!(t.decode(&mut bits), Ok(0)); + assert_eq!(t.decode(&mut bits), Ok(1)); + assert_eq!(t.decode(&mut bits), Ok(2)); + } +} diff --git a/src/formats/med.rs b/src/formats/med.rs new file mode 100644 index 0000000..653c165 --- /dev/null +++ b/src/formats/med.rs @@ -0,0 +1,174 @@ +//! OctaMED module reader (MMD0 and MMD1, 8-bit sample instruments). +//! +//! Layout notes (all offsets big-endian, pointers relative to file start): +//! 0 "MMD0"/"MMD1", 8 song struct, 16 block table, 24 sample table. +//! Song struct: 63 x 8-byte sample entries (repeat, repeat length in words, +//! MIDI channel, preset, volume, transpose), then block count, sequence +//! length, 256-byte play sequence, default tempo, transpose, flags, flags2, +//! secondary tempo (ticks per line), 16 track volumes, master volume, +//! sample count. MMD0 blocks have a 2-byte header and 3-byte notes; MMD1 +//! blocks have an 8-byte header and 4-byte notes. + +use super::{be16, be32}; + +#[derive(Clone, Copy, Default, Debug, PartialEq)] +pub struct Note { + /// 0 = none, 1 = C-1 ... + pub note: u8, + /// 0 = none, else instrument number (1-based). + pub instr: u8, + pub cmd: u8, + pub param: u8, +} + +#[derive(Clone, Debug, Default)] +pub struct Instrument { + pub data: Vec, + pub loop_start: usize, + pub loop_len: usize, + pub volume: u8, + pub transpose: i8, +} + +#[derive(Clone, Debug)] +pub struct Block { + pub tracks: usize, + pub lines: usize, + pub notes: Vec, +} + +#[derive(Clone, Debug)] +pub struct Song { + pub instruments: Vec, + pub blocks: Vec, + pub sequence: Vec, + /// Lines per minute is derived from these by the player. + pub tempo: u16, + pub speed: u8, + pub bpm_mode: bool, + pub lines_per_beat: u8, + pub volume_hex: bool, + pub transpose: i8, + pub track_volume: [u8; 16], + pub master_volume: u8, +} + +pub fn is_med(d: &[u8]) -> bool { + d.len() > 52 && (&d[0..4] == b"MMD0" || &d[0..4] == b"MMD1") +} + +pub fn parse(d: &[u8]) -> Result { + if !is_med(d) { + return Err("not an OctaMED MMD0/MMD1 module".into()); + } + let mmd1 = d[3] == b'1'; + let get = |o: usize, n: usize| { + d.get(o..o + n) + .ok_or_else(|| format!("offset {o} is outside the module")) + }; + let song = be32(d, 8) as usize; + let blockarr = be32(d, 16) as usize; + let smplarr = be32(d, 24) as usize; + let s = get(song, 788)?; + let nblocks = be16(s, 504) as usize; + let songlen = (be16(s, 506) as usize).min(256); + let sequence: Vec = s[508..508 + songlen].iter().map(|&b| b as usize).collect(); + let tempo = be16(s, 764); + let transpose = s[766] as i8; + let flags = s[767]; + let flags2 = s[768]; + let speed = s[769].max(1); + let mut track_volume = [64u8; 16]; + track_volume.copy_from_slice(&s[770..786]); + let master_volume = s[786]; + let nsamples = (s[787] as usize).min(63); + + let mut instruments = Vec::new(); + for i in 0..nsamples { + let e = &s[i * 8..i * 8 + 8]; + let (rep, replen) = (be16(e, 0) as usize * 2, be16(e, 2) as usize * 2); + let mut inst = Instrument { + volume: e[6].min(64), + transpose: e[7] as i8, + ..Default::default() + }; + let p = if smplarr != 0 { + be32(get(smplarr + i * 4, 4)?, 0) as usize + } else { + 0 + }; + if p != 0 { + let h = get(p, 6)?; + let len = be32(h, 0) as usize; + let kind = be16(h, 4) as i16; + if kind != 0 { + return Err(format!("instrument {} is a synth or multi-octave sample (type {kind}), which is not supported", i + 1)); + } + inst.data = get(p + 6, len)?.iter().map(|&b| b as i8).collect(); + if replen > 2 && rep < len { + inst.loop_start = rep; + inst.loop_len = replen.min(len - rep); + } + } + instruments.push(inst); + } + + let mut blocks = Vec::new(); + for b in 0..nblocks { + let bp = be32(get(blockarr + b * 4, 4)?, 0) as usize; + let (tracks, lines, header, width) = if mmd1 { + let h = get(bp, 8)?; + (be16(h, 0) as usize, be16(h, 2) as usize + 1, 8, 4) + } else { + let h = get(bp, 2)?; + (h[0] as usize, h[1] as usize + 1, 2, 3) + }; + if tracks == 0 || tracks > 64 { + return Err(format!("block {b} has {tracks} tracks")); + } + let body = get(bp + header, tracks * lines * width)?; + let notes = body + .chunks_exact(width) + .map(|c| { + if mmd1 { + Note { + note: c[0] & 0x7f, + instr: c[1] & 0x3f, + cmd: c[2], + param: c[3], + } + } else { + // MMD0: nnnnnnn i | iiii cccc | pppppppp + let instr = ((c[0] & 0x80) >> 3) | (c[1] >> 4); + Note { + note: c[0] & 0x3f, + instr, + cmd: c[1] & 0x0f, + param: c[2], + } + } + }) + .collect(); + blocks.push(Block { + tracks, + lines, + notes, + }); + } + if sequence.iter().any(|&b| b >= blocks.len()) || sequence.is_empty() { + return Err("play sequence refers to a missing block".into()); + } + Ok(Song { + instruments, + blocks, + sequence, + tempo, + speed, + bpm_mode: flags2 & 0x20 != 0, + lines_per_beat: (flags2 & 0x1f) + 1, + volume_hex: flags & 0x10 != 0, + transpose, + track_volume, + master_volume, + }) +} diff --git a/src/formats/mod.rs b/src/formats/mod.rs index 71351a0..0fd2705 100644 --- a/src/formats/mod.rs +++ b/src/formats/mod.rs @@ -6,7 +6,10 @@ pub mod adf; pub mod crm; +pub mod iff; pub mod lha; +pub mod lzh; +pub mod med; pub(crate) fn be16(d: &[u8], off: usize) -> u16 { u16::from_be_bytes([d[off], d[off + 1]]) diff --git a/src/game/ai.rs b/src/game/ai.rs index b76fcbe..b1449cd 100644 --- a/src/game/ai.rs +++ b/src/game/ai.rs @@ -17,8 +17,6 @@ pub struct Ai { pub line: f32, /// Fraction of the car's top speed this driver uses. pub pace: f32, - /// Index of the path segment the car is on (gate i-1 to gate i). - seg: Option, stuck_for: f32, blocked_for: f32, reversing: f32, @@ -29,7 +27,6 @@ impl Ai { Ai { line, pace, - seg: None, stuck_for: 0.0, blocked_for: 0.0, reversing: 0.0, @@ -46,16 +43,12 @@ impl Ai { /// Point `dist` along the driving line from the car's projection onto it. fn pursue(&mut self, car: &Car, gates: &[Gate], next_gate: usize, dist: f32) -> (f32, f32) { let n = gates.len(); - // Search a few segments ahead of the last known one; never jump back, - // so figure-of-eight crossings don't confuse it. Resync to the lap - // counter if we drift too far from it. - let mut seg = self.seg.unwrap_or(next_gate); - let ahead = (next_gate + n - seg) % n; - if ahead > 3 && ahead < n - 1 { - seg = next_gate; - } + // Only the stretch into the gate the lap counter needs next, or the + // one after it (crossing counts with one gate skipped), so a car + // knocked backwards turns round for the gate it missed. + let seg = next_gate; let mut best = (f32::MAX, seg, 0.0f32); - for k in 0..4 { + for k in 0..2 { let i = (seg + k) % n; let a = self.point(&gates[(i + n - 1) % n]); let b = self.point(&gates[i]); @@ -68,7 +61,6 @@ impl Ai { } } let (_, mut i, t) = best; - self.seg = Some(i); let mut a = self.point(&gates[(i + n - 1) % n]); let mut b = self.point(&gates[i]); diff --git a/src/game/mod.rs b/src/game/mod.rs index 1710b76..8675629 100644 --- a/src/game/mod.rs +++ b/src/game/mod.rs @@ -32,6 +32,59 @@ pub struct Entrant { pub best_lap: Option, pub last_lap: Option, pub finished: Option, + pub trailer: Option, + /// Race time when this entrant last crossed a gate. + pub progress_at: f32, +} + +/// A caravan on a tow bar behind a car. +#[derive(Clone, Copy, Debug)] +pub struct Trailer { + pub vehicle: usize, + pub x: f32, + pub y: f32, + pub heading: f32, +} + +/// Hitch distance behind the car's centre, and tow bar length to the +/// trailer's centre, in world units. +const HITCH: f32 = 12.0; +const TOW_BAR: f32 = 20.0; +const TRAILER_RADIUS: f32 = 10.0; +/// Seconds without crossing a gate before a computer car is rescued. +const RESCUE_AFTER: f32 = 8.0; + +fn rescue(e: &mut Entrant, gates: &[Gate]) { + let n = gates.len(); + let from = gates[(e.next_gate + n - 1) % n].mid(); + let to = gates[e.next_gate].mid(); + let heading = (to.1 - from.1).atan2(to.0 - from.0); + let c = &mut e.car; + c.x = from.0; + c.y = from.1; + c.vx = 0.0; + c.vy = 0.0; + c.heading = heading.rem_euclid(std::f32::consts::TAU); + if let Some(t) = &mut e.trailer { + let back = HITCH + TOW_BAR; + t.x = from.0 - heading.cos() * back; + t.y = from.1 - heading.sin() * back; + t.heading = heading; + } +} + +impl Trailer { + /// Drags the trailer after its car: it keeps its distance from the + /// hitch and swings to point at it. + fn follow(&mut self, car: &Car) { + let (fx, fy) = car.forward(); + let (hx, hy) = (car.x - fx * HITCH, car.y - fy * HITCH); + let (dx, dy) = (self.x - hx, self.y - hy); + let d = dx.hypot(dy).max(1e-3); + self.x = hx + dx / d * TOW_BAR; + self.y = hy + dy / d * TOW_BAR; + self.heading = (hy - self.y).atan2(hx - self.x); + } } impl Entrant { @@ -75,6 +128,8 @@ pub struct EntrantSetup { pub driver: Driver, pub team: usize, pub name: String, + /// Vehicle index of a caravan to tow, if any. + pub trailer: Option, } impl Race { @@ -97,7 +152,13 @@ impl Race { // from the line. let row = (i / 2) as f32; let side = if i % 2 == 0 { -1.0 } else { 1.0 }; - let ((px, py), heading) = behind(&path, 18.0 + row * 30.0); + // Leave room for a caravan between rows when towing. + let spacing = if s.trailer.is_some() { + 30.0 + HITCH + TOW_BAR + TRAILER_RADIUS + } else { + 30.0 + }; + let ((px, py), heading) = behind(&path, 18.0 + row * spacing); let (rx, ry) = (-heading.sin(), heading.cos()); let (x, y) = (px + rx * side * 12.0, py + ry * side * 12.0); let car = Car::new(s.vehicle, vehicles[s.vehicle].spec, s.team, x, y, heading); @@ -114,7 +175,23 @@ impl Race { best_lap: None, last_lap: None, finished: None, + progress_at: 0.0, + trailer: s.trailer.map(|t| { + let (fx, fy) = (heading.cos(), heading.sin()); + let back = HITCH + TOW_BAR; + Trailer { + vehicle: t, + x: x - fx * back, + y: y - fy * back, + heading, + } + }), }); + if let Some(e) = entrants.last_mut().filter(|e| e.trailer.is_some()) { + // Towing costs some speed and pick-up. + e.car.spec.top *= 0.9; + e.car.spec.accel *= 0.8; + } } let ground = track.rgb(); Race { @@ -153,6 +230,9 @@ impl Race { let racing = self.phase != Phase::Countdown; let rt = self.race_time(); let n = self.track.gates.len(); + // Where every car started the frame: gate crossings are judged on + // the whole frame's movement, including knocks from collisions. + let starts: Vec<(f32, f32)> = self.entrants.iter().map(|e| (e.car.x, e.car.y)).collect(); for e in self.entrants.iter_mut() { let controls = match (e.driver, e.finished) { @@ -164,15 +244,37 @@ impl Race { e.car.controls = controls; // Finished cars cruise round on autopilot at reduced pace. let pace = if e.finished.is_some() { 0.6 } else { 1.0 }; - let (px, py) = (e.car.x, e.car.y); e.car.step(&self.track, DT, pace); + } + for i in 0..self.entrants.len() { + for j in i + 1..self.entrants.len() { + let (a, b) = self.entrants.split_at_mut(j); + car::collide(&mut a[i].car, &mut b[0].car); + } + } + // Caravans follow their cars and shove other cars out of the way. + for i in 0..self.entrants.len() { + let Some(mut t) = self.entrants[i].trailer else { + continue; + }; + t.follow(&self.entrants[i].car); + for (j, other) in self.entrants.iter_mut().enumerate() { + if j != i { + push_off(&mut other.car, t.x, t.y); + } + } + self.entrants[i].trailer = Some(t); + } + + for (e, &(px, py)) in self.entrants.iter_mut().zip(&starts) { // Gate crossing, allowing one gate to be skipped. for skip in 0..2 { let gi = (e.next_gate + skip) % n; if crosses(&self.track.gates[gi], (px, py), (e.car.x, e.car.y)) { let before = e.passed; e.passed += skip + 1; + e.progress_at = rt; e.next_gate = (gi + 1) % n; if before == 0 { // First time over the line: the clock starts. @@ -188,10 +290,17 @@ impl Race { } } - for i in 0..self.entrants.len() { - for j in i + 1..self.entrants.len() { - let (a, b) = self.entrants.split_at_mut(j); - car::collide(&mut a[i].car, &mut b[0].car); + // A computer car that has made no progress for a while is put back + // on the racing line at the last gate it crossed. + if self.phase == Phase::Racing { + for e in self.entrants.iter_mut() { + if e.driver == Driver::Cpu + && e.finished.is_none() + && rt - e.progress_at > RESCUE_AFTER + { + rescue(e, &self.track.gates); + e.progress_at = rt; + } } } @@ -277,6 +386,26 @@ impl Car { } } +/// Moves a car out of a caravan it has run into, killing the speed it had +/// into it. +fn push_off(c: &mut Car, tx: f32, ty: f32) { + let (dx, dy) = (c.x - tx, c.y - ty); + let d = dx.hypot(dy); + let min = car::RADIUS + TRAILER_RADIUS; + if d >= min || d < 1e-3 { + return; + } + let (nx, ny) = (dx / d, dy / d); + c.x += nx * (min - d); + c.y += ny * (min - d); + let vn = c.vx * nx + c.vy * ny; + if vn < 0.0 { + c.vx -= vn * nx * 1.3; + c.vy -= vn * ny * 1.3; + c.bump = c.bump.max((-vn / 150.0).min(1.0)); + } +} + fn burn(ground: &mut [u32], sx: f32, sy: f32, strength: f32) { use crate::data::track::{H, W}; let (x, y) = (sx as isize, sy as isize); diff --git a/src/main.rs b/src/main.rs index 937af48..a8f1b61 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,7 @@ mod audio; mod data; mod formats; mod game; +mod music; mod render; use app::{App, Input}; @@ -24,15 +25,19 @@ USAGE: skids [--data DIR] [--scale 1|2|4] [--mute] play skids info [--data DIR] list what was found in the data skids extract [--data DIR] [--out DIR] convert the data to editable assets (default ./assets) - skids render [--data DIR] --out FILE.png [--track N] [--seconds S] [--players 1|2] [--menu] + skids unpack FILE.adf|FILE.lha --out DIR extract every file from a disk image or archive + skids music [--data DIR] --out FILE.wav [--seconds S] + render the tune to a WAV file + skids render [--data DIR] --out FILE.png [--track N] [--seconds S] [--players 1|2] [--menu] [--caravans] simulate a race (or the menu) and save a frame - skids bench [--data DIR] [--seconds S] race computer cars on every track + skids bench [--data DIR] [--seconds S] [--caravans] + race computer cars on every track skids trace [--data DIR] --out FILE.png [--track N] [--seconds S] draw the computer cars' paths on a track The game data is built into the executable, so no disks are needed. --data adds to or overrides it with ADF images, LHA archives, or extracted track/, -vehicles/ and palettes/ folders (e.g. disk 1, or real palettes). Without +vehicles/ and palettes/ folders, or an assets folder of edits. Without --data, a folder like that in the current directory or next to the executable is picked up automatically. @@ -51,6 +56,7 @@ struct Args { seconds: f32, players: usize, menu: bool, + caravans: bool, } fn parse_args() -> Result { @@ -64,6 +70,7 @@ fn parse_args() -> Result { seconds: 12.0, players: 1, menu: false, + caravans: false, }; let mut it = std::env::args().skip(1); while let Some(arg) = it.next() { @@ -78,7 +85,12 @@ fn parse_args() -> Result { "--players" => a.players = val("--players")?.parse().map_err(|_| "bad --players")?, "--mute" => a.mute = true, "--menu" => a.menu = true, - "info" | "extract" | "render" | "bench" | "trace" | "play" => a.cmd = arg, + "--caravans" => a.caravans = true, + "info" | "extract" | "render" | "bench" | "trace" | "music" | "play" => a.cmd = arg, + "unpack" => { + a.cmd = arg; + a.data = Some(val("unpack")?.into()); + } other => return Err(format!("unknown argument {other}")), } } @@ -86,7 +98,7 @@ fn parse_args() -> Result { } /// An explicit --data directory, or a nearby folder that looks like it holds -/// game data (e.g. disk 1 dropped next to the executable). The built-in data +/// game data (e.g. edited assets next to the executable). The built-in data /// is always loaded first, so finding nothing is fine. fn find_data(explicit: Option) -> Option { if explicit.is_some() { @@ -111,6 +123,21 @@ fn find_data(explicit: Option) -> Option { candidates.into_iter().find(|d| looks_right(d)) } +/// Sound output using the game's samples and tune. +fn make_audio(data: &GameData, enabled: bool) -> audio::Audio { + let song = data + .music + .as_ref() + .and_then(|(name, d)| match formats::med::parse(d) { + Ok(s) => Some(std::sync::Arc::new(s)), + Err(e) => { + eprintln!("warning: music {name}: {e}"); + None + } + }); + audio::Audio::new(enabled, audio::Bank::from_sounds(&data.sounds), song) +} + fn main() -> ExitCode { let args = match parse_args() { Ok(a) => a, @@ -126,8 +153,22 @@ fn main() -> ExitCode { }; } }; + if args.cmd == "unpack" { + return match unpack(args.data.as_deref().unwrap(), args.out.as_deref()) { + Ok(()) => ExitCode::SUCCESS, + Err(e) => { + eprintln!("error: {e}"); + ExitCode::FAILURE + } + }; + } let root = find_data(args.data.clone()); - let data = match GameData::load(root.as_deref()) { + // Converting disks must read only the disks, not the built-in assets. + let data = match if args.cmd == "extract" { + GameData::load_from(root.as_deref(), false) + } else { + GameData::load(root.as_deref()) + } { Ok(d) => d, Err(e) => { eprintln!("{e}"); @@ -146,6 +187,7 @@ fn main() -> ExitCode { "render" => render_shot(data, &args), "bench" => bench(data, &args), "trace" => trace(data, &args), + "music" => render_music(&data, &args), _ => play(data, &args), }; match result { @@ -181,6 +223,54 @@ fn info(data: &GameData, dir: Option<&Path>) { } } +/// Extracts every file from an ADF image or LHA archive, unpacking LHA +/// archives found on disks. Files keep their stored (packed) form. +fn unpack(input: &Path, out: Option<&Path>) -> Result<(), String> { + use formats::{adf::Adf, lha}; + let out = out.ok_or("unpack needs --out DIR")?; + let data = std::fs::read(input).map_err(|e| format!("{}: {e}", input.display()))?; + let mut files: Vec<(String, Vec)> = Vec::new(); + if input + .extension() + .is_some_and(|e| e.eq_ignore_ascii_case("adf")) + { + let adf = Adf::open(data).map_err(|e| e.to_string())?; + for f in adf.files().map_err(|e| e.to_string())? { + files.push((f.path, f.data)); + } + } else { + files.push((input.file_name().unwrap().to_string_lossy().into(), data)); + } + let mut failed = 0; + while let Some((path, data)) = files.pop() { + if path.to_lowercase().ends_with(".lha") { + for e in lha::parse(&data).map_err(|e| format!("{path}: {e}"))? { + match e.data { + Ok(d) => files.push((e.path, d)), + Err(why) => { + eprintln!("FAILED {} ({}): {why}", e.path, e.method); + failed += 1; + } + } + } + continue; + } + // Keep paths inside `out`. + let safe: PathBuf = path + .split(['/', '\\']) + .filter(|c| !c.is_empty() && *c != "..") + .collect(); + let dest = out.join(safe); + std::fs::create_dir_all(dest.parent().unwrap()).map_err(|e| e.to_string())?; + std::fs::write(&dest, &data).map_err(|e| format!("{}: {e}", dest.display()))?; + println!("{:>8} {}", data.len(), path); + } + if failed > 0 { + return Err(format!("{failed} files could not be extracted")); + } + Ok(()) +} + /// Writes every track and vehicle as editable assets, then reads each one /// back to check the conversion is lossless. fn extract(data: &GameData, out: Option<&Path>) -> Result<(), String> { @@ -220,15 +310,52 @@ fn extract(data: &GameData, out: Option<&Path>) -> Result<(), String> { let dir = out.join("vehicles"); write(dir.join(format!("{}.png", v.id)), &png)?; write(dir.join(format!("{}.txt", v.id)), txt.as_bytes())?; + if let Some(menu) = v.menu_png() { + write(dir.join(format!("{}-menu.png", v.id)), &menu?)?; + } println!("wrote {}", dir.join(&v.id).display()); } + for (name, s) in &data.sounds { + let wav = formats::iff::sound_to_wav(s); + let back = formats::iff::wav_to_sound(&wav)?; + if back.data != s.data || back.rate != s.rate || back.loop_start != s.loop_start { + return Err(format!("sound {name}: WAV does not round-trip")); + } + let path = out.join("sounds").join(format!("{name}.wav")); + write(path.clone(), &wav)?; + println!("wrote {}", path.display()); + } + if let Some((name, med)) = &data.music { + formats::med::parse(med).map_err(|e| format!("music {name}: {e}"))?; + let path = out.join("music").join(format!("{name}.med")); + write(path.clone(), med)?; + println!("wrote {}", path.display()); + } + for (name, p) in &data.pictures { + let pal: Vec = p + .palette + .iter() + .map(|c| data::palette::Rgb(c.0, c.1, c.2)) + .collect(); + let png = data::image::write_indexed(p.w, p.h, &pal, false, &p.pixels)?; + if data::image::read_indexed(&png, &pal)?.pixels != p.pixels { + return Err(format!("picture {name}: PNG does not round-trip")); + } + let path = out.join("gfx").join(format!("{name}.png")); + write(path.clone(), &png)?; + println!("wrote {}", path.display()); + } Ok(()) } /// Runs a race with computer drivers in the human seats and saves the screen. fn render_shot(data: GameData, args: &Args) -> Result<(), String> { let out = args.out.clone().ok_or("render needs --out FILE.png")?; - let mut app = App::new(data, audio::Audio::new(false)); + let mut app = { + let audio = make_audio(&data, false); + App::new(data, audio) + }; + app.settings.caravans = args.caravans; if args.menu { for _ in 0..(args.seconds / game::DT) as usize { app.update(&Input::default()); @@ -282,7 +409,11 @@ fn render_shot(data: GameData, args: &Args) -> Result<(), String> { /// Races four computer cars on every track and reports how they got on: /// a quick health check for the track decoding and the AI. fn bench(data: GameData, args: &Args) -> Result<(), String> { - let app = App::new(data, audio::Audio::new(false)); + let mut app = { + let audio = make_audio(&data, false); + App::new(data, audio) + }; + app.settings.caravans = args.caravans; let frames = (args.seconds / game::DT) as usize; println!( "{:<10} {:>5} {:>8} {:>9} {:>8}", @@ -326,11 +457,77 @@ fn bench(data: GameData, args: &Args) -> Result<(), String> { Ok(()) } +fn render_music(data: &GameData, args: &Args) -> Result<(), String> { + let out = args.out.clone().ok_or("music needs --out FILE.wav")?; + let (name, d) = data.music.as_ref().ok_or("no music in the data")?; + let song = std::sync::Arc::new(formats::med::parse(d).map_err(|e| format!("{name}: {e}"))?); + let rate = 44100u32; + let mut player = music::Player::new(song, rate as f64); + let frames = (args.seconds * rate as f32) as usize; + let mut pcm = Vec::with_capacity(frames * 4); + let mut peak = 0.0f32; + let mut wrapped_at = None; + let mut last_order = 0; + for i in 0..frames { + let (l, r) = player.next(); + let order = player.order(); + if order < last_order && wrapped_at.is_none() { + wrapped_at = Some(i as f32 / rate as f32); + } + last_order = order; + peak = peak.max(l.abs()).max(r.abs()); + for v in [l, r] { + pcm.extend_from_slice(&((v.clamp(-1.0, 1.0) * 32767.0) as i16).to_le_bytes()); + } + } + let mut wav = b"RIFF\0\0\0\0WAVEfmt ".to_vec(); + wav.extend_from_slice(&16u32.to_le_bytes()); + wav.extend_from_slice(&1u16.to_le_bytes()); + wav.extend_from_slice(&2u16.to_le_bytes()); + wav.extend_from_slice(&rate.to_le_bytes()); + wav.extend_from_slice(&(rate * 4).to_le_bytes()); + wav.extend_from_slice(&4u16.to_le_bytes()); + wav.extend_from_slice(&16u16.to_le_bytes()); + wav.extend_from_slice(b"data"); + wav.extend_from_slice(&(pcm.len() as u32).to_le_bytes()); + wav.extend(pcm); + let n = (wav.len() - 8) as u32; + wav[4..8].copy_from_slice(&n.to_le_bytes()); + std::fs::write(&out, wav).map_err(|e| e.to_string())?; + println!( + "wrote {} ({:.0} s, peak {:.2}, position {})", + out.display(), + args.seconds, + peak, + player.position() + ); + if let Some(t) = wrapped_at { + println!( + "the song loops back to the start after {}:{:04.1}", + (t / 60.0) as u32, + t % 60.0 + ); + } + Ok(()) +} + fn trace(data: GameData, args: &Args) -> Result<(), String> { use data::track; let out = args.out.clone().ok_or("trace needs --out FILE.png")?; - let app = App::new(data, audio::Audio::new(false)); - let mut race = app.build_race(args.track.saturating_sub(1), 0, [0, 0], 4, 99, 1)?; + let mut app = { + let audio = make_audio(&data, false); + App::new(data, audio) + }; + app.settings.caravans = args.caravans; + // Same seed as `bench` uses for this track, so problems seen there can be traced. + let mut race = app.build_race( + args.track.saturating_sub(1), + 0, + [0, 0], + 4, + 99, + args.track.max(1) as u32, + )?; let mut img = race.track.rgb(); let plot = |img: &mut Vec, wx: f32, wy: f32, c: u32| { let (x, y) = track::to_screen(wx, wy); @@ -385,7 +582,10 @@ fn play(data: GameData, args: &Args) -> Result<(), String> { .map_err(|e| e.to_string())?; // PAL Amigas ran at 50 frames per second; the simulation is tied to it. window.set_target_fps(50); - let mut app = App::new(data, audio::Audio::new(!args.mute)); + let mut app = { + let audio = make_audio(&data, !args.mute); + App::new(data, audio) + }; while window.is_open() && !app.quit { let input = Input { held: window.get_keys(), diff --git a/src/music.rs b/src/music.rs new file mode 100644 index 0000000..c1337aa --- /dev/null +++ b/src/music.rs @@ -0,0 +1,283 @@ +//! OctaMED song playback, mixed in software. +//! +//! Implements what the game's tune uses: sample instruments with loops, +//! slides (1, 2), portamento (3), speed (9), position jump (B), volume (C), +//! volume slide (D) and the F group (break, tempo, retrigger, note delay, +//! set pitch, stop, note off). Other commands are ignored. + +use crate::formats::med::{Note, Song}; +use std::sync::Arc; + +const PAULA_CLOCK: f64 = 3_546_895.0; +/// Period of note 1 (C-1), as on ProTracker. +const C1_PERIOD: f64 = 856.0; + +#[derive(Clone, Default)] +struct Channel { + instr: Option, + pos: f64, + period: f64, + target: f64, + porta_speed: f64, + volume: f64, + playing: bool, + /// Note to start later this line (F2 delay) and retrigger interval (F1/F3). + delayed: Option<(Note, u32)>, + retrigger: Option, +} + +pub struct Player { + song: Arc, + rate: f64, + order: usize, + line: usize, + tick: u32, + speed: u32, + tempo: u16, + tick_left: f64, + jump: Option<(usize, usize)>, + channels: Vec, +} + +fn period_for(note: i32) -> f64 { + C1_PERIOD * 2f64.powf(-(note - 1) as f64 / 12.0) +} + +impl Player { + pub fn new(song: Arc, rate: f64) -> Player { + let tracks = song.blocks.iter().map(|b| b.tracks).max().unwrap_or(4); + let speed = song.speed as u32; + let tempo = song.tempo; + Player { + song, + rate, + order: 0, + line: 0, + tick: 0, + speed, + tempo, + tick_left: 0.0, + jump: None, + channels: vec![Channel::default(); tracks], + } + } + + fn ticks_per_second(&self) -> f64 { + let s = &self.song; + let bpm = if s.bpm_mode { + self.tempo as f64 * s.lines_per_beat as f64 / 4.0 + } else if self.tempo <= 10 { + // SoundTracker-compatible tempo: a plain 50 Hz tick. + 125.0 + } else { + self.tempo as f64 * 125.0 / 33.0 + }; + (bpm * 2.0 / 5.0).max(1.0) + } + + fn trigger(&mut self, ch: usize, n: Note) { + let song = self.song.clone(); + let c = &mut self.channels[ch]; + if n.instr > 0 { + let i = n.instr as usize - 1; + if i < song.instruments.len() { + c.instr = Some(i); + c.volume = song.instruments[i].volume as f64; + } + } + if n.note > 0 { + let transpose = + c.instr.map_or(0, |i| song.instruments[i].transpose as i32) + song.transpose as i32; + let p = period_for(n.note as i32 + transpose); + if n.cmd == 3 && c.playing { + c.target = p; + if n.param > 0 { + c.porta_speed = n.param as f64; + } + } else { + c.period = p; + c.target = p; + c.pos = 0.0; + c.playing = c.instr.is_some(); + } + } + } + + fn start_line(&mut self) { + let song = self.song.clone(); + let block = &song.blocks[song.sequence[self.order]]; + for ch in 0..block.tracks.min(self.channels.len()) { + let n = block.notes[self.line * block.tracks + ch]; + let c = &mut self.channels[ch]; + c.retrigger = None; + c.delayed = None; + match (n.cmd, n.param) { + (0x0f, 0xf1) => c.retrigger = Some((self.speed / 2).max(1)), + (0x0f, 0xf3) => c.retrigger = Some((self.speed / 3).max(1)), + (0x0f, 0xf2) => { + c.delayed = Some((n, (self.speed / 2).max(1))); + continue; + } + _ => {} + } + if n.cmd == 0x0f && n.param == 0xfd && n.note > 0 { + // Set pitch without restarting the sample. + let transpose = c.instr.map_or(0, |i| song.instruments[i].transpose as i32) + + song.transpose as i32; + c.period = period_for(n.note as i32 + transpose); + c.target = c.period; + } else { + self.trigger(ch, n); + } + let c = &mut self.channels[ch]; + match n.cmd { + 0x09 if n.param > 0 => self.speed = (n.param as u32).min(32), + 0x0b => self.jump = Some((n.param as usize, 0)), + 0x0c => { + let v = if self.song.volume_hex { + n.param as u32 + } else { + (n.param >> 4) as u32 * 10 + (n.param & 15) as u32 + }; + c.volume = v.min(64) as f64; + } + 0x0f => match n.param { + 0x00 => self.jump = Some((self.order + 1, 0)), + 0x01..=0xf0 => self.tempo = n.param as u16, + 0xfe => self.jump = Some((0, 0)), + 0xff => c.playing = false, + _ => {} + }, + _ => {} + } + } + } + + fn effects_tick(&mut self) { + let song = self.song.clone(); + let block = &song.blocks[song.sequence[self.order]]; + for ch in 0..block.tracks.min(self.channels.len()) { + let n = block.notes[self.line * block.tracks + ch]; + if let Some((note, at)) = self.channels[ch].delayed { + if self.tick == at { + self.trigger(ch, note); + self.channels[ch].delayed = None; + } + } + let c = &mut self.channels[ch]; + if let Some(every) = c.retrigger { + if self.tick.is_multiple_of(every) { + c.pos = 0.0; + } + } + match n.cmd { + 0x01 => c.period = (c.period - n.param as f64).max(57.0), + 0x02 => c.period = (c.period + n.param as f64).min(3424.0), + 0x03 => { + let s = c.porta_speed; + c.period = if c.period > c.target { + (c.period - s).max(c.target) + } else { + (c.period + s).min(c.target) + }; + } + 0x0d => { + let (up, down) = ((n.param >> 4) as f64, (n.param & 15) as f64); + c.volume = if up > 0.0 { + (c.volume + up).min(64.0) + } else { + (c.volume - down).max(0.0) + }; + } + _ => {} + } + } + } + + fn advance_line(&mut self) { + let len = self.song.sequence.len(); + if let Some((order, line)) = self.jump.take() { + self.order = if order < len { order } else { 0 }; + self.line = line; + return; + } + self.line += 1; + if self.line >= self.song.blocks[self.song.sequence[self.order]].lines { + self.line = 0; + self.order = (self.order + 1) % len; + } + } + + fn tick(&mut self) { + if self.tick == 0 { + self.start_line(); + } else { + self.effects_tick(); + } + self.tick += 1; + if self.tick >= self.speed { + self.tick = 0; + self.advance_line(); + } + } + + pub fn order(&self) -> usize { + self.order + } + + /// Current (sequence position, line), for diagnostics. + pub fn position(&self) -> String { + format!("{}:{}", self.order, self.line) + } + + /// Mixes one stereo frame. + pub fn next(&mut self) -> (f32, f32) { + if self.tick_left <= 0.0 { + self.tick(); + self.tick_left += self.rate / self.ticks_per_second(); + } + self.tick_left -= 1.0; + + let song = &self.song; + let master = song.master_volume.min(64) as f64 / 64.0; + let (mut l, mut r) = (0.0f64, 0.0f64); + for (ch, c) in self.channels.iter_mut().enumerate() { + if !c.playing { + continue; + } + let Some(inst) = c.instr.map(|i| &song.instruments[i]) else { + continue; + }; + let len = inst.data.len(); + if len == 0 { + c.playing = false; + continue; + } + let i = c.pos as usize; + if i >= len { + c.playing = false; + continue; + } + let v = inst.data[i] as f64 / 128.0 + * (c.volume / 64.0) + * (song.track_volume[ch % 16].min(64) as f64 / 64.0); + // Amiga hardware panning: channels 0 and 3 left, 1 and 2 right. + if matches!(ch % 4, 0 | 3) { + l += v; + } else { + r += v; + } + c.pos += PAULA_CLOCK / c.period / self.rate; + if inst.loop_len > 2 { + let end = (inst.loop_start + inst.loop_len) as f64; + while c.pos >= end { + c.pos -= inst.loop_len as f64; + } + } + } + // Blend a little of each side into the other, as hard Amiga stereo + // is tiring on headphones. + let (l, r) = (l * 0.75 + r * 0.25, r * 0.75 + l * 0.25); + ((l * master * 0.5) as f32, (r * master * 0.5) as f32) + } +} From c36572f8dc827f6e828032e4e6ba7818dfd00de6 Mon Sep 17 00:00:00 2001 From: Andy Dixon Date: Mon, 19 Oct 2026 20:43:34 +0000 Subject: [PATCH 2/2] Extract the track thumbnails and the ball sprite bank - Track files: decode the selector thumbnails (a 640x64 16-colour picture, four sequential bitplanes, six 123x32 tiles in a 3x2 grid) into tracks//thumb.png, and show them in the menu at double height (they are Amiga hi-res) - gfx/ball.spr: decode the 64-frame attached-sprite bank (spinning ball with the Acid logo) into gfx/ball.png; its colours are not in the file - Command-line output no longer panics when piped into e.g. head --- assets/README.md | 16 +++++- assets/gfx/ball.png | Bin 0 -> 17800 bytes assets/tracks/track1-1/thumb.png | Bin 0 -> 1057 bytes assets/tracks/track1-2/thumb.png | Bin 0 -> 1187 bytes assets/tracks/track1-3/thumb.png | Bin 0 -> 1264 bytes assets/tracks/track1-4/thumb.png | Bin 0 -> 856 bytes assets/tracks/track1-5/thumb.png | Bin 0 -> 1284 bytes assets/tracks/track1-6/thumb.png | Bin 0 -> 1303 bytes assets/tracks/track2-1/thumb.png | Bin 0 -> 1013 bytes assets/tracks/track2-2/thumb.png | Bin 0 -> 1028 bytes assets/tracks/track2-3/thumb.png | Bin 0 -> 1280 bytes assets/tracks/track2-4/thumb.png | Bin 0 -> 1226 bytes assets/tracks/track2-5/thumb.png | Bin 0 -> 941 bytes assets/tracks/track2-6/thumb.png | Bin 0 -> 1258 bytes assets/tracks/track3-1/thumb.png | Bin 0 -> 1478 bytes assets/tracks/track3-2/thumb.png | Bin 0 -> 1459 bytes assets/tracks/track3-3/thumb.png | Bin 0 -> 1656 bytes assets/tracks/track3-4/thumb.png | Bin 0 -> 1574 bytes assets/tracks/track3-5/thumb.png | Bin 0 -> 1537 bytes assets/tracks/track3-6/thumb.png | Bin 0 -> 1402 bytes assets/tracks/track4-1/thumb.png | Bin 0 -> 1416 bytes assets/tracks/track4-2/thumb.png | Bin 0 -> 1070 bytes assets/tracks/track4-3/thumb.png | Bin 0 -> 1333 bytes assets/tracks/track4-4/thumb.png | Bin 0 -> 1725 bytes assets/tracks/track4-5/thumb.png | Bin 0 -> 1424 bytes assets/tracks/track4-6/thumb.png | Bin 0 -> 1481 bytes docs/FORMATS.md | 31 ++++++++--- src/app.rs | 18 ++++++- src/data/mod.rs | 20 +++++++- src/data/track.rs | 66 +++++++++++++++++++++++- src/formats/iff.rs | 85 +++++++++++++++++++++++++++++++ src/main.rs | 62 ++++++++++++++-------- 32 files changed, 262 insertions(+), 36 deletions(-) create mode 100644 assets/gfx/ball.png create mode 100644 assets/tracks/track1-1/thumb.png create mode 100644 assets/tracks/track1-2/thumb.png create mode 100644 assets/tracks/track1-3/thumb.png create mode 100644 assets/tracks/track1-4/thumb.png create mode 100644 assets/tracks/track1-5/thumb.png create mode 100644 assets/tracks/track1-6/thumb.png create mode 100644 assets/tracks/track2-1/thumb.png create mode 100644 assets/tracks/track2-2/thumb.png create mode 100644 assets/tracks/track2-3/thumb.png create mode 100644 assets/tracks/track2-4/thumb.png create mode 100644 assets/tracks/track2-5/thumb.png create mode 100644 assets/tracks/track2-6/thumb.png create mode 100644 assets/tracks/track3-1/thumb.png create mode 100644 assets/tracks/track3-2/thumb.png create mode 100644 assets/tracks/track3-3/thumb.png create mode 100644 assets/tracks/track3-4/thumb.png create mode 100644 assets/tracks/track3-5/thumb.png create mode 100644 assets/tracks/track3-6/thumb.png create mode 100644 assets/tracks/track4-1/thumb.png create mode 100644 assets/tracks/track4-2/thumb.png create mode 100644 assets/tracks/track4-3/thumb.png create mode 100644 assets/tracks/track4-4/thumb.png create mode 100644 assets/tracks/track4-5/thumb.png create mode 100644 assets/tracks/track4-6/thumb.png diff --git a/assets/README.md b/assets/README.md index b6c46ae..c195555 100644 --- a/assets/README.md +++ b/assets/README.md @@ -47,7 +47,14 @@ Plain text; lines starting with `#` are comments. - **`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 +### `thumb.png` (optional) + +The track's 123 × 32 thumbnail from the original track-select screen, in +the track's palette. It's drawn at double height in the menu, because the +original's pixels are half-width. Without one, the menu shows a shrunken +`track.png`. + +To add a track, make a new folder with `track.png` and `track.txt`. Tracks are listed in name order. ## Vehicles: `vehicles/.png` and `.txt` @@ -125,7 +132,12 @@ files, the first in name order plays. ## Pictures: `gfx/*.png` Indexed PNGs. `skidtoon.png` is the title picture at the top of the menu, -shown at half size. The others aren't used. +shown at half size. The others aren't used: + +- `ball.png`: 64 frames of a spinning ball with the Acid logo, 16 frames + across, each 32 × 33. Its real colours aren't known, so it has a grey + palette. +- `chat2.png`, `mouse.png`, `sign.png`: small odds and ends. ## Palettes: `palettes/*.pal` (optional) diff --git a/assets/gfx/ball.png b/assets/gfx/ball.png new file mode 100644 index 0000000000000000000000000000000000000000..af73698ed8ec881497b11fcfc21ad6006bd5653e GIT binary patch literal 17800 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 literal 0 HcmV?d00001 diff --git a/assets/tracks/track1-1/thumb.png b/assets/tracks/track1-1/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..113c77e211eaf692800b674c959d3843f10026c0 GIT binary patch literal 1057 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 literal 0 HcmV?d00001 diff --git a/assets/tracks/track1-6/thumb.png b/assets/tracks/track1-6/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..58fea65f642369b4ed4ee5bebb67f214a7788def GIT binary patch literal 1303 zcmV+y1?c*TP)OWXQ000D{ zNklhkEO~{WX^C9MVn&UmwKnuflnq7HqUgU z_ah~hyx|F&ri^le<95#rEdJq)Ra5D=#7lKFR`al_%||M;vYuj zl%)w|je80~!=L1~iSLVgEHHd0WlX1TONlM0MBaFo23A=mFm>wT?B-3={(#M0iyafP zN|1uAUhZ@Q2UUg;c*&v^LjC(1`QoW>9HrZg(ST-g8t1h(CQldTh$TNQ^>qW9fKP(m zxMNMt!ww8irJ_OxdLOp-KQ#ssrjkp+@~DlLA~# zOk@+4^FUSlfs*BK(u4*@g!U_R;C?kK2UE$wZ7M8Kk=I68PKDLzdgk#R^gyd_dA+Go zd4yy$RcSY@Z{UH|3bO16e1<)nJF0JKrtZr|-e=c+{TVjO+XZ}G>t-s_NqBfpPwM*` z)q}1QtO}k~RhPd~)x*WCjb{_l#$wdK;@CeM?JA`}N;|Bp*Qr(G^$PtS?Q%q?>Za8$ zR2bN*oW8i{wZ^4R#@;l7F8{V_qV&=&Z}oQT$Un==tSJ0tiM*wRlq`w7B=crbJ2chY zEqvcBZ(Z)t9ml#3Kw~_|!@|$d(r?w``^rA3G`BO~n{;nv8Q3n0x6pQXJIamQ7wDnZ1V!g^ zmXlWeydS3t|C_c3_oq5h+Y94bT+dUpKWGVx+RAylzleBkCV7@EC{Pw!{1tZd(7&Yx zy`UjJ!>>lHnh5>;f%i0Jws2cnr$IOySWQsQye`|Av7MzcE0{u7Pj|W~_ax@o{ZsIi zLpmDnWI-!P)yq)j2Uc9k&oE)9`+Ngh_ZMZVY?9aP*PZp~_qrE-ns+y|JUdtc*l~6A z6E=8Tw#O`^bAnO4M`%Bsr5I=fCAXaq#h{tnn!LhUp#!$Z9u6HV{OX4_5a&am1(
7#&|6&vpBtjlRCcHrM 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 P00000NkvXXu0mjfBFMM6nF9c12=XaE zIoLC~5LnlsJd-cEwFO3Y5hyG6YXT+=0kgbbrB>V0HyMmqNx4o zB!M$83C^x@&>eZ)@DtYH=BMdt1j!BNkQk|;PVY0VG*~bMY~mR%E`szhw~6pnEWZPs zDuofrxuQ-?S9(b>UD~Z02M?0qHrD3nr8JUwis2ha{{3~20wyY(_&>TP5wk@YTOP(juEmaOyx324X-yf$j$M1>attiFxUt(pt3aW@>qrQEWe+?SrG~>WhGp zPcyOB6*wg7=uo`bAph?8@DaNfGe+}FD?;|Z_N}Y|9%&zDA%oUlPWy0=YczwxM(($!g{QF66t^vi1nlpZmFuSqU%SwX^j-E+kyW|vo2M6|XbOs%WLH{6qg z4~SG;{H!}zB2*G2d3+DD4_Pu|F>58PFQuJ3)f4}6pJNhT{JO4k6v_HDoTWdFHVY)a zuD=u4dj9^C7O>j2n`3+%nV;0%U=R;S1;E1}*{*mImVL{k)}iT#j&r+NJc8i%$>zF| zZFm8H?bn2|_)T9Q^~++OY=Duh$v&Kc_A#4*WN3RVr~4(LW56~McRlYGNM1jNK)U%m zEd!~IOg7bMrmEqB!p0&?1stS-I5k@>l4Fcz1hXseY}}ZaL+FL;v*wh*p(vZTNFkaM zW>QC6FIi_M^}H3Lr3wGX2Dwajhkhssn`$f3f!zCFQeOvIEt;D)}PWdS+)06zRR$tajNS=iu0V*W@cN{>cU}{5Yqukm z^6uzi!6c_;Ps9SaKGGeD+ZSPeUT`Nkxo-Oo&Mv`?4T~%CAJV;pdRgSws}4k)Dd)L= z`VBCo>uR@^8{h4feHk1Pw$r2k$k|{$f^CZGAxx#8eZh3^W0@9Q9qSQNTP^34;wDpX z#Kz`o-_L@6@?DR!#jqb9ybf&pDrBw1bE+cO1z|*hv}k9CBqcRR;LdP4D~rkh0m0B& UE`62k>i_@%07*qoM6N<$f-0(2Hvj+t literal 0 HcmV?d00001 diff --git a/assets/tracks/track3-1/thumb.png b/assets/tracks/track3-1/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..0c1ceec0130dcd382fcc9eb21c580299083a7e08 GIT binary patch literal 1478 zcmV;%1v&bOP)BEf$a zUn&MD)yOr~H!2x#@XwWsr;~8qZ~F^jrmry~?Kk6+=}rpyHof@bB5}fyx2+2v=^`Wu-fsWx%%kzMWY| zcFZ;atA3FWl)xe5@vs8d;-v4x%T`_?kE>I+tnSPfYYh<({duR`bj@7ojV2pUTH(f( z7a9yq%>tc@dWt3K3uL$7Ix3FVSck(HPmFc=VI@^v4x`k>J`|;#=a#N2m7-WeRb!)| zw)=-!ftSDE5hfj16SZ~l)bOyM(RcVbbI|nUyb&MZ?=-k=7|_`=@9Gm@b!Hc(6EfuM z{p9u@dE{m8&rVl*CE(kmwlg5u9{D6~gEia(!x5{mAyM4)giQ2FM`%q225HByaiX&GMcabi`W`8 z0xF}kAAxN-5RNLQ~GQqldoD5SmUg+{<+W_tUcYHA>acPnCg8w=n8?yi4u5 zvjvR>02bK_rTW4imSP!o2ki>|0bMd&@lXObM`Z_Yp^2+*suapRNJ+mQ2$SI&R?h1O zqcS`Y?!b$dk*|_5VUdRWhuWYPbSnB5@z9{%B#re)kh-`xBt2YPM04IgYc6?-ycN1L z^sa^^@(;aO9R6Ml`=xdar@NI{=7h?$k{m`!fFQ-)d@Xjny!zT2yGW)$W&WG6a@ScW<2b2Zv$?6_W+DGi9J< znH`s)*P4FwN2_bgTJyl>JsPNE*RyM>{*LR1UswCpbilVHIIG!IL4Dg=--8V^4rVV(v2XKce=^?4%(CQ0tBTiX#Ozi^!UO-PqKZxZ$P;r1(@#Z{~#H%IYxzC1O z#Gjm%%w$k`f!@KDTKfr??Yp7my;nkIm4Kd4cd9#R_kxoYoF%8!P;h3r3TRfO!F&J0 z5wCmiK=jat5gk67Rq9SqvV`rk>4`LA5z(8Cq-`F{9~-{7O|BOU%gz?c81^1}yC+WK z>3gw~soom?o*)+C_9U72g4BH7>TScLQS_UZc8G@dMfUhzGCnwd7Wv%_Csu%YSVy<` zxOCv(iSaIbi$DAQVS@7C(C6*<2FZ%+cpM$eOY~nZ&hI%-r&wxdZm9G>@sH_89=9_T gp{4ch4E{;^Uo~r@7s~iQ>;M1&07*qoM6N<$f}%v;8~^|S literal 0 HcmV?d00001 diff --git a/assets/tracks/track3-2/thumb.png b/assets/tracks/track3-2/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..4617418dbdf21674753cf0d437c12acdfc23fecd GIT binary patch literal 1459 zcmV;k1x)&hP)3=I+L*w%gj=e*90w-sTN6F{7H)~{7j$VpCqh~6hhj^vl+JgtP& zBp1CUJngS?mtFMHCt^p*xx_iK43lp&y2<5;i{yoTVw>Xrth?Jqj05yUYb2dg zpv#dskrTA&Rm;f~%b8eT+E7L^gH$eOCxh(VTRo1$1wqV|63ZfIxGT(0Vjg8qH*i5l z2GOFYxoS4y$uV3_6P+$vh{8E@=HIa)IoGj~me>`^Yc=dQY=Ks!#(^GdcU_bCrTDZv zWa#xIlCJcPM>|8)yDb%26CE(+nC$|%r3^V?xK4nb4jzbZv^aU|T>lU;77p2Fe7^OX zclu9e_Pm(g;#}6yp*m#s^=a9$To!*Dmj}AUMP++kL3m&~$5~^&JXMa#tW3uY@Q{8& zuhlGhejW3c%MdowFjQrP`^}~MAVkP7hE>k`rx=4t(ZO>b_l+M&HDyhVVNO}2T$3(_ z6E;R`IS>1NgLyF$NOz&dK+5hCUZ^VSL%1sIV4=(4m_fA}O(0#oDxr0x#o2qy$73jV zQuVir+$qnPS$-{Xn{1CeLCEGRE{@9t$0c8#kW33luRidP=Jg}iQoc89ZHZjI!H$&+ zr7$p_S%+h&2rxe50QF~7Ojw|(I}2P3of4%po*;Cop38;F#_13+-%$4DiJ7) zBfzsW&c&to%D2(&pK7#sB`h+jX03KLcCb6V=<_Ac8K~GUt42D^QiLV@5^GrBE-dd74PP)BN=&muTw*2#f@r!dH+* zwl>zi#33Hbp70V(aQCOLL&MlLfc@_Bt}!XHojCr5`ZVOSEvB~R6bLra9@t|zsml{zwB9=aL0BEgMRYa@*#Z%9p1@p+488HZI&m8O=`D#Ms@rT0?JbTim1oi zM)i<|l2~d-?H$bNX}G=HmrjTDsoNH%OAB?E6mBoZxoyF}O8ByNqShUJ6CLQ$*YA;E zfM@wxL(^>)+B`BUz`qnn16FM=agN{=rxx2e4v@3VZ;;oLU5D}&T=x$C6b^5eo??}RK36XBaf<%ga8KXVe*v3_tqP8u4PyWR N002ovPDHLkV1n*xw*deE literal 0 HcmV?d00001 diff --git a/assets/tracks/track3-3/thumb.png b/assets/tracks/track3-3/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..748dbaae14d7f0d00bedaae9f9b3d8a4dc407e7a GIT binary patch literal 1656 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 literal 0 HcmV?d00001 diff --git a/assets/tracks/track3-6/thumb.png b/assets/tracks/track3-6/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7caaab1ac863c81d04524c14fbc60f3d2b4ddffd GIT binary patch literal 1402 zcmV-=1%>*FP)6@ow0Up3|7A|wOhPPR^Z^??NyjJ0u|eqSFBxHfA<1pO7V(xL zrkDU|rIYmp0dilV9SeO3IUuhy3E@C6^4Ps8Q-EX(fzJho4v<1R9^!=@!gjieP1}1w zys;=GOgcr(ogj?JK7y|hYR)-SUGmGcIPW1jazLK2VBuBf;=?lWZeB1~pZFG*D3rWg zjN62spXYm;Fvpy#9QXchF0N6y2kqHVAZB9ap{N@DmI9Un0uI6k3fZCx3B1g|OU%s? zks!q!byY0Sx3Wx^h-@z!u)D2L?I6GljF)ih7Mky?wCYOUXsmT<=4a8%-x1-yg#(z4 z(O*mVirf2;w-eI;-Q8-09CmVy*txUZq%r5Qwv+)53UsKuxf~C>8P1-PMv&S**qH}*FHVIEi=5BiMkZybopolLz$^0A6q zB|t1do@2?Uct_wggBIhOH~aGO!chjuW_M`$V_|mYFn}Fy!3+Bcq5a_F6W%YpV1ccx zQGn?LcYqgIdU6lVXRo11UY4RR&917Gx_9SqSQhb7(cjzMIZlA7k|-*tI47~DdaBuF z4TJIseLK~3D^ctsK>&iKGOT9tvgt&o8anii)SCTrmh1XlJ7QvRF3%Hn}agtVdE@Oxz zml=*F?VbQVC`n=uV%f`L(8Qh-;xPMB^|{bNbpKh=t%aV2WdXSk!(PX7Ika<%xCEpF zwEz4i(j+VX5Ec87G=reu0k-^xknpYe^5;M0I^-r-oyqitGBZa!P64Wig;^`&cK8|c zYH{Y~EVpyuIAg=)pNjXh*<fP>T(-`{Ha;+wjCcD1sPfCIeXer8zb{4rsyqvke{5h?b(^R;fh|r2y)7ynJ zZO~F|wHqeyZz_WKvoL0x%>2lGAIODt;>N%RSUk_F)t|VlBrnBFhKS-aCu7B_4Xm7h zqRGOg46G-#IhDnpc1|%t<{O|@D6VP|cxoh`_3J2G z!`+k^i?SO5BoV1ihOiBY@**MGE#6^tWaM1#dmGME<303(ztp#VcsV6$A^-pY07*qo IM6N<$g1xt@2LJ#7 literal 0 HcmV?d00001 diff --git a/assets/tracks/track4-1/thumb.png b/assets/tracks/track4-1/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc3f7029b3fd607e186a298bf68ce49b3263d22 GIT binary patch literal 1416 zcmV;31$X+1P)0AFIGODKf9K{UvBAjO;xahdsy9rH4-9Ilb&)}9zS5J3?yoB^ z7m^V?Z9mK9jYmxr-pOeq#)FxIAN}tt zAt0&`wMS^NPFQmxkEt6b@9cTr_yMf~dd7b%LxZV%~^e z*D!JbHM6V@o4|73r1OR4VT@EbSh6Iw=t8TYyp_5$C;=*{1m_EQFbygfQRO}w%JAVm zjQ&C)81hX0Qp)<)_YqRxz}L}T0Q@tM8pd@`uin6zVl8vGHA>Ri!6bxX!{g48-Ku0< z!*x?ypI%vf5ca`U{5va6s=Ovqz6k1#C^Y8B2#*cLC&Xu)KXymGE(k;xKz_3_61~<0 zVHzfE9TJ`1_z;8$dm>WWxqk5{cp31wv zvu?Q2#^I`FpxOhtLN^-lNtx5<&9> zs$I|JY0#nah=wyKO=t_Ofx|)U zp3=wUA!RewW--MzG}w6layEnGut-vI`UW6n+@!{g)Op-wi~oup!#Cce-2n%#kVz{R zQ*H#Y6bh-RHA0Pbvz(YN&c-cmiH#Ln6m@D81@f6D%}H1oBj-wraw@jTd|MRmA#rll z&(w9tP=aD-`oWpQj$ZPHyN-vQIyn-xVfLe0s2*x+hypujco+(s4AnSkSn59fm>ESB zv5k!p7u0!cQe?EyF>`J7o$NNN_gzKI&UCf98r2or8JnJxN})L&>BcZ|hLkMxytQj$ zAWLwEL!13nYPF)%sGP?Ne&dkx6%NI*x&}-M7k}2L+FbfmS0r&J(jKJc?e4Jtg#Bg6 z5i$i!3;cDY5_T$)@?$0ba!9pR^>shxcZ9d@6FVtuV>$TZg$6c4zv)*)eYN^47YH^S zLORsi8BAY({%VB8c{nlu|9-HkJ>e%-%-bNb{|nSmXqNxZ-{sN%+J@gi%T<1g*#7|i WWs%ZL)k$jr0000guY;*;>NI({bm^z+s4d6oy z#BYs@1#ZO7to(+)YN%E9BWMr)a78vj4yIw~IE6)#sDI3!3K)~L(8X)46 zyd?yN9}`k#VmbGlSo4;W3=J^wC3uKr@CRW}O`!}JrO>fA2?ZMcW9Tku1>C{`+E%FW zA7si7t63`4?@F6LMOcQy0JK(qD$B#Rer<)e7y2b)31~V|DSqY7wM{}h_4O2)Oj;^R zYKwK79pOsRYt%-0xeQca?YYhpV#gK_FKi1pd`-}}mi~zcNFf_#sH(?}#hu0vb449~ z7`K3nA-DPy6vKHKS*(}ge3zEw-nFY>Uo3BFAzRuV`w>j?5?TIA?5CxJzYDnGL}?D? zFSTC_@fuLq0C~w|z zX%Pcl9&_N8PSqf>OFA8od37w(K3z)7&U{D6YcL%Hmj$Af^^jh3La@f{$`w~7dC`(( z0>rh}G2aC(Hp|`Nds!VQ3xH0R)-v-g5BN2gXtVD>wLXK>OylpPE`qitO@BF!btf6& z3s+5C7+~d^7qeS-*()wcT$Knn!{dTRGgEO69%9H8t)Sz}z*b0skB#;(p5z%3Khc9A zF4zu}<3n7bn-&m!m;Dzq$@XHw#^&ZT+pgg$ma!`QGg;myBYEK1VTucOvN!wf_%vd= z#)TlQAK{_l%ckpv=|h$<9@H}FW-8H^Nl!#yaVz4DgjH)zS6!axW<1?b_7g=RvhHCCoUQw^qI7$~xy5Ur*N)MJT&7 zx(S}~$v~@L+ao!aNY{CO8VZQh0rv%dY7g0SeOU@Eodhr!FL8^#i#$U91em^d1$E_p zI$9}`EIw&q4TQQ or#q87g58R>hCXwLZL3+o0Y(Gn5B1+EFaQ7m07*qoM6N<$f-j!z{Qv*} literal 0 HcmV?d00001 diff --git a/assets/tracks/track4-3/thumb.png b/assets/tracks/track4-3/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..16e2dd4410fc253f21f23aa502ea49ded633acc8 GIT binary patch literal 1333 zcmV-516^bR5H2$LDQ2T8yQ9mU>qlZs_AM6v*<}r3m9(z;Q1exNq=&> zJnk>pAG0eNYD*J8o^YqI%vqM}jCUK0kcR{5@u;s;JgL9o@sBM9a6o}4w*c{$%);|3Je_zY?-mM3^CPA=3fM4n5LHb`i{M332{1#Xoc!kY;Z&CBFaxMemgU$G6+*WCS2KX&9YG-QZCE?IR zn4EK^yguxCC&I^KvNre~G}O?{TS)ok0tC_CI}PRZ27?maFNxAaTa5KDzDBwN5pUE7 z@3w_l|D~mAg6=tv@Y{*-sM)~nIUiuKalO&IW%&Yy>w}r#tssQQOgpS8e@)Zy%GmzT z0h!u#!gaK&`}^o{5iU8Pz+R1mro#%yHXZp55!N!iZx{0o_%)Ayg+Q#+kIfXCek_Mu2L~6u#<$g)I*_jN>O8wQwOX}Z~1RV z3r+4eGFU6XDdYS_IS|1rnQLR`6QKoFd`+E;BQnJ>7GUCz%o~##YqVOnphg%sdh$uZOQ?Y1- zZc`lAfs^{#H4|_?tS6?a`6iSBpW5*x>BJL5j!CRYeutIzfsO?GU8d>JEk5SKB3Y7Q zESu8I{9UH7qqXm?wrGLyi*F!=?=`s^(0gNfXMgJ^!Mt?)|h1O!~ z_8!5{{C9#d&r*E(`o%Bz#~t>ntYmiQk*2(ZYIu{_IZN+(N;q0RHp9j!=a>JfgZINR z|C}ux+HP?Ghw{pqC%5{Hu2Zz;++ohc&vhuQvgDx5^ zqKje6iEQ2;<+lu?UaZ@L26M;B#wpg98bqyEnW8Hb%11*bq)ahlh0;aDjeBha?Z(QV z;fdRpMvN(ndSC2C0kOh$Nj&0bIoxNxuSwg2TqKI#(5Q#d?kMGy4pwSS*Ut+1C>wpz zoI!X@Owi9eIWboKAanH|qC)Jmh2tZ4QF!3JisN{KdAwG6i^2i2$BL1@Zy9c?E`ClY rKZdx)`SIKKbK4h6R?NEEf7|gNg*t1tMLYjh00000NkvXXu0mjf6atNu literal 0 HcmV?d00001 diff --git a/assets/tracks/track4-4/thumb.png b/assets/tracks/track4-4/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f04711b724756fbaa92cf846a31a555749aed548 GIT binary patch literal 1725 zcmV;u215CXP)9W%K zgLDv+(XcyN@->sIKqecx5t+Nl#LASbm^VBpv(!jUj3+2r8!-v7#!C*}Lw2*!U=Wg| z-5`YH$#%`jYPEd!%9?6gPS;e=a-$+_a44?3jpW?$#4<=(h5g4BPY!uBrE4Ko*afZJ z?ZgLyMRL+=jC*fBhrJ|B@plSqx)BC9M~1z0z8Z<!&9fw;--pwarjd@^K^f2IEx@l2mIKQ4`rG9s{>oUZn+ z%-Jh)A8sO9d7^sD(|S}*^tDL6ZCTS?nZCQaZdzOaHbt_#ryRId_}#iSO%isNW|vm| zFRJ@$>G)%%sr^MY_Is-E5=c-{LzuV$8pts;afH=TNyHbgPZa?hI7Tk0pR}9Qu}|$( z7*I@fF8-}bSPSll&HY5~IVJFt%xY2~4J3#BLhnAS?e9q(OW%VkBm%joT> zT2Wb9n}$QUmwp53LzRNU%p)B?}9#Ngb1=QuRL<0N!k9f19hz#+bYi2%VQT;sycCzq%zy#6- z>uU-KuNrEV`d3@V&_s9jhgxhpE}#e${YjUnYNffv9g0)PpB7PGf^2D^%7@}Z)g_w1 znq%eE(nE9Gi)*V@dc`kvoB?j=mK?mZhfC>wkAnGd*Ac?HE%9}7w_XvlC1bGlJVrMO-;DCc zV$bs1p!w$@|Wyut(;wHmue*8^Fnl%D0+=U0O8T^`Sc6FR5H` zx2HQI-aZr$IhwQ5#sY^@=B-dA`kH}eD33HIUCHbl#lT1N+5vIX-5X?BKmlksiB9wW zW-xFDn)8C_z0F^8E0CmK;Bgu#dt2#SkHMtWY7O45sdk2autn?f2x{03l7NY|5r#?Q zTlz|11}Clz>H?3kM6dofy$b;NQEfV1FLSbJ=69+OXb0P_>OYGIxdMRTk41u?u#&u< zBGrQ;I?RHg6owb*p3z4=((*@GO#&GHoaPdP3OIp1-yswQCGV)Q?Wt2ca(i9@3VTbK zHgqu%|6(mdD+NRj@&ys*+?@V?p=MZSpn_2%h2Ba#KWqhJe1vcGqvMyiSgcX2LwfhO z6m6HI9D~N&Wyt9U3x~0O5$RT1beE`lxy=FsXs4@t;y&+=y$SPr2ASwWkHTtDK7o{l5!(Dc$0PVmNVN0RaNN{aBfPlQq4} z8r?XJ!-~a7vubj?=SlxsKm%sarHu=i2;48>X6~anmR*P6`1N@hqOF)JUBM87nG?sJ zR@2z-bo(c@in{b=4NJSgP0zH{cEPy7`w;5isBsv4^zetW>DuSO7g$AcrTMr`+gLyeI6Zf@Qum+Y1O5CzQ5S!E TnDX`h00000NkvXXu0mjf2E$Fv literal 0 HcmV?d00001 diff --git a/assets/tracks/track4-5/thumb.png b/assets/tracks/track4-5/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9cbb4258aeeab8d3ac87044d15263b6d00391f79 GIT binary patch literal 1424 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 literal 0 HcmV?d00001 diff --git a/docs/FORMATS.md b/docs/FORMATS.md index b7f2bf4..5b91597 100644 --- a/docs/FORMATS.md +++ b/docs/FORMATS.md @@ -58,7 +58,7 @@ consumed to its first byte. ``` 0x00 7 × u32 end offset of sections 0..6 -0x1C … section 0: header for the whole file (20622 bytes, raw) +0x1C … section 0: thumbnails and palette for the whole file (20622 bytes, raw) … sections 1..6: one track each, CrunchMania-packed ``` @@ -73,8 +73,16 @@ The last 142 bytes of section 0 hold: | 98 | 12 | Unknown | | 110 | … | The name of the set of tracks, NUL-terminated | -The rest of section 0 is the track-selector thumbnails, which aren't -decoded. +The first 20480 bytes of section 0 are the track-selector thumbnails: +- **Picture:** one 640 × 64, 16-colour picture in the file's palette, + stored as four bitplanes one after another (80 bytes per row, 5120 bytes + per plane). +- **Layout:** the six tracks' thumbnails, 123 × 32 each, sit in a 3 × 2 + grid at its top left, in track order: top row tracks 1–3, bottom row + 4–6. +- **Display:** the picture is Amiga hi-res, whose pixels are half as wide + as low-res ones. So a thumbnail shows at 123 × 64 next to the low-res + track pictures, the same shape as the track. Each track section unpacks to 281240 (`0x44A98`) bytes: @@ -166,7 +174,18 @@ extra and alternative sounds (`crash1`, `crash2`, `engine`, `motor`, IFF ILBM with ByteRun1 compression. `skidtoon.iff` is the 608 × 180, 16-colour title picture; `chat2`, `mouse` and `sign` are small odds and -ends. `ball.spr` (34816 bytes) is in another format and isn't decoded. +ends. + +`ball.spr` is a bank of 64 saved hardware sprites: a spinning ball with +the Acid logo. Each 544-byte frame is: + +- **Header** (16 bytes): `u32` saved memory pointer, `u16` lines (33), + `u16` strips (4), `u16` flags (`0x8020`), `u16` bytes per strip (132), + 4 unused bytes. +- **Strips:** four 16-pixel sprites, each line two bitplane words. + +Flag bit 15 marks attached sprites. The strips pair up into two 16-colour +columns, so a frame is 32 × 33 pixels. The bank carries no colours. ## Music (`sfx/tune.crn`) @@ -202,8 +221,8 @@ first minute), and it loops at the same point. decoded; this port's versions are reconstructions. Decoding the `.set` values would be the first step towards the original handling. - **Unknown data:** the 12 bytes after each track file's palette, the bit - pattern after the gates in each track section, the thumbnails, and - `ball.spr`. + pattern after the gates in each track section, and the colours of + `ball.spr` (probably set by the executable). The engine's own editable formats, which `skids extract` converts all of the above into, are described in [assets/README.md](../assets/README.md). diff --git a/src/app.rs b/src/app.rs index bd00eb2..32b8bf4 100644 --- a/src/app.rs +++ b/src/app.rs @@ -233,8 +233,22 @@ impl App { fn thumb(&mut self, i: usize) -> Option<&Vec> { if !self.thumbs.contains_key(&i) { let t = self.data.load_track(i).ok()?; - self.thumbs - .insert(i, render::downscale(&t.rgb(), THUMB_W, THUMB_H)); + let img = match &t.thumbnail { + // The original thumbnail: Amiga hi-res pixels, so each row is + // shown twice to keep its shape. + Some(px) => { + let pal: Vec = t.palette.iter().map(|c| c.to_u32()).collect(); + let mut out = vec![0x101010u32; THUMB_W * THUMB_H]; + for y in 0..THUMB_H { + for x in 0..track::THUMB_W.min(THUMB_W) { + out[y * THUMB_W + x] = pal[px[(y / 2) * track::THUMB_W + x] as usize]; + } + } + out + } + None => render::downscale(&t.rgb(), THUMB_W, THUMB_H), + }; + self.thumbs.insert(i, img); } self.thumbs.get(&i) } diff --git a/src/data/mod.rs b/src/data/mod.rs index 5eb1be0..70a12b1 100644 --- a/src/data/mod.rs +++ b/src/data/mod.rs @@ -299,8 +299,14 @@ impl GameData { let mut t = match &entry.source { TrackSource::Asset { png, txt } => { let txt = String::from_utf8_lossy(self.files.get(txt).unwrap_or_default()); - Track::from_assets(&entry.name, self.files.get(png).unwrap_or_default(), &txt) - .map_err(|e| format!("{}: {e}", entry.name))? + let mut t = + Track::from_assets(&entry.name, self.files.get(png).unwrap_or_default(), &txt) + .map_err(|e| format!("{}: {e}", entry.name))?; + let thumb = png.replace("/track.png", "/thumb.png"); + if let Some(d) = self.files.get(&thumb) { + t.set_thumb_png(d).map_err(|e| format!("{thumb}: {e}"))?; + } + t } TrackSource::Packed { file, section } => self.track_files[*file].decode(*section)?, }; @@ -383,6 +389,16 @@ fn load_media(files: &FileSet, warnings: &mut Vec) -> Media { } } } + for (key, data) in &files.files { + if let Some(name) = stem(key, "gfx", ".spr") { + match iff::read_sprite_bank(data) { + Ok(p) => { + pictures.insert(name, p); + } + Err(e) => warnings.push(format!("{key}: {e}")), + } + } + } for (key, data) in &files.files { if let Some(name) = stem(key, "gfx", ".png") { match image::read_indexed(data, &palette::TRACK_DEFAULT) { diff --git a/src/data/track.rs b/src/data/track.rs index daf1a4e..f6733d9 100644 --- a/src/data/track.rs +++ b/src/data/track.rs @@ -3,6 +3,10 @@ //! File layout: //! 0x00 7 x BE32 end offsets. Section 0 runs from 0x1c to the first offset //! and holds the selector thumbnails; sections 1..6 are tracks. +//! Section 0 starts with the selector thumbnails: a 640x64 16-colour +//! picture, four bitplanes one after another (80 bytes per row), with +//! the six tracks' 123x32 thumbnails in a 3x2 grid at its top left. +//! Its pixels are Amiga hi-res, so each shows at 123x64 on screen. //! The last 142 bytes of section 0 are: BE16 file number, the 16 //! colour palette shared by all six tracks as 48 BE16 values (R, G, B //! per colour, 0-15 each), 12 bytes of unknown settings, then the @@ -50,11 +54,16 @@ pub fn on_screen(sx: f32, sy: f32, margin: f32) -> bool { sx >= margin && sy >= margin && sx < W as f32 - margin && sy < H as f32 - margin } +pub const THUMB_W: usize = 123; +pub const THUMB_H: usize = 32; + pub struct TrackFile { pub name: String, pub number: u32, pub palette: [Rgb; 16], pub set_name: String, + /// The six selector thumbnails, THUMB_W x THUMB_H palette indices each. + pub thumbnails: Vec>, /// Packed track sections (index 0 = first playable track). pub sections: Vec>, } @@ -75,6 +84,8 @@ pub struct Track { pub name: String, /// The set of six tracks this one belongs to. pub set_name: String, + /// The original selector thumbnail, THUMB_W x THUMB_H palette indices. + pub thumbnail: Option>, /// Palette indices, W x H. pub pixels: Vec, pub palette: [Rgb; 16], @@ -112,13 +123,16 @@ impl TrackFile { .trim_start_matches(|c: char| !c.is_ascii_digit()) .parse() .unwrap_or(u32::MAX); - let (palette, set_name) = file_header(&d[SECTIONS * 4..ends[0]]) - .unwrap_or((palette::TRACK_DEFAULT, String::new())); + let header = &d[SECTIONS * 4..ends[0]]; + let thumbnails = thumbnails(header); + let (palette, set_name) = + file_header(header).unwrap_or((palette::TRACK_DEFAULT, String::new())); Ok(TrackFile { name: name.to_string(), number, palette, set_name, + thumbnails, sections, }) } @@ -132,10 +146,38 @@ impl TrackFile { let mut t = Track::from_section(self.track_name(section), &raw)?; t.palette = self.palette; t.set_name = self.set_name.clone(); + t.thumbnail = self.thumbnails.get(section).cloned(); Ok(t) } } +/// The six thumbnails from the start of section 0. +fn thumbnails(s: &[u8]) -> Vec> { + const ROW: usize = 80; + const ROWS: usize = 64; + let plane = ROW * ROWS; + if s.len() < plane * 4 { + return Vec::new(); + } + let px = |x: usize, y: usize| -> u8 { + (0..4) + .map(|p| ((s[p * plane + y * ROW + x / 8] >> (7 - x % 8)) & 1) << p) + .sum() + }; + (0..6) + .map(|i| { + let (ox, oy) = ((i % 3) * THUMB_W, (i / 3) * THUMB_H); + let mut t = Vec::with_capacity(THUMB_W * THUMB_H); + for y in 0..THUMB_H { + for x in 0..THUMB_W { + t.push(px(ox + x, oy + y)); + } + } + t + }) + .collect() +} + /// Palette and set name from the tail of section 0. fn file_header(s: &[u8]) -> Option<([Rgb; 16], String)> { let tail = s.get(s.len().checked_sub(142)?..)?; @@ -197,6 +239,7 @@ impl Track { pixels, palette: palette::TRACK_DEFAULT, set_name: String::new(), + thumbnail: None, height, gates, start, @@ -336,6 +379,7 @@ impl Track { pixels: img.pixels, palette: pal, set_name, + thumbnail: None, height, gates, start, @@ -343,6 +387,24 @@ impl Track { }) } + /// The thumbnail as an indexed PNG in the track's palette. + pub fn thumb_png(&self) -> Option, String>> { + self.thumbnail + .as_ref() + .map(|t| image::write_indexed(THUMB_W, THUMB_H, &self.palette, false, t)) + } + + pub fn set_thumb_png(&mut self, png: &[u8]) -> Result<(), String> { + let img = image::read_indexed(png, &self.palette)?; + if (img.w, img.h) != (THUMB_W, THUMB_H) || img.pixels.iter().any(|&p| p > 15) { + return Err(format!( + "thumb.png must be {THUMB_W}x{THUMB_H} using colours 0-15" + )); + } + self.thumbnail = Some(img.pixels); + Ok(()) + } + pub fn to_png(&self) -> Result, String> { image::write_indexed(W, H, &self.palette, false, &self.pixels) } diff --git a/src/formats/iff.rs b/src/formats/iff.rs index 1c5cbe3..46e93c9 100644 --- a/src/formats/iff.rs +++ b/src/formats/iff.rs @@ -170,6 +170,74 @@ pub fn read_ilbm(d: &[u8]) -> Result { }) } +/// Reads a bank of hardware sprites saved by the game (`gfx/ball.spr`) as +/// one picture sheet, 16 frames across. +/// +/// Each frame is a 16-byte header (BE32 saved pointer, BE16 lines, BE16 +/// strip count, BE16 flags, BE16 bytes per strip, 4 unused) followed by the +/// strips: 16-pixel sprites with two bitplane words per line. With flag bit +/// 15 set, strips pair up as attached sprites (16 colours, 16 pixels per +/// pair); otherwise each strip is a 4-colour, 16-pixel column. The bank +/// carries no colours, so the sheet gets a grey ramp. +pub fn read_sprite_bank(d: &[u8]) -> Result { + if d.len() < 16 { + return Err("too short for a sprite bank".into()); + } + let lines = be16(d, 4) as usize; + let strips = be16(d, 6) as usize; + let attached = be16(d, 8) & 0x8000 != 0 && strips.is_multiple_of(2); + let per_strip = be16(d, 10) as usize; + if lines == 0 || strips == 0 || per_strip != lines * 4 { + return Err("not a sprite bank".into()); + } + let record = 16 + strips * per_strip; + let frames = d.len() / record; + let fw = if attached { + strips / 2 * 16 + } else { + strips * 16 + }; + let (cols, rows) = (frames.min(16), frames.div_ceil(16)); + let (w, h) = (cols * fw, rows * lines); + let mut pixels = vec![0u8; w * h]; + for f in 0..frames { + let r = &d[f * record..(f + 1) * record]; + if be16(r, 4) as usize != lines || be16(r, 6) as usize != strips { + return Err(format!("frame {f} has a different size")); + } + let strip_px = |s: usize, x: usize, y: usize| -> u8 { + let o = 16 + s * per_strip + y * 4; + let bit = 0x8000 >> x; + ((be16(r, o) & bit != 0) as u8) | (((be16(r, o + 2) & bit != 0) as u8) << 1) + }; + let (ox, oy) = ((f % 16) * fw, (f / 16) * lines); + for y in 0..lines { + for x in 0..fw { + let v = if attached { + let pair = x / 16; + strip_px(pair * 2, x % 16, y) | (strip_px(pair * 2 + 1, x % 16, y) << 2) + } else { + strip_px(x / 16, x % 16, y) + }; + pixels[(oy + y) * w + ox + x] = v; + } + } + } + let n = if attached { 16 } else { 4 }; + let palette = (0..n) + .map(|i| { + let v = (i * 255 / (n - 1)) as u8; + (v, v, v) + }) + .collect(); + Ok(Picture { + w, + h, + pixels, + palette, + }) +} + /// Writes 8-bit unsigned mono WAV, with the loop start in a `smpl` chunk so /// sample editors keep it. pub fn sound_to_wav(s: &Sound) -> Vec { @@ -277,6 +345,23 @@ mod tests { assert_eq!(back, s); } + #[test] + fn attached_sprite_bank() { + // One frame: 1 line, 2 attached strips; pixel 0 uses all four planes. + let mut d = vec![0u8; 16 + 2 * 4]; + d[5] = 1; + d[7] = 2; + d[8] = 0x80; + d[11] = 4; + for o in [16, 18, 20, 22] { + d[o] = 0x80; + } + let p = read_sprite_bank(&d).unwrap(); + assert_eq!((p.w, p.h), (16, 1)); + assert_eq!(p.pixels[0], 15); + assert_eq!(p.pixels[1], 0); + } + #[test] fn byterun1_picture() { // 16x1, 1 plane: run of 2 x 0xff. diff --git a/src/main.rs b/src/main.rs index a8f1b61..60e234b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,17 @@ //! The engine reads the original Amiga data (ADF images, the LHA archives on //! them, or extracted files) at run time; no game assets are bundled. +/// Like `println!`, but a closed pipe (e.g. `skids info | head`) ends the +/// program quietly instead of panicking. +macro_rules! out { + ($($arg:tt)*) => {{ + use std::io::Write; + if writeln!(std::io::stdout(), $($arg)*).is_err() { + std::process::exit(0); + } + }}; +} + mod app; mod audio; mod data; @@ -202,24 +213,24 @@ fn main() -> ExitCode { fn info(data: &GameData, dir: Option<&Path>) { let built_in = data::embedded::files().len(); match (built_in, dir) { - (0, Some(d)) => println!("Data: {}", d.display()), - (n, Some(d)) => println!("Data: built in ({n} files), plus {}", d.display()), - (n, None) => println!("Data: built in ({n} files)"), + (0, Some(d)) => out!("Data: {}", d.display()), + (n, Some(d)) => out!("Data: built in ({n} files), plus {}", d.display()), + (n, None) => out!("Data: built in ({n} files)"), } - println!("Tracks:"); + out!("Tracks:"); for (i, entry) in data.tracks.iter().enumerate() { let from = match entry.source { data::TrackSource::Asset { .. } => "asset", data::TrackSource::Packed { .. } => "original data", }; match data.load_track(i) { - Ok(t) => println!(" {:<10} {:>2} gates ({from})", t.name, t.gates.len()), - Err(e) => println!(" {:<10} ERROR {e}", entry.name), + Ok(t) => out!(" {:<10} {:>2} gates ({from})", t.name, t.gates.len()), + Err(e) => out!(" {:<10} ERROR {e}", entry.name), } } - println!("Vehicles:"); + out!("Vehicles:"); for v in &data.vehicles { - println!(" {:<10} ({})", v.name, v.id); + out!(" {:<10} ({})", v.name, v.id); } } @@ -263,7 +274,7 @@ fn unpack(input: &Path, out: Option<&Path>) -> Result<(), String> { let dest = out.join(safe); std::fs::create_dir_all(dest.parent().unwrap()).map_err(|e| e.to_string())?; std::fs::write(&dest, &data).map_err(|e| format!("{}: {e}", dest.display()))?; - println!("{:>8} {}", data.len(), path); + out!("{:>8} {}", data.len(), path); } if failed > 0 { return Err(format!("{failed} files could not be extracted")); @@ -299,7 +310,10 @@ fn extract(data: &GameData, out: Option<&Path>) -> Result<(), String> { } write(dir.join("track.png"), &png)?; write(dir.join("track.txt"), txt.as_bytes())?; - println!("wrote {}", dir.display()); + if let Some(thumb) = t.thumb_png() { + write(dir.join("thumb.png"), &thumb?)?; + } + out!("wrote {}", dir.display()); } for v in &data.vehicles { let (png, txt) = (v.sheet_png()?, v.settings_text()); @@ -313,7 +327,7 @@ fn extract(data: &GameData, out: Option<&Path>) -> Result<(), String> { if let Some(menu) = v.menu_png() { write(dir.join(format!("{}-menu.png", v.id)), &menu?)?; } - println!("wrote {}", dir.join(&v.id).display()); + out!("wrote {}", dir.join(&v.id).display()); } for (name, s) in &data.sounds { let wav = formats::iff::sound_to_wav(s); @@ -323,13 +337,13 @@ fn extract(data: &GameData, out: Option<&Path>) -> Result<(), String> { } let path = out.join("sounds").join(format!("{name}.wav")); write(path.clone(), &wav)?; - println!("wrote {}", path.display()); + out!("wrote {}", path.display()); } if let Some((name, med)) = &data.music { formats::med::parse(med).map_err(|e| format!("music {name}: {e}"))?; let path = out.join("music").join(format!("{name}.med")); write(path.clone(), med)?; - println!("wrote {}", path.display()); + out!("wrote {}", path.display()); } for (name, p) in &data.pictures { let pal: Vec = p @@ -343,7 +357,7 @@ fn extract(data: &GameData, out: Option<&Path>) -> Result<(), String> { } let path = out.join("gfx").join(format!("{name}.png")); write(path.clone(), &png)?; - println!("wrote {}", path.display()); + out!("wrote {}", path.display()); } Ok(()) } @@ -394,7 +408,7 @@ fn render_shot(data: GameData, args: &Args) -> Result<(), String> { let n = race.track.gates.len(); for &i in &race.standings() { let e = &race.entrants[i]; - println!( + out!( "{:<10} laps {} gates {} best {:?}", e.name, e.laps_done(n), @@ -402,7 +416,7 @@ fn render_shot(data: GameData, args: &Args) -> Result<(), String> { e.best_lap ); } - println!("wrote {}", out.display()); + out!("wrote {}", out.display()); Ok(()) } @@ -415,9 +429,13 @@ fn bench(data: GameData, args: &Args) -> Result<(), String> { }; app.settings.caravans = args.caravans; let frames = (args.seconds / game::DT) as usize; - println!( + out!( "{:<10} {:>5} {:>8} {:>9} {:>8}", - "TRACK", "GATES", "LAPS", "BEST LAP", "ON ROAD" + "TRACK", + "GATES", + "LAPS", + "BEST LAP", + "ON ROAD" ); for ti in 0..app.data.tracks.len() { let mut race = app.build_race(ti, 0, [0, 0], 4, 99, ti as u32 + 1)?; @@ -445,7 +463,7 @@ fn bench(data: GameData, args: &Args) -> Result<(), String> { } else { app::fmt_time(best) }; - println!( + out!( "{:<10} {:>5} {:>8} {:>9} {:>7.0}%", race.track.name, n, @@ -494,7 +512,7 @@ fn render_music(data: &GameData, args: &Args) -> Result<(), String> { let n = (wav.len() - 8) as u32; wav[4..8].copy_from_slice(&n.to_le_bytes()); std::fs::write(&out, wav).map_err(|e| e.to_string())?; - println!( + out!( "wrote {} ({:.0} s, peak {:.2}, position {})", out.display(), args.seconds, @@ -502,7 +520,7 @@ fn render_music(data: &GameData, args: &Args) -> Result<(), String> { player.position() ); if let Some(t) = wrapped_at { - println!( + out!( "the song loops back to the start after {}:{:04.1}", (t / 60.0) as u32, t % 60.0 @@ -556,7 +574,7 @@ fn trace(data: GameData, args: &Args) -> Result<(), String> { } let n = race.track.gates.len(); for e in &race.entrants { - println!( + out!( "{:<8} laps {} next gate {}", e.name, e.laps_done(n),