案例
LEGO Island 可移植版:反编译源码的多平台移植
将 LEGO Island 反编译源码改造为可在桌面、移动设备、游戏主机、DOS 及 Web 上构建的移植版本。项目以 SDL3、miniaudio、iniparser 和自行重新实现的 Direct3D Retained Mode 替代仅限 Windows 的子系统,并力求保持核心玩法不变。它移植的是重建源码,而不校验与原版逐字节一致的二进制文件,因此有别于精确重构建的反编译案例。
使用条件与局限
- README 将其描述为基于 isledecomp/isle 的英文版 LEGO Island 1.1 可移植版本,目标是实现平台无关,不改动玩法,也不为改进而重写代码;贡献指南表示,对 LEGO1 代码的修改通常只在直接提升平台兼容性时才会接受。轻度模组通过 extensions 实现,所审版本包含多人联机、第三人称镜头和素材加载器。状态表列出 Windows、macOS、Linux、FreeBSD、DOS、Web、iOS、Android、Xbox One、PlayStation Vita、Nintendo Switch 和 Nintendo 3DS。
- 需已有一份 LEGO Island。引导安装器要求零售版 CD-ROM 或由其制作的光盘镜像,并称任何语言的 1.0 或 1.1 零售版均可;可选的高清音频包仅适用于英文 1.1 版。安装器称 isle.pizza 的 Web 版本以串流方式运行、无需本地光盘;本次核查未检查该网站提供的内容及其依据。
- 构建使用 CMake 3.25+ 和 C++17 编译器;CMake 默认下载 SDL3 和 iniparser,libsmacker 与 miniaudio 为子模块。README 未提供单独的构建指南,而是让读者参考 CI 工作流;该工作流使用 MSVC、MinGW、macOS/Linux 工具链以及 Emscripten、devkitPro、VitaSDK、DJGPP、Android 等平台 SDK,桌面设置工具需要 Qt 6。发布下载为 master 的持续构建,README 提醒可能出现回归。
- 所审 CI 检查代码格式,并为各平台目标完成配置、构建和打包;它不运行游戏,也不与原版行为比较。各平台状态项是 CI 徽章,不是玩法一致性结果。Kaitai Struct 描述文件记录了存档、动画、世界数据库和纹理格式。本合集未构建或运行该移植。
- 仓库采用 LGPL-3.0;内置及下载的第三方库各自适用其条款,原游戏数据、LEGO 商标以及安装器取自原安装程序的位图仍有各自权利约束。所审来源未确立 AI 或 REA 使用归因。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · isledecomp/isle-portable · 修订 d0bf04f
- CONTRIBUTING.md GitHub · isledecomp/isle-portable · 修订 d0bf04f
- CMakeLists.txt GitHub · isledecomp/isle-portable · 修订 d0bf04f
- .gitmodules GitHub · isledecomp/isle-portable · 修订 d0bf04f
- .github/workflows/ci.yml GitHub · isledecomp/isle-portable · 修订 d0bf04f
- installer/README.md GitHub · isledecomp/isle-portable · 修订 d0bf04f
- installer/index.html GitHub · isledecomp/isle-portable · 修订 d0bf04f
- docs/README.md GitHub · isledecomp/isle-portable · 修订 d0bf04f
- LICENSE GitHub · isledecomp/isle-portable · 修订 d0bf04f