# DOAXVB Native PC Port
**A native PC port of _Dead or Alive Xtreme Beach Volleyball_ (Windows, macOS & Linux), built by static recompilation, with the goal of rewriting it into readable source.**
[](https://github.com/NoRain211/doaxbv-re/releases/latest)
[](https://github.com/NoRain211/doaxbv-re/actions/workflows/public-ci.yml)
[](LICENSE)

[Download](https://github.com/NoRain211/doaxbv-re/releases/latest) ·
[Changelog](CHANGELOG.md) ·
[Status](docs/public-status.md) ·
[Controls](docs/recomp-controls.md) ·
[Report a bug](https://github.com/NoRain211/doaxbv-re/issues)
![]() |
![]() |
Captured from the native port at 2560x1440.
## Status > [!NOTE] > **Fully playable as of 0.4 Beta.** Long player sessions cover every stage, > the Casino, Hotel and Shops, saving and reloading, and a vacation's end > carrying into a new one (that run started from an edited day-14 save; see > [status](docs/public-status.md)). Known issues: a second Hopping Game playable before > it loads ([#54](https://github.com/NoRain211/doaxbv-re/issues/54)), an > upside-down map flash leaving the pool > ([#55](https://github.com/NoRain211/doaxbv-re/issues/55)), possibly missing > underwater textures ([#56](https://github.com/NoRain211/doaxbv-re/issues/56)) > and blinking shore textures with a black flash before a point's celebration > ([#159](https://github.com/NoRain211/doaxbv-re/issues/159)). | Area | State | | --- | --- | | Exhibition volleyball, character select | Working, including Xbox Series controllers | | PlayStation 4/5 controllers, up to four controllers, vibration | Added in 0.4.8; PlayStation pads not yet confirmed on hardware | | Jungle, Beach, Niki Beach, Private Beach | Working | | Take a Rest, Hopping Game, Radio Station | Working | | Casino, Hotel, full vacation to its end | Working in player sessions | | Movies and native audio | Working, including natural endings and skips | | Store purchases, saves and reloads | Working, with interrupted-save recovery | | Deleting saves | Fixed in 0.4.9 | | Custom soundtracks (MP3, WAV, FLAC from `UserMusic`) | Added in 0.5.0 | | Radio Station shuffle (launcher checkbox) | Added in 0.5.3 | | Title screen idle behavior: attract sequence without the movies, or CPU Exhibition matches (launcher choice) | Opt-in; see [`docs/title-idle.md`](docs/title-idle.md) | | Free camera, pause anywhere, screenshots, and a MODEL VIEWER main-menu mode: pick a girl, court and time of day, change her animation and swimsuit live (launcher checkbox) | Opt-in; see [`docs/free-camera.md`](docs/free-camera.md) and [`docs/model-viewer.md`](docs/model-viewer.md) | | Unlock swimsuits: every swimsuit a girl can wear, in Exhibition (launcher option) | Opt-in; see [`docs/swimsuit-unlock.md`](docs/swimsuit-unlock.md) | | Sun shadows, per-pixel lighting and smooth normals (Direct3D 11) | Opt-in in 0.6.0; see [`docs/sun-shadow.md`](docs/sun-shadow.md) | | Whole-game high frame rate (`RECOMP_GAME_HZ`, Windows) | Experimental in 0.6.0; slight streaking at 120 Hz | | Launcher that builds the game, works with a controller, and `DOAXBV.exe` | Added in 0.6.0; controller checked with a virtual gamepad only | | Portraits, pool water, item previews | Restored | | Lighting, camera, full rendering fidelity | Incomplete | | Every collection item and activity/time variant | Not individually verified | | Hand-written game logic | Startup thread entry and the girls' joint bend and morph blend; the rest runs as generated code | | Online Exhibition with rollback netcode: rooms, FIND MATCH, replays | Experimental; tested with two runners on one Windows machine. See [`docs/rollback-netcode.md`](docs/rollback-netcode.md) ([#20](https://github.com/NoRain211/doaxbv-re/issues/20)) | Remaining work is tracked in the [offline acceptance tracker](https://github.com/NoRain211/doaxbv-re/issues/16). Development results do not guarantee every route works in the packaged beta. ## Play the beta **Requirements:** Windows 10/11 x64, a supported USA game ISO and internet access. The release ZIP bundles Python, Capstone, Git, CMake and the ISO extractor. Setup compiles the game with the free [llvm-mingw](https://github.com/mstorsjo/llvm-mingw) clang compiler. On first run it downloads it into the setup folder (190 MB, about 715 MB extracted). This needs no administrator approval, Visual Studio or Windows SDK (#115). Setup also downloads Microsoft's DXC shader compiler (32 MB) for ray-traced GI. Release ZIPs up to 0.6.0 RC1 instead offer to run Microsoft's C++ Build Tools installer, which needs administrator approval and several GB of disk space. 1. Download the ZIP from the [latest release](https://github.com/NoRain211/doaxbv-re/releases/latest) and extract it into a new folder with a short path. 2. Open `Launcher.cmd` (after setup, `Launcher.exe` opens the same window), open **Build**, choose your ISO and press **Build game**. Wait for **Build complete**. (Dragging the ISO onto `BuildGame.cmd` does the same.) With a release ZIP up to 0.6.0 RC1, first follow any Microsoft installer prompts. 3. Pick resolution, MSAA, SMAA and sun shadows in the launcher, then press **Play**. Afterwards `DOAXBV.exe` starts the game with those saved choices without opening the launcher. Running `RunGame.cmd` directly uses the defaults. On macOS: 1. Install the prerequisites in [docs/building.md](docs/building.md#macos-build). 2. Run `./build_game.sh /path/to/game.iso` and wait for setup to complete. 3. Run `./launcher.sh` to select resolution, volume, and soundtrack options, then press **Play** (or run `./run_game.sh` directly). On Linux and Steam Deck, follow [docs/building.md](docs/building.md#linux-and-steamos-build); the scripts are the same as on macOS. Setup extracts your ISO and builds a native Release runner locally; the package contains tools and source, never a prebuilt runner or game data. When updating, build in a new folder and keep your previous install and saves. GitHub's automatic source archives are source only; see the [source build guide](docs/building.md) for their prerequisites. New and older saves start in Digital control mode until you pick a PC control mode; later Analog or Digital choices are remembered. See the [controller guide](docs/recomp-controls.md). Xbox and PlayStation 4/5 controllers work directly. Do not run DS4Windows with the game: it adds an emulated Xbox controller, so one pad appears twice and takes two player ports. If you launch through Steam, turn Steam Input off for the game. ## Build the tests from source The runtime tests build without any game files or submodules: ```powershell git clone https://github.com/NoRain211/doaxbv-re.git cd doaxbv-re cmake -S recomp-runtime -B build/recomp-runtime -G "Visual Studio 17 2022" cmake --build build/recomp-runtime --config Release --parallel 2 ctest --test-dir build/recomp-runtime -C Release --output-on-failure ``` To run the same tests with the llvm-mingw clang that setup uses, see the [source build guide](docs/building.md#public-test-route). This produces test executables, not the game runner. For ISO setup from source, follow the [source build guide](docs/building.md). Passing tests does not establish full game accuracy. ## Repository layout | Path | Contents | | --- | --- | | [`recomp-runtime/`](recomp-runtime) | Runtime, kernel and input adapters, audio, D3D8 replacements, presentation, tests | | [`xbe/`](xbe) | XBE parsing and hashing | | [`tools/`](tools) | Extraction and launcher scripts, lifter submodule, source patches, export checks | | [`docs/`](docs) | Build guide, controls, saves, graphics, status and research | | [`third_party/`](third_party) | Pinned rbengine and recomp-net dependencies ([notes](third_party/README.md)) | | `private/` | Ignored local game inputs, generated output and run evidence | ## Contributing Read the [contribution guide](CONTRIBUTING.md) first. Translation defects are fixed in the lifter and regenerated; generated game C is never patched by hand. When [reporting a bug](https://github.com/NoRain211/doaxbv-re/issues), include your build version, steps to reproduce, what happened, your hardware and controller, and the stop or crash message ([how to read logs](recomp-runtime/README.md#reading-stop-and-crash-logs)). Remove private paths from logs, and never upload game binaries, generated game C, assets, extracted filenames, saves, BIOS data or private run evidence. ### Contributors - [Tommy McLeroy (@tmcleroy)](https://github.com/tmcleroy): creator of the macOS and Linux ports (#99, #103). ## AI assistance This project uses large language models and AI coding agents extensively for code, reverse-engineering analysis, debugging, tests and documentation. Their output can contain mistakes; changes are reviewed and tested, and unverified behavior is tracked as such. ## License Original code and documentation are licensed under [GPL-3.0-or-later](LICENSE); see also [NOTICE](NOTICE). Third-party components keep their own licenses. The license grants no rights to the game or its assets.