thedragonheir/Zeliard
GitHub: thedragonheir/Zeliard
基于C++23和SDL3对1989年DOS游戏Zeliard进行忠实保真移植与逆向重构,重点在于准确还原原版渲染、数据格式和游戏行为。
Stars: 2 | Forks: 0
# Zeliard C++ 移植版
**Zeliard** 的非官方 C++ 移植/重制版,专注于使用原版游戏资源,忠实重现原版 DOS 的行为、渲染、数据格式和游戏系统。
本项目是一个以保护为目的的 C++23 + SDL3 移植版,移植对象是 1989 年的 DOS 游戏 **Zeliard**。目标不是随意将游戏现代化,而是理解原版的运作方式,并以准确的行为将其干净地重构出来。
## 状态
开发中。
当前重点:
- SDL3 启动和渲染
- 320x200 内部逻辑分辨率
- 960x600 窗口输出
- 原版 GRP 解码
- 调色板处理
- SAR/归档支持
- 城镇渲染和移动行为
- 记录原版数据格式和引擎行为
## 目标
- 尽可能忠实地重现原版 DOS 游戏行为
- 解码并使用原版 `.SAR` 和 `.GRP` 数据格式
- 保持代码精简、易读且为项目专有
- 仅使用 C++23 和 SDL3,不依赖大型游戏引擎
- 在对原版数据和汇编进行逆向工程的同时记录发现
## 项目结构
```
asm/ Original assembly sources and reverse engineering references
assets/ Extracted or converted game assets
docs/ Project notes and format documentation
game/ Original game data and binaries used for analysis
src/ C++23 source code
tools/ Python tools for inspecting and extracting game data
out/ Generated CMake build output
```
## 构建
配置 debug 构建:
```
cmake --preset x64-debug
```
构建 debug:
```
cmake --build --preset x64-debug
```
运行:
```
out\build\x64-debug\Zeliard.exe
```
配置 release 构建:
```
cmake --preset x64-release
```
## 环境要求
- 兼容 C++23 的编译器
- CMake
- SDL3
- Windows 开发环境
## 原版资源
出于兼容性、保护、研究以及忠实重制的目的,本移植版使用了原版 Zeliard 游戏资源和数据文件。
原版 Zeliard 资源、数据文件、二进制文件、图形、音乐、声音、`.SAR` 文件、`.GRP` 文件、名称和商标仍归其各自的所有者所有。
## 许可证
项目专有的源代码、工具和文档均基于 MIT 许可证授权。
详情请参阅 [`LICENSE`](LICENSE)。
标签:Bash脚本, C++23, CMake, DOS游戏, SDL3, 安全报告生成, 数据格式解析, 游戏, 游戏引擎重制, 逆向工具