Skip to content

feat(mhfu): live views, the game automation, go-on-quest and the debug shell - #7

Merged
sp00ktober merged 1 commit into
mainfrom
feat/mhfu-live
Sep 29, 2026
Merged

sp00ktober merged 1 commit into
mainfrom
feat/mhfu-live

Conversation

@sp00ktober

@sp00ktober sp00ktober commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Part of sp00ktober/MHFU-ModKit#62 (the live half). Follows #6, now on main.

  • structs: typed views of Game, Entity, Player, Species, Quest, QuestCard and NpcMenu.
  • live: the session on ppsspp-debug's local and Docker launchers; boot, menus, dialog, navigation, village, hall, home, quests, travel, camp, survival. Synchronous; every step waits on memory, never on press counts.
  • mhfu go-on-quest, start, stop, shell (the debug shell on cmd.Cmd, with py for a Python prompt).
  • Not carried over: the Python mod runtime (hooks, events, mips), auto_cold_boot, the savestate registry, research routes.

Fixed on the way, from live runs and review:

  • Quests:
    • The talk waits for the NPC's talk flag and retries cross, instead of circling into the elder.
    • SCREEN_STATE 113 means a quest is under contract, so a backed-out acceptance retries at once.
    • The quest pick no longer depends on where the cursor starts.
  • Boot:
    • It works in any UI language (menu scene ids and highlights move with it).
    • The logos no longer read as in-game.
    • The player entity has its own vtable during a quest.
  • Launch: a local cold launch ignored cold, and a Docker state launch dropped the state.
  • Reading the game:
    • The registry walk stopped at the first empty slot.
    • Control read False in quest free roam.
    • Transitions were compared by the sub-section byte.
  • Travel: the cursor was off by one after a lost press, and the departure prompt's alternate scene was ignored.
  • Shell: player position was the camera; the anim table used the wrong offsets; the sweep reused SEQ; aggro and size writes were rewritten by the game every frame.

Test plan

  • uv run pytest: the flows run against scripted FakePPSSPP memory
  • Live, installed from the wheels: mhfu go-on-quest --rank 1 --quest Giadrome goes from cold boot to standing in the quest in 124–129 s, first try, in German and in English
  • mhfu shell read commands in a live quest

🤖 Generated with Claude Code

…g shell

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sp00ktober
sp00ktober changed the base branch from feat/mhfu-analysis to main September 29, 2026 06:48
@sp00ktober
sp00ktober merged commit f6752e1 into main Sep 29, 2026
4 checks passed
@sp00ktober
sp00ktober deleted the feat/mhfu-live branch September 29, 2026 06:49
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