The collab backdrops (and the default donbg band) replay exported movies
whose per-frame channels were Lua tables of numbers: 38 MB that Lua
compiled on every song start (0.7 s for the TOHO pack; game screen init
1.5-1.6 s -> 0.9-1.0 s in-game), plus ~19 MB of Lua memory per pack.
Each per-frame array is now {base, step, width, "digits"}: value = base +
step * n, n being the frame's width chars in base 92 (printable ASCII
without '"' and '\'). One string constant compiles in a fraction of the
time; bg_objects/packed_channel.lua decodes the frame being drawn.
Quantization: 0.05 px, 0.005 deg, 5e-5 scale, 1/1024 alpha and tint;
every value of all 77 files checked against the original within half a
step.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
29 lines
3.5 KiB
Lua
29 lines
3.5 KiB
Lua
-- GENERATED by scratchpad/lyric/movie_export.py from enso/background/bg_nomal_b_008.nulm -- do not hand-edit.
|
|
-- 1920x540 stage @60fps (screen y 540). Per leaf: shape, period, channels tx/ty/sx/sy/rot/a
|
|
-- (number = constant, table = per frame of the loop; a = 0 means not placed), optional on/on_period mask.
|
|
-- shapes[c] = {w, h, ox, oy}: png size and the shape origin inside it.
|
|
return {
|
|
shapes = {
|
|
[1] = {1920, 384, 960, 192},
|
|
[3] = {1920, 384, 960, 192},
|
|
[6] = {1920, 540, 960, 270},
|
|
[8] = {720, 456, 360, 228},
|
|
[10] = {720, 456, 360, 228},
|
|
[13] = {896, 540, 448, 270},
|
|
[15] = {896, 540, 448, 270},
|
|
[18] = {1920, 540, 960, 270},
|
|
[20] = {1920, 136, 960, 68},
|
|
},
|
|
normal = {
|
|
{ shape = 1, period = 80, tx = 960, ty = 348, sx = 1, sy = 1, rot = 0, a = {0, 0.0009765625, 2, "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"} }, -- #5@0/#1@0
|
|
{ shape = 3, period = 80, tx = 960, ty = 348, sx = 1, sy = 1, rot = 0, a = {0, 0.0009765625, 2, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-."} }, -- #5@0/#3@0
|
|
{ shape = 6, period = 1, tx = 960, ty = 270, sx = 1, sy = 1, rot = 0, a = 1 }, -- #6@1
|
|
{ shape = 8, period = 320, tx = 960, ty = 228, sx = 1, sy = 1, rot = 0, a = {0, 0.0009765625, 2, "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-.-.-.-.-.-.-.-.-."} }, -- #12@2/#8@0
|
|
{ shape = 10, period = 320, tx = 960, ty = 228, sx = 1, sy = 1, rot = 0, a = {0, 0.0009765625, 2, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#F$k&2'V({*B+g-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+g*B({'V&2$k#F!!"} }, -- #12@2/#10@1
|
|
{ shape = 13, period = 40, tx = 960, ty = 270, sx = 1, sy = 1, rot = 0, a = {0.301, 0.0009765625, 2, "!!!1!>!N!^!k!{#-#:#J#Y#g#w$)$6$F$V$c$s%&%2%B%2$z$k$Z$J$6$%#s#c#N#>#-!w!g!V!F!1!!"} }, -- #17@3/#13@0
|
|
{ shape = 15, period = 40, tx = 960, ty = 270, sx = 1, sy = 1, rot = 0, a = {0, 0.0009765625, 2, ")k)F)&(_(>'w'V'2&o&J&*%c%B${$Z$6#s#N#.!g!F!!!J!s#>#g$2$Z%&%M%w&>&g'2'Z(&(N(w)B)k"} }, -- #17@3/#15@1
|
|
{ shape = 18, period = 1, tx = 960, ty = 270, sx = 1, sy = 1, rot = 0, a = 1, cr = 0.898, cg = 0.898, cb = 0.898 }, -- #18@4
|
|
{ shape = 20, period = 1, tx = 960, ty = 472, sx = 1, sy = 1, rot = 0, a = 1 }, -- #20@5
|
|
},
|
|
}
|