re: the sign-in fix holds end-to-end, but no units are loaded yet
With the emulator launched correctly and the boot verified by the progress counter first (counter > 0 = title reached; a flaky boot never leaves 0), nav_to_flight.sh ran the whole sequence -- main menu at 20 s, mask poke, stage select, briefing skip, ready room, take-off -- where every previous attempt stalled. The game is alive at the end of it: screen liveness 2.13% against 0.00% when frozen, guest churn 0.288-2.932% against 0.000%. An animating screen and a busy guest at the point that used to be stone dead. But no units. DEF_VTABLE (0x820AF844) has no hits on a direct byte search, with a working control in the same run: searching for the poked cleared-stage mask 0x0001FFFE finds it at 0x828F40C0, exactly where nav_to_flight wrote it. So the search is sound and the vtable is genuinely absent. Both vtable constants were also checked against sylpheed.db's vtables table and are real vtables, so they are not stale. Three minutes of waiting left DEF/INST at 0/0 with the counter static at 17. So the run reaches a live, animating state that is not a mission with spawned units -- most likely the launch cinematic or a post-take-off screen. The freeze is gone; what still separates this from unit spawn is the remaining work.
This commit is contained in:
@@ -99,3 +99,38 @@ with the counters already advanced — and it matches the flakiness
|
||||
on roughly half of boots and nothing observable predicts which"). **Distinguish
|
||||
them by the counters**: sign-in freeze stalls with counters advanced past the
|
||||
title; a bad boot never leaves 0.
|
||||
|
||||
## ✅ The fix holds end-to-end — `nav_to_flight.sh` now runs to completion
|
||||
|
||||
With the emulator launched correctly, and the **boot verified by the progress
|
||||
counter before spending time on navigation** (counter > 0 means the title was
|
||||
reached; a flaky boot never leaves 0), `nav_to_flight.sh 2` ran the whole
|
||||
sequence — main menu at 20 s, mask poke, stage select, briefing skip, ready room,
|
||||
take-off — where every previous attempt stalled.
|
||||
|
||||
And the game is **alive at the end of it**:
|
||||
|
||||
| | frozen (before the fix) | now |
|
||||
|---|---|---|
|
||||
| screen liveness | **0.00 %** | **2.13 %** |
|
||||
| guest churn | 0.000 % (19 B of 8 MB) | **0.288 – 2.932 %** |
|
||||
|
||||
An animating screen and a busy guest, at the point that used to be stone dead.
|
||||
|
||||
## ❔ But no units are loaded, and that is measured rather than assumed
|
||||
|
||||
`DEF_VTABLE` (`0x820AF844`) has **no hits** on a direct byte search of guest
|
||||
memory, with a working control in the same run — searching for the poked
|
||||
cleared-stage mask `0x0001FFFE` finds it at **`0x828F40C0`**, exactly where
|
||||
`nav_to_flight` wrote it. So the search is sound and the vtable is genuinely
|
||||
absent. Both constants were also checked against `sylpheed.db`'s `vtables` table
|
||||
and are real vtables (`ANON_Class_C329B3BE`, `ANON_Class_503A3BED`), so they are
|
||||
not stale.
|
||||
|
||||
Waiting does not change it: three minutes at counter 17 with `DEF/INST = 0 / 0`
|
||||
throughout.
|
||||
|
||||
So the run reaches a **live, animating state that is not a mission with spawned
|
||||
units** — most likely the launch cinematic or a post-take-off screen. The freeze
|
||||
is gone; identifying where the sequence actually lands, and what still separates
|
||||
it from unit spawn, is the remaining work.
|
||||
|
||||
Reference in New Issue
Block a user