pokeemmo/INSTALL_ZH.md
2025-06-28 22:47:17 +08:00

6.4 KiB
Raw Blame History

安装说明

各支持操作系统的安装说明可在 docs/install/ 下相应目录中找到。 各系统对应的链接见下方标题。 本文档仅包含对各支持系统的简要介绍。 如遇问题,请在 Discord 寻求帮助(参见 README_ZH.md)。

完成适用于您操作系统的安装说明后,请继续阅读构建 pokeemerald-expansion

Windows

Windows 需要以下任一系统来构建项目

注意:由于 Windows 7 和 Windows 8 已被微软官方停止支持,部分维护者可能不会长期维护 Win7/8 的安装说明。因此这些说明未来可能失效,修复时间可能长于 Windows 10/11 的说明修复。

在 Windows 上,可使用以下系统构建项目:

  • WSL2速度最快
  • WSL1比 WSL2 慢 7 倍)
  • Msys2比 WSL2 慢 20 倍)(注意:目前在 pret 上游已损坏)
  • Cygwin比 WSL2 慢 30 倍)(注意:目前在 pret 上游已损坏)

注意:仅推荐使用 WSL 系统。

WSL 安装说明

Msys2 安装说明

Cygwin 安装说明

Linux

该项目可在任意 Linux 发行版上构建。 已有说明的发行版:

其他发行版请参考 通用说明

Mac

需要额外配置才能使测试系统正常工作。

Mac 安装说明

ChromeOS

仅在 x86_64 架构系统上测试过。

Chrome OS 安装说明

构建 pokeemerald-expansion

按照以下步骤构建 pokeemerald-expansion

  1. 导航到您要存放项目的目录,注意任何系统特定的限制。
  2. 使用 git 下载 pokeemerald-expansion
git clone https://github.com/rh-hideout/pokeemerald-expansion
  1. 进入新下载的项目目录。
cd pokeemerald-expansion
  1. 构建项目。
make
  1. 如果一切正常,您将看到类似以下输出:
arm-none-eabi-ld: warning: ../../pokeemerald.elf has a LOAD segment with RWX permissions
Memory region         Used Size  Region Size  %age Used
           EWRAM:      243354 B       256 KB     92.83%
           IWRAM:       30492 B        32 KB     93.05%
             ROM:    26072244 B        32 MB     77.70%
cd build/modern && arm-none-eabi-ld  -T ../../ld_script_modern.ld --print-memory-usage -o ../../pokeemerald.elf <objs> <libs> | cat
tools/gbafix/gbafix pokeemerald.elf -t"POKEMON EMER" -cBPEE -m01 -r0 --silent
arm-none-eabi-objcopy -O binary pokeemerald.elf pokeemerald.gba
tools/gbafix/gbafix pokeemerald.gba -p --silent

构建完成的 ROM 将以 pokeemerald.gba 文件名位于项目目录中。

构建指南

并行构建

更多信息请参阅 GNU 文档Stack Exchange 讨论

要加速构建,首先通过以下命令获取 nproc 值:

nproc

然后通过以下命令加速构建:

make -j<nproc 输出值>

<nproc 输出值> 替换为 nproc 命令返回的数字。

macOS 上无 nproc 命令。替代命令是 sysctl -n hw.ncpu(相关 Stack Overflow 讨论)。

其他工具链

要使用 devkitARM 以外的工具链构建,需用工具链路径覆盖 TOOLCHAIN 环境变量(该路径必须包含 bin 子目录):

make TOOLCHAIN="/path/to/toolchain/here"

示例如下:

make TOOLCHAIN="/usr/local/arm-none-eabi"

要使用此工具链编译 modern 目标,还需存在 libincludearm-none-eabi 子目录。

构建调试信息

要在现代工具链下构建带调试符号和调试优化级别的 pokeemerald.elf

make debug

选择分支

pokeemerald-expansion 提供不同分支供用户选择使用。

最新补丁版 (Latest Patch)

此选项包含所有官方发布的扩展功能和错误修复。

master 分支

master 分支包含"最新补丁版"的所有功能,以及自该版本发布以来发现的所有错误修复。

upcoming 分支

upcoming 分支包含"最新补丁版"的所有功能,以及自该版本发布以来添加的所有新功能。

master 分支的错误修复会不定期合并到 upcoming,但无固定时间表。

从 pokeemerald 迁移

  1. 添加 RHH 作为 git 远程仓库
git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion
  1. 拉取您选择的分支 有三种可选分支:
git pull RHH master # 如选择 upcoming 分支,将 master 替换为 upcoming
# 如选择最新补丁版,将 master 替换为 expansion
# 如选择特定版本(如 1.11.0),将 master 替换为 expansion/1.11.0

如果您未使用最新版 pret/pokeemerald可能需要解决一些合并冲突。完成后您即可使用 pokeemerald-expansion

更新 pokeemerald-expansion

  1. 添加 RHH 作为 git 远程仓库(若未添加)
git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion
  1. 检查当前版本 本地 更新日志 会显示您仓库的当前版本。
  2. 选择目标版本 我们建议按以下顺序逐步更新到下一版本: 若当前版本低于 1.6.2,应先更新到 1.6.2
    • 1.6.2
    • 1.7.4
    • 1.8.3
    • 1.9.4
    • 1.10.3

例如,若当前版本为 1.7.0,应更新到 1.7.4。

  1. 拉取目标版本
git pull RHH expansion/X.Y.Z # 将 X.Y.Z 替换为目标版本,如 `1.9.3`、`master` 或 `upcoming`

可能需要解决合并冲突。

如果您选择的目标版本不是 标签页 上的最新版本,请重复步骤 3 和 4 直至更新到最新版。

实用附加工具