From 09c23bb9f11fdabb02a0655d18cf11e27d2dc058 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Sun, 19 Jun 2022 11:37:45 +0100 Subject: [PATCH] `cam-debug` and `cam-update` PAL patch --- decompiler/config/all-types.gc | 36 ++++++++++------ decompiler/config/jak1_pal/label_types.jsonc | 45 ++++++++++++++++++++ goal_src/engine/camera/cam-debug.gc | 25 ----------- goal_src/engine/camera/cam-update.gc | 23 ++++++++++ 4 files changed, 90 insertions(+), 39 deletions(-) diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 5df12bf46e..a57a7ccb7f 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -11991,6 +11991,7 @@ ) ) +;; NOTE : type has been PAL patched (deftype control-info (collide-shape-moving) ( (unknown-vector00 vector :inline :offset 448) ;; from - logic-target::build-conversions @@ -12150,10 +12151,15 @@ (wall-pat pat-surface :offset 18976) ;; pat information for wall-check collision (unknown-soundid00 sound-id :offset 18980) ;; from powerups::target-powerup-process (unknown-float141 float :offset 18984) ;; from powerups::target-powerup-process + ;; PAL patch here + (unknown-int33 int32 :offset 18988) + (unknown-int34 int32 :offset 18992) + (unknown-int35 int32 :offset 18996) + (unknown-int36 int32 :offset 19000) ) - :size-assert #x4a2c + :size-assert #x4a3c ;; #x4a2c :method-count-assert 65 - :flag-assert #x4100004a2c + :flag-assert #x4100004a3c ;; #x4100004a2c ) ;; ---------------------- @@ -12593,39 +12599,41 @@ (declare-type tube-info basic) (declare-type racer-info basic) (declare-type flut-info basic) +;; NOTE : type has been PAL patched. (deftype target (process-drawable) - ((self-override target :score 100 :offset 28) + ((self-override target :score 100 :offset 28) (control control-info :score 100 :offset 112) (fact-info-target fact-info-target :score 100 :offset 144) (skel2 basic :offset-assert 176) (racer racer-info :offset-assert 180) (game game-info :offset-assert 184) (neck joint-mod :offset-assert 188) - (state-hook-time time-frame :offset-assert 192) + (state-hook-time time-frame :offset-assert 192) (state-hook (function none :behavior target) :offset-assert 200) (cam-user-mode symbol :offset-assert 204) - (sidekick (pointer sidekick) :offset-assert 208) - (manipy (pointer manipy) :offset-assert 212) + (sidekick (pointer sidekick) :offset-assert 208) + (manipy (pointer manipy) :offset-assert 212) (attack-info attack-info :inline :offset-assert 224) (attack-info-rec attack-info :inline :offset-assert 336) (anim-seed uint64 :offset-assert 440) (alt-cam-pos vector :inline :offset-assert 448) - (snowball snowball-info :offset-assert 464) - (tube tube-info :offset-assert 468) - (flut flut-info :offset-assert 472) + (snowball snowball-info :offset-assert 464) + (tube tube-info :offset-assert 468) + (flut flut-info :offset-assert 472) (current-level level :offset-assert 476) (saved-pos transformq :inline :offset-assert 480) (saved-owner uint64 :offset-assert 528) (alt-neck-pos vector :inline :offset-assert 544) (fp-hud handle :offset-assert 560) - (no-load-wait time-frame :offset-assert 568) - (no-look-around-wait time-frame :offset-assert 576) - ;;(burn-proc handle :offset-assert 584) ;; PAL only + (no-load-wait time-frame :offset-assert 568) + (no-look-around-wait time-frame :offset-assert 576) + ;; PAL patch here + (burn-proc handle :offset-assert 584) ) :heap-base #x1e0 :method-count-assert 21 - :size-assert #x248 ;;#x250 - :flag-assert #x1501e00248 ;;#x1501e00250 + :size-assert #x250 ;;#x248 + :flag-assert #x1501e00250 ;;#x1501e00248 (:methods (find-edge-grabs! (_type_ collide-cache) object 20) ;; none or #f ) diff --git a/decompiler/config/jak1_pal/label_types.jsonc b/decompiler/config/jak1_pal/label_types.jsonc index 8a0c8df62f..b33c9e9d02 100644 --- a/decompiler/config/jak1_pal/label_types.jsonc +++ b/decompiler/config/jak1_pal/label_types.jsonc @@ -1994,6 +1994,51 @@ ], "cam-debug": [ + ["L172", "vector4w"], + ["L173", "vector4w"], + ["L174", "vector4w"], + ["L175", "vector4w"], + ["L176", "vector4w"], + ["L207", "vector4w"], + ["L208", "vector4w"], + ["L209", "vector4w"], + ["L210", "vector4w"], + ["L211", "vector4w"], + ["L212", "vector4w"], + ["L213", "vector4w"], + ["L214", "vector4w"], + ["L215", "vector4w"], + ["L216", "vector4w"], + ["L217", "vector4w"], + ["L218", "vector4w"], + ["L219", "vector4w"], + ["L220", "vector4w"], + ["L221", "vector4w"], + ["L222", "vector4w"], + ["L223", "vector4w"], + ["L224", "vector4w"], + ["L225", "vector4w"], + ["L226", "vector4w"], + ["L227", "vector4w"], + ["L228", "vector4w"], + ["L229", "vector4w"], + ["L230", "vector4w"], + ["L231", "vector4w"], + ["L232", "vector4w"], + ["L237", "vector4w"], + ["L238", "vector4w"], + ["L239", "vector4w"], + ["L240", "vector4w"], + ["L241", "vector"], + ["L242", "vector"], + ["L243", "vector4w"], + ["L244", "vector"], + ["L245", "vector"], + ["L252", "vector"], + ["L253", "vector"], + ["L254", "vector"], + ["L255", "vector"], + ["L261", "vector4w"] ], "sequence-a-village1": [["L40", "vector"]], diff --git a/goal_src/engine/camera/cam-debug.gc b/goal_src/engine/camera/cam-debug.gc index 91337a56e2..7a84f68619 100644 --- a/goal_src/engine/camera/cam-debug.gc +++ b/goal_src/engine/camera/cam-debug.gc @@ -1591,31 +1591,6 @@ arg0 ) -;; definition for function external-cam-reset! -;; INFO: Return type mismatch int vs none. -;; Used lq/sq -(defun external-cam-reset! () - (vector-reset! (-> *math-camera* trans)) - (matrix-identity! (-> *math-camera* inv-camera-rot)) - (when *camera-combiner* - (let* ((v1-6 (-> *math-camera* inv-camera-rot)) - (a3-0 (-> *camera-combiner* inv-camera-rot)) - (a0-2 (-> a3-0 vector 0 quad)) - (a1-0 (-> a3-0 vector 1 quad)) - (a2-0 (-> a3-0 vector 2 quad)) - (a3-1 (-> a3-0 vector 3 quad)) - ) - (set! (-> v1-6 vector 0 quad) a0-2) - (set! (-> v1-6 vector 1 quad) a1-0) - (set! (-> v1-6 vector 2 quad) a2-0) - (set! (-> v1-6 vector 3 quad) a3-1) - ) - (set! (-> *math-camera* trans quad) (-> *camera-combiner* trans quad)) - ) - 0 - (none) - ) - ) diff --git a/goal_src/engine/camera/cam-update.gc b/goal_src/engine/camera/cam-update.gc index b94afc7d6d..4e1e00d0ec 100644 --- a/goal_src/engine/camera/cam-update.gc +++ b/goal_src/engine/camera/cam-update.gc @@ -276,6 +276,29 @@ arg0 ) +;; PAL patch here (moved from cam-debug) +(defun external-cam-reset! () + (vector-reset! (-> *math-camera* trans)) + (matrix-identity! (-> *math-camera* inv-camera-rot)) + (when *camera-combiner* + (let* ((v1-6 (-> *math-camera* inv-camera-rot)) + (a3-0 (-> *camera-combiner* inv-camera-rot)) + (a0-2 (-> a3-0 vector 0 quad)) + (a1-0 (-> a3-0 vector 1 quad)) + (a2-0 (-> a3-0 vector 2 quad)) + (a3-1 (-> a3-0 vector 3 quad)) + ) + (set! (-> v1-6 vector 0 quad) a0-2) + (set! (-> v1-6 vector 1 quad) a1-0) + (set! (-> v1-6 vector 2 quad) a2-0) + (set! (-> v1-6 vector 3 quad) a3-1) + ) + (set! (-> *math-camera* trans quad) (-> *camera-combiner* trans quad)) + ) + 0 + (none) + ) + (define *start-timer* (the-as int #f)) (define *timer-value* 0)