From f8816b13f0cacc0aed1620e1e776d73aa709b29d Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Sun, 19 Jun 2022 14:36:08 +0100 Subject: [PATCH] `rolling-obs` PAL patch --- decompiler/config/all-types.gc | 10 +++++++--- decompiler/config/jak1_pal.jsonc | 2 +- goal_src/levels/rolling/rolling-obs.gc | 24 ++++++++++++------------ 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 0c27a31560..b96a3ee1f1 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -32569,14 +32569,18 @@ (define-extern gorge-trans (function none)) (define-extern gorge-start-draw-time (function symbol symbol none :behavior gorge-start)) (define-extern gorge-behind (function gorge symbol)) -(define-extern seconds->race-time (function race-time time-frame int)) -(define-extern race-time-read (function race-time int task-control time-frame symbol)) +(define-extern seconds->race-time (function race-time time-frame none)) +;; PAL version is better +;;(define-extern race-time-read (function race-time int task-control time-frame none)) +(define-extern race-time-read (function race-time task-control time-frame none)) (define-extern rolling-start-init-by-other (function vector float none :behavior rolling-start)) (define-extern gorge-finish-init-by-other (function vector vector float none :behavior gorge-finish)) (define-extern gorge-abort-init-by-other (function vector vector float none :behavior gorge-abort)) (define-extern race-time->string (function race-time string)) (define-extern race-time-less-than (function race-time race-time symbol)) -(define-extern race-time-save (function race-time int task-control symbol)) +;; PAL version is better +;;(define-extern race-time-save (function race-time int task-control symbol)) +(define-extern race-time-save (function race-time task-control symbol)) (define-extern dark-plants-all-done (function dark-plant symbol)) (define-extern dark-plant-randomize (function dark-plant vector)) (define-extern dark-plant-check-target (function dark-plant symbol)) diff --git a/decompiler/config/jak1_pal.jsonc b/decompiler/config/jak1_pal.jsonc index 4d2304a870..b6c2df4792 100644 --- a/decompiler/config/jak1_pal.jsonc +++ b/decompiler/config/jak1_pal.jsonc @@ -6,7 +6,7 @@ // if you want to filter to only some object names. // it will make the decompiler much faster. - "allowed_objects": ["snow-flutflut-obs", "snow-button-ag", "flutflut-plat-med-ag", "flutflut-plat-small-ag", "flutflut-plat-large-ag"], + "allowed_objects": ["rolling-obs", "rollingcam-ag", "pusher-ag", "happy-plant-ag", "dark-plant-ag", "rolling-start-ag"], "banned_objects": [], //////////////////////////// diff --git a/goal_src/levels/rolling/rolling-obs.gc b/goal_src/levels/rolling/rolling-obs.gc index a629482d40..ea3bb6e37e 100644 --- a/goal_src/levels/rolling/rolling-obs.gc +++ b/goal_src/levels/rolling/rolling-obs.gc @@ -745,24 +745,24 @@ #f ) -(defun race-time-save ((arg0 race-time) (arg1 int) (arg2 task-control)) - (dotimes (s3-0 5) - (save-reminder arg2 (-> arg0 digit s3-0) (+ arg1 s3-0)) +(defun race-time-save ((arg0 race-time) (arg1 task-control)) + (dotimes (s4-0 5) + (save-reminder arg1 (-> arg0 digit s4-0) s4-0) ) #f ) -(defun race-time-read ((arg0 race-time) (arg1 int) (arg2 task-control) (arg3 time-frame)) - (dotimes (s2-0 5) - (set! (-> arg0 digit s2-0) (get-reminder arg2 (+ arg1 s2-0))) +(defun race-time-read ((arg0 race-time) (arg1 task-control) (arg2 time-frame)) + (dotimes (s3-0 5) + (set! (-> arg0 digit s3-0) (get-reminder arg1 s3-0)) ) (let ((a1-3 (new 'stack 'race-time))) (set! (-> a1-3 digit 4) 1) - (the-as symbol (if (race-time-less-than arg0 a1-3) - (seconds->race-time arg0 arg3) - ) - ) + (if (race-time-less-than arg0 a1-3) + (seconds->race-time arg0 arg2) + ) ) + (none) ) (defskelgroup *rolling-start-whole-sg* rolling-start rolling-start-whole-lod0-jg rolling-start-idle-ja @@ -1124,7 +1124,7 @@ *entity-pool* (game-task none) ) - (race-time-save (-> self this-time) 1 (-> self tasks)) + (race-time-save (-> self this-time) (-> self tasks)) ) ) (else @@ -1262,7 +1262,7 @@ (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'hide) (send-event (ppointer->process (-> *hud-parts* money)) 'disable) (send-event (ppointer->process (-> *hud-parts* money)) 'hide) - (race-time-read (-> self record-time) 1 (-> self tasks) (seconds 45)) + (race-time-read (-> self record-time) (-> self tasks) (seconds 45)) (set! (-> self end-banner) (ppointer->handle (process-spawn rolling-start (new 'static 'vector :x -86016.0 :y 112640.0 :z -6309888.0) 16384.0 :to self)