From fff5d3be6c4b3f180147ee6fc15c94764481ba30 Mon Sep 17 00:00:00 2001 From: hiki8man <63759994+hiki8man@users.noreply.github.com> Date: Tue, 30 Jun 2026 10:09:24 +0800 Subject: [PATCH 1/2] Fix sustain length calculation in DSCConverter Removed unused 'offset' variable from sustain length calculation. --- autoloads/song_loader/song_loaders/DSCConverter.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoloads/song_loader/song_loaders/DSCConverter.gd b/autoloads/song_loader/song_loaders/DSCConverter.gd index b4c12164..31d2e012 100644 --- a/autoloads/song_loader/song_loaders/DSCConverter.gd +++ b/autoloads/song_loader/song_loaders/DSCConverter.gd @@ -438,7 +438,7 @@ static func convert_dsc_opcodes_to_chart(r: Array, opcode_map: DSCOpcodeMap, off # Set sustain length if opcode.params[1] != -1: - (note_d as HBSustainNote).end_time = time + flying_time + (opcode.params[1] / 100.0) + offset + (note_d as HBSustainNote).end_time = time + flying_time + (opcode.params[1] / 100.0) found_sustain_length = true elif is_nc_rush(opcode.params[0]): From 6041f06374d1658a2470666d136e82433b60bf04 Mon Sep 17 00:00:00 2001 From: hiki8man <63759994+hiki8man@users.noreply.github.com> Date: Tue, 30 Jun 2026 13:59:41 +0800 Subject: [PATCH 2/2] sustain end time should also use music_start_offset --- autoloads/song_loader/song_loaders/DSCConverter.gd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/autoloads/song_loader/song_loaders/DSCConverter.gd b/autoloads/song_loader/song_loaders/DSCConverter.gd index 31d2e012..760cff5a 100644 --- a/autoloads/song_loader/song_loaders/DSCConverter.gd +++ b/autoloads/song_loader/song_loaders/DSCConverter.gd @@ -591,5 +591,7 @@ static func convert_dsc_opcodes_to_chart(r: Array, opcode_map: DSCOpcodeMap, off for layer in chart.layers: for timing_point in layer.timing_points: timing_point.time -= music_start_offset + if timing_point is HBSustainNote: + timing_point.end_time -= music_start_offset return [chart, timing_changes]