Make RustRaptor the repository root and track its playable bundle
No files matched your search
@@ -0,0 +1,9 @@
|
||||
# Preserve the catalog and packaged Linux runtime byte for byte on checkout.
|
||||
/data/** -text -diff
|
||||
/bin/** -text -diff
|
||||
/lib/** -text -diff
|
||||
/data/INDEX diff
|
||||
/data/hd/hd.json diff
|
||||
|
||||
# The launcher must retain Unix line endings.
|
||||
*.sh text eol=lf
|
||||
@@ -1,28 +1,14 @@
|
||||
# Derived game data — extracted from the copyrighted originals, never commit
|
||||
data/
|
||||
RustRaptor/data/
|
||||
RustRaptor/bin/
|
||||
RustRaptor/lib/
|
||||
RustRaptor/runtime-manifest.json
|
||||
|
||||
# Vendored raptor build output
|
||||
raptor/build/
|
||||
|
||||
|
||||
# Python bytecode
|
||||
# Cargo output, local tooling, review evidence and duplicate export archives.
|
||||
/target/
|
||||
/dist/
|
||||
/.reference/
|
||||
/.local/
|
||||
/derived/
|
||||
/.runtime-data-*
|
||||
__pycache__/
|
||||
|
||||
# Local toolchain
|
||||
.local/
|
||||
|
||||
# Rust builds and locally derived reference/preview data
|
||||
target/
|
||||
RustRaptor/target/
|
||||
RustRaptor/dist/
|
||||
RustRaptor/.reference/
|
||||
.reference/
|
||||
derived/
|
||||
|
||||
# Decoded original style references are not shipped mod artwork.
|
||||
RustRaptor/mods/*/art/source/
|
||||
# Decoded source-reference images are not shipped mod artwork.
|
||||
/mods/*/art/source/
|
||||
|
||||
# The playable bundle is intentionally tracked: bin/, lib/, data/ and
|
||||
# runtime-manifest.json. Authored mod images, sounds and music are tracked too.
|
||||
@@ -1,19 +1,93 @@
|
||||
# RaptorReplica
|
||||
# RustRaptor
|
||||
|
||||
[RustRaptor](RustRaptor/README.md) contains the independent Rust game, bundled mods,
|
||||
SD/HD artwork, sound effects, schemas, tests and build tools. Rust is the default:
|
||||
The independent Linux Rust game and its complete local mod packages live here.
|
||||
SDL2 handles platform services; gameplay, asset decoding, rendering, audio,
|
||||
saving and mod scripting run in Rust.
|
||||
|
||||
This folder is the Git repository root. Run from here:
|
||||
|
||||
```sh
|
||||
./play.sh
|
||||
./run.sh
|
||||
cargo test --locked
|
||||
```
|
||||
|
||||
You can also run `./RustRaptor/run.sh`. The game loads your existing `data/`
|
||||
catalog; choose bundled mods from its **Mods** menu. Mod images and sounds are
|
||||
tracked in Git alongside their definitions and scripts.
|
||||
The self-contained runtime uses `bin/raptor-rust`, its sibling `data/` catalog
|
||||
and the bundled `mods/`. `./run.sh` launches that executable without Cargo or
|
||||
the old engine; paths remain valid after moving the folder. For development,
|
||||
the launcher falls back to Cargo when no packaged executable is present.
|
||||
`--data DIR` selects another catalog. Some optional comparison tests use retained source.
|
||||
|
||||
The retained source under `raptor/` is an optional reference. It is not required
|
||||
to build or play RustRaptor. `./play.sh --engine legacy` runs that reference.
|
||||
Refresh the executable and copied original/approved-HD data with
|
||||
`python3 tools/assemble_runtime.py`. Add `--zip dist/RustRaptor-linux-x86_64.zip`
|
||||
to export a distributable folder containing the runtime, mods, source and API
|
||||
documentation, excluding build caches and review drafts. See
|
||||
[standalone packaging](docs/standalone-package.md).
|
||||
|
||||
See [Rust build and validation](RustRaptor/docs/rust-rewrite.md),
|
||||
[modding API](RustRaptor/docs/modding-api.md), and
|
||||
[Iron Coast packages](RustRaptor/docs/iron-coast.md).
|
||||
The **Mods** screen discovers the bundled `mods/` packages when no user mods
|
||||
folder exists. Enable **Iron Coast Campaign** to select all six mission mods,
|
||||
their enemies, distinct bosses, weapons and original soundtrack automatically,
|
||||
then apply at the main menu. Missions, bosses and the three weapons can also
|
||||
be enabled individually; each mission selects its own dependencies.
|
||||
For a user mods folder, pass `--mods DIR` or create
|
||||
`$XDG_DATA_HOME/RaptorReplica/mods/`. Saves and configuration use separate XDG
|
||||
`RaptorReplica` directories, with read-only legacy import.
|
||||
|
||||
Enter the **Hangar** to fly, choose missions, visit the supply room, manage
|
||||
equipment or **Save pilot**. New pilots have editable names, callsigns and ID
|
||||
pictures and difficulty; existing pilots can edit their ID from the hangar.
|
||||
Registration starts with 10,000 credits and 75 energy, as in the original.
|
||||
The original Apogee/Cygnus logos and intro play on normal startup and through
|
||||
**Watch intro**. Saves with changed or missing mods show the differences and
|
||||
offer **Load anyway**, retaining unavailable equipment and progression. The
|
||||
first subsequent save keeps a backup of the previous file.
|
||||
The supply room
|
||||
shows an equipment image, description, price, resale value, quantity and
|
||||
whether it fires automatically, is selectable, is consumed or works passively.
|
||||
|
||||
Default keyboard controls are arrow keys to move, **Ctrl** to fire,
|
||||
**Space** to drop a bomb, **Alt or Shift** to cycle equipment, and **Z** to
|
||||
use a selected consumable. Custom bindings remain configurable in Options.
|
||||
Existing untouched Rust default bindings migrate to these controls.
|
||||
|
||||
| Folder | Contents |
|
||||
| --- | --- |
|
||||
| `src/` | Engine, SDL host and validation CLI |
|
||||
| `mods/` | Aurora example; six Iron Coast missions, campaign assembly, music, three weapons, three shared enemies and five stage bosses |
|
||||
| `schemas/` | Version 1 mod API schemas |
|
||||
| `tests/` | Portable fixtures and opt-in original-data checks |
|
||||
| `tools/` | Replay comparator, content-table generator and asset reference tools |
|
||||
| `docs/` | API, artwork, build and validation documentation |
|
||||
| `bin/`, `data/`, `lib/` | Local standalone runtime and any bundled SDL2 library |
|
||||
| `target/` | Local Cargo builds, excluded from Git |
|
||||
|
||||
The bundled executable, libraries, original game catalog and approved HD assets
|
||||
are tracked in Git, along with mod definitions, scripts, SD/HD PNGs, WAVs,
|
||||
generation prompts and recipes. Build caches and local review files are excluded.
|
||||
See [repository layout](docs/repository.md).
|
||||
The engine supports original and 2×/3×/4× crisp scaling, plus an optional HD
|
||||
artwork setting. Bundled mods have SD/HD artwork; the reviewed base-game pack
|
||||
covers a complete light-player banking sequence and selected enemies, boss,
|
||||
equipment, projectiles and effects. [The HD backlog](docs/hd-backlog.md) records
|
||||
the remaining artwork and drafts awaiting review.
|
||||
|
||||
First-mission wins at difficulties 1 and 2, a complete 1,889-step native demo
|
||||
comparison, assisted coverage of all 27 missions at four difficulties, and
|
||||
sample-exact audio comparisons have passed. These checks cover their documented
|
||||
cases; wider playtesting and complete base-game HD coverage remain work in progress.
|
||||
|
||||
- [Build and validation](docs/rust-rewrite.md)
|
||||
- [Mod API](docs/modding-api.md)
|
||||
- [Iron Coast packages](docs/iron-coast.md)
|
||||
- [Weapon prices and balance](docs/weapon-balance.md)
|
||||
- [Sprite and shadow validation](docs/visual-validation.md)
|
||||
- [Sound playback validation](docs/sound-validation.md)
|
||||
- [Classic intro validation](docs/intro-validation.md)
|
||||
- [Menu screenshot review](docs/menu-validation.md)
|
||||
- [Campaign music](docs/music-validation.md)
|
||||
- [Display measurements](docs/performance.md)
|
||||
- [First mission](docs/first-mission-validation.md)
|
||||
- [Campaign coverage](docs/campaign-validation.md)
|
||||
- [Optional HD artwork](docs/hd-art.md)
|
||||
- [Milestones](PLAN.md)
|
||||
|
||||
Code is GPL-2.0-or-later; the vendored Rust FM emulator is LGPL-2.1-or-later.
|
||||
@@ -1,97 +0,0 @@
|
||||
# RustRaptor
|
||||
|
||||
The independent Linux Rust game and its complete local mod packages live here.
|
||||
SDL2 handles platform services; gameplay, asset decoding, rendering, audio,
|
||||
saving and mod scripting run in Rust.
|
||||
|
||||
From the repository root:
|
||||
|
||||
```sh
|
||||
./play.sh
|
||||
```
|
||||
|
||||
Or from this folder:
|
||||
|
||||
```sh
|
||||
./run.sh
|
||||
cargo test --locked
|
||||
```
|
||||
|
||||
The self-contained runtime uses `bin/raptor-rust`, its sibling `data/` catalog
|
||||
and the bundled `mods/`. `./run.sh` launches that executable without Cargo or
|
||||
the old engine; paths remain valid after moving the folder. For development,
|
||||
the launcher falls back to Cargo when no packaged executable is present.
|
||||
`--data DIR` selects another catalog. Some optional comparison tests use retained source.
|
||||
|
||||
Refresh the executable and copied original/approved-HD data with
|
||||
`python3 tools/assemble_runtime.py`. Add `--zip dist/RustRaptor-linux-x86_64.zip`
|
||||
to export a distributable folder containing the runtime, mods, source and API
|
||||
documentation, excluding build caches and review drafts. See
|
||||
[standalone packaging](docs/standalone-package.md).
|
||||
|
||||
The **Mods** screen discovers the bundled `mods/` packages when no user mods
|
||||
folder exists. Enable **Iron Coast Campaign** to select all six mission mods,
|
||||
their enemies, distinct bosses, weapons and original soundtrack automatically,
|
||||
then apply at the main menu. Missions, bosses and the three weapons can also
|
||||
be enabled individually; each mission selects its own dependencies.
|
||||
For a user mods folder, pass `--mods DIR` or create
|
||||
`$XDG_DATA_HOME/RaptorReplica/mods/`. Saves and configuration use separate XDG
|
||||
`RaptorReplica` directories, with read-only legacy import.
|
||||
|
||||
Enter the **Hangar** to fly, choose missions, visit the supply room, manage
|
||||
equipment or **Save pilot**. New pilots have editable names, callsigns and ID
|
||||
pictures and difficulty; existing pilots can edit their ID from the hangar.
|
||||
Registration starts with 10,000 credits and 75 energy, as in the original.
|
||||
The original Apogee/Cygnus logos and intro play on normal startup and through
|
||||
**Watch intro**. Saves with changed or missing mods show the differences and
|
||||
offer **Load anyway**, retaining unavailable equipment and progression. The
|
||||
first subsequent save keeps a backup of the previous file.
|
||||
The supply room
|
||||
shows an equipment image, description, price, resale value, quantity and
|
||||
whether it fires automatically, is selectable, is consumed or works passively.
|
||||
|
||||
Default keyboard controls are arrow keys to move, **Ctrl** to fire,
|
||||
**Space** to drop a bomb, **Alt or Shift** to cycle equipment, and **Z** to
|
||||
use a selected consumable. Custom bindings remain configurable in Options.
|
||||
Existing untouched Rust default bindings migrate to these controls.
|
||||
|
||||
| Folder | Contents |
|
||||
| --- | --- |
|
||||
| `src/` | Engine, SDL host and validation CLI |
|
||||
| `mods/` | Aurora example; six Iron Coast missions, campaign assembly, music, three weapons, three shared enemies and five stage bosses |
|
||||
| `schemas/` | Version 1 mod API schemas |
|
||||
| `tests/` | Portable fixtures and opt-in original-data checks |
|
||||
| `tools/` | Replay comparator, content-table generator and asset reference tools |
|
||||
| `docs/` | API, artwork, build and validation documentation |
|
||||
| `bin/`, `data/`, `lib/` | Local standalone runtime and any bundled SDL2 library |
|
||||
| `target/` | Local Cargo builds, excluded from Git |
|
||||
|
||||
All bundled mod definitions, scripts, SD/HD PNGs, WAVs, generation prompts and
|
||||
recipes are tracked in Git. Original data and local reference pixels are excluded.
|
||||
The engine supports original and 2×/3×/4× crisp scaling, plus an optional HD
|
||||
artwork setting. Bundled mods have SD/HD artwork; the reviewed base-game pack
|
||||
covers a complete light-player banking sequence and selected enemies, boss,
|
||||
equipment, projectiles and effects. [The HD backlog](docs/hd-backlog.md) records
|
||||
the remaining artwork and drafts awaiting review.
|
||||
|
||||
First-mission wins at difficulties 1 and 2, a complete 1,889-step native demo
|
||||
comparison, assisted coverage of all 27 missions at four difficulties, and
|
||||
sample-exact audio comparisons have passed. These checks cover their documented
|
||||
cases; wider playtesting and complete base-game HD coverage remain work in progress.
|
||||
|
||||
- [Build and validation](docs/rust-rewrite.md)
|
||||
- [Mod API](docs/modding-api.md)
|
||||
- [Iron Coast packages](docs/iron-coast.md)
|
||||
- [Weapon prices and balance](docs/weapon-balance.md)
|
||||
- [Sprite and shadow validation](docs/visual-validation.md)
|
||||
- [Sound playback validation](docs/sound-validation.md)
|
||||
- [Classic intro validation](docs/intro-validation.md)
|
||||
- [Menu screenshot review](docs/menu-validation.md)
|
||||
- [Campaign music](docs/music-validation.md)
|
||||
- [Display measurements](docs/performance.md)
|
||||
- [First mission](docs/first-mission-validation.md)
|
||||
- [Campaign coverage](docs/campaign-validation.md)
|
||||
- [Optional HD artwork](docs/hd-art.md)
|
||||
- [Milestones](PLAN.md)
|
||||
|
||||
Code is GPL-2.0-or-later; the vendored Rust FM emulator is LGPL-2.1-or-later.
|
||||
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 784 KiB |
|
After Width: | Height: | Size: 888 KiB |
|
After Width: | Height: | Size: 603 KiB |
|
After Width: | Height: | Size: 581 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 2.7 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 889 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 935 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 842 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 910 KiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.8 MiB |