Skip to content

fix(mh3g): preserve received card discovery state - #22

Merged
VincentAdamNemessisX merged 3 commits into
mainfrom
fix/mh3g-offline-hunter-card-records
Jul 30, 2026
Merged

fix(mh3g): preserve received card discovery state#22
VincentAdamNemessisX merged 3 commits into
mainfrom
fix/mh3g-offline-hunter-card-records

Conversation

@VincentAdamNemessisX

@VincentAdamNemessisX VincentAdamNemessisX commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

问题

  • 离线集会所特殊伙伴(黑奴)的怪物狩猎记录中,部分已存在击杀/捕获次数的行显示为 ????

根因

  • 3DS 名片记录把已发现状态保存在 bit 0x01;Wii U 读取 bit 0x80
  • 静态 MEOW 表只覆盖部分名片槽/行,未覆盖的行保留了 3DS 状态位。

修复

  • 个人名片、收到的名片(card1/card2/card3)和 CEC/离线集会所黑奴名片统一调用同一个 Hunter’s Notes 语义映射:发现/大小冠状态 + 击杀或捕获非零时的可显示位。
  • 各路径仅保留各自的物理偏移;不再各自维护发现/大小冠位的转换规则。
  • 对 card1/card2/card3 全部 98 个收到名片槽、每槽 50 条记录重放该共享映射。

验证

  • cargo test --workspace(192 passed)
  • Windows 源码验证脚本
  • 文档契约脚本
  • 用真实 user1 ExtData 做 guild-cards dry-run/write/install 到隔离 MLC;仅 card1 发生内容变化。

未解决的独立问题

  • “打开某张名片的武器使用次数偶发闪退”:本地 user1 的 card1/card2/card3 全部 98×36 个计数均逐项验证为 3DS LE == Wii U BE(300 个非零,最大 1910),未复现;此 PR 不做无证据的字段改写。需要崩溃时对应的 3DS card* 源文件和 Cemu 日志来继续定向定位。

Base automatically changed from fix/mh3g-shakalaka-dialog-crash to main July 30, 2026 04:17
@VincentAdamNemessisX
VincentAdamNemessisX marked this pull request as ready for review July 30, 2026 04:18
@VincentAdamNemessisX
VincentAdamNemessisX requested a review from a team as a code owner July 30, 2026 04:18
@VincentAdamNemessisX
VincentAdamNemessisX merged commit 0b2ec61 into main Jul 30, 2026
3 of 4 checks passed
@VincentAdamNemessisX
VincentAdamNemessisX deleted the fix/mh3g-offline-hunter-card-records branch July 30, 2026 04:18
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