scenes: repair Strength and Courage tower wait timing
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 12/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- godot, rust
- Domain
- game-dev, reverse-engineering
Research direction
Start in rust/psiv-core/src/scenes/dezo_endgame.rs at Event_StrengthTowerTop and Event_CourageTowerTop, then read the wait_census tests and docs/source-notes/README.md. The issue lists US retail offsets and wait counts that must be matched, and it depends on open work in #519, #565 and PR #566, so confirm those first. Done means the census claims are updated and the wait_census test plus the frame-by-frame scene tests pass against the US image.
Written by the indexing model from the issue text.
Description
Child of https://github.com/TusanHomichi/PSIV/issues/571. Finish only this task in one fresh session and one PR. The parent's original authorization boundaries still apply; this child grants no additional authority. Do not read earlier sessions' transcripts.
Child of #571; deliver one PR limited to Event_StrengthTowerTop and Event_CourageTowerTop in rust/psiv-core/src/scenes/dezo_endgame.rs, their timing support, tests and census claims. Read #470, #519, #565 and open PR #566. Await #519's census publication and relevant camera changes when necessary; do not repeat their work.
Make the tower waits block for their US retail counts and execute the correct update loops. For Strength, add the four 15-frame waits at $070E7C/$070E9E/$070EC0/$070EE2, the missing 4/60/30/20/6/30-frame waits at $070F16/$070F28/$070F30/$070F60/$07100C/$0710B2, and both eight-pass Event_StepObject loops at $070F44/$070F58. The steps run map updates without Field_UpdateObjects. Place the $0710DE 60-frame wait after the speed-8 pan, EnemyKilled sound and 30-frame wait. Coordinate that overlapping wait with #565; leave the missing pan back itself to #565.
For Courage, add the four initial two-frame waits, the second round of four $2BC spawns and two Foi sounds at $0711FE..$0712CF, its four two-frame waits and ten-frame wait, and the missing two- and twenty-frame waits at $07139E/$0713F0. Leave the final $071426 thirty-frame wait and missing closing pan to #565.
Establish or reuse one explicit update-policy path sufficient for these repairs: main updates, map updates without field-object updates, and VInt-only waits. Verify the runtime executes that policy. Do not migrate unrelated scenes or take over #470's full census. ObjectAnimation metadata alone must not count as blocking.
Confirm US retail bytes rather than fork rewrites. Preserve protected local inputs and existing gameplay outcomes; grant no deployment, publication or additional authority. Any deliberate omission requires its offset and reason in docs/source-notes/README.md. Update every assigned census claim to an accurate plain Wait or Within claim when implemented. Do not close #571 while other repairs remain.
Verification: Through the documented heavy-run lock, run cargo test --manifest-path rust/Cargo.toml -p psiv-core --lib wait_census with the US image and focused tests that drive both scenes frame by frame. Assert spawn/sound/wait order, both eight-pass steps, completion boundaries and final flags. Add a runtime regression proving Field_UpdateObjects advances during main-update waits and stays idle during map-only and VInt-only waits; distinguish map-update behavior too. Demonstrate the timing and policy checks fail against the original defects. Run affected core/runtime tests and documentation checks.
If this is too big, publish any progress, split it with proj split FILE (a JSON array of title/body/check tasks), then end the session. Wait for the PR to land before declaring this task done.
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 8h 43m
- Merged PRs (30d)
- 288
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TusanHomichi/PSIV
-
priority: medium ready
Difficulty 1/5 Under an hour Newbie friendliness 88/100
TusanHomichi/PSIV#646 ·
Maintainers usually reply within 1 day
-
later
Difficulty 1/5 Under an hour Newbie friendliness 88/100
TusanHomichi/PSIV#504 ·
Maintainers usually reply within 1 day
-
later priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
TusanHomichi/PSIV#462 ·
Maintainers usually reply within 1 day
-
later priority: medium
Difficulty 1/5 Under an hour Newbie friendliness 88/100
TusanHomichi/PSIV#446 ·
Maintainers usually reply within 1 day
-
good first issue ready tooling
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
TusanHomichi/PSIV#146 ·
Maintainers usually reply within 1 day
All issues in TusanHomichi/PSIV
Similar issues
-
ライブラリを追加Openpriority middle
Difficulty 1/5 Under an hour Newbie friendliness 62/100
KATO-Hiro/AtCoderClans#13015 ·
Maintainers usually reply within 1 day
-
needs-review
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
UCS-Care-Group/mailcraft#1429 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
area:tui bug P1
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
agent-of-empires/agent-of-empires#5705 · 1 comment ·
Maintainers usually reply within 1 day
-
bug lab rust-mcp
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day