
Zelda64Recomp 存档与配置迁移指南升级后 10 分钟完成数据搬家【免费下载链接】Zelda64RecompStatic recompilation of Majoras Mask (and soon Ocarina of Time) for PC (Windows/Linux/Mac)项目地址: https://gitcode.com/GitHub_Trending/ze/Zelda64Recomp据社区反馈升级到最新构建后最常遇到的两类问题是存档找不到了多与 portable 模式或从模拟器迁移有关和读档后进度回退了月亮撞击回退机制。本文覆盖从项目上一版构建直接升级、以及从 N64 模拟器迁移到 Zelda64Recomp 的完整场景先说清楚存档与配置发生了什么变化再给出两条迁移路径最后是一键校验与排障表。只校验存档位置约需 5 分钟含手动搬家的完整流程约 10 分钟。升级后你的存档和配置发生了什么变化存档本体沿用了《时之笛》系列的原始 flash 存档布局但重编译项目在此之上新增了自动存档系统并改变了存档文件的存放位置。主要变化如下维度旧安装 / 模拟器时代当前版本兼容性影响 / 你需要做什么存档存放位置模拟器用户目录或游戏目录portable 模式固定系统目录Windows 为%LOCALAPPDATA%\Zelda64Recompiled\savesLinux 为~/.config/Zelda64Recompiled/savesmacOS 为~/Library/Application Support/Zelda64Recompiled/saves换机或重新安装后需确认新路径旧存档在 portable 目录里的要手动搬回存档槽结构模拟器 .sav 为整块 flash 镜像每个文件槽写两份备份副本外加独立的 owl/自动存档槽与模拟器 .sav 不直接兼容无法拖拽导入需备份后新开档自动存档无默认开启约每 2 分钟触发一次占用 owl 存档槽不喜欢可用general.json中autosave_mode关闭配置文件随旧构建的格式拆分为 4 个 JSONgeneral / graphics / controls / sound每次写入自动保留 .bak 备份损坏时自动回退备份一般无需处理快速存档—源码中标注暂时禁用Quicksaving is disabled for now不要依赖该快捷键进度保护靠自动存档与手动存档月亮撞击 / 猫头鹰存档行为原游戏逻辑默认撞击会回退到最近常规存档开启自动存档后读档不再清空自动存档槽属有意改动模组可通过 patches/autosaving.c 的导出接口调整写入新存档时每个槽位会连续写两份完整副本并计算校验和这就是损坏时自动读第二份的机制来源摘自 patches/save_patches.cgSaveContext.save.saveInfo.checksum Sram_CalcChecksum(gSaveContext.save, sizeof(Save)); Lib_MemCpy(sramCtx-saveBuf, gSaveContext.save, sizeof(Save)); // 副本 1 Lib_MemCpy(sramCtx-saveBuf[0x2000], gSaveContext.save, sizeof(Save)); // 副本 2另外每个有效存档内含原始游戏的ZELDA3标记字段可作为事后校验的特征串。两条迁移路径先判断你属于哪一种同项目升级用户走路径 A不需要复制任何文件用过 portable 模式、从模拟器迁移、或跨设备搬家的用户走路径 B手动备份加验证。两条路径执行前先复制一份旧存档和旧配置作为备份验证通过前不要删除原始文件。路径 A直接启动验证同项目升级前置条件新构建已解压到任意目录且你从未使用过portable.txt。启动游戏进入游戏加载存档文件。若开启自动存档默认开启正常游玩约 2 分钟屏幕右下角会出现 24×16 像素的自动存档图标资源见 patches/autosave.rgba32.bin1536 字节 rgba32 格式同时控制台会打印所读入的出生点与场景编号例如Loaded entrance: 42 in scene: 2预期输出存档列表正常显示原有 3 个槽位的角色名与道具数无报错弹窗。看到以上输出即表示新构建读取旧存档成功迁移完成。路径 B手动搬家portable / 模拟器 / 跨设备用户前置条件旧安装目录或模拟器目录仍可访问已确认新构建的存档目录为空或可覆盖。定位旧存档portable 用户查看游戏目录内的saves文件夹模拟器用户查看其模拟器用户目录下的 .sav 文件。备份将旧saves目录整体复制到saves_backup_日期同时复制 4 个 JSON 配置文件。将 portable 目录中的saves文件夹移动或复制到系统目录Windows%LOCALAPPDATA%\Zelda64Recompiled\savesLinux~/.config/Zelda64Recompiled/saves。注意项目未提供面向模拟器 .sav 的导入工具来自模拟器的存档无法直接放置使用请以新开档方式继续旧 .sav 保留在备份中即可。若旧安装使用了 portable 模式删除新安装目录旁的portable.txt确保存档写回系统目录。启动游戏执行路径 A 的第 2 步验证。✅ 一键校验三步确认存档完好以 Linux 为例Windows 将路径替换为%LOCALAPPDATA%\Zelda64Recompiled\saves即可cd ~/.config/Zelda64Recompiled/saves ls -l strings * | grep -m1 ZELDA3三步预期结果ls -l能看到与游戏内槽位数量一致的存档文件大小非 0。至少一个文件输出ZELDA3说明内含原始游戏的标记字段结构未被破坏。启动游戏加载该档控制台出现Loaded entrance: 编号 in scene: 编号且画面进入对应场景。三项全过即校验成功。若某槽位ZELDA3缺失说明该槽可能未正常写入可尝试在文件选择界面观察其角色名是否乱码再决定丢弃该槽另一份副本通常仍有效。⚠️ 排障五种常见异常与解决办法错误现象可能原因解决办法saves目录为空存档消失曾用 portable 模式存档写在游戏目录从游戏目录把saves文件夹搬回系统目录或保留portable.txt继续使用便携布局读档后进度回退到更早位置月亮撞击默认回退存档moon_crash_resets_save默认开启或读到了自动存档槽属默认行为如不接受用模组调用 patches/autosaving.c 中的recomp_set_moon_crash_resets_save等导出接口修改配置全部恢复默认值某 JSON 解析失败系统回退到 .bak 备份或内置默认删除损坏的 JSON 重启系统会自动重建默认值包含autosave_mode: On、targeting_mode: Switch、相机 Y 轴反转按快速存档快捷键无反应快速存档在 src/game/quicksaving.cpp 中被整体禁用暂不修复预期以 2 分钟自动存档与手动存档保护进度自动存档迟迟不触发处于第 3 天最后 3 小时、过场动画、小游戏等安全条件被屏蔽时段设计如此见 patches/autosaving.c 的触发条件无需处理进阶定期备份脚本与 Steam Deck 迁移存档与配置共 5 类文件用一个脚本即可全量备份#!/bin/bash # Zelda64Recomp 存档 配置全量备份 STAMP$(date %Y%m%d-%H%M%S) DEST~/zelda64-recomp-backup-$STAMP mkdir -p $DEST/saves cp ~/.config/Zelda64Recompiled/saves/* $DEST/saves/ 2/dev/null cp ~/.config/Zelda64Recompiled/*.json $DEST/ 2/dev/null echo 备份完成: $DEST迁移到 Steam Deck 时存档位于与 Linux 相同的路径~/.config/Zelda64Recompiled/saves把备份包解压到对应目录即可。Deck 上建议顺带检查陀螺仪等控制器设置下图为 Deck 控制器设置界面示例与存档兼容性无关收尾与相关资源升级本身不改变存档的底层格式真正要做的是确认存档位置、理解自动存档与月亮撞击两处新行为并在删除任何旧数据前完成一次完整验证。存档槽双副本与校验和逻辑patches/save_patches.c自动存档触发条件与图标资源patches/autosaving.c、patches/autosave.rgba32.bin配置加载、默认值与 .bak 回退src/game/config.cpp存档位置 FAQ 与 portable 模式说明README.md自行构建需要原游戏 ROMBUILDING.md重要提示在确认新构建能正常读取存档、手动存一次档并成功读回之前请不要删除任何旧存档、旧配置及其 .bak 备份建议旧数据至少保留一个游戏周期3 天循环。【免费下载链接】Zelda64RecompStatic recompilation of Majoras Mask (and soon Ocarina of Time) for PC (Windows/Linux/Mac)项目地址: https://gitcode.com/GitHub_Trending/ze/Zelda64Recomp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考