Collab songs now get Nijiiro's own backdrop for their #SCENEPRESET instead of the parent's collab art. The backdrop is replayed by the same objects as the default backdrop (donbg band, normal / clear backdrop, troupe, stand, drumroll effect, soul-max crowd).
Other presets (animal, oshiri, kumamon, ...) are unchanged and keep using the collab scripts.
How it works
bg_data/collab_packs.lua: one pack per preset, naming its parts. Shared parts are shared the same way across a family: the i7 songs share one drumroll effect, IMAS_CG / IMAS_ML use the 765 backdrop and stand, and the yo-kai songs share everything except the troupe.
background.lua: a pack is used only when every part it names is present. Otherwise the preset falls back to its collab script as before. Packs also apply in 2P, for the 1P / 2P donbg bands and the drumroll effect.
The objects take a part name where they took a random index:DonBG.create_named, BGNormal.create_named, BGFever.create_named, ArcadeDancerGroup.new("<name>"), and Fever.Anim.new("<name>"). The default backdrop path is unchanged.
Troupes:
Collab troupes stand in fixed positions with the lead in the centre.
They grow from 1 to the full troupe with the gauge (4r + 1, full at the clear).
The whole-troupe movies (i7, A3) are replayed on the beat through BGAnim:set_beat(40).
bg_objects/renda_clip.lua (new): each drumroll hit replays one of the effect's parts along its own path. It has the same interface as RendaController.
Mirroring: many of these backdrops place art mirrored. bg_anim, donbg_anim and dancer_data entries can now carry a mirror flag (mir / 8th key field). It is drawn with mirror = "horizontal" and the origin moved to the other side of the png. Existing data has no flag and draws exactly as before.
Size
1677 PNGs, about 134 MB through LFS, losslessly compressed.
207 Lua data files, about 19 MB. The largest is the toho donbg band at 3.2 MB.
Only the parts of the pack being played are loaded.
Testing
Collab songs: one Oni chart per preset (all 20 presets) on autoplay, with hidden-window screen dumps at 8 s, 40 s and 75 s. No errors or Lua errors in the logs. Every preset shows its own band, backdrops, troupe, stand, crowd and drumroll effect, and the troupe grows with the gauge.
Default backdrop: a non-collab chart is unchanged (same objects, no errors).
Not tested: 2P could not be started from the command line, so the 2P path was not played.
checksums.sha256 is not touched.
Independent of #46 and #47. For the presets above, this replaces what #47 does for a3 / gumi / imas / imas_sidem. #47 still matters for animal, buttoburst, funassyi and oshiri.
Collab songs now get Nijiiro's own backdrop for their `#SCENEPRESET` instead of the parent's collab art. The backdrop is replayed by the same objects as the default backdrop (donbg band, normal / clear backdrop, troupe, stand, drumroll effect, soul-max crowd).
**Presets:**
- MIKU, TOHO, GUMI, IA, LOVELIVE
- I7ID7, I7TRI, I7REV, I7NATSU
- IMAS, IMAS_CG, IMAS_ML, IMAS_SIDEM
- YOKAI, YOKAI_MATSURI, YOKAI_HATSUKOI, YOKAI_TOKOROTEN, YOKAI_YOUGOTA
- MARIO, A3
Other presets (animal, oshiri, kumamon, ...) are unchanged and keep using the collab scripts.
## How it works
- **`bg_data/collab_packs.lua`:** one pack per preset, naming its parts. Shared parts are shared the same way across a family: the i7 songs share one drumroll effect, IMAS_CG / IMAS_ML use the 765 backdrop and stand, and the yo-kai songs share everything except the troupe.
- **`background.lua`:** a pack is used only when every part it names is present. Otherwise the preset falls back to its collab script as before. Packs also apply in 2P, for the 1P / 2P donbg bands and the drumroll effect.
- **The objects take a part name where they took a random index:** `DonBG.create_named`, `BGNormal.create_named`, `BGFever.create_named`, `ArcadeDancerGroup.new("<name>")`, and `Fever.Anim.new("<name>")`. The default backdrop path is unchanged.
- **Troupes:**
- Collab troupes stand in fixed positions with the lead in the centre.
- They grow from 1 to the full troupe with the gauge (`4r + 1`, full at the clear).
- The whole-troupe movies (i7, A3) are replayed on the beat through `BGAnim:set_beat(40)`.
- **`bg_objects/renda_clip.lua` (new):** each drumroll hit replays one of the effect's parts along its own path. It has the same interface as `RendaController`.
- **Mirroring:** many of these backdrops place art mirrored. `bg_anim`, `donbg_anim` and `dancer_data` entries can now carry a mirror flag (`mir` / 8th key field). It is drawn with `mirror = "horizontal"` and the origin moved to the other side of the png. Existing data has no flag and draws exactly as before.
## Size
- 1677 PNGs, about 134 MB through LFS, losslessly compressed.
- 207 Lua data files, about 19 MB. The largest is the toho donbg band at 3.2 MB.
- Only the parts of the pack being played are loaded.
## Testing
- **Collab songs:** one Oni chart per preset (all 20 presets) on autoplay, with hidden-window screen dumps at 8 s, 40 s and 75 s. No errors or Lua errors in the logs. Every preset shows its own band, backdrops, troupe, stand, crowd and drumroll effect, and the troupe grows with the gauge.
- **Default backdrop:** a non-collab chart is unchanged (same objects, no errors).
- **Not tested:** 2P could not be started from the command line, so the 2P path was not played.
`checksums.sha256` is not touched.
Independent of #46 and #47. For the presets above, this replaces what #47 does for a3 / gumi / imas / imas_sidem. #47 still matters for animal, buttoburst, funassyi and oshiri.
Collab songs (#SCENEPRESET) now get their own cabinet backdrop, replayed by
the same objects as the default backdrop instead of the parent's collab art:
miku, toho, gumi, ia, lovelive, i7 (id7 / tri / rev / natsu), imas
(765 / cg / ml / sidem), yo-kai (base / matsuri / hatsukoi / tokoroten /
yougota), mario, a3
Each preset is a pack in bg_data/collab_packs.lua naming its parts: donbg
band (1P and 2P), normal and clear backdrops, troupe, stand under the
troupe, drumroll effect and soul-max crowd. Shared parts (the i7, imas
and yo-kai families) are shared the way the cabinet shares them. A pack is
used only when every part it names is present, otherwise the preset falls
back to the collab script as before. Packs also apply in 2P (donbg bands).
The objects take a part name where they took a random index:
DonBG.create_named, BGNormal.create_named, BGFever.create_named,
ArcadeDancerGroup.new("<name>"), Fever.Anim.new("<name>"). New:
renda_clip.lua (each hit replays one of the effect's parts along its own
path), and a beat-synced BGAnim for the whole-troupe dancer movies (i7,
a3). Collab troupes stand in fixed positions (lead in the centre) and
grow from 1 to the full troupe with the gauge.
Exported placements may now mirror: bg_anim, donbg and dancer data carry a
mirror flag (drawn with mirror = horizontal and the origin moved to the
other side of the png). Existing data has no flag and draws as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every exported part was compared frame by frame with the cabinet renderer,
which showed:
- donbg bands: the state groups were taken as the first three root sprites
(normal / fever / miss) and root-level shapes were dropped, so mario's
and lovelive's bands lost their sky plate and layers (black band with
smeared notes). Groups now come from the root's own `normal` / `fever`
label frames: shown on the normal frame -> normal; fever only -> fever;
shown in both and above every fever layer -> top (drawn over the
crossfade). Root shapes are included.
- backdrops whose root timeline moves its children (mario's scrolling
stage) are dumped through the root, so the scroll is kept.
- a normal backdrop's switched-off layer (alpha 0 on the root, e.g. imas's
spotlight cones) stays hidden.
- loops longer than the old 2700-frame dump (mario 3840, i7 natsu 1604) are
dumped twice over and kept exact instead of being cut at 1920 frames.
- colour-multiply placements (tinted spotlights, bands) carry cr/cg/cb and
are drawn with `color`; the donbg miss-streak darkening now multiplies an
existing colour instead of replacing it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pushed 8d13c3a: fixes found by comparing every exported part frame by frame with the original movies.
What was wrong:
donbg bands: mario's and lovelive's bands lost their sky plate and layers, so the band came out black with smeared notes. The state groups were taken by position instead of from the movie's normal / fever frames, and root-level shapes were dropped. Layers shown in both states and above the fever layers now go to a new top group, drawn over the crossfade.
mario's normal backdrop: it didn't scroll, because the scroll lives on the root timeline. Such movies are now dumped through the root.
imas's normal backdrop: a switched-off spotlight layer was shown. It now stays hidden.
Long loops: loops longer than the old dump length (mario 3840 frames, i7 natsu 1604) are now exact instead of cut at 1920 frames.
Tinted placements: colour-multiplied placements, such as imas's coloured spotlights, now carry cr/cg/cb and are drawn with color. The donbg miss-streak darkening now multiplies an existing colour instead of replacing it.
Testing:
Normal backdrops (frames 0 / 300 / 1000 / 2500) and donbg bands (normal and fever states): mean per-pixel difference against the original under 5 for every part.
Clear backdrops: the same, except the i7 ones. Those are an overlay on the stage, and the pack draws them with the stage included.
In game: all 20 presets were played again with no errors, every band drawn and mario scrolling.
Pushed 8d13c3a: fixes found by comparing every exported part frame by frame with the original movies.
**What was wrong:**
- **donbg bands:** mario's and lovelive's bands lost their sky plate and layers, so the band came out black with smeared notes. The state groups were taken by position instead of from the movie's `normal` / `fever` frames, and root-level shapes were dropped. Layers shown in both states and above the fever layers now go to a new `top` group, drawn over the crossfade.
- **mario's normal backdrop:** it didn't scroll, because the scroll lives on the root timeline. Such movies are now dumped through the root.
- **imas's normal backdrop:** a switched-off spotlight layer was shown. It now stays hidden.
- **Long loops:** loops longer than the old dump length (mario 3840 frames, i7 natsu 1604) are now exact instead of cut at 1920 frames.
- **Tinted placements:** colour-multiplied placements, such as imas's coloured spotlights, now carry `cr/cg/cb` and are drawn with `color`. The donbg miss-streak darkening now multiplies an existing colour instead of replacing it.
**Testing:**
- **Normal backdrops** (frames 0 / 300 / 1000 / 2500) and **donbg bands** (normal and fever states): mean per-pixel difference against the original under 5 for every part.
- **Clear backdrops:** the same, except the i7 ones. Those are an overlay on the stage, and the pack draws them with the stage included.
- **In game:** all 20 presets were played again with no errors, every band drawn and mario scrolling.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Collab songs now get Nijiiro's own backdrop for their
#SCENEPRESETinstead of the parent's collab art. The backdrop is replayed by the same objects as the default backdrop (donbg band, normal / clear backdrop, troupe, stand, drumroll effect, soul-max crowd).Presets:
Other presets (animal, oshiri, kumamon, ...) are unchanged and keep using the collab scripts.
How it works
bg_data/collab_packs.lua: one pack per preset, naming its parts. Shared parts are shared the same way across a family: the i7 songs share one drumroll effect, IMAS_CG / IMAS_ML use the 765 backdrop and stand, and the yo-kai songs share everything except the troupe.background.lua: a pack is used only when every part it names is present. Otherwise the preset falls back to its collab script as before. Packs also apply in 2P, for the 1P / 2P donbg bands and the drumroll effect.DonBG.create_named,BGNormal.create_named,BGFever.create_named,ArcadeDancerGroup.new("<name>"), andFever.Anim.new("<name>"). The default backdrop path is unchanged.4r + 1, full at the clear).BGAnim:set_beat(40).bg_objects/renda_clip.lua(new): each drumroll hit replays one of the effect's parts along its own path. It has the same interface asRendaController.bg_anim,donbg_animanddancer_dataentries can now carry a mirror flag (mir/ 8th key field). It is drawn withmirror = "horizontal"and the origin moved to the other side of the png. Existing data has no flag and draws exactly as before.Size
Testing
checksums.sha256is not touched.Independent of #46 and #47. For the presets above, this replaces what #47 does for a3 / gumi / imas / imas_sidem. #47 still matters for animal, buttoburst, funassyi and oshiri.
Collab songs (#SCENEPRESET) now get their own cabinet backdrop, replayed by the same objects as the default backdrop instead of the parent's collab art: miku, toho, gumi, ia, lovelive, i7 (id7 / tri / rev / natsu), imas (765 / cg / ml / sidem), yo-kai (base / matsuri / hatsukoi / tokoroten / yougota), mario, a3 Each preset is a pack in bg_data/collab_packs.lua naming its parts: donbg band (1P and 2P), normal and clear backdrops, troupe, stand under the troupe, drumroll effect and soul-max crowd. Shared parts (the i7, imas and yo-kai families) are shared the way the cabinet shares them. A pack is used only when every part it names is present, otherwise the preset falls back to the collab script as before. Packs also apply in 2P (donbg bands). The objects take a part name where they took a random index: DonBG.create_named, BGNormal.create_named, BGFever.create_named, ArcadeDancerGroup.new("<name>"), Fever.Anim.new("<name>"). New: renda_clip.lua (each hit replays one of the effect's parts along its own path), and a beat-synced BGAnim for the whole-troupe dancer movies (i7, a3). Collab troupes stand in fixed positions (lead in the centre) and grow from 1 to the full troupe with the gauge. Exported placements may now mirror: bg_anim, donbg and dancer data carry a mirror flag (drawn with mirror = horizontal and the origin moved to the other side of the png). Existing data has no flag and draws as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Pushed
8d13c3a: fixes found by comparing every exported part frame by frame with the original movies.What was wrong:
normal/feverframes, and root-level shapes were dropped. Layers shown in both states and above the fever layers now go to a newtopgroup, drawn over the crossfade.cr/cg/cband are drawn withcolor. The donbg miss-streak darkening now multiplies an existing colour instead of replacing it.Testing: