From c6004c19fb8ad129615f9b2115294ffac040f161 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 15 Sep 2026 15:11:24 +0300 Subject: [PATCH] Prevent non-loop VGM playback overrun --- DiskRef/WC/VGMPLAY.WMF | Bin 98816 -> 98816 bytes VGMPLAY.WMF | Bin 98816 -> 98816 bytes src_sdcc/inc/vgm.h | 4 ---- src_sdcc/lib/vgm.c | 4 ---- src_sdcc/main.c | 15 ++++++++++++--- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/DiskRef/WC/VGMPLAY.WMF b/DiskRef/WC/VGMPLAY.WMF index 8531f8afdd513454f5182fd5c44cf1f16e0c6625..6f253eba5dc2bb5c108ab28498c71a745dd41d01 100644 GIT binary patch delta 9242 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 delta 9263 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 delta 9263 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 (uint16_t)(vgm_total_seconds + 2u)) + { + vgm_hl_pos = vgm_hl_abort_pos; + instant_abort(); + } + sec_changed = (sec != s_last_displayed_sec); loop_changed = (vgm_loop_count != s_last_loop_count); @@ -1124,21 +1136,18 @@ void main(void) if (key == KEY_NEXT) { vgm_hl_pos = vgm_hl_abort_pos; - vgm_song_ended = 0; wc_exit_code = WC_EXIT_NEXT; instant_abort(); } else if (key == KEY_PREV) { vgm_hl_pos = vgm_hl_abort_pos; - vgm_song_ended = 0; wc_exit_code = WC_EXIT_PREV; instant_abort(); } else if (key == KEY_ESC) { vgm_hl_pos = vgm_hl_abort_pos; - vgm_song_ended = 0; wc_exit_code = WC_EXIT_ESC; instant_abort(); }