Light effects: entry glow patch size, add-blended layers drawn additively #21

Merged
Yonokid merged 9 commits from GanYiZhong/YataiDONNijiiro:light-effects into main 2026-09-10 19:32:10 +02:00
Collaborator

Two fixes for the arcade light effects the skin replays, both found from the entry screen's lamp glows showing a rectangular box around them.

Entry glow patches (box around the lamps). The engine sizes every frame of a folder texture like its frame 0 (source rect and default x2/y2), so the 177×311 and 233×233 glow patches were drawn stretched to 216×311 and their edges showed as boxes. The four patches now share one 233×311 size, padded with the untouched backdrop around each (a patch is backdrop + glow, so the padding is invisible at any fade).

Add-blended layers drawn source-over. The cabinet places several glow layers with its add blend mode, and the exported clips / backdrop movies were drawing all of them source-over, which turns those textures into dark or grey patches:

  • lantern glows of the lower backdrops (bg_nomal_a_01..05)
  • the result crown's radial burst
  • the score-rank plate's effect copy (score_rank_effect, both rank clips)
  • the full-combo / donderful letter glows in the ending banners

movie_export.py / clip_export.py now record the placement's blend mode (blend = 8 on a backdrop leaf; an 8th row value on a clip leaf, with a root placement's mode folded into its group), and bg_anim / clip_player / ending draw those leaves with blend = "additive". The data files were re-exported; the only change in them is the blend field.

The crown's loop shine sweep is a plain white polygon on the cabinet (a solid fill, no texture); the gleam frames for it were exported with the atlas colour instead, which is why the sweep read as a grey band across the crown. Frames 0..2 of result/crown/gleam.png are white now, alpha unchanged.

checksums.sha256 is updated for the touched files.

🤖 Generated with Claude Code

Two fixes for the arcade light effects the skin replays, both found from the entry screen's lamp glows showing a rectangular box around them. **Entry glow patches (box around the lamps).** The engine sizes every frame of a folder texture like its frame 0 (source rect and default `x2`/`y2`), so the 177×311 and 233×233 glow patches were drawn stretched to 216×311 and their edges showed as boxes. The four patches now share one 233×311 size, padded with the untouched backdrop around each (a patch is backdrop + glow, so the padding is invisible at any fade). **Add-blended layers drawn source-over.** The cabinet places several glow layers with its add blend mode, and the exported clips / backdrop movies were drawing all of them source-over, which turns those textures into dark or grey patches: - lantern glows of the lower backdrops (`bg_nomal_a_01..05`) - the result crown's radial burst - the score-rank plate's effect copy (`score_rank_effect`, both rank clips) - the full-combo / donderful letter glows in the ending banners `movie_export.py` / `clip_export.py` now record the placement's blend mode (`blend = 8` on a backdrop leaf; an 8th row value on a clip leaf, with a root placement's mode folded into its group), and `bg_anim` / `clip_player` / `ending` draw those leaves with `blend = "additive"`. The data files were re-exported; the only change in them is the blend field. The crown's loop shine sweep is a plain white polygon on the cabinet (a solid fill, no texture); the gleam frames for it were exported with the atlas colour instead, which is why the sweep read as a grey band across the crown. Frames 0..2 of `result/crown/gleam.png` are white now, alpha unchanged. `checksums.sha256` is updated for the touched files. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
GanYiZhong added 2 commits 2026-09-09 19:50:17 +02:00
The engine sizes every frame of a folder texture like frame 0 (source rect and
default x2/y2), so the 177x311 and 233x233 patches were being stretched to
216x311 and their edges showed as boxes around the lamps.  Each patch is now
padded to 233x311 with the untouched backdrop around it; the patch is bg + glow,
so the extra backdrop is invisible at any fade.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The exported clips and backdrop movies were drawn source-over everywhere, but the
cabinet places a number of glow layers with its add blend mode: the lantern glows
of the lower backdrops (bg_nomal_a_01..05), the crown's radial burst, the score
rank plate's effect copy, and the full-combo / donderful letter glows.  Drawn
source-over, those textures show up as dark or grey patches.

- movie_export / clip_export record the placement's blend mode (`blend = 8` on a
  backdrop leaf, an 8th row value on a clip leaf; the root placement's mode is
  folded into its group), and bg_anim / clip_player / ending draw such leaves
  with blend = "additive".  Data re-exported; only the blend field changed.
- result_crown: the burst copies draw additively; the crown_loop shine sweep is a
  plain white polygon on the cabinet, so gleam frames 0..2 are white now instead
  of the atlas colour they were exported with.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-09 21:30:26 +02:00
GanYiZhong force-pushed light-effects from 648a3ce1a2 to fd0242e31e 2026-09-09 21:30:26 +02:00 Compare
GanYiZhong added 1 commit 2026-09-09 21:31:04 +02:00
The four pre-composited patches overlapped (2 and 3 by 31 px, and after the
size fix 0 and 2 as well), and where they overlapped the later patch replaced
the earlier one's glow instead of adding to it, which showed as a vertical dark
band between the lamps.  The glows are now summed onto the backdrop once and
cut into two boxes that do not touch: the left lamp, and the three right-hand
lamps together.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-09 21:34:10 +02:00
bg_fever_a_03 places a full-stage plate at fever_mc depth 4 with a clip depth:
it is a mask that only clips the layer above it and is never painted, but the
export drew it as an ordinary leaf, which put a flat green sheet over the sky.
movie_export now skips placements that carry a clip depth; re-exported, the
plate and its texture are the only change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-10 00:10:48 +02:00
The fever movies' root timeline is a state machine: frame 0 (`init`) parks the
fly-in copies of the transition -- a second sky plate, the wave scrollers, the
boats -- at alpha 0, and the steady state is the `fever` label, where only
fever_mc remains.  The export took the root's frame-0 children and forced the
parked ones visible, so the third backdrop drew its sky and its big waves twice
(one row over the other) and the boats and Mt Fuji ended up behind an extra wave
layer.  movie_export now takes the root's children at the `fever` label and only
the ones shown there; all three fever backdrops re-exported.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-10 00:21:29 +02:00
The caption sat at y 281, which put its glyphs at 290..321 on a header band
that spans 284..314, so the bottom of the text spilled onto the body of the
board.  At y 274 the glyphs sit at 283..314, centred on the band.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-10 00:50:22 +02:00
The caption textures carried a heavy dark outline; the cabinet's board header
shows the caption in plain white.  Re-rendered with the skin font, white fill,
no outline, same size and position as before.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-10 18:38:38 +02:00
Yonokid merged commit bebc6fe22e into main 2026-09-10 19:32:10 +02:00
Author
Collaborator

Added: clip players draw mirrored leaves as a horizontal flip (negative-determinant placements were drawn on the wrong side, upside down; affects the full-combo / donderful banners).

Added: clip players draw mirrored leaves as a horizontal flip (negative-determinant placements were drawn on the wrong side, upside down; affects the full-combo / donderful banners).
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Yonokid/YataiDONNijiiro#21