{
  "added_at": "2026-10-29",
  "additional_evidence_urls": [
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/CMakeLists.txt",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/.gitmodules",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/.github/workflows/ci.yml",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/azure-pipelines.yml",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/appveyor.yml",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/Source/AliveDllAE/dllmain.cpp",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/Source/AliveLibAE/Resources.hpp",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/Source/AliveLibCommon/BaseGameAutoPlayer.cpp",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/Source/Tools/relive_api_integration_test/relive_api_integration_test.cpp",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/assets/relive-ae",
    "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/3rdParty/DxOld/d3dtypes.h",
    "https://github.com/AliveTeam/aliveteam.github.io/blob/f1ff2177147135677f9c060b02135f7d5f67ef8e/faq.md",
    "https://github.com/AliveTeam/aliveteam.github.io/blob/f1ff2177147135677f9c060b02135f7d5f67ef8e/install.html",
    "https://github.com/AliveTeam/alive_reversing/releases/tag/github-v1.0.9"
  ],
  "category": "reconstruction-cases",
  "description_en": "Reimplements the engine of Oddworld: Abe’s Oddysee and Abe’s Exoddus as an open-source replacement executable that runs from the user’s own game folder. The team decompiled the original executables and replaced their functions incrementally, using injected DLLs that hook reimplemented code into the patched retail executable, then rewrote the result into a standalone cross-platform engine. The project site says both games are playable in their entirety, with bug fixes and windowed, high-resolution and controller play.",
  "description_zh": "以开源的替代可执行文件重新实现 Oddworld: Abe’s Oddysee 与 Abe’s Exoddus 的引擎，在使用者自己的游戏目录中运行。团队先反编译原版可执行文件并逐步替换其中的函数，借助注入的 DLL 将重新实现的代码挂接到打过补丁的零售版程序中，之后再把成果改写为独立的跨平台引擎。项目网站称两款游戏均可完整通关，并修复了缺陷，支持窗口模式、高分辨率和手柄游玩。",
  "entry_url": "https://awesomerea.org/resources/relive-oddworld-abe-engine-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/relive-oddworld-abe-engine-case/",
  "evidence_url": "https://github.com/AliveTeam/alive_reversing/blob/3be8967b71b29e6e61009d291bd64dce39abf7ac/README.md",
  "group": "cases",
  "id": "relive-oddworld-abe-engine-case",
  "json_url": "https://awesomerea.org/resources/relive-oddworld-abe-engine-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/relive-oddworld-abe-engine-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/relive-oddworld-abe-engine-case/index.md",
  "name": "R.E.L.I.V.E.: an Oddworld Abe’s Oddysee and Abe’s Exoddus engine reimplementation",
  "name_zh": "R.E.L.I.V.E.：Oddworld: Abe’s Oddysee 与 Abe’s Exoddus 引擎的重新实现",
  "reconstruction_method": "decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "Reviewed at the master commit of 2026-09-01 that merged the SDL3 port; the latest release is github-v1.0.9, labelled “relive stable v1.0.9” (2025-03-21), while CMake still declares project version 0.1. The project site’s FAQ says both games can be played through, over a hundred original bugs are fixed and there should be no noticeable gameplay difference from the retail version; PSX-quality music, deeper modding and an in-game level editor are listed as future work. The FAQ describes the method as decompiling the retail executable and then spending years rewriting the output into readable code.",
    "Play requires the user’s own Abe’s Oddysee or Abe’s Exoddus installation; the FAQ names the Steam, GOG and early disc versions. The executable runs from the game folder that holds the .lvl files, and the Linux launcher scripts look for the default Steam folder or ask for that directory. The repository contains no game data files, though source files embed data tables used by the reimplemented code, such as fonts and video-decompression tables; the FAQ says the team will not provide game files.",
    "Builds use CMake 3.10+, C++17 and SDL3 after a recursive clone of the Detours, googletest, magic_enum, jsonxx, stb, lodepng and nlohmann/json submodules; README documents Visual Studio 2022 on Windows and Ubuntu packages on Linux, and cpack produces a Debian package. MSVC builds also produce the AliveDllAE and AliveDllAO hooking DLLs, linked with Detours on 32-bit Windows. GitHub Actions builds Windows 32-bit, Windows 64-bit and Linux packages; its macOS job is commented out, although the FAQ says the games run on macOS.",
    "The GitHub Actions workflow builds and packages without running tests. The tree has googletest unit and integration tests for the relive_api level-data tool, and the integration test reads .lvl files from hard-coded GOG install paths; older AppVeyor and Azure Pipelines configurations still invoke ctest. The FAQ reports automated replays that record a full play-through with a stable build and flag desyncs in development builds (the recorder saves input, RNG, ticks and sync points), but no replay results are published.",
    "The repository has no license file and GitHub detects none; README only says contributions will be licensed under a GPL-compatible license, most likely MIT, in the future, so reuse terms are currently unstated. 3rdParty/DxOld carries three DirectX 7-era Direct3D headers, one with a Microsoft all-rights-reserved notice, and the submodules keep their own licenses. The FAQ disclaims affiliation with Oddworld Inhabitants, whose games keep their own rights."
  ],
  "requirements_zh": [
    "审阅版本为 2026-09-01 合并 SDL3 移植的 master 提交；最新发布版为 github-v1.0.9，标注为“relive stable v1.0.9”（2025-03-21），而 CMake 中的项目版本仍为 0.1。项目网站的 FAQ 称两款游戏都能完整通关，修复了一百多个原版缺陷，与零售版相比不应有明显的玩法差异；PSX 品质的音乐、更深入的改装支持和游戏内关卡编辑器列为未来工作。FAQ 将方法描述为先反编译零售版可执行文件，再用数年时间把输出改写成可读代码。",
    "游玩需要使用者自有的 Abe’s Oddysee 或 Abe’s Exoddus 安装；FAQ 提到 Steam、GOG 和早期光盘版。可执行文件在存放 .lvl 文件的游戏目录中运行，Linux 启动脚本会查找默认的 Steam 目录，否则请使用者指定该目录。仓库不含游戏数据文件，但源码内嵌了重新实现的代码所用的数据表，例如字体和视频解压表；FAQ 表示团队不会提供游戏文件。",
    "构建需递归克隆 Detours、googletest、magic_enum、jsonxx、stb、lodepng 和 nlohmann/json 子模块，并使用 CMake 3.10+、C++17 与 SDL3；README 介绍了 Windows 上的 Visual Studio 2022 和 Linux 上的 Ubuntu 软件包，cpack 可生成 Debian 软件包。MSVC 构建还会生成 AliveDllAE 与 AliveDllAO 挂钩 DLL，在 32 位 Windows 上链接 Detours。GitHub Actions 构建 Windows 32 位、Windows 64 位和 Linux 软件包；其 macOS 任务已被注释掉，尽管 FAQ 称游戏可在 macOS 上运行。",
    "GitHub Actions 工作流只构建和打包，不运行测试。仓库中有针对 relive_api 关卡数据工具的 googletest 单元测试和集成测试，集成测试从硬编码的 GOG 安装路径读取 .lvl 文件；较早的 AppVeyor 和 Azure Pipelines 配置仍会调用 ctest。FAQ 介绍了自动回放：用稳定版录制完整通关过程，再在开发版中检测不同步（录制器保存输入、随机数、时钟和同步点），但没有公布回放结果。",
    "仓库没有许可证文件，GitHub 也未检测到许可证；README 只说贡献的代码将来会以兼容 GPL 的许可证（很可能是 MIT）发布，因此目前没有明确的复用条款。3rdParty/DxOld 收录了三个 DirectX 7 时期的 Direct3D 头文件，其中一个带有 Microsoft 保留所有权利的声明，各子模块保留各自的许可证。FAQ 声明与 Oddworld Inhabitants 无关，其游戏仍保留各自权利。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/AliveTeam/alive_reversing",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
