# c1：PlayStation 版《古惑狼》的 C 语言移植

> 将 PlayStation 版《古惑狼》的原始游戏代码逐函数移植为 C 语言；其编码规范要求为函数标注原实现的地址。目前只有基于 OpenGL、SDL2 和 FluidSynth 的 PC 构建可用；它读取用户自备游戏光盘中的素材文件，仅能部分游玩。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-18
- 收录于：2026-10-18
- 原始资源：<https://github.com/wurlyfox/c1>
- 一手来源：<https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/crash-bandicoot-c1-port-case/>
- 记录 JSON：<https://awesomerea.org/resources/crash-bandicoot-c1-port-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/crash-bandicoot-c1-port-case/index.md)

## 使用条件与局限

- **前提条件：**运行时需要用户自有《古惑狼》光盘中的 NSD／NSF 素材文件；仓库不附带游戏数据，README 也未注明支持的光盘地区或版本。游戏默认进入标题流程，若要更改需修改常量并重新编译。
- **前提条件：**仅支持 32 位 x86 可执行文件，需使用 GNU Make 和 32 位 GNU 工具链（64 位宿主上为 multilib GCC／G++），并依赖 OpenGL 2.0+、SDL2 和 FluidSynth（已内置 cimgui）。编译仅在 Ubuntu／Debian 上测试过；没有发布版本，审阅时最后一次提交为 2024-01-22。
- **局限：**README 称代码已 100% 移植，但功能完成度为 78%。已记录的问题包括多个关卡崩溃、镜头与碰撞行为不正确、演示模式和标题状态失效，以及开启编译器优化后行为改变；PlayStation（Psy-Q）构建无法使用。
- **测试证据：**项目未公布字节一致、等价性或自动化游戏流程检查。仓库没有许可证文件，复用权利未明确，原游戏保留各自权利。

## 一手来源

1. <https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/README.md>
2. <https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/doc/issues.md>
3. <https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/doc/coding.md>
4. <https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/doc/changelog.md>
5. <https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/doc/outline.md>
6. <https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/src/main.c>
7. <https://github.com/wurlyfox/c1/blob/256fdcef59f15a190290cc19db3fa9a707843b69/Makefile>

## 同分区更多条目：游戏

- [Firefighter：将反编译的 DOS 游戏移植为 Rust](https://awesomerea.org/zh/resources/firefighter-rust-port-case/index.md) · 案例
- [Halo: Combat Evolved：逐步重新实现并修补进原版 Xbox 可执行文件](https://awesomerea.org/zh/resources/halo-ce-xbox-reimplementation-case/index.md) · 案例
- [keen-clone：Commander Keen 1 的 C/SDL2 移植](https://awesomerea.org/zh/resources/keen-clone-rea-commander-keen-case/index.md) · 案例
- [Metroid Dread：进行中的手工反编译](https://awesomerea.org/zh/resources/dreadcomp-case/index.md) · 案例
- [OpenGOAL：恢复 GOAL 代码并重建 Jak 系列游戏](https://awesomerea.org/zh/resources/opengoal-jak-case/index.md) · 案例
- [Paleblood：带自有运行时的 Bloodborne 功能等价反编译](https://awesomerea.org/zh/resources/paleblood-bloodborne-functional-decomp-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
