From b0c9c9f535fb5fc230ec307d4a61f2f3ac3aca8f Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Sat, 18 Jun 2022 18:38:53 +0100 Subject: [PATCH] `ambient` PAL patch --- goal_src/engine/ambient/ambient.gc | 52 +++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/goal_src/engine/ambient/ambient.gc b/goal_src/engine/ambient/ambient.gc index 706ebe3892..97e0c5e9a5 100644 --- a/goal_src/engine/ambient/ambient.gc +++ b/goal_src/engine/ambient/ambient.gc @@ -514,8 +514,30 @@ (add-setting! 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) (add-setting! 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) (add-setting! 'dialog-volume 'rel (-> *setting-control* current dialog-volume-hint) 0) - (while (= (current-str-id) s5-2) - (suspend) + ;; PAL patch here + (let ((s5-1 -1) + (s3-1 (-> *display* base-frame-counter)) + (s4-4 (-> *display* base-frame-counter)) + ) + (label cfg-27) + (let ((v1-36 (current-str-pos gp-2))) + (when (< s5-1 v1-36) + (if (> v1-36 0) + (set! s5-1 v1-36) + ) + (set! s3-1 (-> *display* base-frame-counter)) + ) + (when (not (and (or (< v1-36 0) + (>= (- (-> *display* base-frame-counter) s3-1) (seconds 3)) + (>= (- (-> *display* base-frame-counter) s4-4) (seconds 60)) + ) + *sound-player-enable* + ) + ) + (suspend) + (goto cfg-27) + ) + ) ) ) (else @@ -578,8 +600,30 @@ (add-setting! 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) (add-setting! 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) ) - (while (= (current-str-id) (-> self sound-id)) - (suspend) + ;; PAL patch here + (let ((gp-1 -1) + (s4-4 (-> *display* base-frame-counter)) + (s5-4 (-> *display* base-frame-counter)) + ) + (label cfg-19) + (let ((v1-24 (current-str-pos (-> self sound-id)))) + (when (< gp-1 v1-24) + (if (> v1-24 0) + (set! gp-1 v1-24) + ) + (set! s4-4 (-> *display* base-frame-counter)) + ) + (when (not (and (or (< v1-24 0) + (>= (- (-> *display* base-frame-counter) s4-4) (seconds 3)) + (>= (- (-> *display* base-frame-counter) s5-4) (seconds 60)) + ) + *sound-player-enable* + ) + ) + (suspend) + (goto cfg-19) + ) + ) ) ) (else