HarbourMasters/Lighthouse
GitHub: HarbourMasters/Lighthouse
Lighthouse 是一款基于 libultraship 框架开发的《Banjo-Kazooie》跨平台原生移植引擎,让经典 N64 游戏在现代系统上以原生方式运行。
Stars: 163 | Forks: 13
# Lighthouse
Harbour Masters 制作的《Banjo Kazooie》移植版
主要开发者:
* Malkierian
开发者:
* JeodC
* Caladius
# 快速开始
Lighthouse 不包含任何受版权保护的资产。您需要提供一份受支持的游戏副本。
### 1. 验证您的 ROM dump
支持以下列出的任何零售版本。您可以通过 https://www.romhacking.net/hash/ 上的 SHA-1 File Checksum Online 来验证您是否 dump 了一份受支持的游戏副本。
* `baserom.us.v10.z64`: `1fe1632098865f639e22c11b9a81ee8f29c75d7a`
* `baserom.us.v11.z64`: `ded6ee166e740ad1bc810fd678a84b48e245ab80`
* `baserom.jp.z64`: `90726d7e7cd5bf6cdfd38f45c9acbf4d45bd9fd8`
* `baserom.pal.z64`: `bb359a75941df74bf7290212c89fbc6e2c5601fe`
如果您有多个区域版本的游戏,并希望将它们用作语言包,请参阅下文的 `# 语言包`。
### 2. 验证您的 ROM 是否为 .z64 格式
您的 ROM 需要是 .z64 格式。如果它是 .n64 格式,请使用以下工具将其转换为 .z64:https://hack64.net/tools/swapper.php
### 3. 从 [Releases](https://github.com/HarbourMasters/Lighthouse/releases) 下载 Lighthouse
### 4. 从 ROM 生成 OTR 并开始游戏!
#### Windows
* 将压缩包中的所有文件解压到您选择的文件夹中。
* 运行 lighthouse.exe 并选择您兼容的 ROM。
#### Linux
* 将压缩包中的所有文件解压到您选择的文件夹中。
* 执行 lighthouse.appimage。您可能需要通过终端执行 chmod +x 为该 appimage 赋予可执行权限。
#### MacOS
* 将压缩包中的所有文件解压到您选择的文件夹中。
* 运行 lighthouse 并选择您兼容的 ROM。
# 配置
Lighthouse 自带一个包含许多标准控制器映射的文件,可以直接在大多数控制器上使用。如果 Lighthouse 无法识别您的控制器,或者无法正常工作,您可以在“设置”菜单中使用内置的映射器创建您自己的自定义映射。
### 默认键盘配置
| N64 | A | B | Z | Start | 摇杆 | C 按键 | 方向键 |
| - | - | - | - | - | - | - | - |
| 键盘 | X | C | Z | Space | WASD | 方向键 | TFGH |
### 其他快捷键
| 按键 | 动作 |
| - | - |
| ESC | 切换菜单栏 |
| Ctrl+R | 重置 |
| F11 | 全屏 |
| Tab | 切换备用资产 |
### 图形后端
目前支持三种渲染 API:DirectX11(Windows)、OpenGL(所有平台)和 Metal(macOS)。您可以在菜单栏的 `Settings` 菜单中更改要使用的 API,更改后需要重新启动。如果您遇到崩溃问题,可以在 `lighthouse.cfg.json` 文件中找到 `"Backend":{`... 这一行并将 `id` 值更改为 `2`,同时将 `Name` 设置为 `OpenGL`。在 Windows 上,默认使用 id 为 `1` 的 `DirectX 11`。在 macOS 上,默认使用 id 为 `3` 的 `Metal`。
# 语言包
Lighthouse 支持使用多个区域的 Banjo-Kazooie 作为语言包。生成您的基础 `bk.o2r` 文件并在 Lighthouse 启动后,打开 imgui 菜单。在 General -> Languages 下,您可以选择另一个 ROM 作为语言包进行提取。PAL 版本支持英语(英国)、法语和德语,而日文版增加了日语支持。语言包生成后,其包含的语言将被添加到下拉菜单中。
# Romhacks
许多 romhacks 可以从已打补丁的 ROM 中提取,并作为 mod 与 Lighthouse 一起使用。这可以在游戏中通过 Settings 部分的 Romhacks 菜单完成。如果某个 hack 未能得到完全支持,菜单在提取 mod 时会通知您。目前大多数受支持的 romhacks 尚未经过全面测试,因此可能仍存在一些问题。
_注意:使用 romhacks 时,仅支持 US v1.0,这是继承自 Banjo's Backpack 的限制。因此,建议您使用 **US v1.0** 作为基础 `bk.o2r` 文件。
# 自定义资产
自定义资产打包在 `.o2r` 或 `.otr` 文件中。要使用自定义资产,请将它们放在 `mods` 文件夹中。
如果您有兴趣创建和/或打包自己的自定义资产 `.o2r`/`.otr` 文件,请查看以下工具:
* [**retro - OTR 和 O2R 生成器**](https://github.com/HarbourMasters64/retro)
* [**fast64 - Blender 插件(请注意,目前不支持 BK64)**](https://github.com/HarbourMasters/fast64)
# 开发
### 构建
如果您想手动编译 Lighthouse,请查阅[构建说明](https://github.com/HarbourMasters/Lighthouse/blob/main/docs/BUILDING.md)。
# Playtesting
如果您想 playtest 持续集成的构建版本,可以在以下链接中找到它们。请注意,这些版本仅供 playtesting 使用,您很可能会遇到 bug 甚至崩溃。
* [Windows](https://nightly.link/HarbourMasters/Lighthouse/workflows/main/main/Lighthouse-windows.zip)
* [macOS](https://nightly.link/HarbourMasters/Lighthouse/workflows/main/main/Lighthouse-mac.zip)
* [Linux](https://nightly.link/HarbourMasters/Lighthouse/workflows/main/main/Lighthouse-linux.zip)
# 特别感谢:
* GiantJigglypuff3,感谢其广泛且持续的 Banjo Decomp 文档
* Fredomato、scorched11,感谢其在 rando 上的工作
标签:C++, N64模拟, UML, 云资产清单, 客户端加密, 开源重制, 数据擦除, 游戏引擎, 逆向工程