From 32dd1645fd75f9c6eb063c5ed44b2e5122e97dbc Mon Sep 17 00:00:00 2001
From: water111 <awaterford1111445@gmail.com>
Date: Mon, 20 Jan 2025 10:08:14 -0500
Subject: [PATCH] more fixup

---
 goal_src/jak3/engine/target/target-death.gc                  | 3 ++-
 goal_src/jak3/levels/common/enemy/hover/hover-nav-control.gc | 3 ++-
 goal_src/jak3/levels/factory/car/hvehicle.gc                 | 4 ++--
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/goal_src/jak3/engine/target/target-death.gc b/goal_src/jak3/engine/target/target-death.gc
index 8f7f5961c8d..27fef54b919 100644
--- a/goal_src/jak3/engine/target/target-death.gc
+++ b/goal_src/jak3/engine/target/target-death.gc
@@ -754,7 +754,8 @@
         )
       )
     (let ((s5-5 (level-get *level* (-> arg0 level))))
-      (when s5-5
+      ;; og:preserve-this don't wait for vis if level doesn't have it
+      (when (and s5-5 (-> s5-5 vis-info 0))
         (while (and (-> *level* vis?) (-> s5-5 vis-info 0) (= (-> s5-5 all-visible?) 'loading))
           (suspend)
           )
diff --git a/goal_src/jak3/levels/common/enemy/hover/hover-nav-control.gc b/goal_src/jak3/levels/common/enemy/hover/hover-nav-control.gc
index e765ae6ee8f..6b23fca95bf 100644
--- a/goal_src/jak3/levels/common/enemy/hover/hover-nav-control.gc
+++ b/goal_src/jak3/levels/common/enemy/hover/hover-nav-control.gc
@@ -1406,7 +1406,8 @@
 (defmethod hover-nav-control-method-10 ((this hover-nav-control) (arg0 vector) (arg1 vector) (arg2 vector))
   (vector-copy! (-> this dest-pos) arg0)
   (cond
-    (arg2
+    ;; og:preserve-this condition has been changed from `arg2` because some places call this method with #t as arg2
+    ((and (!= arg2 #t) arg2) ; arg2
       (vector-copy! (-> this dest-vel) arg2)
       (vector-copy! (-> this root transv) arg2)
       )
diff --git a/goal_src/jak3/levels/factory/car/hvehicle.gc b/goal_src/jak3/levels/factory/car/hvehicle.gc
index 8fb88470b60..3069486cabf 100644
--- a/goal_src/jak3/levels/factory/car/hvehicle.gc
+++ b/goal_src/jak3/levels/factory/car/hvehicle.gc
@@ -473,8 +473,8 @@
     )
   (set! (-> arg0 steering) (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 48.0 110.0 -1.0))
   (set! (-> arg0 lean-z) (analog-input (the-as int (-> *cpad-list* cpads 0 lefty)) 128.0 48.0 110.0 -1.0))
-  (set! (-> arg0 throttle) (fmin 1.0 (* 0.023529412 (the float (-> *cpad-list* cpads 0 abutton 6)))))
-  (set! (-> arg0 brake) (fmin 1.0 (* 0.023529412 (the float (-> *cpad-list* cpads 0 abutton 7)))))
+  (set! (-> arg0 throttle) (fmin 1.0 (* 0.023529412 (the float (-> *cpad-list* cpads 0 abutton (abutton-idx x)))))) ;; og:preserve-this abutton indexing
+  (set! (-> arg0 brake) (fmin 1.0 (* 0.023529412 (the float (-> *cpad-list* cpads 0 abutton (abutton-idx square)))))) ;; og:preserve-this abutton indexing
   (when (or (cpad-hold? 0 l1) (and (logtest? (-> this info flags) 2048) (cpad-hold? 0 r1)))
     (if (logtest? (-> this info flags) 16)
         (logior! (-> arg0 flags) (vehicle-controls-flag vcf0))