Files
YataiDONNijiiro/Graphics/game_over/animation.json
T
2026-09-02 14:25:04 -04:00

175 lines
5.0 KiB
JSON

[
{
"id": 1,
"type": "sample",
"table": "gameover_curtain",
"track": "#22@3",
"field": "tx",
"range": [
4,
208
],
"offset": -2885,
"comment": "R54 sample: curtain pull-out - end_curtain_mc panel #22@3 tx f4..208 rebased to 0 (the old entry was an ease-out quadratic fit of the same channel, dx -2884)",
"fallback": {
"type": "move",
"duration": 3400,
"total_distance": -2884,
"ease_out": "quadratic",
"comment": "curtain pull out - arcade GameOver.nulm end_curtain_mc f4->f208 (204f), dx -2884, ease-out quadratic verified at u=0.25/0.5"
}
},
{
"id": 2,
"type": "move",
"duration": 16.67,
"delay": 3400,
"total_distance": 0,
"comment": "curtain pull in - the arcade rig has NO bounce-back; kept as a zero-distance no-op because game_over.cpp always reads animation 2"
},
{
"id": 3,
"type": "texture_change",
"duration": 833.33,
"textures": [
[
0,
83.33,
0
],
[
83.33,
166.66,
1
],
[
166.66,
250,
2
],
[
250,
333.33,
3
],
[
333.33,
416.66,
4
],
[
416.66,
500,
5
],
[
500,
583.33,
6
],
[
583.33,
666.66,
7
],
[
666.66,
750,
8
],
[
750,
833.33,
9
]
],
"loop": true,
"comment": "kitsune texture change - arcade sprite 21 advances one shape every 5 frames (83.33 ms), 10 shapes = 833.33 ms loop"
},
{
"id": 4,
"type": "move",
"duration": 316.67,
"delay": 1433.33,
"total_distance": 664,
"ease_in": "quadratic",
"comment": "oshimai text drop - arcade lang_end_text f90->f109, screen y -214 -> 176, ease-in quadratic. The clip is parked at start_position -488 (fully above the 1080p frame) instead of the arcade's alpha-0 hold, because game_over.cpp draws this texture with no fade parameter; the extra 274 px of travel is the cost of hiding it. Lands on 176 exactly.",
"start_position": -488
},
{
"id": 5,
"type": "move",
"duration": 166.67,
"delay": 1750,
"total_distance": -40,
"ease_out": "quadratic",
"comment": "oshimai text bounce up - arcade f109->f119, dy -40, ease-out quadratic exact at u=0.5"
},
{
"id": 6,
"type": "move",
"duration": 166.67,
"delay": 1916.67,
"total_distance": 40,
"ease_in": "quadratic",
"comment": "oshimai text bounce down 2 - arcade f119->f129, dy +40, ease-in quadratic exact at u=0.5"
},
{
"id": 7,
"type": "sample",
"table": "gameover_curtain",
"track": "#37@8",
"field": "a",
"range": [
210,
229
],
"comment": "R54 sample: copyright blackout fade - #37@8 alpha f210..229; event-started at the copyright cue",
"fallback": {
"type": "fade",
"duration": 316.67,
"delay": 0,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "copyright blackout - arcade shape37 fades in over 19 frames from copyright_start (f210)"
}
},
{
"id": 8,
"type": "sample",
"table": "gameover_curtain",
"track": "#39@9",
"field": "a",
"range": [
229,
249
],
"comment": "R54 sample: copyright plate - #39@9 alpha, 6f hold then 14f rise, replacing the delay-100ms + 233ms linear fit",
"fallback": {
"type": "fade",
"duration": 233.33,
"delay": 100,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "copyright plate (arcade end_curtain_mc__shape39, 1920x144 at screen y 468). Arcade: the blackout finishes on f229, the plate fades in f235..f249 (delay 6 f = 100 ms, duration 14 f = 233.33 ms) and the clip ends on f266. OPTIONAL - GameOverScreen only runs the copyright phase when BOTH this id and the global/copyright texture exist, otherwise it hands off to TITLE the moment the blackout finishes, exactly as before."
}
},
{
"id": 9,
"type": "fade",
"duration": 283.33,
"delay": 0,
"initial_opacity": 1.0,
"final_opacity": 1.0,
"comment": "copyright hold - arcade f249 (plate fully in) to f266 (end of end_curtain_mc) = 17 frames = 283.33 ms. Used only as a timer; attribute is ignored. OPTIONAL, same fail-soft rule as id 8."
},
{
"id": 10,
"type": "fade",
"duration": 3433.33,
"delay": 0,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "blackout cue - arcade GameOver.nulm end_curtain_mc reaches the copyright_start label on f210 = 3433.33 ms after oshimai_start (f4). Timer only; attribute unused. OPTIONAL: without this id GameOverScreen falls back to its historical rule of 'the jingle stopped', which on the parent's 5.66 s jingle over-ran the arcade by 2.2 s."
}
]