Compare commits

...
Author SHA1 Message Date
TaikoZhongandClaude Fable 5.1 41a731a3af Control guide: replay the cabinet clip at 60 fps, whole all loop
The top-left drum panel was a bake of the movie at every second frame (30 fps,
325 cells) and only ever played half of the cabinet's `all` loop.  It is now
replayed from the clip data (Scripts/game/ending_anim/guide_all.lua = taiko_small
`all`, 650 frames: rim up, rim down, face + 「決定」; guide_decide.lua = `decide`,
230 frames) over the movie's own white panel shape, on the credit screen, on
mode select and on song select.  The pill's 「決定」 is a text field on the
cabinet, so game/guide_label.lua draws it with the engine font whenever a frame
places the pill.  The bake stays as the fallback when the clip data is missing.

New textures (global/indicator/panel, game/guide_*_anim) need the engine's
TexID table regenerated, i.e. a rebuild after the skin update.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 01:44:12 +08:00
TaikoZhongandClaude Fable 5.1 44e0a5e3b2 Entry: control-guide mode per phase, mode board title centred on its band
- The top-left control guide follows the cabinet's ChangeMode: `decide` alone on
  the credit screen, the `all` loop (rim to choose + face to decide) on mode
  select when the list has more than one board, hidden during the drum select.
  entry.lua / entry/box.lua publish the phase, global/indicator.lua reads it.
- The open mode board's title sits in the middle of the dark band at the top of
  the plate; the text object's box is taller than its ink, so the nominal y is
  set for the ink (-118 -> -97).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 00:40:52 +08:00
Yonokid 939d7d2e8c Update checksums.sha256 2026-09-09 12:07:03 -04:00
Yonokid 3c8a16c6f6 Merge pull request 'Song select: the course mark pops to its decided look once the course is locked in' (#20) from GanYiZhong/YataiDONNijiiro:diff-mark-decide into main
Reviewed-on: Yonokid/YataiDONNijiiro#20
2026-09-09 17:35:33 +02:00
Yonokid cb641b96be Merge branch 'main' into diff-mark-decide 2026-09-09 17:35:23 +02:00
Yonokid bec74c81f5 Merge pull request 'Score rank (粋 / 雅 / 極): in-game badge and result plate' (#19) from GanYiZhong/YataiDONNijiiro:score-rank-display into main
Reviewed-on: Yonokid/YataiDONNijiiro#19
2026-09-09 17:35:14 +02:00
Yonokid f9204ce321 Merge branch 'main' into score-rank-display 2026-09-09 17:33:26 +02:00
Yonokid 43ea983afe Merge pull request 'Ending banners: replay the original clips (clear / full combo / donderful / fail)' (#18) from GanYiZhong/YataiDONNijiiro:ending-clips into main
Reviewed-on: Yonokid/YataiDONNijiiro#18
2026-09-09 17:25:58 +02:00
Yonokid b949ab4c44 Merge pull request 'Entry: draw the mode-select cursor glow under the board' (#17) from GanYiZhong/YataiDONNijiiro:entry-mode-cursor-under into main
Reviewed-on: Yonokid/YataiDONNijiiro#17
2026-09-09 17:25:26 +02:00
Yonokid f90d6b2be0 Merge branch 'main' into entry-mode-cursor-under 2026-09-09 17:22:51 +02:00
Yonokid 2801122c3a Merge pull request 'Lower backdrops: replay every element of the original movies' (#16) from GanYiZhong/YataiDONNijiiro:lower-bg-anim into main
Reviewed-on: Yonokid/YataiDONNijiiro#16
2026-09-09 17:21:58 +02:00
TaikoZhongandClaude Fable 5.1 cc8ccdd83d Song select: the course mark pops to its decided look once the course is locked in
main_diff_mark 'course_decide_start' (frames 35..64): once player:difficulty_decided()
(engine PR #162) the translucent 680x680 mark behind the difficulty board goes opaque
over a white backing, stretching to 1.235x its height and back while a white copy
flashes on top, then holds the 'course_decide' look.  Opaque shapes of mark_course
(course_1..5) and mark_course_white exported to Graphics/song_select/diff_mark_anim.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 16:09:11 +08:00
TaikoZhongandClaude Fable 5.1 8ac1ac9f22 Result: play the score-rank sound with the rank plate
The original plays se_result `scorerank_NN_<seat>` (one sample for every rank)
when the plate appears; shipped as scorerank_{c,l,r} and played when the
ScoreRank state starts, seat chosen like the crown sound.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 15:26:32 +08:00
TaikoZhongandClaude Fable 5.1 cb022740cd Score rank badge: one clip, restarted per rank line
The original only ever plays `in`; the clip then keeps and fades out by itself,
and a new rank line restarts it. Exported as one 162-frame clip instead of the
in/out pair, so the plate fades out after its keep span as on the cabinet.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 15:12:23 +08:00
TaikoZhongandClaude Fable 5.1 70154489f0 Score rank (粋 / 雅 / 極): in-game badge and result plate
- In game: the rank plate slides in at the player panel's top-left as the score
  crosses each rank line (500k white, 600k bronze, 700k silver, 800k gold,
  900k pink, 950k purple, 1M rainbow), swapping through the out/in pair on the
  next line. Uses the engine's Background:handle_score hook.
- Result: a ScoreRank state between the score count-up and the crown, playing
  the original's plate clip (極 with its own burst) under the score box.
- Song select already draws the chips from the stored rank.
Clips exported from the original with the rank plates as swappable shapes;
Scripts/game/clip_player.lua is the shared frame player.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 14:44:37 +08:00
TaikoZhongandClaude Fable 5.1 f1744e859b Ending banners: replay the original clips (clear / full combo / donderful / fail)
Uses the engine's new Background:handle_ending / draw_ending hook. The four
ending clips are exported frame by frame (Scripts/game/ending_anim, textures
under game/ending_<kind>_anim) and replayed on the lane at 60 fps: the banner
text reveal, the fans, the two dancers and the confetti all move as in the
original, then loop. Without the engine hook the skin's static plates still
draw as before.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 14:07:48 +08:00
TaikoZhongandClaude Fable 5.1 ea77074484 Entry: draw the mode-select cursor glow under the board
The original stacks the cursor glow below the board, so the characters that
lean out of the board stand in front of it; ours drew the glow on top and
covered them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 13:46:32 +08:00
441 changed files with 5898 additions and 51 deletions

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

@@ -0,0 +1,238 @@
{
"s158": {
"x": 0,
"y": 0
},
"s160": {
"x": 0,
"y": 0
},
"s162": {
"x": 0,
"y": 0
},
"s164": {
"x": 0,
"y": 0
},
"s166": {
"x": 0,
"y": 0
},
"s168": {
"x": 0,
"y": 0
},
"s170": {
"x": 0,
"y": 0
},
"s172": {
"x": 0,
"y": 0
},
"s174": {
"x": 0,
"y": 0
},
"s176": {
"x": 0,
"y": 0
},
"s178": {
"x": 0,
"y": 0
},
"s180": {
"x": 0,
"y": 0
},
"s184": {
"x": 0,
"y": 0
},
"s274": {
"x": 0,
"y": 0
},
"s276": {
"x": 0,
"y": 0
},
"s278": {
"x": 0,
"y": 0
},
"s280": {
"x": 0,
"y": 0
},
"s282": {
"x": 0,
"y": 0
},
"s284": {
"x": 0,
"y": 0
},
"s286": {
"x": 0,
"y": 0
},
"s288": {
"x": 0,
"y": 0
},
"s290": {
"x": 0,
"y": 0
},
"s293": {
"x": 0,
"y": 0
},
"s295": {
"x": 0,
"y": 0
},
"s297": {
"x": 0,
"y": 0
},
"s299": {
"x": 0,
"y": 0
},
"s301": {
"x": 0,
"y": 0
},
"s303": {
"x": 0,
"y": 0
},
"s305": {
"x": 0,
"y": 0
},
"s307": {
"x": 0,
"y": 0
},
"s309": {
"x": 0,
"y": 0
},
"s311": {
"x": 0,
"y": 0
},
"s313": {
"x": 0,
"y": 0
},
"s316": {
"x": 0,
"y": 0
},
"s318": {
"x": 0,
"y": 0
},
"s320": {
"x": 0,
"y": 0
},
"s322": {
"x": 0,
"y": 0
},
"s324": {
"x": 0,
"y": 0
},
"s326": {
"x": 0,
"y": 0
},
"s328": {
"x": 0,
"y": 0
},
"s330": {
"x": 0,
"y": 0
},
"s332": {
"x": 0,
"y": 0
},
"s334": {
"x": 0,
"y": 0
},
"s336": {
"x": 0,
"y": 0
},
"s339": {
"x": 0,
"y": 0
},
"s341": {
"x": 0,
"y": 0
},
"s343": {
"x": 0,
"y": 0
},
"s345": {
"x": 0,
"y": 0
},
"s347": {
"x": 0,
"y": 0
},
"s349": {
"x": 0,
"y": 0
},
"s351": {
"x": 0,
"y": 0
},
"s353": {
"x": 0,
"y": 0
},
"s355": {
"x": 0,
"y": 0
},
"s357": {
"x": 0,
"y": 0
},
"s359": {
"x": 0,
"y": 0
},
"s411": {
"x": 0,
"y": 0
},
"s414": {
"x": 0,
"y": 0
},
"s417": {
"x": 0,
"y": 0
},
"s420": {
"x": 0,
"y": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Loaded 100 of 441 files, more files were not shown because too many files have changed in this diff. Show more