{
  "added_at": "2026-10-18",
  "additional_evidence_urls": [
    "https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/doc/issues.md",
    "https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/doc/coding.md",
    "https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/doc/changelog.md",
    "https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/doc/outline.md",
    "https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/src/main.c",
    "https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/Makefile"
  ],
  "category": "reconstruction-cases",
  "description_en": "Ports the original PlayStation Crash Bandicoot game code to C function by function; its coding standard labels functions with the addresses of their original implementations. Only the PC build, using OpenGL, SDL2 and FluidSynth, currently works; it loads asset files from the user’s game disc and is only partially playable.",
  "description_zh": "将 PlayStation 版《古惑狼》的原始游戏代码逐函数移植为 C 语言；其编码规范要求为函数标注原实现的地址。目前只有基于 OpenGL、SDL2 和 FluidSynth 的 PC 构建可用；它读取用户自备游戏光盘中的素材文件，仅能部分游玩。",
  "entry_url": "https://awesomerea.org/resources/crash-bandicoot-c1-port-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/crash-bandicoot-c1-port-case/",
  "evidence_url": "https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/README.md",
  "group": "cases",
  "id": "crash-bandicoot-c1-port-case",
  "json_url": "https://awesomerea.org/resources/crash-bandicoot-c1-port-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/crash-bandicoot-c1-port-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/crash-bandicoot-c1-port-case/index.md",
  "name": "c1: a C port of PlayStation Crash Bandicoot",
  "name_zh": "c1：PlayStation 版《古惑狼》的 C 语言移植",
  "reconstruction_method": "decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "limits",
    "prerequisites",
    "prerequisites",
    "testing"
  ],
  "requirements": [
    "The README reports the code as 100% ported but functionality at 78%. The tracked issue list includes crashes in several levels, incorrect camera and collision behavior, broken demo mode and title states, and behavior that changes under compiler optimization; the PlayStation (Psy-Q) build does not work.",
    "Running needs the NSD/NSF asset files from the user’s own Crash Bandicoot disc; the repository ships no game data and the README does not name a supported disc region or version. The game boots into the title sequence unless a constant is changed and the code recompiled.",
    "Only 32-bit x86 executables are supported, built with GNU Make and a 32-bit GNU toolchain (multilib GCC/G++ on 64-bit hosts) against OpenGL 2.0+, SDL2 and FluidSynth (cimgui is bundled). Compilation has been tested only on Ubuntu/Debian; there are no releases, and the last commit at review is 2024-01-22.",
    "No byte-matching, equivalence or automated gameplay check is published. The repository has no license file, so reuse rights are unspecified, and the original game retains its own rights."
  ],
  "requirements_zh": [
    "README 称代码已 100% 移植，但功能完成度为 78%。已记录的问题包括多个关卡崩溃、镜头与碰撞行为不正确、演示模式和标题状态失效，以及开启编译器优化后行为改变；PlayStation（Psy-Q）构建无法使用。",
    "运行时需要用户自有《古惑狼》光盘中的 NSD／NSF 素材文件；仓库不附带游戏数据，README 也未注明支持的光盘地区或版本。游戏默认进入标题流程，若要更改需修改常量并重新编译。",
    "仅支持 32 位 x86 可执行文件，需使用 GNU Make 和 32 位 GNU 工具链（64 位宿主上为 multilib GCC／G++），并依赖 OpenGL 2.0+、SDL2 和 FluidSynth（已内置 cimgui）。编译仅在 Ubuntu／Debian 上测试过；没有发布版本，审阅时最后一次提交为 2024-01-22。",
    "项目未公布字节一致、等价性或自动化游戏流程检查。仓库没有许可证文件，复用权利未明确，原游戏保留各自权利。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/wurlyfox/c1",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
