PyTaikoGreen reworked the art of its collab backdrops (folders renamed, texture.json positions changed, new layers) together with its collab scripts. Nijiiro takes that art from the parent but kept its own older copies of eight collab scripts, so with the new art:
collab
before this PR
a3, imas_sidem, oshiri
game crashes (e.g. No textures loaded for background/collab/a3/dancer_0)
funassyi
Frame 1 not available in framed texture 0_1/overlay every frame, no dancers
gumi
gumi.lua:48: attempt to index a nil value (field 'overlay_1_texture') every frame, no dancers
animal, buttoburst, imas, imas_cg, imas_ml
dancers / fever layers missing
Change
a3, animal, buttoburst, funassyi, imas (also IMAS_CG / IMAS_ML), imas_sidem, oshiri now load the parent's script and keep what Nijiiro did differently, in the new bg_objects/collab_parent.lua:
the collab dancer-count model (collab_dancer_model.lua);
no drumroll burst on balloons.
The parent's script is loaded from its own file (the same way dan_select.lua extends the parent's), so its requires resolve to the parent's background objects, which its art is laid out for. Each collab file is now one line.
gumi: Nijiiro's copy only adapted the parent's script to this skin's donbg/6. It is removed, so the parent's is used as it is.
collab_dancer_model.lua: also drives the parent's troupes. It calls set_count where the troupe has it (a3), and shrinks with leave_dancer where available.
Unchanged: dan, practice and tutorial (their art did not change). checksums.sha256 is not touched.
Testing
Each collab was played on Oni with autoplay to the result screen, with hidden-window screen dumps at 8 s, 40 s, 75 s and 100 s. Four setups were compared: current main, Nijiiro without its collab scripts, this PR, and PyTaikoGreen itself.
With this PR: all ten presets (A3, ANIMAL, BUTTOBURST, FUNASSYI, GUMI, IMAS, IMAS_CG, IMAS_ML, IMAS_SIDEM, OSHIRI) finish with no errors in the log.
Backdrops: same art and layers as PyTaikoGreen's. Dancer counts follow the collab dancer-count model, e.g. three dancers at 40 s on a3 where Green has two.
PyTaikoGreen reworked the art of its collab backdrops (folders renamed, `texture.json` positions changed, new layers) together with its collab scripts. Nijiiro takes that art from the parent but kept its own older copies of eight collab scripts, so with the new art:
| collab | before this PR |
|---|---|
| a3, imas_sidem, oshiri | game crashes (e.g. `No textures loaded for background/collab/a3/dancer_0`) |
| funassyi | `Frame 1 not available in framed texture 0_1/overlay` every frame, no dancers |
| gumi | `gumi.lua:48: attempt to index a nil value (field 'overlay_1_texture')` every frame, no dancers |
| animal, buttoburst, imas, imas_cg, imas_ml | dancers / fever layers missing |
## Change
- **a3, animal, buttoburst, funassyi, imas (also IMAS_CG / IMAS_ML), imas_sidem, oshiri** now load the parent's script and keep what Nijiiro did differently, in the new `bg_objects/collab_parent.lua`:
- the collab dancer-count model (`collab_dancer_model.lua`);
- no drumroll burst on balloons.
The parent's script is loaded from its own file (the same way `dan_select.lua` extends the parent's), so its requires resolve to the parent's background objects, which its art is laid out for. Each collab file is now one line.
- **gumi:** Nijiiro's copy only adapted the parent's script to this skin's `donbg/6`. It is removed, so the parent's is used as it is.
- **`collab_dancer_model.lua`:** also drives the parent's troupes. It calls `set_count` where the troupe has it (a3), and shrinks with `leave_dancer` where available.
- **Unchanged:** dan, practice and tutorial (their art did not change). `checksums.sha256` is not touched.
## Testing
Each collab was played on Oni with autoplay to the result screen, with hidden-window screen dumps at 8 s, 40 s, 75 s and 100 s. Four setups were compared: current main, Nijiiro without its collab scripts, this PR, and PyTaikoGreen itself.
- **With this PR:** all ten presets (A3, ANIMAL, BUTTOBURST, FUNASSYI, GUMI, IMAS, IMAS_CG, IMAS_ML, IMAS_SIDEM, OSHIRI) finish with no errors in the log.
- **Backdrops:** same art and layers as PyTaikoGreen's. Dancer counts follow the collab dancer-count model, e.g. three dancers at 40 s on a3 where Green has two.
PyTaikoGreen reworked the art of its collab backdrops (folders renamed,
texture.json positions changed, new layers) together with its collab
scripts. Nijiiro takes the art from the parent but kept its own older
copies of eight collab scripts, so with the new art those collabs lost
their dancers, footer or fever layers, filled the log with draw errors
(funassyi, gumi) or crashed (a3, imas_sidem, oshiri).
a3, animal, buttoburst, funassyi, imas (also imas_cg/imas_ml),
imas_sidem and oshiri now load the parent's script and keep what Nijiiro
did differently (bg_objects/collab_parent.lua): the collab dancer-count
model and no drumroll burst on balloons. The parent's script is loaded
from its own file, so it uses the parent's background objects that its
art is laid out for. gumi only adapted the parent's script to this
skin's donbg/6, so the parent's is used as it is.
The dancer-count model now also drives the parent's troupes: set_count
where the troupe has it (a3), and leave_dancer to shrink.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
PyTaikoGreen reworked the art of its collab backdrops (folders renamed,
texture.jsonpositions changed, new layers) together with its collab scripts. Nijiiro takes that art from the parent but kept its own older copies of eight collab scripts, so with the new art:No textures loaded for background/collab/a3/dancer_0)Frame 1 not available in framed texture 0_1/overlayevery frame, no dancersgumi.lua:48: attempt to index a nil value (field 'overlay_1_texture')every frame, no dancersChange
a3, animal, buttoburst, funassyi, imas (also IMAS_CG / IMAS_ML), imas_sidem, oshiri now load the parent's script and keep what Nijiiro did differently, in the new
bg_objects/collab_parent.lua:collab_dancer_model.lua);The parent's script is loaded from its own file (the same way
dan_select.luaextends the parent's), so its requires resolve to the parent's background objects, which its art is laid out for. Each collab file is now one line.gumi: Nijiiro's copy only adapted the parent's script to this skin's
donbg/6. It is removed, so the parent's is used as it is.collab_dancer_model.lua: also drives the parent's troupes. It callsset_countwhere the troupe has it (a3), and shrinks withleave_dancerwhere available.Unchanged: dan, practice and tutorial (their art did not change).
checksums.sha256is not touched.Testing
Each collab was played on Oni with autoplay to the result screen, with hidden-window screen dumps at 8 s, 40 s, 75 s and 100 s. Four setups were compared: current main, Nijiiro without its collab scripts, this PR, and PyTaikoGreen itself.