Scenes: the Le Roof scenes reach their colour loops 7-8 frames early
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 18/100
Research direction
The issue names the Le Roof scene timing in Event_MeetingLeRoof and Cutscene_LeRoofAgain, the DMAPlanes_VInt/DmaPlanes frame handling, and the SceneOp::FadeOut transcription at $07845A. Read #546 first, since it may already cover the DmaPlanes frame class. Done when both scenes hit the colour loop on retail's counted frame and $07845A is a VariablePaletteFade out, mode 5.
Written by the indexing model from the issue text.
Description
Found while working on #591. Refs #589.
What happens
The Le Roof colour cycle (loc_70638) writes on frames whose Main_Frame_Count & 3 is zero. Its phase is therefore retail's only when the frames before the loop are. With the native frame count seeded to retail's at the event's start, the frames from event start to the fade-in's first pass are:
| Scene | Retail (counted frames) | Native |
|---|---|---|
Event_MeetingLeRoof |
405 | 397 |
Cutscene_LeRoofAgain |
337 | 330 |
By segment, each scene loses 6-7 counted frames before its first fade (event entry and Chaz's Event_MoveCharacter walk) and 1 between the black screen and the fade up. The second is DMAPlanes_VInt, which ends in VInt_Prepare (one frame) while the native DmaPlanes spends none. In Event_MeetingLeRoof the 8-frame offset happens to keep the cycle's phase, and words 0-31 match retail on all 371 frames of the loops. In Cutscene_LeRoofAgain the 7-frame offset moves the cycle by three frames, so words 11-12 differ.
Separately, Cutscene_LeRoofAgain's move.b #5,($FFFFED52) / jsr Pal_VariableFadeOut at $07845A is transcribed as SceneOp::FadeOut (PalFadeOut_ClrSpriteTbl).
Acceptance
Both scenes reach their first colour-loop pass on retail's counted frame from event start, and $07845A is a VariablePaletteFade out, mode 5. DMAPlanes_VInt's frame is probably a class fix for every DmaPlanes; check #546 first.
- 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