Skip to content

fix(mh3g): preserve small monster hunt counts - #45

Merged
VincentAdamNemessisX merged 1 commit into
mainfrom
fix/mh3g-small-monster-counts
Aug 18, 2026
Merged

fix(mh3g): preserve small monster hunt counts#45
VincentAdamNemessisX merged 1 commit into
mainfrom
fix/mh3g-small-monster-counts

Conversation

@VincentAdamNemessisX

@VincentAdamNemessisX VincentAdamNemessisX commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Scope

  • convert both 86-entry monster slay/capture tables from 3DS little-endian u16 to Wii U big-endian
  • fix the historical omissions for Giggi, Aptonoth, and Popo that can surface as 9999
  • let compatibility repair update only the 24 lanes whose historical output differs from the current schema
  • preserve later Wii U/Cemu progress at whole-field boundaries
  • document the counter schema and the separate packed monster-guide state

Data-integrity and security impact

  • fresh conversion always derives count bytes from the immutable 3DS source
  • historical 0.0.3-0.0.6 replay remains byte-reproducible
  • compatibility repair changes a counter only when the current Wii U field still equals the selected historical converter output
  • no real save data or player identifiers are committed

ADR / migration / rollback

  • extends docs/adr/0017-mh3g-official-transfer-parity.md
  • normal transactional backup/manifest/rollback behavior is unchanged
  • no file-format or CLI contract change

Verification evidence

  • Synthetic fixtures only
  • No secrets or plaintext save content in changes/logs
  • Formatting, lint and tests pass
  • git diff --check passes
  • Runtime claims include reproducible device/build fingerprints

Machine gates:

  • cargo test -p mh3g-save-convert: 227 passed
  • cargo clippy -p mh3g-save-convert --all-targets -- -D warnings: passed
  • cargo clippy -p mh3g-save-convert --target x86_64-pc-windows-msvc --all-targets -- -D warnings: passed
  • documentation contract: passed
  • Windows WinUI source contract: passed

Local, uncommitted official-transfer oracle:

  • five independent 3DS to Wii U pairs
  • 86 slay + 86 capture values per pair, 860 comparisons total
  • 0 numeric mismatches
  • packed monster-guide state remained byte-identical

Static inspection of both game executables independently confirms the two offsets, u16 width, 0x56 active-record limit, and 0x270F saturation paths.

Runtime boundary: Cemu was not launched for this change; game UI acceptance remains pending.

@VincentAdamNemessisX
VincentAdamNemessisX requested a review from a team as a code owner August 18, 2026 05:24
@VincentAdamNemessisX
VincentAdamNemessisX merged commit 87a3c95 into main Aug 18, 2026
7 checks passed
@VincentAdamNemessisX
VincentAdamNemessisX deleted the fix/mh3g-small-monster-counts branch August 18, 2026 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant