Files
YataiDONNijiiro/Scripts/background/bg_data/donbg.lua
T
2026-09-02 14:25:04 -04:00

154 lines
6.1 KiB
Lua

-- GENERATED by scratchpad/r13bg/export_donbg.py -- do not hand-edit.
-- Reference cabinet enso/donbg/donbg_a_{01..06}_{1p,2p}.
-- Each state is a back-to-front draw list. period = the tile width in
-- px (0 = a plate drawn once), vx = px/s, index = the texture.json entry.
-- ROUND 19 (r19-donbg): the `obj` character row (donbg_obj_a_01) is gone -- no
-- enso_post.bin record places it, so the cabinet never draws it on the enso
-- screen. See bg_objects/donbg/base.lua and background/MAPPING.md.
--
-- ROUND 102 (r102-bg-sweep) -- HAND-EDITED, and the generator has NOT been re-run.
-- User report: the 福 / takoyaki row at the top of the screen should be moving, and
-- "many game backgrounds have this problem -- traverse them all". They are right.
-- ROUND 13's export called three rows "static ornament / static banner" and wrote
-- vx = 0 for them; that is the ROUND 26/35/76 mistake again -- it sampled a node
-- whose own tx is constant and never descended. Re-dumped with
-- lumen_anim_dump <movie>.nulm --sprite <root> --all --leaves --auto-stop --range 0,2000
-- and every node linear-fitted after unwrapping (scratchpad/r102/layers.py), the
-- rows all scroll, each on its own period, at the stage's own 60 fps:
--
-- 1_x donbg_a_02 crest motif row #34@2/#33@0/* -92.34 px/s, wrap 1476 px,
-- plus a 10 px / 120-frame y triangle
-- 2_x donbg_a_03 banner row #13@1/#12@0 -134.34 px/s, wrap 1968 px
-- (four DISTINCT 492 px shapes: ids 4,6,8,10)
-- 4_x donbg_a_05 ornament row #13@k/#12@0 -184.92 px/s, wrap 490 px
-- <- this is the 福 / takoyaki row the user saw
--
-- The 490 px cabinet period is tiled here at 980 px because the shipped PNG is
-- 980 px wide AND exactly 490-periodic (mean |delta| at a 490 px shift: 0.0000 for
-- 4_x frames 0/1/2, 1.71 for frame 3), so the two are the same draw.
--
-- Verified unchanged / already correct by the same sweep: 0_x (donbg_a_01, all four
-- children -93.30 @ 496), 3_x (donbg_a_04, -92.16 @ 490 + -92.58 @ 986), 5_x
-- (donbg_a_06, -91.92 @ 490 + -91.98 @ 980). 5_x additionally owns a diagonal
-- drifter (-289.80 px/s, dy 488 px over 160 frames) that this skin does not draw --
-- see scratchpad/r102/ROUND102.md section 5. Both players' movies measure
-- identically, so `N_1` and `N_2` carry the same numbers.
return {
["0_1"] = {
normal = {
{tex="background", frame=0, index=0, period=496, vx=-93.29},
},
fever = {
{tex="background", frame=1, index=1, period=496, vx=-93.29},
},
},
["0_2"] = {
normal = {
{tex="background", frame=0, index=0, period=496, vx=-93.29},
},
fever = {
{tex="background", frame=1, index=1, period=496, vx=-93.29},
},
},
["1_1"] = {
normal = {
{tex="background", frame=0, index=0, period=492, vx=-92.54},
{tex="background", frame=1, index=1, period=492, vx=-92.34, bob=10, bob_frames=120},
},
fever = {
{tex="background", frame=2, index=2, period=492, vx=-92.54},
{tex="background", frame=3, index=3, period=492, vx=-92.34, bob=10, bob_frames=120},
},
},
["1_2"] = {
normal = {
{tex="background", frame=0, index=0, period=492, vx=-92.54},
{tex="background", frame=1, index=1, period=492, vx=-92.34, bob=10, bob_frames=120},
},
fever = {
{tex="background", frame=2, index=2, period=492, vx=-92.54},
{tex="background", frame=3, index=3, period=492, vx=-92.34, bob=10, bob_frames=120},
},
},
["2_1"] = {
normal = {
{tex="background", frame=0, index=0, period=246, vx=-92.54},
{tex="overlay", frame=0, index=0, period=1968, vx=-134.34},
},
fever = {
{tex="background", frame=1, index=1, period=246, vx=-92.54},
{tex="overlay", frame=1, index=1, period=1968, vx=-134.34},
},
},
["2_2"] = {
normal = {
{tex="background", frame=0, index=0, period=246, vx=-92.54},
{tex="overlay", frame=0, index=0, period=1968, vx=-134.34},
},
fever = {
{tex="background", frame=1, index=1, period=246, vx=-92.54},
{tex="overlay", frame=1, index=1, period=1968, vx=-134.34},
},
},
["3_1"] = {
normal = {
{tex="overlay", frame=0, index=0, period=980, vx=-92.16},
{tex="background", frame=0, index=0, period=986, vx=-92.58},
},
fever = {
{tex="overlay", frame=1, index=1, period=980, vx=-92.16},
{tex="background", frame=1, index=1, period=986, vx=-92.58},
},
},
["3_2"] = {
normal = {
{tex="overlay", frame=0, index=0, period=980, vx=-92.16},
{tex="background", frame=0, index=0, period=986, vx=-92.58},
},
fever = {
{tex="overlay", frame=1, index=1, period=980, vx=-92.16},
{tex="background", frame=1, index=1, period=986, vx=-92.58},
},
},
["4_1"] = {
normal = {
{tex="background", frame=0, index=0, period=980, vx=-92.16},
{tex="background", frame=1, index=1, period=980, vx=-184.92},
},
fever = {
{tex="background", frame=2, index=2, period=980, vx=-92.16},
{tex="background", frame=3, index=3, period=980, vx=-184.92},
},
},
["4_2"] = {
normal = {
{tex="background", frame=0, index=0, period=980, vx=-92.16},
{tex="background", frame=1, index=1, period=980, vx=-184.92},
},
fever = {
{tex="background", frame=2, index=2, period=980, vx=-92.16},
{tex="background", frame=3, index=3, period=980, vx=-184.92},
},
},
["5_1"] = {
normal = {
{tex="background", frame=0, index=0, period=980, vx=-92.02},
{tex="background", frame=1, index=1, period=980, vx=-92.03},
},
fever = {
{tex="background", frame=2, index=2, period=980, vx=-92.02},
{tex="background", frame=3, index=3, period=980, vx=-92.03},
},
},
["5_2"] = {
normal = {
{tex="background", frame=0, index=0, period=980, vx=-92.02},
{tex="background", frame=1, index=1, period=980, vx=-92.03},
},
fever = {
{tex="background", frame=2, index=2, period=980, vx=-92.02},
{tex="background", frame=3, index=3, period=980, vx=-92.03},
},
},
}