diff --git a/Scripts/result/result_player.lua b/Scripts/result/result_player.lua index 119cc56..b7a0d56 100644 --- a/Scripts/result/result_player.lua +++ b/Scripts/result/result_player.lua @@ -662,11 +662,16 @@ function ResultPlayer:draw_gauge() local n = math.min(gl_int, clear_pt - 1) tex.draw_texture(self.t_gauge_bar, { scale = scale, x2 = (n - 1) * u, fade = base_fade, index = p_idx }) end - if gl_int >= clear_pt - 1 and self.t_gauge_bar_clear_transition then + -- The transition piece is the first gold cell (the rounded cap of the clear zone). + -- Light it only when the run is cleared, like the HUD gauge (Gauge::get_is_clear): + -- the norma sits inside that cell (oni 8000 = cell 40.0 of 50, but a failed run at + -- 7800..7999 soul already shows 39 cells), so a cell-count test lit it a cell early + -- and a failed result grew a gold cell. + if gl_int >= clear_pt - 1 and self.gauge_state >= 1 and self.t_gauge_bar_clear_transition then tex.draw_texture(self.t_gauge_bar_clear_transition, { scale = scale, x = (clear_pt - 1) * u, fade = base_fade, index = p_idx }) end - if gl_int > clear_pt then + if gl_int > clear_pt and self.gauge_state >= 1 then local extra = (gl_int - clear_pt - 1) * u if self.t_gauge_bar_clear_top then tex.draw_texture(self.t_gauge_bar_clear_top,