HarbourMasters/SpaghettiKart
GitHub: HarbourMasters/SpaghettiKart
马力欧卡丁车64的跨平台重编译移植项目,支持现代系统原生运行和模组扩展
Stars: 2060 | Forks: 111


## Discord
官方 Discord:
如果在阅读此 `README` 后仍有任何问题,请随时在 SpaghettiKart Support 文本频道中寻求帮助。请记住,我们不纵容盗版行为。
# 快速开始
SpaghettiKart 不包含任何受版权保护的资产。您需要提供一份受支持的游戏副本。
### 1. 验证您的 ROM dump
仅支持美版 ROM。您可以通过 上的 SHA-1 文件校验工具来验证您 dump 的游戏副本是否受支持。美版 ROM 的哈希值为 SHA-1:579C48E211AE952530FFC8738709F078D5DD215E。
### 2. 验证您的 ROM 是否为 .z64 格式
您的 ROM 必须是 .z64 格式。如果是 .n64 格式,请使用以下工具将其转换为 .z64:
### 2. 从 [Releases](https://github.com/HarbourMasters/SpaghettiKart/releases) 下载 SpaghettiKart
### 3. 从 ROM 生成 O2R
#### Windows
* 将 zip 中的所有文件解压到您选择的文件夹中。
* 运行 "Spaghettify.exe" 并选择您的美版 ROM。
#### Linux
* 将 zip 中的所有文件解压到您选择的文件夹中。
* 确保已安装 `zenity` 或 `kdialog` 软件包。
* 运行 "spaghetti.appimage" 并选择您的美版 ROM。您可能需要通过终端执行 chmod +x 赋予 appimage 执行权限。
#### Nintendo Switch
* 运行某个 PC 版本以生成 `mk64.o2r` 文件。在 PC 上启动游戏后,您可以在 `Spaghettify.exe` 或 `spaghetti.appimage` 所在的同一目录中找到这些文件。
* 将文件复制到您的 sd 卡
### 4. 游戏
* 启动 `Spaghettify.exe`
恭喜,您现在正在使用 SpaghettiKart 畅游!祝您玩得开心!
# 配置
### 默认按键配置
| N64 | A | B | L | R | Z | Start | 摇杆 | C 键 | 方向键 |
| - | - | - | - | - | - | - | - | - | - |
| 键盘 | Shift | Ctrl | Q | Space | Z | Enter | 方向键 | TGFH (↑ ↓ ← →) | 数字键 8 2 4 6 |
| SDL 手柄 | A | X | LB | RB | LT | Start | L-Stick | R-Stick Up, B, Y, R-Stick Right (↑ ↓ ← →) | D-Pad |
### 其他快捷键
| 按键 | 功能 |
| - | - |
| F11 | 全屏 |
| Tab | 切换备用资源 |
| Ctrl+R | 重置 |
| Esc | 设置 |
### 图形后端
目前支持三种渲染 API:DirectX11 (Windows)、OpenGL (所有平台) 和 Metal (macOS)。您可以在菜单栏的 `Settings` 菜单中更改要使用的 API,更改后需要重启。如果您遇到崩溃问题,可以在 `spaghettify.cfg.json` 文件中找到 `"Backend":{`... 行并将 `id` 值更改为 `3`,同时将 `Name` 设置为 `OpenGL`。Windows 上默认是 ID 为 `2` 的 `DirectX 11`。macOS 上默认是 ID 为 `4` 的 `Metal`。
# Mod 修改
自定义资产打包在 `.o2r` 或存储为 `.zip` 文件中。要使用自定义资产,请将它们放在 `mods` 文件夹中。
这里有一个官方的 [gamebanana 页面](https://gamebanana.com/games/22970)。
如果您有兴趣创建和/或打包自己的自定义资产 `.o2r` 文件,请查看 [文档页面](https://harbourmasters.github.io/SpaghettiKart/)。
**请注意,SpaghettiKart 不支持 .otr 档案!**
# 开发
### 构建
如果您想手动编译 SpaghettiKart,请参阅 [构建说明](https://github.com/HarbourMasters/SpaghettiKart/blob/main/docs/BUILDING.md)。
### 游戏测试 (nightly)
如果您想测试持续集成构建版本,可以在下方链接找到。请记住,这些仅用于测试,您可能会遇到错误甚至崩溃。
* [Windows](https://nightly.link/HarbourMasters/SpaghettiKart/workflows/main/main/spaghetti-windows.zip?status=completed)
* [Linux](https://nightly.link/HarbourMasters/SpaghettiKart/workflows/main/main/spaghetti-linux-x64.zip?status=completed)
* [macOS-arm64](https://nightly.link/HarbourMasters/SpaghettiKart/workflows/main/main/spaghetti-mac-arm64.zip?status=completed)
* [macOS-intel](https://nightly.link/HarbourMasters/SpaghettiKart/workflows/main/main/spaghetti-mac-intel-x64.zip?status=completed)
* [Switch](https://nightly.link/HarbourMasters/SpaghettiKart/workflows/main/main/Spaghettify-switch.zip?status=completed)
维护者:[MegaMech](https://www.github.com/MegaMech), [Coco](https://www.github.com/coco875), [Kirito](https://github.com/KiritoDv)
标签:C/C++, HarbourMasters, Mario Kart 64, N64, Nintendo 64, Nintendo Switch, O2R, Port, ROM Hack, Ship of Harkinian, UML, URL提取, .z64, 事务性I/O, 云资产清单, 任天堂, 反编译, 客户端加密, 客户端加密, 开源游戏, 怀旧游戏, 模拟器开发, 游戏引擎, 经典游戏复刻, 逆向工程, 静态重编译, 马里奥赛车