mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-05-06 22:35:11 +02:00
feat(savedata): parse zenny/gzenny/CP from ZZ save blob
Adds read-only parsing for three scalar fields in the ZZ character save blob: zenny (0xB0), gzenny (0x1FF64) and caravan points (0x212E4). Also registers an offset for current_equip (0x1F604); extraction deferred until its length is reverse-engineered. Offsets sourced from Chakratos/mhf-save-manager and validated against a live HR999 blob. Scope is intentionally ZZ-only: mhf-save-manager's F5 and G1-G5.2 maps are not validated against live data, and the dormant pPlaytime vs item_pouch collision in those versions is not resolved yet. Non-ZZ modes leave the new pointers unmapped, and the read path is guarded by `ok && off > 0 && off+size <= len(blob)` so unverified versions cannot accidentally read from the blob. Tests cover positive-path roundtrip (including live kirito blob), regression guards for existing fields, non-ZZ isolation, new-character skip, and bounds safety against truncated blobs.
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -37,6 +37,9 @@ deploy.sh
|
||||
# Test/build artifacts
|
||||
coverage.out
|
||||
|
||||
# Local save blob dumps (PII)
|
||||
tmp/
|
||||
|
||||
# Claude Code local config
|
||||
.claude/
|
||||
CLAUDE.local.md
|
||||
|
||||
Reference in New Issue
Block a user