scenes: repair Re-Faze and guardian palette-loop timing
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 8/100
Research direction
Start with Event_ReFaze, Event_DeVarsDefeated and Event_SaLewsDefeated and the shared palette/timing support they call, after reading #470 and #519. Check the US-image offsets listed in the issue ($07160C through $0718CC) against the wait_census tests and docs/source-notes/README.md before editing. Done means the wait_census and focused scene timing tests pass for both Re-Faze branches and both guardians, and the new CRAM tests reject the original timing defects; the tower timing child's PR may need to land first.
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_ReFaze, Event_DeVarsDefeated and Event_SaLewsDefeated, their shared palette/timing support, tests and census claims. Read #470 and #519. Reuse the explicit update-policy support delivered by the tower timing child, awaiting its PR if needed. Existing palette increase/restore operations and the runtime CRAM model are the owning paths; do not create another palette implementation.
For Re-Faze, block for the 63-frame DoMainUpdatesLoop at $07160C. Move the 64-frame loc_58666 restore at $071636 before FireBreath and give it VInt-only semantics. Add the 136-frame main-update wait at $071652 after FireBreath. In the Megid branch, transcribe the two 40-frame Pal_IncreaseTone loops at $071688/$0716B8, the ten-frame main-update wait at $0716E8, the forty-frame restore at $071708 and Pal_VariableFadeToPal2. Verify that fade's US helper semantics and termination rather than substituting an arbitrary fixed wait. Preserve the existing choice, technique, music, flag and battle outcomes on both branches.
For both defeated guardians, replace the erroneous FadeOut plus approximate Wait 40 with the first forty-frame brightening loop at $071772/$07183A. Add the second forty-frame brightening loop at $0717A8/$071870, block for the ten-frame main-update wait at $0717F8/$0718BC, and restore for forty VInt-only frames after the barrier sound at $071808/$0718CC. Confirm the surrounding palette save/copy ordering against retail.
Confirm US bytes, preserve protected inputs and stay within #571's authority; no unrelated palette certification, deployment or publication. Record any deliberate omission by offset and reason in docs/source-notes/README.md. Replace assigned Missing/Recorded/defect census claims with accurate plain Wait or Within claims for implemented loops. Leave unrelated #571 repairs open.
Verification: Run the US-image wait_census tests and focused scene timing tests for Re-Faze's YES and NO branches and both guardians, through the documented heavy-run lock. Assert each loop's count, update policy, sound/palette ordering and final gameplay outcome. Add runtime CRAM tests distinguishing brightening from fading, verifying restoration, and proving the variable fade blocks until its retail completion condition. Show the new checks reject the original timing/order defects. Run affected core/runtime palette 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