donbg band: replay every element of the original movie #11

Merged
Yonokid merged 7 commits from GanYiZhong/YataiDONNijiiro:donbg-anim into main 2026-09-09 17:16:19 +02:00
Collaborator

The band behind the player was a scrolling tile plus a few static plates, so the squids, waves, fans, fish and birds never moved the way they do in the original.

Each of the twelve bands (six movies × 1P/2P) is now data-driven:

  • Graphics/background/donbga_NN_Mp/ — one texture per shape.
  • Scripts/background/bg_data/donbg_anim/a_NN_Mp.lua — per shape instance, the period of its own loop and per-frame position / scale / rotation / alpha (constant channels stored as one number). Flipbook frames carry a separate presence mask so e.g. the fish's arc and its frame swap keep their own periods.
  • Scripts/background/bg_objects/donbg/anim_player.lua — replays everything on one 60 fps clock, depth order as authored, normal + fever states (the fever crossfade is unchanged).
  • donbg/base.lua uses the player when the data exists and keeps the old layer lists as fallback; collab bands are untouched.

Verified in-game on bands 01/02/04/06 (1P). Note the data is large (≈14 MB Lua, ≈50 MB PNG since 1P/2P ship their own copies).

🤖 Generated with Claude Code

The band behind the player was a scrolling tile plus a few static plates, so the squids, waves, fans, fish and birds never moved the way they do in the original. Each of the twelve bands (six movies × 1P/2P) is now data-driven: - `Graphics/background/donbga_NN_Mp/` — one texture per shape. - `Scripts/background/bg_data/donbg_anim/a_NN_Mp.lua` — per shape instance, the period of its own loop and per-frame position / scale / rotation / alpha (constant channels stored as one number). Flipbook frames carry a separate presence mask so e.g. the fish's arc and its frame swap keep their own periods. - `Scripts/background/bg_objects/donbg/anim_player.lua` — replays everything on one 60 fps clock, depth order as authored, normal + fever states (the fever crossfade is unchanged). - `donbg/base.lua` uses the player when the data exists and keeps the old layer lists as fallback; collab bands are untouched. Verified in-game on bands 01/02/04/06 (1P). Note the data is large (≈14 MB Lua, ≈50 MB PNG since 1P/2P ship their own copies). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
GanYiZhong added 2 commits 2026-09-09 04:13:21 +02:00
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The band behind the player used to be a scrolling tile plus a few static plates,
so the squids, waves, fans, fish and birds never moved the way they do in the
original. Each of the twelve bands (six movies x 1P/2P) is now data-driven: one
texture per shape (background/donbga_NN_Mp) and, per shape instance, the period
of its own loop with per-frame position/scale/rotation/alpha
(bg_data/donbg_anim/a_NN_Mp.lua); flipbook frames carry a separate presence mask so
the fish's arc and its frame swap keep their own periods. donbg/anim_player.lua
replays all of it on one 60 fps clock; base.lua uses it when the data exists and
keeps the old layer lists as the fallback (collab bands are unchanged).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-09 05:05:20 +02:00
GanYiZhong added 1 commit 2026-09-09 05:12:07 +02:00
The root timeline parks the cleared-state group at alpha 0 until the gauge
clears, so exporting through the root left every cleared band invisible and the
not-cleared art stayed up after クリア. Each state group is now exported as its
own root and offset by its placement; all twelve bands carry both states.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-09 05:35:52 +02:00
Checked against the original: the band runs at half the speed the 120 Hz step
gave it. Only the soul-max crowd steps at 120 Hz.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-09 06:02:07 +02:00
A shape character can own more than one geometry record and records exist for
characters no frame places, so ranking the character id among the placed
shapes shifted textures after the first such case: band 04's cleared tile came
out 408 px wide with gaps and every later shape drew the wrong art (a temari
where a cloud belongs). The exporter now reads the character-to-record map from
the movie and composites multi-record characters into one texture.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Yonokid added 1 commit 2026-09-09 17:10:55 +02:00
Yonokid added 1 commit 2026-09-09 17:15:31 +02:00
Yonokid merged commit cce76105cc into main 2026-09-09 17:16:19 +02:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Yonokid/YataiDONNijiiro#11