Compare commits

...
Author SHA1 Message Date
TaikoZhongandClaude Opus 5.5 b9fee6e113 dan select: add the dan transition animations (19-23)
The engine's dan transition (shown when leaving dan select) uses dan_select
animations 19-23. This skin has its own dan_select/animation.json without
them, so leaving dan select crashed: the transition textures come from
PyTaikoGreen, but the animations did not. Added from PyTaikoGreen with the
distances scaled x1.5 for 1920x1080 (22 is degrees and stays as is).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 10:25:39 +08:00
Yonokid 88df3fde7f state is now controlled by lua 2026-10-11 13:24:55 -04:00
Yonokid 9cfd0d9a76 minor optimization 2026-10-10 14:52:41 -04:00
Yonokid 6976222461 add timing offset option 2026-10-10 10:43:50 -04:00
Yonokid f604f65435 minor fixes 2026-10-09 16:14:31 -04:00
Yonokid 200cdc58ed add missing animation 2026-10-09 15:53:51 -04:00
Yonokid c531160071 fix result rank issue 2026-10-08 11:46:56 -04:00
Yonokid 2eccdaecd6 add gogo time lane effect 2026-10-07 16:29:57 -04:00
Yonokid e35c5ab854 minor fixes 2026-10-07 14:06:42 -04:00
Yonokid 30590cd9b4 add donbg tinting 2026-10-07 13:46:09 -04:00
Yonokid dcdff8924c Merge pull request 'dan select: extend the parent's DanSelect instead of replacing it' (#42) from GanYiZhong/YataiDONNijiiro:fix/dan-select-parent into main
Reviewed-on: Yonokid/YataiDONNijiiro#42
2026-10-05 13:48:43 +02:00
14 changed files with 207 additions and 31 deletions

No files matched your search

+57
View File
@@ -164,5 +164,62 @@
}
],
"comment": "ROUND 17: copied verbatim from song_select/animation.json so the 演奏オプション panel the 段位道場 confirmation dialog's option chip opens runs identically on DAN_SELECT. ModifierSelector's constructor reads 28/29/30/31/32 (+39 optional) and get_animation THROWS on a missing id; a child animation.json replaces the parent's rather than merging, so DAN_SELECT had none of them. option/neiro panel slide OUT (ModifierSelector/NeiroSelector pick this up on confirm when it exists; without it they replay id 28). Arcade MC65 label 'out' = frames 25..44: y 0 -> -75 over 4 frames, then -75 -> 650 over 15. Engine space the drawn y is `attribute + song_select_offset.x` (= -548 in this skin), so attribute runs 0 -> -75 at 4/19 = 0.2105 -> 548."
},
{
"id": 19,
"type": "move",
"duration": 450,
"total_distance": 1920,
"ease_in": "quadratic",
"comment": "dan transition slide in (PyTaikoGreen x1.5)"
},
{
"id": 20,
"type": "move",
"duration": 383,
"delay": 517,
"total_distance": -705,
"waypoints": [
{
"at": 200,
"value": -768,
"ease_in": "quadratic"
},
{
"at": 283,
"value": -689
}
],
"comment": "dan transition don rises from the bottom, overshoots and settles (PyTaikoGreen x1.5)"
},
{
"id": 21,
"type": "fade",
"duration": 400,
"delay": 483,
"initial_opacity": 0.0,
"final_opacity": 1.0,
"ease_out": "quadratic",
"comment": "dan transition emblem fade in"
},
{
"id": 22,
"type": "move",
"duration": 500,
"delay": 983,
"start_position": 0,
"total_distance": 90,
"ease_in": "quadratic",
"comment": "dan transition emblem spin (degrees, not scaled)"
},
{
"id": 23,
"type": "fade",
"duration": 483,
"delay": 1000,
"initial_opacity": 0.13,
"final_opacity": 1.0,
"ease_out": "quadratic",
"comment": "dan transition white flash; its end is the end of the transition"
}
]
+18 -1
View File
@@ -1186,5 +1186,22 @@
],
"loop": true,
"comment": "r57: result-gauge tamashii fire cels (replaces the id-20 kusudama-FADE collision; body = id 25, the real 8-cel 400 ms fire cycle)"
}
},
{
"id": 76,
"type": "texture_resize",
"duration": 133.36,
"initial_size": 0.0,
"final_size": 1.0,
"comment": "gogotime lane effect expands from center over 8 frames (16.67ms each)"
},
{
"id": 77,
"type": "fade",
"duration": 283.3,
"initial_opacity": 1.0,
"final_opacity": 0.0,
"delay": 0,
"comment": "judgment fade 3"
}
]
Binary file not shown.
+7 -1
View File
@@ -260,5 +260,11 @@
440
]
]
},
"lane_effect": {
"x": 496,
"y": 12,
"x2": 1424,
"y2": 195
}
}
}
+7
View File
@@ -156,6 +156,13 @@ function Background.new(player_num, bpm, scene_preset)
return self
end
-- a miss streak darkens the donbg band (each player's own band in 2P)
function Background:handle_miss_streak(player_num, on)
if self.collab then return end
local d = self.is_2p and (player_num == 2 and self.donbg_2 or self.donbg_1) or self.donbg
if d then d:set_dark(on) end
end
function Background:update(current_ms, bpm)
self.bpm = bpm
self.enso_skip:update(current_ms)
+1 -1
View File
@@ -5,7 +5,7 @@ local DonBG4 = require("background/bg_objects/donbg/4")
local DonBG5 = require("background/bg_objects/donbg/5")
local DonBG6 = require("background/bg_objects/donbg/6")
DonBG = {}
local DonBG = {}
function DonBG.create(player_num, path, index)
index = index or math.random(1, 6)
+1 -1
View File
@@ -3,7 +3,7 @@
-- base contract.
local DonBGBase = require("background/bg_objects/donbg/base")
DonBG4 = setmetatable({}, { __index = DonBGBase })
local DonBG4 = setmetatable({}, { __index = DonBGBase })
DonBG4.__index = DonBG4
function DonBG4.new(index, player_num, path)
+7 -3
View File
@@ -2,7 +2,7 @@
-- adds the cabinet's three sakura-petal drifters (between the two scrolling layers).
local DonBGBase = require("background/bg_objects/donbg/base")
DonBG6 = setmetatable({}, { __index = DonBGBase })
local DonBG6 = setmetatable({}, { __index = DonBGBase })
DonBG6.__index = DonBG6
local PETAL_W, PETAL_H = 391, 208
@@ -56,9 +56,9 @@ end
-- Same shape as DonBGBase:draw(), with the drifters slotted in at their real
-- display-list depth: after the depth-0 backdrop, before the depth-4 motif row.
function DonBG6:draw(y)
function DonBG6:draw_band(y)
y = y or 0
if not self.use_layers then return DonBGBase.draw(self, y) end
if not self.use_layers then return DonBGBase.draw_band(self, y) end
local normal = self.states.normal or {}
local fever = self.states.fever
@@ -87,4 +87,8 @@ function DonBG6:draw(y)
end
end
function DonBG6:draw(y)
self:draw_dark(DonBG6.draw_band, y or 0)
end
return DonBG6
+44 -2
View File
@@ -8,7 +8,7 @@ if not ok or type(DATA) ~= "table" then DATA = {} end
local ok_anim, DonBGAnim = pcall(require, "background/bg_objects/donbg/anim_player")
if not ok_anim or type(DonBGAnim) ~= "table" then DonBGAnim = nil end
DonBGBase = {}
local DonBGBase = {}
DonBGBase.__index = DonBGBase
function DonBGBase.new(index, player_num, path)
@@ -77,6 +77,27 @@ end
local EXIT_MS = 29000 / 60
-- miss streak: the band is multiplied towards black (colour of draw_texture), eased in/out
local DARK_MIN, DARK_FADE_MS = 0.65, 300
function DonBGBase:set_dark(on)
self.dark_target = on and 1 or 0
end
function DonBGBase:update_dark(current_time_ms)
local dt = current_time_ms - (self.dark_last_ms or current_time_ms)
self.dark_last_ms = current_time_ms
local d, target = self.dark or 0, self.dark_target or 0
local step = dt / DARK_FADE_MS
self.dark = d + math.max(-step, math.min(step, target - d))
end
function DonBGBase:dark_color()
if not self.dark or self.dark <= 0 then return nil end
local v = math.floor(255 * (1 - (1 - DARK_MIN) * self.dark))
return { v, v, v, 255 }
end
function DonBGBase:set_clear(is_clear)
if is_clear and not self.is_clear then
self.is_clear = true
@@ -98,6 +119,7 @@ function DonBGBase:set_clear(is_clear)
end
function DonBGBase:update(current_time_ms)
self:update_dark(current_time_ms)
-- same wall-clock accumulator bg_fever uses; guard drops the load-time gap
if self.last_ms then
local dt = current_time_ms - self.last_ms
@@ -159,7 +181,7 @@ function DonBGBase:draw_textures(fade, y, frame)
end
end
function DonBGBase:draw(y)
function DonBGBase:draw_band(y)
y = y or 0
-- collab path = parent contract; default pack = DATA-driven layer lists
@@ -191,6 +213,26 @@ function DonBGBase:draw(y)
end
end
-- Draws the band through `inner`, multiplying every texture it draws by the miss-streak
-- darkness. Subclasses draw with their own tex.draw_texture calls, so wrap that once here.
function DonBGBase:draw_dark(inner, y)
local c = self:dark_color()
if not c then return inner(self, y) end
local orig = tex.draw_texture
tex.draw_texture = function(id, p)
p = p or {}
p.color = c
return orig(id, p)
end
local ok, err = pcall(inner, self, y)
tex.draw_texture = orig
if not ok then error(err, 0) end
end
function DonBGBase:draw(y)
self:draw_dark(DonBGBase.draw_band, y or 0)
end
function DonBGBase:destroy()
tex.unload_folder(self.path, string.format("donbg/%s", self.name))
if self.anim then tex.unload_folder(self.path, self.anim.subset) end
+9 -3
View File
@@ -35,13 +35,13 @@ function EntryPlayer.new(side)
return self
end
function EntryPlayer:start_animations()
-- hold_cloud: login still loading; the cloud keeps puffing/looping until finish_cloud()
function EntryPlayer:start_animations(hold_cloud)
self.drum_move_1:start()
self.drum_move_3:start()
self.cloud_resize:start()
self.cloud_resize_loop:start()
self.cloud_texture_change:start()
self.cloud_fade:start()
if not hold_cloud then self:finish_cloud() end
self.nameplate_fadein:start()
end
@@ -177,3 +177,9 @@ end
function EntryPlayer:get_nameplate_fade()
return self.nameplate_fadein.attribute
end
-- let the cloud shrink away: texture change + fade out
function EntryPlayer:finish_cloud()
self.cloud_texture_change:start()
self.cloud_fade:start()
end
+10 -4
View File
@@ -7,11 +7,13 @@ function AllNetIcon.new(online)
local self = setmetatable({}, AllNetIcon)
self.online = online
self.indicator = tex.get_texture("global/overlay/allnet_indicator")
self.params = { frame = online and 2 or 0, x = 0, y = 0 } -- reused every draw, no per-frame table garbage
return self
end
function AllNetIcon:update(current_ms, online)
self.online = online
self.params.frame = online and 2 or 0
end
local SONG_MAX_CX, SONG_MAX_CY = 1814, 122
@@ -36,20 +38,24 @@ function AllNetIcon:draw_song_max()
y = math.floor(SONG_MAX_CY - t.height / 2 + 0.5), fade = fade })
end
function AllNetIcon:draw_icon(x, y)
local p = self.params
p.x, p.y = x, y
tex.draw_texture(self.indicator, p)
end
function AllNetIcon:draw(x, y)
local screen = tex.current_screen and tex.current_screen() or ""
if screen == "GAME" or screen == "GAME_DAN" then
if screen == "GAME" and not (tex.in_transition and tex.in_transition()) then
self:draw_song_max()
end
local frame = self.online and 2 or 0
tex.draw_texture(self.indicator, { frame = frame, x = x, y = y })
self:draw_icon(x, y)
if _G.g_active_enso_skip then _G.g_active_enso_skip:draw() end
return
end
if screen == "LOADING" then
return
end
local frame = self.online and 2 or 0
tex.draw_texture(self.indicator, { frame = frame, x = x, y = y })
self:draw_icon(x, y)
end
+17 -1
View File
@@ -91,9 +91,25 @@ function SongTransition:skip_armed()
return self.skip_on
end
-- timeline the engine reads (rainbow rise for the title, title fades, done)
local RISE_MS, RISE_DIST = 266.0, 1224 -- 816 at 720p, scaled to 1080p
function SongTransition:state()
local t = self.t or 0
local rise = RISE_DIST * clamp(t / RISE_MS, 0, 1) ^ 3
if self.is_second then
return { rainbow_up = rise, fade_out = clamp(1.0 - t / FADE_OUT_MS, 0, 1),
finished = t >= FADE_OUT_MS }
end
return { rainbow_up = rise, fade = clamp((t - FADE_DELAY) / FADE_MS, 0, 1),
finished = t >= SCENE_MS }
end
function SongTransition:start() self.t0 = nil end
function SongTransition:update(current_ms, rainbow_up, song_info_fade)
if not self.t0 then self.t0 = current_ms end
local t = clamp(current_ms - self.t0, 0, SCENE_MS)
self.t = current_ms - self.t0
local t = clamp(self.t, 0, SCENE_MS)
if self.is_second then
self.f = F_OUT + (F_END - F_OUT) * (t / SCENE_MS)
self.info = clamp(1.0 - t / FADE_OUT_MS, 0, 1)
+12 -1
View File
@@ -101,6 +101,10 @@ function ResultPlayer.new(player_num, is_2p, has_2p,
local self = setmetatable({}, ResultPlayer)
self.player_num = player_num
local timing = tex.timing_offset(player_num)
if timing then
self.timing_text = text.create_raw_text(timing, 20 * tex.get_screen_scale(), {255, 255, 255, 255}, {0, 0, 0, 255}, false, 3.0)
end
self.is_2p = is_2p
self.has_2p = has_2p
self.gauge_length = gauge_length
@@ -326,7 +330,7 @@ function ResultPlayer:update(current_ms, fade_in_finished,
self.rank_obj = ClipPlayer.new("game/ending_anim/" .. clip, "game", clip .. "_anim", pos[1], pos[2])
if self.rank_obj then
self.rank_obj.hold_last = true
if rank < 7 then self.rank_obj.shape_map = { [RANK_SHAPES[1]] = RANK_SHAPES[rank] } end
if rank < 7 then self.rank_obj.shape_map = { [74] = RANK_SHAPES[rank], [76] = RANK_SHAPES[rank] } end -- clip uses plate 74 then 76
self.rank_obj:start(current_ms)
-- se_result `scorerank_NN_<seat>`: one sample for every rank, seat like the crown
audio.play_sound("scorerank" .. (self.has_2p and (self.is_2p and "_r" or "_l") or "_c"), "sound")
@@ -388,6 +392,13 @@ function ResultPlayer:draw()
-- board frame (opaque white body), then the red/blue donback panel on top of it, then the difficulty tab
if self.t_board then tex.draw_texture(self.t_board, { frame = p_idx, index = p_idx }) end
if self.t_donback then tex.draw_texture(self.t_donback, { frame = p_idx, index = p_idx }) end
if self.timing_text then
local info = tex.get_texture_info("bottom", "chara_0")
if info and info.x[p_idx + 1] then
local pad = 6 * tex.get_screen_scale()
self.timing_text:draw({ x = info.x[p_idx + 1] + pad, y = info.y[p_idx + 1] + pad })
end
end
if self.t_difficulty then tex.draw_texture(self.t_difficulty, { frame = self.selected_difficulty, index = p_idx }) end
-- option icons
+14 -13
View File
@@ -1734,7 +1734,7 @@ b02d79e8a3f531275ffdd90a555da0204e23b272bd4799cb7221b9502fcbc374 *./Graphics/ent
1b342d50858d37adac0a1265aee406e459b8547252c0763d435515eeed68153b *./Graphics/entry/side_select/credit_flash.png
bcd1d360b4e9bf51abdf9d4850f9ce372a8a7dd9cf5fe4a6867be41404e8b873 *./Graphics/entry/side_select/credit_pill.png
56ee3ae83bfdb2feb5f5f6204311b9523f2c1d01a17433ebc96bf8e9abd432ec *./Graphics/entry/side_select/texture.json
3599b0be0c1ccd143aa1176abff059c21f7d98b633cb3f3907044dda245312bb *./Graphics/game/animation.json
9aba5a10427b9b6909725d076e4ca2582392e6cc68509798be9b949c3a3389b0 *./Graphics/game/animation.json
dd670a393e337c750fc3e04607a8f8ea2498075a91cd1c00d7c9915cf9a301e3 *./Graphics/game/balloon/bubble.png
1b0efdf1daa0df76d5ec06873459432f0b0e76c84bc895ca6ea7afd976045aaf *./Graphics/game/balloon/counter.png
1c978f85589a545109200c5a5e8cb4c8765137d942d909e22253473843f9f0d0 *./Graphics/game/balloon/pop.png
@@ -2300,7 +2300,8 @@ f1f354444c95251b136b0feac381dacddcc33bd0f324a912178bfcb0cd2b9846 *./Graphics/gam
a6dea25ec50ac8784fe096c717f91d24807a8a22b16082541e9b915a9b31bc7d *./Graphics/game/gauge/texture.json
b3f3073a122e5b731f262489db6adbf7d9ffaefab5afefd370e8bd18cc510cc4 *./Graphics/game/gogo_time/explosion.png
eca6c501cbfd81c7b33b46ab81db554626ff2be54c1dd183e3493276dcaaccbf *./Graphics/game/gogo_time/fire.png
d830e11612e17785c477ab304d3afde985428078173601bbb3f2c19f6e5fb4cb *./Graphics/game/gogo_time/texture.json
797528e413b3427959312db5d8537fdce6331ba43a5b49903da0670211ebf2fa *./Graphics/game/gogo_time/lane_effect.png
e3fb796cacd9ad7bf0769e8f6d19f55c9c61742b8a59a854fb45acdd406efc5e *./Graphics/game/gogo_time/texture.json
3fc1ee33edfb7e99a61dae79d2abd0e018dbc1719a80c6834dcf697998b81c1e *./Graphics/game/hit_effect/hit_effect_good_big.png
ffc4d9da64b8075ba6534644b97a8bb7cf3bac1a42d1703549bb236f60592956 *./Graphics/game/hit_effect/hit_effect_good.png
a18283a2e7328057ea7ab728ad78645c48154b5b9452dc5713d372f30d0e64a8 *./Graphics/game/hit_effect/hit_effect_ok_big.png
@@ -2589,7 +2590,7 @@ d21dc53600bab83b80352bad38cd598d216c6e1279a4d54a0a085ad82ad1430d *./Graphics/res
684c22481d2a0e4bb2d6dd67b5df87650e081edfeadffcc70c377c393334c06d *./Graphics/result/score/score_shinuchi_en.png
1c160a1a14016ea3a5f761b040db433420476363224011d615613af660e7d0e1 *./Graphics/result/score/score_shinuchi_ja.png
89c4d6afafb8010ec4da0b9f72f10f677ec8c87677fcb3d2c9edde923a5b5f9f *./Graphics/result/score/texture.json
95f69fb8de9d61a26ba20c2f4d32a5382e193fb006d6e1c0e8bbd8935d045223 *./Graphics/skin_config.json
a3283a68c842ac605adda06316eb56353602a51f3a53284f679b3f092aeae159 *./Graphics/skin_config.json
8503b52e0cde037db5904d1ce59820442494f5d35de63326a3d9fa6a3b52372c *./Graphics/song_select/animation.json
27e427b29774e04dc739b1c58a7205565de88cea6370876b623f8e13a7106b5c *./Graphics/song_select/box/back_graphic.png
b74432db46ec6d7ec080fbee6df6029c1451e243d30813fcf597a21704de4e74 *./Graphics/song_select/box/background/0.png
@@ -3048,7 +3049,7 @@ eb2bb15e87cc83d66b320e0e4cbcbd2d5385881f36eca27fe73740439055ef6c *./Scripts/anim
5789c13c7958010f2878f9a0b119a50af4f362e754dc06ca3683ce742d507d25 *./Scripts/anim/title_idle.lua
34df97052c186c9588ff6a3c339501318c5e30ab9eecb97d1271c400ab9cfba1 *./Scripts/anim/title_idle_map.lua
66797bb60d6bacde5d882136a7dee9cda2f3e02282dd2ebaf2ee37346db14f70 *./Scripts/anim/wheel_decide.lua
0889745dffb3fdb2ae935131931ef080866e83570602a8ed2443c3b7d5978afd *./Scripts/background/background.lua
3194426ec2500eab927de71efc0a522c1dcf39feca7da6ec904f62944b775dae *./Scripts/background/background.lua
821c460fc965b16015ec49a71b1983804207121c6321ba34b6a67848fccd0a65 *./Scripts/background/bg_collabs/a3.lua
e5a938d840b8e28078d480ef0b0bd8533cefa6364b8ba75ea06523977493ad97 *./Scripts/background/bg_collabs/animal.lua
fb11c421ef506db47385896e2479d5de7640f4494a5815e12af29eff0682fe29 *./Scripts/background/bg_collabs/buttoburst.lua
@@ -3103,12 +3104,12 @@ fee3772a7144a4708038a0dfc1aa851a3daf4840f5a9d4ba69e8583a987100fd *./Scripts/back
1ce550bce8d8d814b48847e564acb0bfae5062ecd6fa97ddc39914e8692f9569 *./Scripts/background/bg_objects/donbg/1.lua
1ce550bce8d8d814b48847e564acb0bfae5062ecd6fa97ddc39914e8692f9569 *./Scripts/background/bg_objects/donbg/2.lua
1ce550bce8d8d814b48847e564acb0bfae5062ecd6fa97ddc39914e8692f9569 *./Scripts/background/bg_objects/donbg/3.lua
904660fbb0903a405a4022d7db3635164651a23ce5677fba0dcac5cea7eaa5d4 *./Scripts/background/bg_objects/donbg/4.lua
2071e1cac894a8308b84ad9cf73bf5fc4cbd7828f9c6dfe5b5155c058f74149c *./Scripts/background/bg_objects/donbg/4.lua
1ce550bce8d8d814b48847e564acb0bfae5062ecd6fa97ddc39914e8692f9569 *./Scripts/background/bg_objects/donbg/5.lua
32428fe2b07e05a825f714db97f1bf2ac1714dcf9a6b01001221b48c33ca6040 *./Scripts/background/bg_objects/donbg/6.lua
9dff062857ae73b032877d05e6e8fa2ca23b72bc18c02ee953076c04d6c9fe9f *./Scripts/background/bg_objects/donbg/6.lua
e10c1e1c31774833a748fd646554dd35c2953b9e1a488d356443e56d25b80a10 *./Scripts/background/bg_objects/donbg/anim_player.lua
a4a2fcec4d0149258a4348d64af047a9cb1c90f1f95424a9d2d87f6973baa5d9 *./Scripts/background/bg_objects/donbg/base.lua
63bd3b3d984c5c970fbe1a3b45aadb0eee6e1409a790889a3585b7e8fda44f4a *./Scripts/background/bg_objects/donbg.lua
cbec23f8368aa66fb4ba1214364c36eb1259b987007d597c68de7da02f58ad08 *./Scripts/background/bg_objects/donbg/base.lua
e29c62684cfe42c7cec0806638e426db8a91ec123e4fa8de2c142e0cdd544fca *./Scripts/background/bg_objects/donbg.lua
e74edba93a21b25327fd34f8cbb83181db74d4ebb7d18c16603fb3f24fe91e25 *./Scripts/background/bg_objects/ending.lua
2758cbad0f4279d2a82ad3fcbc8bc271671675c74e35957c81624d4c62760b2c *./Scripts/background/bg_objects/enso_skip.lua
997f33164cd87de37d415498346704f8af70c5150eafcd3902805b166fd21b9d *./Scripts/background/bg_objects/fever_anim.lua
@@ -3122,11 +3123,11 @@ f204455c907d3e0e7affb89db3649a709a27d528d84cc58d51a7d8cfaa1d3deb *./Scripts/back
4e17bf53815d1e586fdba5f3501d6f2d9935ad5604da871d2e7e89c87499aedd *./Scripts/background/dancer_data/dancer_3.lua
6e2b3c136611c688cdfbe44b0bbcb9d25c2ab647903246b07f2aef9baa6bab0b *./Scripts/background/dancer_data/dancer_4.lua
3a4f1f45bb54c4303dc97afcc6f67df831d6d6011a2264baed3d933c789d210e *./Scripts/background/dancer_data/dancer_5.lua
d1da72658ffef36b6e9245043adfc51e7824d771b403b878a589c54f296f7e91 *./Scripts/dan_select/dan_select.lua
e8f58cd79a9a2fea5730eb30ecf69a1e3dedf654840a4ffa9428e8418d34f777 *./Scripts/dan_select/dan_select.lua
020f929896e3f58c27bf54881afbbf1597ebd14951b5476f9a97a29fa670e2fc *./Scripts/entry/box.lua
0a941cea73b6a81f2c92219be139a43f5902067ce468ffd189520395b4739c91 *./Scripts/entry/costume_menu.lua
83fc6c160c85a68a75d146f455cb4e18fc962c23a0020d28ac6943a1843db504 *./Scripts/entry/entry.lua
261b2a42b2d9b78326c7a9599852173a29954ac8f451a5fa9def9c18383cf08a *./Scripts/entry/player.lua
76b76c8b965b00a505cd8a48771ec76141a2736c2396c58a990f2cab65a0b86b *./Scripts/entry/player.lua
8a993e86d3d6e653d47bc6d9bae67e0648ad27ae89293959c26de04869ef0219 *./Scripts/game/clip_player.lua
13f6d670d95b75abcbbddeddcb442ab32e6c32afeefc8ebf1b8bc703b57a9827 *./Scripts/game/combo_announce.lua
5749994b631898c91e246110bb4b5e67aa3fdc395c4d59b49c4ee72a44e0043d *./Scripts/game/ending_anim/ending_clear.lua
@@ -3139,14 +3140,14 @@ f4de8faceba1417bbdf0c408275f36b91022c93539178bd2d59018623bac759b *./Scripts/game
6c885099876d77ea14d4588edb3de5105ecef7f8b83e2787a3bdb25918e5b920 *./Scripts/game/ending_anim/rank_result_kiwami.lua
02a2a424b68fce7b172807ce60df5c2b41121cb65f2edcc5a1e43b77702a4008 *./Scripts/game/ending_anim/rank_result.lua
53ac15fdeee0ffc98670e128ff3cddc0ba66e0e8cbd91ab440628b0fd7d804ff *./Scripts/game_over/game_over.lua
09b35b2ebdb82a2912f198b8d3c0ae55e7366550912c0d608ca86be38262f64f *./Scripts/global/allnet_indicator.lua
6e4a0e75474a06dc9181e4c1c6de9a7cb9f5019e155d7275ce84b39712f36aeb *./Scripts/global/allnet_indicator.lua
a24e5eb9ac289325facb2fe023b16a343ef1ecf7e57cbb988bb81e2514665cf3 *./Scripts/global/coin_overlay.lua
b8828910262c4b19f53589abdcf1f77faa0eb2d326eb524c6b46399548c260ae *./Scripts/global/entry_overlay.lua
5c9562b2bf9a3502b8a2e9b61cec4a187e45819a19f5e882e7548fe14d223032 *./Scripts/global/indicator.lua
8c51e468799275c017323400b092b77408db34213465813abbbad1bb446e004b *./Scripts/global/nameplate.lua
34645d4c05dcb582ddaad6e3d2e1075c476471c81e0ce68e33f7b0bbfa3c0f2b *./Scripts/global/result_transition.lua
97bc832add42c186d57dec5bc774b9c42424051124c6e754b0a32bcf711fff21 *./Scripts/global/timer.lua
a76dc303c9054e422e5939c20195ea2f9f2a6f1673ff52467c6a9da59f477f4a *./Scripts/global/transition.lua
ca051ca99199e3529c85f3c5ce81d11bd763be295fed1d0bb39e33d8f5f2a3a7 *./Scripts/global/transition.lua
cba4e6940f37bb2fdd124acb9242e3147397660471a62d547d0a30ad06598a0c *./Scripts/result/bottom_characters.lua
bc1567d77db047e2473a4279bacf902d857312b6d5b005c20563ae098bc45c8c *./Scripts/result/dan_result_draw.lua
5100bbdacb2464227ad50262c5c9daf56ca4ca17dc0aa121fd64bc72946dab8a *./Scripts/result/high_score_indicator.lua
@@ -3155,7 +3156,7 @@ be8afab142d2a20bd98b0ac22b2d5db474d0a80a5a921c0415fe482c672ee498 *./Scripts/resu
d0e71023f6442b34b35e8fa92f34b29960f259c0255bf97ad468467b615808d3 *./Scripts/result/result_crown.lua
31979bee96d855ac40b979274f2cabeb657ae128af3883a32f33a596d3c6879c *./Scripts/result/result_crown_message.lua
d0d1da1f222097a92adb64e9fc1fc41caf66e41c7ed39499f00361298c542648 *./Scripts/result/result_fade_in.lua
2d1469130bde2c0e59c0548bde6c10ae9afac11d49d661968189160ced0ab498 *./Scripts/result/result_player.lua
583fba3d3ef92a3bfc4b2d65eb46b9a5570da1394109d352a7aa64abaeaee887 *./Scripts/result/result_player.lua
6290618e48db87ceea755e91d02af8bbbb233392181bac4b3984a2b52924fbb5 *./Scripts/song_select/dan_transition.lua
eeec060b381c4d06071870f40972ee1c91d2255a6a94fd1b42b3f072c112c5a4 *./Scripts/song_select/diff_sort.lua
49d6b0e063c3afbeb304a1f60d228c2bf7229d4604f08f50ba1382049259592e *./Scripts/song_select/file_navigator/box_back.lua