isl: built-in 104 is request_next -- named from the game's own log string

Followed the writer, not the reader.  [phase+10160]'s only writer in
the image is one site in the mission frame loop sub_821AA1B0: it does
obj->get() on an object fetched from a registry by id 0x20FFFF02,
stores it to the phase, then clears the object -- read, publish, clear,
every frame.

The id namespace has exactly three members (0x20FFFF00/01/02), each
built at exactly 4 sites, and two of those are in sub_821D5178, which
gets 0x20FFFF01 and 0x20FFFF02 and logs both:

  GamePart_ReadyRoom::Impl::OnCommand - Wait() command is requested.
  Check flow control valiables. WAIT_MODE : %d, REQUEST_NEXT : %d

Argument order gives 0x20FFFF01 = WAIT_MODE, 0x20FFFF02 = REQUEST_NEXT.
PrepareScript corroborates: it sets WAIT_MODE=1, REQUEST_NEXT=0 before
an ISL script runs.  So the six tutorial stages' lone dominating
condition request_next() != 1 is the script waiting on the game part's
proceed flag.

6 artefact lines changed, all 6 pair exactly.
This commit is contained in:
Sylpheed RE agent
2026-08-27 09:31:01 +00:00
parent 3fa898093f
commit bcff20e4cb
4 changed files with 83 additions and 9 deletions

View File

@@ -1131,7 +1131,7 @@ An exit with no TRIGGER is not fired by a branch — a timeout exit is
fired by time passing, which is not a property of the graph.
## phase 1 — END_PHASE at 0x002958: 1 necessary condition(s)
precond 0x002898 builtin104() != 1
precond 0x002898 request_next() != 1
------------------------------------------------------------------------
@@ -1152,7 +1152,7 @@ An exit with no TRIGGER is not fired by a branch — a timeout exit is
fired by time passing, which is not a property of the graph.
## phase 1 — END_PHASE at 0x001950: 1 necessary condition(s)
precond 0x001890 builtin104() != 1
precond 0x001890 request_next() != 1
------------------------------------------------------------------------
@@ -1173,7 +1173,7 @@ An exit with no TRIGGER is not fired by a branch — a timeout exit is
fired by time passing, which is not a property of the graph.
## phase 1 — END_PHASE at 0x00261C: 1 necessary condition(s)
precond 0x00255C builtin104() != 1
precond 0x00255C request_next() != 1
------------------------------------------------------------------------
@@ -1194,7 +1194,7 @@ An exit with no TRIGGER is not fired by a branch — a timeout exit is
fired by time passing, which is not a property of the graph.
## phase 1 — END_PHASE at 0x001250: 1 necessary condition(s)
precond 0x001190 builtin104() != 1
precond 0x001190 request_next() != 1
------------------------------------------------------------------------
@@ -1215,7 +1215,7 @@ An exit with no TRIGGER is not fired by a branch — a timeout exit is
fired by time passing, which is not a property of the graph.
## phase 1 — END_PHASE at 0x00208C: 1 necessary condition(s)
precond 0x001FCC builtin104() != 1
precond 0x001FCC request_next() != 1
------------------------------------------------------------------------
@@ -1236,7 +1236,7 @@ An exit with no TRIGGER is not fired by a branch — a timeout exit is
fired by time passing, which is not a property of the graph.
## phase 1 — END_PHASE at 0x001208: 1 necessary condition(s)
precond 0x001148 builtin104() != 1
precond 0x001148 request_next() != 1
------------------------------------------------------------------------