Compare commits

...
Author SHA1 Message Date
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
Yonokid 3357168690 Merge branch 'main' into lower-bg-anim 2026-09-09 17:20:37 +02:00
Yonokid c7f1a92408 Merge pull request 'Song select: no credit line, course names at the record's size' (#15) from GanYiZhong/YataiDONNijiiro:songselect-tweaks into main
Reviewed-on: Yonokid/YataiDONNijiiro#15
2026-09-09 17:20:05 +02:00
Yonokid cab659127f Merge branch 'main' into songselect-tweaks 2026-09-09 17:19:13 +02:00
Yonokid e2ad677d3b Merge pull request 'Gauge: centre the soul-max fire where the original puts it' (#14) from GanYiZhong/YataiDONNijiiro:gauge-fire-position into main
Reviewed-on: Yonokid/YataiDONNijiiro#14
2026-09-09 17:19:03 +02:00
Yonokid 0b856e074a Merge branch 'main' into gauge-fire-position 2026-09-09 17:16:28 +02:00
Yonokid cce76105cc Merge pull request 'donbg band: replay every element of the original movie' (#11) from GanYiZhong/YataiDONNijiiro:donbg-anim into main
Reviewed-on: Yonokid/YataiDONNijiiro#11
2026-09-09 17:16:17 +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
TaikoZhongandClaude Fable 5.1 3e6783f8fb Lower backdrops: replay every element of the original movies
The five normal and three cleared backdrops were flat plates plus a few hand
rebuilt effects, so the koi, the treasure ships, the lantern glow and the
festival stalls never moved as they do in the original. Each movie is now
exported per shape instance with its own loop (bg_data/bg_anim/<name>.lua,
textures under background/bga_<name>) and replayed by bg_objects/bg_anim.lua at
60 fps on the lower half of the screen. bg_normal.lua and bg_fever.lua use it
when the data exists and keep their old drawing as the fallback; the cleared
backdrop's rise/fall wipe is unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 12:28:29 +08:00
TaikoZhongandClaude Fable 5.1 c3e5b593d3 Song select: no credit line, course names at the record's size
The cabinet's song select shows no COINS / FREE PLAY line (RESULT keeps it),
and the course names on the difficulty cards are drawn at the record's size 34
instead of the 28 an earlier crop estimate picked.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 12:19:21 +08:00
TaikoZhongandClaude Fable 5.1 aaf7f5124a Gauge: centre the soul-max fire where the original puts it
The fire sat 24 px right and 52 px above the 魂 mark's centre; the original
places it 43 px right and 43 px above. Anchors moved accordingly for both lanes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 12:11:57 +08:00
496 changed files with 4726 additions and 22 deletions

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

+14
View File
@@ -0,0 +1,14 @@
{
"s1": {
"x": 0,
"y": 0
},
"s3": {
"x": 0,
"y": 0
},
"s5": {
"x": 0,
"y": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

+10
View File
@@ -0,0 +1,10 @@
{
"s1": {
"x": 0,
"y": 0
},
"s3": {
"x": 0,
"y": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

+46
View File
@@ -0,0 +1,46 @@
{
"s1": {
"x": 0,
"y": 0
},
"s3": {
"x": 0,
"y": 0
},
"s6": {
"x": 0,
"y": 0
},
"s9": {
"x": 0,
"y": 0
},
"s11": {
"x": 0,
"y": 0
},
"s14": {
"x": 0,
"y": 0
},
"s17": {
"x": 0,
"y": 0
},
"s19": {
"x": 0,
"y": 0
},
"s21": {
"x": 0,
"y": 0
},
"s24": {
"x": 0,
"y": 0
},
"s26": {
"x": 0,
"y": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

+18
View File
@@ -0,0 +1,18 @@
{
"s1": {
"x": 0,
"y": 0
},
"s3": {
"x": 0,
"y": 0
},
"s6": {
"x": 0,
"y": 0
},
"s8": {
"x": 0,
"y": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

+26
View File
@@ -0,0 +1,26 @@
{
"s1": {
"x": 0,
"y": 0
},
"s3": {
"x": 0,
"y": 0
},
"s6": {
"x": 0,
"y": 0
},
"s8": {
"x": 0,
"y": 0
},
"s11": {
"x": 0,
"y": 0
},
"s13": {
"x": 0,
"y": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 827 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

@@ -0,0 +1,78 @@
{
"s1": {
"x": 0,
"y": 0
},
"s3": {
"x": 0,
"y": 0
},
"s5": {
"x": 0,
"y": 0
},
"s7": {
"x": 0,
"y": 0
},
"s9": {
"x": 0,
"y": 0
},
"s11": {
"x": 0,
"y": 0
},
"s13": {
"x": 0,
"y": 0
},
"s15": {
"x": 0,
"y": 0
},
"s17": {
"x": 0,
"y": 0
},
"s19": {
"x": 0,
"y": 0
},
"s22": {
"x": 0,
"y": 0
},
"s24": {
"x": 0,
"y": 0
},
"s27": {
"x": 0,
"y": 0
},
"s29": {
"x": 0,
"y": 0
},
"s32": {
"x": 0,
"y": 0
},
"s35": {
"x": 0,
"y": 0
},
"s38": {
"x": 0,
"y": 0
},
"s40": {
"x": 0,
"y": 0
},
"s42": {
"x": 0,
"y": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

@@ -0,0 +1,42 @@
{
"s1": {
"x": 0,
"y": 0
},
"s6": {
"x": 0,
"y": 0
},
"s8": {
"x": 0,
"y": 0
},
"s10": {
"x": 0,
"y": 0
},
"s12": {
"x": 0,
"y": 0
},
"s16": {
"x": 0,
"y": 0
},
"s18": {
"x": 0,
"y": 0
},
"s22": {
"x": 0,
"y": 0
},
"s25": {
"x": 0,
"y": 0
},
"s28": {
"x": 0,
"y": 0
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

@@ -0,0 +1,46 @@
{
"s1": {
"x": 0,
"y": 0
},
"s3": {
"x": 0,
"y": 0
},
"s5": {
"x": 0,
"y": 0
},
"s9": {
"x": 0,
"y": 0
},
"s11": {
"x": 0,
"y": 0
},
"s13": {
"x": 0,
"y": 0
},
"s16": {
"x": 0,
"y": 0
},
"s18": {
"x": 0,
"y": 0
},
"s20": {
"x": 0,
"y": 0
},
"s22": {
"x": 0,
"y": 0
},
"s26": {
"x": 0,
"y": 0
}
}
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

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