Files
gen1recomp/tests/engine
Shane McGovern 7ec1d9be0c fix(game3): gate the level-up stat window on the EXP sequence (#2324)
The FRLG level-up stat window opened and the sequence kept pumping, so the
box outlived its own step: it stopped taking input (routing is phase-gated),
never closed, and drew over the win/money text.

- exp_seq: update() now waits while the window is open (mirroring the
  already-correct busy()), and finish()/reset() tear the window down silently
  so a stale onDone cannot advance a sequence that no longer owns it.
- stat_growth: close(opts) gains opts.silent for teardown callers.
- init: the input-routing phase list moves into STAT_WINDOW_PHASES behind
  Battle.statWindowPhase(), and Battle.update() tears down a window whose
  phase can no longer dismiss it.
- ui: the stat-window draw keys off the same predicate, so input and drawing
  can never disagree.

Tests: the "In-Battle Level Up Stat Growth Window" block in
tests/game3_battle_switch_and_faint_test.lua now pumps ExpSeq.update() while
the box is open, and a new CI-covered tests/engine suite pins the same
regression.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-19 13:26:02 +01:00
..
2026-08-28 10:14:44 -04:00
2026-08-18 09:51:22 -04:00
2026-08-18 09:20:07 -04:00
2026-08-18 09:20:07 -04:00
2026-08-18 09:20:07 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 09:02:56 -04:00
2026-08-28 10:14:44 -04:00
2026-08-31 08:41:02 -04:00
2026-07-19 16:18:18 -04:00
2026-09-02 10:02:32 -04:00
2026-09-11 09:11:34 -04:00
2026-07-19 16:18:18 -04:00
2026-08-28 10:14:44 -04:00
2026-09-18 17:19:05 -04:00
2026-08-11 11:53:30 -04:00
2026-09-18 15:42:32 -04:00
2026-07-19 16:18:18 -04:00
2026-09-18 15:42:32 -04:00
2026-07-19 16:18:18 -04:00
2026-08-28 10:14:44 -04:00
2026-08-31 07:56:27 -04:00
2026-08-28 10:14:44 -04:00
2026-09-11 09:11:34 -04:00
2026-09-18 15:42:32 -04:00
2026-08-06 09:57:31 -04:00
2026-07-30 11:35:57 -04:00
2026-08-28 10:14:44 -04:00
2026-09-09 12:23:55 -04:00
2026-08-25 09:21:33 -04:00
2026-08-06 09:57:31 -04:00
2026-08-21 14:03:25 -04:00
2026-08-28 10:14:44 -04:00
2026-08-24 07:52:05 -04:00
2026-08-28 10:14:44 -04:00
2026-09-03 07:11:31 -04:00
2026-09-16 16:42:59 -04:00
2026-09-18 17:19:05 -04:00
2026-09-18 15:42:32 -04:00
2026-08-18 11:29:50 -04:00
2026-08-18 09:51:22 -04:00
2026-08-10 14:27:00 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-26 12:04:06 -04:00
2026-07-25 15:21:49 -04:00
2026-07-25 15:21:49 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 16:55:06 +02:00
2026-08-12 11:38:17 +02:00
2026-08-24 13:07:11 -04:00
2026-08-06 14:36:01 -04:00
2026-08-25 09:16:59 -04:00
2026-08-19 06:41:10 -04:00
2026-08-21 16:36:55 -04:00
2026-08-21 14:38:54 -04:00
2026-08-21 16:36:55 -04:00
2026-09-16 16:42:59 -04:00
2026-08-18 09:20:07 -04:00
2026-09-09 09:46:27 -04:00
2026-08-20 20:36:23 -04:00
2026-09-09 09:46:27 -04:00
2026-09-09 09:46:27 -04:00
2026-08-20 20:07:10 -04:00
2026-07-31 10:45:12 -04:00
2026-08-14 17:07:06 -04:00
2026-08-20 20:07:10 -04:00
2026-08-26 12:04:06 -04:00