Compare commits

...
Author SHA1 Message Date
Yonokid f90d6b2be0 Merge branch 'main' into entry-mode-cursor-under 2026-09-09 17:22:51 +02:00
Yonokid 2801122c3a Merge pull request 'Lower backdrops: replay every element of the original movies' (#16) from GanYiZhong/YataiDONNijiiro:lower-bg-anim into main
Reviewed-on: Yonokid/YataiDONNijiiro#16
2026-09-09 17:21:58 +02:00
TaikoZhongandClaude Fable 5.1 ea77074484 Entry: draw the mode-select cursor glow under the board
The original stacks the cursor glow below the board, so the characters that
lean out of the board stand in front of it; ours drew the glow on top and
covered them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 13:46:32 +08:00
+9 -6
View File
@@ -406,12 +406,9 @@ function EntryBox:draw(x, left_x, right_x, is_selected, move_finished, open_attr
local vis_fade = fade * self.cur_vis
if vis_fade <= 0.001 then return end
if o < 0.999 then
tex.draw_texture(self.board, { frame = self.frame_off, x = dx, y = dy, fade = vis_fade * (1 - o) })
end
if o > 0.001 then
tex.draw_texture(self.board, { frame = self.frame_on, x = dx, y = dy, fade = vis_fade * o })
end
-- The arcade stacks the cursor glow UNDER the board (mode_select.nulm: cursor_* at
-- depths 3-5, board_bg_* at 7-9, board_chara_l/r at 16-17), so the characters that
-- lean out of the board stand in front of the glow, not behind it.
if cursor_a > 0.001 then
-- ROUND 8: the cursor pulse is the SAME 60-frame MC the song-select boards use
-- (`anim/cursor_glow`, char 16 of common_song_select_main_song_board): checked
@@ -422,6 +419,12 @@ function EntryBox:draw(x, left_x, right_x, is_selected, move_finished, open_attr
local pulse = CURSOR_GLOW:get("#12@0", (now * 0.06) % CURSOR_GLOW_LEN, "a") or 1.0
tex.draw_texture(self.cursor, { x = dx, y = dy, fade = vis_fade * cursor_a * pulse })
end
if o < 0.999 then
tex.draw_texture(self.board, { frame = self.frame_off, x = dx, y = dy, fade = vis_fade * (1 - o) })
end
if o > 0.001 then
tex.draw_texture(self.board, { frame = self.frame_on, x = dx, y = dy, fade = vis_fade * o })
end
if info_a > 0.001 and #self.info > 0 then
local n = #self.info
for i, t in ipairs(self.info) do