[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83110":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},83110,"daytona-xbla-recomp","Subarasheese\u002Fdaytona-xbla-recomp","Subarasheese","A static recompilation of Daytona USA (Xbox 360 \u002F XBLA, 2011)",null,"C++",158,4,3,9,0,1,38,6,63.9,false,"main",true,[],"2026-06-12 04:01:40","# Daytona USA ReXGlue Recompilation\n\nThis project is a static recompilation of Daytona USA (Xbox 360 \u002F XBLA, 2011) using Rexglue.\n\nNo copyrighted game files are included. This tree excludes the\nextracted game directory, `default.xex`, `pe_image.bin`, media archives, audio,\nimages, and build outputs.\n\n## Quick start\n\nBuilding requires completing every step below in order. Skipping any step will cause the next one to fail.\n\n1. Install [prerequisites](#prerequisites)\n2. Clone with submodules: `git clone --recurse-submodules \u003Cthis repo>`\n3. Place your game package in `game\u002F` and run `python3 scripts\u002Fextract_game.py`\n4. Configure:\n   - Linux: `cmake --preset linux-amd64 -S project`\n   - Windows: `cmake --preset win-amd64 -S project`\n5. Run codegen:\n   - Linux: `cmake --build project\u002Fout\u002Fbuild\u002Flinux-amd64 --config Release --target daytona_codegen`\n   - Windows: `cmake --build project\u002Fout\u002Fbuild\u002Fwin-amd64 --config Release --target daytona_codegen`\n6. Apply the patch: `patch -p0 \u003C patches\u002Fdaytona_working_codegen.patch`\n7. Build:\n   - Linux: `cmake --build project\u002Fout\u002Fbuild\u002Flinux-amd64 --config Release`\n   - Windows: `cmake --build project\u002Fout\u002Fbuild\u002Fwin-amd64 --config Release`\n8. Run:\n   - Linux: `LD_LIBRARY_PATH=\"$PWD\u002Fthirdparty\u002Frexglue-sdk\u002Fout\u002Flinux-amd64\u002FRelease\" project\u002Fout\u002Fbuild\u002Flinux-amd64\u002FRelease\u002Fdaytona --game_data_root=\"$PWD\u002Fextracted\"`\n   - Windows: `project\\out\\build\\win-amd64\\Release\\daytona.exe --game_data_root=extracted`\n\nSee the sections below for details on each step and Windows equivalents.\n\n## Prerequisites\n\n### All platforms\n\n- **CMake 3.25+**\n- **Ninja** build system\n\n### Windows\n\n- [**Visual Studio 2022 Community**](https:\u002F\u002Fvisualstudio.microsoft.com\u002Fvs\u002Fcommunity\u002F) with the **Desktop development with C++** workload, including:\n  - **C++ Clang Compiler for Windows** (20.x or newer)\n  - **MSBuild support for LLVM (clang-cl) toolset**\n\n### Linux\n\n- **Clang 20+**\n- GTK3 development headers (`libgtk-3-dev` on Debian\u002FUbuntu, `gtk3` on Arch)\n- X11\u002FXCB interop library (`libx11-xcb-dev` on Debian\u002FUbuntu, `libx11` on Arch, `libX11-devel` on Fedora)\n- XWayland or a native X11 session (the SDK renders via XCB; on Wayland, XWayland must be running)\n\n## Included\n\n```text\nconfig\u002F                         ReXGlue manifest\u002Fconfig files\npatches\u002Fdaytona_working_codegen.patch\ndocs\u002FCODEGEN_PATCHES.md         notes for the manual codegen patch\nppc\u002F                            PPC metadata headers\nproject\u002F                        host project sources and CMake files\nscripts\u002Fextract_game.py         local STFS package extractor\nthirdparty\u002Frexglue-sdk           required ReXGlue SDK submodule\n```\n\nThe host project sources were copied from the running `daytona_working` tree,\nincluding:\n\n```text\nproject\u002Fsrc\u002Fdaytona_symbols.h\nproject\u002Fsrc\u002Fstubs.cpp\nproject\u002Fsrc\u002Fmain.cpp\n```\n\n`project\u002Fsrc\u002Fdaytona_symbols.h` is the full symbol map from the working version.\n\n## Required local game files\n\nTo regenerate codegen or run the project, provide your own legally obtained\nDaytona USA XBLA package in:\n\n```text\ngame\u002F\n```\n\nThe local package currently used with this tree is:\n\n```text\ngame\u002F{game_file_with_id}\ntype: Microsoft Xbox 360 LIVE\u002FSTFS package, Arcade Title\ntitle\u002Fmedia: XA-2845, media ID 3CA562D4\nsize: 240058368 bytes\nsha256: db2381451a15a4e537154712213a0309e9ddc33d20bdc03421d80c9939893cef\n```\n\nExtract it from the repository root with:\n\n```sh\npython3 scripts\u002Fextract_game.py\n```\n\nThe script extracts the STFS package into:\n\n```text\nextracted\u002F\n```\n\nand copies the executable required by ReXGlue to:\n\n```text\nassets\u002Fdefault.xex\n```\n\n`config\u002Fdaytona_manifest.toml` references that executable as:\n\n```text\n..\u002Fassets\u002Fdefault.xex\n```\n\n`game\u002F`, `extracted\u002F`, and `assets\u002F` are ignored by git because they contain\ncopyrighted game files. A successful extraction currently produces 162 files;\nthe root `default.xex` should be detected by `file` as:\n\n```text\nMicrosoft Xbox 360 executable (XA-2845, media ID: 3CA562D4), all regions\n```\n\n## Required ReXGlue SDK\n\nThis recompilation requires the `daytonaxbla` branch of the ReXGlue SDK — **not** the default branch. It is vendored as a git submodule at:\n\n```text\nthirdparty\u002Frexglue-sdk\n```\n\nAfter cloning this repository, initialize it with:\n\n```sh\ngit submodule update --init --recursive\n```\n\nIf `git submodule status --recursive` prints nothing even though `.gitmodules`\ncontains `thirdparty\u002Frexglue-sdk`, the submodule was not recorded in the index.\nRe-add it — the `-b daytonaxbla` flag is required:\n\n```sh\ngit submodule add -b daytonaxbla https:\u002F\u002Fgithub.com\u002FSubarasheese\u002Frexglue-sdk.git thirdparty\u002Frexglue-sdk\ngit submodule update --init --recursive\n```\n\nThe current submodule checkout used when this tree was prepared is:\n\n```text\n82a88a385c456ccfd82eae2b320955d0f028d92d\n```\n\nCMake may warn that no `v*` tag is reachable from the SDK checkout and fall\nback to `0.8.0.0-dev.unknown`. That warning did not block configure, codegen, or\nthe Release build on this tree.\n\n## Regenerate codegen\n\nFrom the repository root:\n\n**Linux**\n\n```sh\ncmake --preset linux-amd64 -S project\ncmake --build project\u002Fout\u002Fbuild\u002Flinux-amd64 --config Release --target daytona_codegen\n```\n\n**Windows**\n\n```bat\ncmake --preset win-amd64 -S project\ncmake --build project\u002Fout\u002Fbuild\u002Fwin-amd64 --config Release --target daytona_codegen\n```\n\nThat target uses the `rex::rexglue` executable built from\n`thirdparty\u002Frexglue-sdk`. The `generated\u002F` and `config\u002Fgenerated\u002F` directories\nare local codegen outputs and are intentionally ignored by Git.\n\nOn this checkout, the `daytona_codegen` target successfully regenerated files\nand printed `Done in 4.4s.`, then `rexglue` exited with signal 11 and Ninja\nreported the target as failed. Treat the generated files as usable if the run\nreaches `Done`, then apply the working patch below.\n\n## Apply working codegen fixes\n\nThe working daytona tree has manual fixes on top of regenerated\ncodegen. Apply them with:\n\n```sh\npatch -p0 \u003C patches\u002Fdaytona_working_codegen.patch\n```\n\nThe patch changes only generated files. Keep the generated outputs ignored and\ncommit the patch, not the regenerated files. See `docs\u002FCODEGEN_PATCHES.md` for\nthe exact files and reasons.\n\n## Build\n\n> **Prerequisites:** complete [Regenerate codegen](#regenerate-codegen) and [Apply working codegen fixes](#apply-working-codegen-fixes) first. The build requires generated headers such as `daytona_init.h` that do not exist in the repository.\n\nConfigure and build from the repository root.\n\n**Linux**\n\n```sh\ncmake --preset linux-amd64 -S project\ncmake --build project\u002Fout\u002Fbuild\u002Flinux-amd64 --config Release\n```\n\n**Windows**\n\n```bat\ncmake --preset win-amd64 -S project\ncmake --build project\u002Fout\u002Fbuild\u002Fwin-amd64 --config Release\n```\n\nAlternatively on either platform, `cd project\u002F` first and run the presets without the `-S` \u002F path overrides:\n\n```sh\n# Linux\ncd project\ncmake --preset linux-amd64\ncmake --build --preset linux-amd64-release\n```\n\n```bat\nrem Windows\ncd project\ncmake --preset win-amd64\ncmake --build --preset win-amd64-release\n```\n\nIf configuration fails with a missing SDK message, run:\n\n```sh\ngit submodule update --init --recursive\n```\n\nThe Daytona target directly compiles SDK sources including `rex_app.cpp`, so it\nneeds two SDK include paths in `project\u002FCMakeLists.txt`:\n\n```text\nthirdparty\u002Frexglue-sdk\u002Fthirdparty\u002Fimgui\nproject\u002Fout\u002Fbuild\u002F\u003Cpreset>\u002Frexglue-sdk\u002Finclude   (linux-amd64 or win-amd64)\n```\n\nWithout them, the Release build fails with missing `imgui.h` or\n`rex\u002Fversion.h`.\n\n## Run\n\nProvide the extracted game directory via `--game_data_root`.\n\n**Linux**\n\nThe executable links against SDK shared libraries from the build output. Run it\nwith `LD_LIBRARY_PATH`:\n\n```sh\nLD_LIBRARY_PATH=\"$PWD\u002Fthirdparty\u002Frexglue-sdk\u002Fout\u002Flinux-amd64\u002FRelease\" \\\n  project\u002Fout\u002Fbuild\u002Flinux-amd64\u002FRelease\u002Fdaytona \\\n  --game_data_root=\"$PWD\u002Fextracted\"\n```\n\nFor a short smoke test that does not leave the process running:\n\n```sh\nmkdir -p logs\ntimeout 20 env \\\n  DISPLAY=:1 \\\n  GDK_BACKEND=x11 \\\n  LD_LIBRARY_PATH=\"$PWD\u002Fthirdparty\u002Frexglue-sdk\u002Fout\u002Flinux-amd64\u002FRelease\" \\\n  project\u002Fout\u002Fbuild\u002Flinux-amd64\u002FRelease\u002Fdaytona \\\n  --game_data_root=\"$PWD\u002Fextracted\" \\\n  --log_file=\"$PWD\u002Flogs\u002Fdaytona_run.log\" \\\n  --log_level=debug\n```\n\nIf `LD_LIBRARY_PATH` is omitted, `ldd project\u002Fout\u002Fbuild\u002Flinux-amd64\u002FRelease\u002Fdaytona`\nshows `librexruntime.so => not found` and `libTracyClient.so => not found`.\n\n**Windows**\n\nThe build step automatically copies runtime DLLs next to the executable, so no\n`PATH` changes are needed. Run from the repository root:\n\n```bat\nproject\\out\\build\\win-amd64\\Release\\daytona.exe --game_data_root=extracted\n```\n\n`logs\u002F` and `*.log` are ignored so local runtime logs are not uploaded.\n\nThis has been confirmed to build and run from this checkout after extracting the\npackage, regenerating code, applying `patches\u002Fdaytona_working_codegen.patch`,\nand building the Release preset. During a working run, the log may still print\nrepeated `NtQueryInformationFile(XFileXctdCompressionInformation) unimplemented`\nmessages and occasional `Skipping Vulkan frame presentation due to async\nplaceholder draw usage in this frame` warnings.\n\nIf `--game_data_root` is omitted, startup exits immediately with:\n\n```text\n[ERROR] --game_data_root was not provided.\n```\n\n## Roadmap\n\n| Feature | Status |\n|---------|--------|\n| Arbitrary resolution support (including ultrawide 21:9 and wider) | Planned |\n| Keyboard control mapping | Planned |\n| Android port | Planned |\n| Native rendering (replace Xbox 360 GPU emulation with a native Vulkan\u002FD3D12 backend) | Planned |\n","该项目是对《Daytona USA》（Xbox 360 \u002F XBLA, 2011）的静态重编译，使用了Rexglue工具。其核心功能包括通过C++语言对游戏进行重构，同时不包含任何受版权保护的游戏文件，用户需自行提供合法获取的游戏包。技术特点上，项目支持跨平台构建（Linux和Windows），并依赖于CMake、Ninja等现代构建工具以及Clang编译器。适用于希望在非原生平台上运行或研究该游戏的技术爱好者及开发者，尤其是那些对游戏逆向工程感兴趣的群体。",2,"2026-06-11 04:10:09","CREATED_QUERY"]