Add Rust revival engine for Super Skidmarks

Cross-platform (Windows/macOS/Linux) engine that plays the original
Amiga data straight from the ADF images:

- ADF (OFS/FFS), LHA and CrunchMania (CrM!/CrM2) readers
- Track decoding: 24 tracks of 1024x512 16-colour planar art, height
  maps and lap gates on an isometric ground plane
- Vehicle decoding: 8 cars, 32 headings x 25 tilt frames of 64x32
  AGA sprites
- Reconstructed handling, AI, race rules, menus and synthesised sound
  (disk 1 with the executable, palettes and audio is not in the set)
- info/extract/bench/trace/render tools, format notes, CI builds
This commit is contained in:
2026-10-19 18:31:17 +00:00
parent f8ba2ecf4d
commit f88ba23282
22 changed files with 5656 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
name: build
on:
push:
pull_request:
workflow_dispatch:
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
artifact: skids-linux-x86_64
bin: skids
- os: windows-latest
artifact: skids-windows-x86_64
bin: skids.exe
- os: macos-latest
artifact: skids-macos-arm64
bin: skids
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Linux dependencies
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libasound2-dev libx11-dev libxkbcommon-dev
- name: Test
run: cargo test --release
- name: Build
run: cargo build --release
- name: Check against the game data
shell: bash
run: |
./target/release/${{ matrix.bin }} info --data .
./target/release/${{ matrix.bin }} bench --data . --seconds 60
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact }}
path: |
target/release/${{ matrix.bin }}
README.md
docs/FORMATS.md