{
  "added_at": "2026-10-18",
  "additional_evidence_urls": [
    "https://github.com/Gumpolas/TooTawersRecomp/blob/6fce430797ec0573634fa6be18a08f73957efa63/generate.py",
    "https://github.com/Gumpolas/TooTawersRecomp/blob/6fce430797ec0573634fa6be18a08f73957efa63/twotowers/CMakeLists.txt",
    "https://github.com/Gumpolas/TooTawersRecomp/blob/6fce430797ec0573634fa6be18a08f73957efa63/CHANGES.md",
    "https://github.com/Gumpolas/TooTawersRecomp/blob/6fce430797ec0573634fa6be18a08f73957efa63/LICENSE.txt",
    "https://github.com/Gumpolas/TooTawersRecomp/blob/6fce430797ec0573634fa6be18a08f73957efa63/xboxrecomp-0.12.0/README.md",
    "https://github.com/Gumpolas/TooTawersRecomp/blob/6fce430797ec0573634fa6be18a08f73957efa63/xboxrecomp-0.12.0/NOTICE",
    "https://github.com/Gumpolas/TooTawersRecomp/blob/6fce430797ec0573634fa6be18a08f73957efa63/xboxrecomp-0.12.0/LICENSE",
    "https://github.com/Gumpolas/TooTawersRecomp/releases/tag/1.9.2"
  ],
  "category": "reconstruction-cases",
  "description_en": "Statically recompiles the x86 code of The Lord of the Rings: The Two Towers (Xbox, USA, 2002) into C with the bundled xboxrecomp toolkit, producing native Windows, Linux and experimental macOS builds. The recompiled sources are generated locally from the player's own default.xbe, and game data comes from their disc image or extracted folder. README reports the game as fully playable, with visual, frame-rate and mod issues listed.",
  "description_zh": "使用随附的 xboxrecomp 工具包，将《The Lord of the Rings: The Two Towers》（Xbox 美版，2002）的 x86 代码静态重编译为 C，生成原生 Windows、Linux 及实验性 macOS 构建。重编译源码由玩家自己的 default.xbe 在本地生成，游戏数据来自其光盘镜像或已提取的文件夹。README 报告游戏可以完整游玩，并列出画面、帧率和模组方面的问题。",
  "entry_url": "https://awesomerea.org/resources/two-towers-recompiled-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/two-towers-recompiled-case/",
  "evidence_url": "https://github.com/Gumpolas/TooTawersRecomp/blob/6fce430797ec0573634fa6be18a08f73957efa63/README.md",
  "group": "cases",
  "id": "two-towers-recompiled-case",
  "json_url": "https://awesomerea.org/resources/two-towers-recompiled-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/two-towers-recompiled-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/two-towers-recompiled-case/index.md",
  "name": "The Two Towers Recompiled: an original Xbox static-recompilation port",
  "name_zh": "The Two Towers Recompiled：初代 Xbox 静态重编译移植",
  "reconstruction_method": "static-recompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "limits",
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "README for v1.9.2 calls the port a fully playable work in progress and recommends 60 FPS; unlocked frame rates and widescreen are experimental. Downloads cover 64-bit Windows 7 SP1 to 11, x86-64 Linux with glibc 2.27+, and macOS 10.15+ on Intel or through Rosetta 2, with the macOS build not yet tested on a Mac. Known issues include stretched character shadows, lighting glitches, Vulkan black screens and several problems with the bundled extra-heroes mod.",
    "Players need their own USA Xbox disc image or extracted game folder, and no game data is included. generate.py checks the retail default.xbe against a fixed SHA-256, then runs the xboxrecomp pipeline (XBE parsing, disassembly, function identification, ABI analysis, naming and recompilation) to write the C sources locally, so no recompiled code is committed. A separately distributed GameCube high-resolution texture pack is optional and not part of the release.",
    "The repository vendors the xboxrecomp 0.12.0 static-recompilation toolkit, which translates an XBE's x86 code into C, and CHANGES.md lists the fixes made to it for this game. The game project builds with CMake 3.20+ and C11 under MSVC, MinGW or Clang/GCC; Linux uses SDL2 with OpenGL loaded at run time, and the renderer options are Direct3D 11, Vulkan through DXVK or OpenGL. The README at this revision has no build section; generate.py only says to build with CMake afterwards.",
    "Testing reported for 1.9.2 covers menus, level loading and fonts in several languages under Wine and on Linux with OpenGL, and states that the Windows, Linux and macOS builds compile. No automated tests or CI runs are recorded for the reviewed commit.",
    "LICENSE.txt applies MIT to the port's own code (twotowers/ and generate.py); the vendored xboxrecomp keeps MIT plus LGPL-2.1-or-later for parts taken from xemu. The license adds that the release's game program contains code mechanically translated from the original executable, which it does not cover and which remains the rights holders' property."
  ],
  "requirements_zh": [
    "v1.9.2 的 README 称该移植仍在进行中但已可完整游玩，建议以 60 FPS 运行；解锁帧率和宽屏为实验性功能。下载包涵盖 64 位 Windows 7 SP1 至 11、glibc 2.27+ 的 x86-64 Linux，以及 Intel 或经 Rosetta 2 运行的 macOS 10.15+，其中 macOS 版尚未在 Mac 上测试。已知问题包括角色阴影拉伸、光照异常、Vulkan 黑屏，以及随附额外英雄模组的若干问题。",
    "玩家需自备美版 Xbox 光盘镜像或已提取的游戏文件夹，仓库不含任何游戏数据。generate.py 以固定 SHA-256 校验零售版 default.xbe，然后运行 xboxrecomp 流程（XBE 解析、反汇编、函数识别、ABI 分析、命名和重编译），在本地写出 C 源码，因此仓库未提交任何重编译代码。另行发布的 GameCube 高清纹理包为可选项，不属于本发布。",
    "仓库内置 xboxrecomp 0.12.0 静态重编译工具包，它将 XBE 的 x86 代码转换为 C；CHANGES.md 列出了为本游戏对其所做的修正。游戏项目使用 CMake 3.20+ 和 C11，可用 MSVC、MinGW 或 Clang/GCC 构建；Linux 使用 SDL2 并在运行时加载 OpenGL，渲染选项为 Direct3D 11、经 DXVK 的 Vulkan 或 OpenGL。该版本的 README 没有构建章节，generate.py 只说明之后用 CMake 构建。",
    "1.9.2 报告的测试覆盖 Wine 下及 Linux OpenGL 环境中多种语言的菜单、关卡加载和字体，并称 Windows、Linux 和 macOS 构建均可编译。所审提交没有自动化测试或 CI 运行记录。",
    "LICENSE.txt 对移植自身代码（twotowers/ 和 generate.py）采用 MIT；内置的 xboxrecomp 保留 MIT，其中取自 xemu 的部分为 LGPL-2.1-or-later。许可证还说明，发布包中的游戏程序含有从原始可执行文件机械转换而来的代码，这部分不受该许可证覆盖，仍归权利人所有。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/Gumpolas/TooTawersRecomp",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
