Skip to content

Releases

DOA4-recomp-v0.2.0

Choose a tag to compare

@lmaogoodcodenotreally lmaogoodcodenotreally released this 10 Nov 14:03

Dead or Alive 4 running natively on PC. Download DOA4-recomp-win-x64.zip,
run compiler.exe with your own disc dump, then DOA4Launcher.exe.

You need Dead or Alive 4 (USA, Europe) Revision 1 — your own dump, with
default.xex exactly 16,465,920 bytes. No game code or data is included here
and none is downloaded. See the README
for the full requirements.


The headline: the previous release could not produce a playable game

v0.1.0's zip could not build. Four separate faults, all fixed and verified by
unzipping this release into an empty folder and building from nothing but an
ISO — twice, at two different install paths.

  • Codegen failed with "not a manifest: no [project] section". A red
    herring: the manifest was fine, but rexglue mis-decoded non-ASCII absolute
    paths. The previous workaround patched an SDK template at package time, which
    never took effect because those templates are embedded when the SDK is built.
  • The vendored SDK did not compile. rex_app.cpp still called two APIs with
    their pre-v0.10.1 argument lists; it is the only caller of either and compiles
    into the consumer's target, so the SDK's own build never touched it.
  • CMake configure died with "Unknown CMake command
    rexglue_add_version_resource" — the function had been lost from the SDK in a
    merge while its three call sites remained.
  • The release zip shipped no rexgluerd.exe at all. CI duplicated the
    packaging inline and never built the SDK, so the zip it uploaded could not run
    codegen even in principle.

Two install-path limits, measured

In the folder's path What happens
^ Nothing can build — cmd.exe treats it as an escape character and the link step fails. The compiler now refuses such a path immediately instead of after ~20 minutes of compiling.
non-ASCII (é, ç, …) The game builds and runs, but FidelityFX cannot be compiled, so CAS and FSR are unavailable. The reason is written to compiler.log.
spaces, ', (, ), %, !, & All fine.

Separately, an install under a non-ASCII path used to start and then fail with
--game_data_root does not exist: naming a folder that plainly did exist — the
UTF-8 path was being decoded in the system ANSI codepage. Fixed.

Compiler

  • Every child process is streamed to compiler.log, and real errors are
    reported. Previously all output was captured and discarded — including
    ninja's, which is where compile errors go — so a failed build showed nothing.
  • Real progress, from ninja's [n/m] and from bytes extracted, replacing a
    hardcoded bar that announced "codegen done" before codegen had run.
  • Re-runnable: an existing game\ and generated code are reused, so a
    rebuild skips the multi-GB extract.
  • Finds CMake and Ninja inside any Visual Studio version, and reports a missing
    MSVC toolchain without blocking you if the probe is wrong.
  • Three-step window with a live log tail, a Browse button and drag-and-drop.

Launcher

  • Every setting now explains itself — on hover in the window, and printed
    under each key by DOA4Launcher-tui --list.
  • Graphics presets: Performance / Balanced / Quality, with a Custom that
    engages itself the moment you change anything.
  • "Match my display" writes your monitor's exact aspect ratio for true
    widescreen.
  • Per-axis render scales (draw_resolution_scale_x/y) are now reachable, and
    internal resolution goes to 8x — the range the setting actually accepts.
  • Browse buttons for the game exe and data folder; non-first-run settings
    tucked under Advanced.
  • Fixed: Save wrote launcher.json to the process working directory instead
    of the folder it loads from, so settings were silently lost. Launch is now
    disabled with an explanation until the exe and game data both exist, rather
    than failing. The console launcher was a no-op demo and would launch the game
    on EOF.

Repo

Added LICENSE (BSD-3-Clause), CONTRIBUTING.md and issue templates; rewrote
the README for someone who has never built a recomp. The release zip vendors the
FidelityFX SDK so your build does not have to clone ~700 MB.


Known limits: FidelityFX cannot be built under a non-ASCII path (that is
AMD's shader compiler, not something this project can fix). Regions and
revisions other than USA/Europe Rev 1 do not work at all — the function
addresses only match that one build.