Files
RustRaptor/PLAN.md
T
raptorreplica bd3ea30d55 Pivot to the original Raptor source as the engine base
Vendor skynettx/raptor (nukeykt's reconstructed source, GPLv2+): original
game logic, GLB loading, OPL2 music emulation. Runs with user-supplied
registered v1.2 GLB data (5 original mission packs) at 1920x1080 with
working AdLib soundtrack and SFX.

- play.sh: asset linking, first-run build, launch
- SDL2 2.28.2 built user-local (~/.local); CMake 3.30.3 binary
- prototype engine preserved on branch prototype-engine
- PLAN.md rewritten for the source-base architecture
2026-08-25 22:07:45 +10:00

55 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RaptorReplica — Raptor: Call of the Shadows
## Status: PLAYABLE — original engine, original data, original soundtrack
A faithful replica built **on the actual Raptor source code** (pivot from a
from-scratch engine, approved by project owner).
## Architecture (post-pivot)
| Path | What it is |
|-------------|------------|
| `raptor/` | Vendored upstream: nukeykt's reconstructed Raptor source (skynettx/raptor), GPLv2+. Original game logic, GLB asset loading, OPL2 music emulation (`i_oplmusic.cpp`), AdLib SFX. |
| `original/` | User-supplied original game data (GLB v1.2+ registered, 5 mission packs). **Gitignored — copyrighted.** |
| `game/` | Runtime dir: GLB symlinks + built binary. **Gitignored.** |
| `src/`, `tests/`, `Makefile`, `ui_render.inc` | Legacy from-scratch prototype (X11+ALSA engine). Superseded by the pivot; preserved on branch `prototype-engine`. Scheduled for removal from main. |
| `play.sh` | One-command launcher: links assets, builds if needed, runs. |
## Running
```sh
./play.sh # builds on first run, then launches fullscreen 1080p
```
Requirements: SDL2 (installed user-local at `~/.local` if not in distro),
ALSA/PipeWire for sound. Config: `~/.local/share/Raptor/SETUP.INI`
(`fullscreen=1` set for 1920×1080 desktop resolution).
## Verified working (this machine, 2026-08-25)
- Builds clean with gcc + CMake (user-local CMake 3.30.3, SDL2 2.28.2).
- Registered v1.2 detected; original title screen, menus, intro cinematics.
- **Original OPL2 soundtrack + Sound Blaster SFX audible** (PulseAudio/PipeWire
sink connected; required one-time `pactl set-card-profile` cycle to restore
the real audio sink after a session-manager glitch).
- **In-mission gameplay verified by screenshot**: player fire, enemy fighters,
credit pickups, scrolling terrain, score counter — at 1920×1080.
## The 5 mission packs
The registered v1.2 GLB data contains the original 5 campaign mission packs
(each mission: mountain → valley → sky phases + boss). These are the packs the
replica ships with — loaded from `original/` at runtime.
## Expansion roadmap (on top of the source)
1. Extra mission packs authored as new wave-table data in the original formats.
2. QoL patches kept as minimal diffs against upstream: resolution options,
audio device selection, keybind config surface.
3. Track upstream (skynettx/raptor) and rebase the diff regularly.
## Legal
- `raptor/` is GPLv2+; this project inherits GPL for anything built on it.
- `original/` game data is never committed; users must supply their own copy.