尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Save tracker, save analyzer and 100% achievement tracker for Final Fantasy Resonance: reads your save file and shows Visions, Espers, Tablet Shards, side quests, chests and achievements, with what's missing and where to find it.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Save tracker, save analyzer and 100 % achievement tracker for Final Fantasy Resonance (PC/Steam).
Load your GameSaveData.sav and the tracker reads your progress straight from the save file. You see what you have and what's still missing for 100 % completion, and where to find each missing piece:
A chapter-by-chapter story progression with bosses, weaknesses and collectibles comes on top.
It runs entirely in the browser: no install, no account, and the save file never leaves your computer. Available in English and German, using the official in-game names of both languages.
Keywords: Final Fantasy Resonance save analyzer · save viewer · save file reader · achievement tracker · 100 % completion checklist · collectible tracker · Tablet Shard locations · Vision locations
The tracker follows the idea of community save analyzers for other games, such as the save completion analysers for Hollow Knight: Silksong: load the save, see your completion. It adds a few things specific to Final Fantasy Resonance:
| Typical save viewer | FF Resonance Save Tracker | |
|---|---|---|
| Reads the save file in the browser | ✓ | ✓ (decrypts the game's AES-encrypted Unreal Engine save) |
| Collected vs. missing per category | ✓ | ✓ Visions, Espers, Tablet Shards, Cave Masters, side quests, chests, gear |
| Where to get missing items | rarely | ✓ chest, shop, side quest or pre-order source on hover |
| Achievement progress | rarely | ✓ all 40, many checked automatically with counters |
| Marks what matters for 100 % | – | ✓ entries name the achievements they count toward |
| Story progression with bosses and weaknesses | – | ✓ |
| Updates while you play | – | ✓ optional live mode |
| Official names in several languages | – | ✓ English and German from the game's own text tables |
It's a read-only tracker, not a save editor: it never modifies your save. To edit saves, use the atma.gg save editor.
Open the hosted site, click Load save and choose your save file:
%LOCALAPPDATA%\FFRS\Steam\<Steam ID>\GameSaveData0.sav
GameSaveData0.sav is slot 1, GameSaveData1.sav slot 2, and so on. Load the file again after saving in game, or use live mode.
Clone the repository and open index.html. There is no build step and there are no dependencies.
Browsers can't watch files inside %LOCALAPPDATA%, so a small helper serves your newest save locally:
python tools/live.py
Then click Enable live mode below the upload area. The helper listens only on 127.0.0.1:8765, only reads the save folder, and runs on Windows or inside WSL.
Without game graphics the viewer shows placeholders. To use the original logo, world map, portraits, Vision and Esper sprites and icons, extract them from your own installation. This needs the .NET 10 SDK:
dotnet run --project tools/extractor -c Release -- "X:\SteamLibrary\steamapps\common\FINAL FANTASY RESONANCE\FFRS\Content\Paks" "%TEMP%\ffr-extract"
python tools/import_icons.py "%TEMP%\ffr-extract"
The extractor uses CUE4Parse to unpack the game's IoStore containers and downloads the Oodle library on first run. The game ships without type mappings (.usmap), so texture pixel data is read directly from the package layout. The graphics are written to icons/, which is git-ignored.
Item, Vision, Esper and achievement names, place, boss, quest and skill names, and the side quest table come from the game files. After a game update, regenerate them:
dotnet run --project tools/extractor -c Release -- "<Paks folder>" "%TEMP%\ffr-data" --raw .locres Datatable/Request/
python tools/locres.py names "%TEMP%\ffr-data"
python tools/quests.py "%TEMP%\ffr-data"
The site is static. On Vercel, import the repository with the framework preset Other, no build command, and the project root as the output directory. vercel.json sets security headers and caching. GitHub Pages and other static hosts work as well.
| Path | Purpose |
|---|---|
index.html | Page shell |
js/save.js | Save decryption, GVAS parser, save summary |
js/app.js | Views, automatic tracking, tooltips, live mode |
js/i18n.js | UI texts (EN/DE) and name localization |
css/theme.css | Styling in the style of the classic Final Fantasy menu windows |
data/story.*.js | Story progression per language |
data/names.js | Official in-game names EN/DE (generated) |
data/quests.js | Side quest counters and stages (generated) |
data/catalog.js | Character, Vision and item IDs |
data/areas.js | Map IDs, area names, chest and Tablet Shard locations |
tools/extractor/ | Texture and raw file exporter (C#, CUE4Parse) |
tools/import_icons.py | Copies the graphics the viewer uses into icons/ |
tools/locres.py | Reads the game's text tables and writes data/names.js |
tools/quests.py | Reads the side quest table and writes data/quests.js |
tools/live.py | Local helper for live mode |
tools/ffrs_save.py | Dumps a save as JSON for inspection |
GameSaveDataN.sav consists of a 32-byte header (SVHD, container version, SHA-1 of the payload, zero padding), followed by an AES-256-ECB encrypted Unreal Engine 5 GVAS save (/Script/mucha.CPP_MuchaGameSaveData). The format is documented by the atma.gg save editor. This viewer only reads saves and never modifies them.
Area names and chest contents are known for the early chapters. Unknown map IDs appear as "Area <ID>". Additions to data/areas.js are welcome.
This is a fan project and is not affiliated with or endorsed by Square Enix. FINAL FANTASY is a registered trademark of Square Enix Holdings Co., Ltd. No game assets are included in this repository.