[ { "id": 0, "type": "sample", "table": "caution", "track": "#48@5", "field": "sx", "range": [ 206, 226 ], "delay": 3433.3333333333335, "comment": "R54 sample: X pop scale - the real caution.nulm #48 curve (eased pop 1.0->1.5 f206..216, mirrored back by f226); was a linear texture_resize fit", "fallback": { "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": "sample", "table": "caution", "track": "#48@5", "field": "a", "range": [ 206, 236 ], "delay": 3433.3333333333335, "comment": "R54 sample: X red alpha - eased 0->1 f206..216 (the old fit was linear), hold, 1->0 f226..236", "fallback": { "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": "sample", "table": "caution", "track": "#50@1", "field": "a", "range": [ 226, 236 ], "delay": 3766.666666666667, "comment": "R54 sample: X lightred pops on at f226 and never fades", "fallback": { "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": "sample", "table": "caution", "track": "#54@5", "field": "sx", "range": [ 345, 360 ], "comment": "R54 sample: bachi hit scale - the clip is 0.8->1.0 over 7f then 1.0->1.2 over 8f, not the single linear 15f of the old fit; event-started by WarningBachiHit so no delay", "fallback": { "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": "sample", "table": "caution", "track": "#54@5", "field": "a", "range": [ 345, 360 ], "comment": "R54 sample: bachi hit alpha 0->1 f345..352, 1->0 f352..360 (asymmetric halves; the old fit was symmetric 116.67/116.67)", "fallback": { "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": "sample", "table": "caution", "track": "#28@1", "field": "a", "range": [ 0, 29 ], "comment": "R54 sample: character fade-in a0->1 f0..29 off the first pose leaf", "fallback": { "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." } ]