Files
2026-09-19 18:27:30 -04:00

821 lines
14 KiB
JSON

[
{
"id": 0,
"type": "texture_resize",
"duration": 166.67,
"initial_size": 1.0,
"final_size": 1.5,
"delay": 3433.33,
"reverse_delay": 0,
"comment": "X resize - arcade caution shape48 f206->f216 s1.0->1.5, mirrored back by f226"
},
{
"id": 1,
"type": "fade",
"duration": 166.67,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"delay": 3433.33,
"reverse_delay": 166.67,
"comment": "X red fade in - arcade shape48 a0->1 f206..216, holds 10 f, a1->0 f226..236"
},
{
"id": 2,
"type": "fade",
"duration": 16.67,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"delay": 3766.67,
"comment": "X lightred - arcade shape50 pops on at f226 with a=1 and never fades"
},
{
"id": 3,
"type": "texture_resize",
"duration": 250,
"initial_size": 0.8,
"final_size": 1.2,
"comment": "bachi hit resize - arcade shape54 f345 s0.8 -> f360 s1.2 (linear across 15 f)"
},
{
"id": 4,
"type": "fade",
"duration": 116.67,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"reverse_delay": 0,
"comment": "bachi hit fade - arcade shape54 a0->1 over f345..352, then 1->0 over f352..360"
},
{
"id": 5,
"type": "fade",
"duration": 150,
"delay": 16.67,
"initial_opacity": 0.5,
"comment": "chara 1 crossfade ghost - arcade draws the outgoing pose at a=0.5 decaying to 0 over ~0.9x the hold; 150 ms matches the long (10-frame) early holds"
},
{
"id": 6,
"type": "texture_change",
"duration": 5766.67,
"textures": [
[
0.0,
483.33,
0
],
[
483.33,
666.67,
1
],
[
666.67,
833.33,
2
],
[
833.33,
1000.0,
3
],
[
1000.0,
1166.67,
4
],
[
1166.67,
1333.33,
5
],
[
1333.33,
1500.0,
6
],
[
1500.0,
1666.67,
7
],
[
1666.67,
1800.0,
0
],
[
1800.0,
1933.33,
1
],
[
1933.33,
2066.67,
2
],
[
2066.67,
2200.0,
3
],
[
2200.0,
2333.33,
4
],
[
2333.33,
2466.67,
5
],
[
2466.67,
2600.0,
6
],
[
2600.0,
2733.33,
7
],
[
2733.33,
2833.33,
0
],
[
2833.33,
2933.33,
1
],
[
2933.33,
3033.33,
2
],
[
3033.33,
3133.33,
3
],
[
3133.33,
3233.33,
4
],
[
3233.33,
3333.33,
5
],
[
3333.33,
3433.33,
6
],
[
3433.33,
3533.33,
7
],
[
3533.33,
3600.0,
0
],
[
3600.0,
3666.67,
1
],
[
3666.67,
3733.33,
2
],
[
3733.33,
3800.0,
3
],
[
3800.0,
3866.67,
4
],
[
3866.67,
3933.33,
5
],
[
3933.33,
4000.0,
6
],
[
4000.0,
4066.67,
7
],
[
4066.67,
4133.33,
0
],
[
4133.33,
4200.0,
1
],
[
4200.0,
4266.67,
2
],
[
4266.67,
4333.33,
3
],
[
4333.33,
4400.0,
4
],
[
4400.0,
4466.67,
5
],
[
4466.67,
4533.33,
6
],
[
4533.33,
4600.0,
7
],
[
4600.0,
4650.0,
0
],
[
4650.0,
4700.0,
1
],
[
4700.0,
4750.0,
2
],
[
4750.0,
4800.0,
3
],
[
4800.0,
4850.0,
4
],
[
4850.0,
4900.0,
5
],
[
4900.0,
4950.0,
6
],
[
4950.0,
5000.0,
7
],
[
5000.0,
5050.0,
0
],
[
5050.0,
5100.0,
1
],
[
5100.0,
5150.0,
2
],
[
5150.0,
5200.0,
3
],
[
5200.0,
5250.0,
4
],
[
5250.0,
5300.0,
5
],
[
5300.0,
5350.0,
6
],
[
5350.0,
5400.0,
7
],
[
5400.0,
5450.0,
0
],
[
5450.0,
5500.0,
1
],
[
5500.0,
5550.0,
2
],
[
5550.0,
5600.0,
3
],
[
5600.0,
5650.0,
4
],
[
5650.0,
5700.0,
5
],
[
5700.0,
5750.0,
6
],
[
5750.0,
5766.67,
8
]
],
"comment": "chara 1 keyframes - arcade caution_instance_0 shapes 30/32/34/36/40/42/44/46 (walk cycle, indices 0-7) then shape52 (index 8) at f345. Hold shortens 10 f -> 8 -> 6 -> 4 -> 3 frames."
},
{
"id": 7,
"type": "texture_change",
"duration": 5816.67,
"textures": [
[
0.0,
1000.0,
0
],
[
1000.0,
1666.67,
1
],
[
1666.67,
2200.0,
0
],
[
2200.0,
2733.33,
1
],
[
2733.33,
3133.33,
0
],
[
3133.33,
3533.33,
1
],
[
3533.33,
3800.0,
0
],
[
3800.0,
4066.67,
1
],
[
4066.67,
4200.0,
0
],
[
4200.0,
4333.33,
1
],
[
4333.33,
4466.67,
0
],
[
4466.67,
4600.0,
1
],
[
4600.0,
4700.0,
0
],
[
4700.0,
4800.0,
1
],
[
4800.0,
4900.0,
0
],
[
4900.0,
5000.0,
1
],
[
5000.0,
5100.0,
0
],
[
5100.0,
5200.0,
1
],
[
5200.0,
5300.0,
0
],
[
5300.0,
5400.0,
1
],
[
5400.0,
5500.0,
0
],
[
5500.0,
5600.0,
1
],
[
5600.0,
5700.0,
0
],
[
5700.0,
5800.0,
1
],
[
5800.0,
5816.67,
0
]
],
"comment": "chara 0 keyframes - arcade shapes 28 (index 0) / 38 (index 1); crop index 2 is a duplicate of 38 and is never reached. Ends on 28, the pose the cabinet holds to the end of the clip."
},
{
"id": 8,
"type": "fade",
"duration": 483.33,
"delay": 0,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "character fade in - arcade caution characters a0->1 over f0..f29"
},
{
"id": 9,
"type": "fade",
"duration": 500,
"delay": 733.33,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "warning screen fade out - caution.lua ends the scene at total_time_ = 7*FPS = 7000 ms; animation 6 finishes at 5766.67 so 733.33+500 lands the cut on 7000 ms"
},
{
"id": 10,
"type": "move",
"duration": 266.67,
"total_distance": 1000,
"start_position": -816,
"comment": "warning box move down - the arcade box does not slide (it alpha-fades in over 4 f) but warning_box has no fade parameter, so the slide is kept and re-aimed: -816 (one box height above the frame) -> 184, 30 px past the arcade rest line",
"ease_out": "quadratic"
},
{
"id": 11,
"type": "move",
"duration": 116.67,
"start_position": 184,
"delay": 266.67,
"total_distance": -45,
"comment": "warning box move up - 184 -> 139 (continuous with animation 10; the parent's 472 -> 112 discontinuity was a visible snap)"
},
{
"id": 12,
"type": "move",
"duration": 116.67,
"start_position": 139,
"delay": 383.34,
"total_distance": 15,
"comment": "warning box move center - 139 -> 154 = the arcade box top edge (caution_lang shapes 3/5/7 span x 90..1858, y 154..970)"
},
{
"id": 13,
"type": "fade",
"duration": 1000,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"lock_input": true,
"comment": "screen fade out on don press"
},
{
"id": 14,
"type": "fade",
"duration": 500,
"delay": 1000,
"reverse_delay": 500,
"loop": true,
"comment": "coin overlay fade in/out"
},
{
"id": 15,
"type": "fade",
"duration": 433,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "bana advert fade in"
},
{
"id": 16,
"type": "texture_resize",
"duration": 333,
"initial_size": 1.0,
"final_size": 1.2,
"reverse_delay": 0,
"comment": "bana advert resize"
},
{
"id": 17,
"type": "texture_resize",
"duration": 433,
"initial_size": -90.0,
"final_size": -45.0,
"comment": "bana advert banapass rotate"
},
{
"id": 18,
"type": "move",
"duration": 433,
"total_distance": -150,
"comment": "bana advert banapass move"
},
{
"id": 19,
"type": "fade",
"duration": 200,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "bana advert touch fade in"
},
{
"id": 20,
"type": "move",
"duration": 433,
"total_distance": -225,
"comment": "bana advert touch move up"
},
{
"id": 21,
"type": "texture_resize",
"duration": 433,
"initial_size": -32,
"final_size": 0,
"comment": "bana advert touch resize"
},
{
"id": 22,
"type": "move",
"duration": 433,
"delay": {
"reference_id": 20,
"property": "duration"
},
"total_distance": 30,
"comment": "bana advert touch move down"
},
{
"id": 23,
"type": "fade",
"duration": 166,
"comment": "bana advert touch fade out"
},
{
"id": 24,
"type": "move",
"duration": 333,
"total_distance": -75,
"reverse_delay": 0,
"comment": "bana advert rewards don chan move"
},
{
"id": 25,
"type": "texture_resize",
"duration": 133,
"initial_size": 2.0,
"final_size": 1.0,
"comment": "get text scale down"
},
{
"id": 26,
"type": "texture_resize",
"duration": 166,
"delay": {
"reference_id": 25,
"property": "duration"
},
"initial_size": 1.0,
"final_size": 1.5,
"ease_out": "quadratic",
"comment": "get text scale up"
},
{
"id": 27,
"type": "texture_resize",
"duration": 166,
"delay": {
"reference_id": 26,
"property": "delay"
},
"initial_size": 1.5,
"final_size": 1.0,
"ease_out": "quadratic",
"comment": "get text scale down 2"
},
{
"id": 28,
"type": "fade",
"duration": 133,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "get text fade in"
},
{
"id": 29,
"type": "move",
"duration": 233,
"total_distance": -60,
"ease_out": "quadratic",
"comment": "get chara bounce up"
},
{
"id": 30,
"type": "move",
"duration": 233,
"total_distance": 60,
"ease_in": "quadratic",
"comment": "get chara bounce down"
},
{
"id": 31,
"type": "fade",
"duration": 333,
"delay": 3333,
"comment": "get fade out"
},
{
"id": 32,
"type": "fade",
"duration": 166,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "camera cloud fade in"
},
{
"id": 33,
"type": "fade",
"duration": 333,
"delay": 999,
"reverse_delay": 999,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"loop": true,
"comment": "camera cloud text fade"
},
{
"id": 34,
"type": "move",
"duration": 333,
"total_distance": -450,
"delay": 1000,
"comment": "camera cloud move up"
},
{
"id": 35,
"type": "texture_resize",
"duration": 500,
"initial_size": 1.0,
"final_size": 1.3,
"reverse_delay": 0,
"loop": true,
"comment": "camera cloud breathing"
},
{
"id": 36,
"type": "texture_change",
"duration": 500,
"delay": 1000,
"textures": [
[
0.0,
66.57,
0
],
[
66.57,
133.14,
1
],
[
133.14,
199.71,
2
],
[
199.71,
266.29,
3
],
[
266.29,
332.86,
4
],
[
332.86,
399.43,
5
],
[
399.43,
466.0,
6
],
[
466.0,
500.0,
0
]
],
"loop": true,
"comment": "live icon texture change"
},
{
"id": 37,
"type": "fade",
"duration": 6500,
"delay": 0,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"comment": "ATTRACT_CAMERA (idle title) scene clock - arcade title_main.lua totaltime_ = Common.FPS * 6.5 = 6500 ms. Read by AttractCamera as an OPTIONAL animation; a skin without id 37 keeps the engine's historical 30000 ms. attribute is unused, only is_finished."
}
]