Files
openroller/README.md
2026-08-02 17:50:10 +00:00

80 lines
2.6 KiB
Markdown

# OpenRoller
OpenRoller is an experimental rhythm-game runtime for desktop Linux and Sony
PSP. It reconstructs compatible playback from independently researched stage
formats and user-provided data.
The repository contains the gameplay, menus, platform code and tools that turn
parsed stage data into a playable game. Reusable code is split into two sibling
projects:
- [vectorail-core](https://gitea.takasaki.moe/tsuki/vectorail-core): SDL, OpenGL, windowing and composition
primitives (BSD-3-Clause).
- [vectorail-gc](https://gitea.takasaki.moe/tsuki/vectorail-gc): parsers for DAT, TUMO, RVB, MTX and related
formats (MIT).
- **openroller**: gameplay, desktop integration, the PSP port and packaging
tools (MIT).
## Data policy
No game executables, decryption keys, music, charts, textures or other
copyrighted game data are distributed by this project. A local `GC/` directory
may be used with data you are legally entitled to access; it is ignored by Git.
Generated PSP libraries and optional XMB artwork/audio are ignored as well.
OpenRoller is an independent interoperability project. It is not affiliated
with or endorsed by TAITO, Square Enix, Sony, Nintendo or Valve. Groove Coaster
and other names and marks belong to their respective owners.
## Desktop build
Place all three repositories next to each other:
```text
workspace/
├── vectorail-core/
├── vectorail-gc/
└── openroller/
```
Install SDL3, OpenGL, libpng and GLM, then build:
```sh
cmake -S openroller -B openroller/build -DCMAKE_BUILD_TYPE=Release
cmake --build openroller/build -j
openroller/tools/run_stage_player.sh
```
CMake first looks for installed `VectorailCore` and `VectorailGC` packages,
then falls back to sibling source checkouts. Their locations can be overridden
with `VECTORAIL_CORE_SOURCE_DIR` and `VECTORAIL_GC_SOURCE_DIR`.
The raw stage inspection utility is built as `openroller-stage-probe`.
## PSP build
The PSP port is built with the `pspdev/pspdev` container:
```sh
tools/build_psp.sh
```
This produces `psp/EBOOT.PBP`. Optional local XMB media can be placed in
`psp/assets`; see [psp/assets/README.md](psp/assets/README.md). Preparing a
playable song library requires user-provided data and FFmpeg:
```sh
tools/prepare_psp_library.sh /path/to/GC /path/to/PSP/GAME/OpenRoller
```
## Status
OpenRoller is reverse-engineering research and an early public test. Format and
runtime behavior are incomplete, and crashes on real PSP hardware are still
possible. See [CHANGELOG.md](CHANGELOG.md) and the notes under `docs/`.
## License
OpenRoller source code is available under the [MIT License](LICENSE). This
license does not apply to user-provided game data or media.