mirror of
https://github.com/open-goal/jak-project
synced 2026-08-19 22:12:24 -04:00
d/jak2: finish more of cam-master which allows the game to start it's settings routine
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -48,6 +48,11 @@
|
||||
(declare-type camera-master process)
|
||||
(define-extern cam-master-init (function none :behavior camera-master))
|
||||
|
||||
;; NOTE - for cam-master
|
||||
(define-extern cam-master-effect (function none :behavior camera-master))
|
||||
(define-extern camera-master-debug (function camera-master none))
|
||||
(define-extern group-rain-screend-drop sparticle-launch-group)
|
||||
|
||||
(define-extern parameter-ease-sin-clamp (function float float))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
@@ -122,7 +127,7 @@
|
||||
(tracking-spline-method-19 (_type_ float vector tracking-spline-sampler) vector 19)
|
||||
(tracking-spline-method-20 (_type_ vector int) none 20)
|
||||
(tracking-spline-method-21 (_type_ vector float float float) vector 21)
|
||||
(tracking-spline-method-22 (_type_ float) none 22)
|
||||
(tracking-spline-method-22 (_type_ float) symbol 22)
|
||||
(debug-draw-spline (_type_) none 23)
|
||||
)
|
||||
)
|
||||
@@ -448,13 +453,6 @@
|
||||
(:methods
|
||||
(camera-master-method-14 (_type_ vector) vector 14)
|
||||
(camera-master-method-15 (_type_ vector) vector 15)
|
||||
(camera-master-method-16 (_type_ symbol) none 16)
|
||||
(camera-master-method-16 (_type_ symbol) int 16)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch uint128 vs uint.
|
||||
(defun cam-slave-get-flags ((arg0 entity) (arg1 symbol))
|
||||
(let ((s5-0 (res-lump-value arg0 arg1 uint128 :time -1000000000.0))
|
||||
(s3-0 (method-of-type res-lump get-property-value))
|
||||
@@ -854,6 +855,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch int vs symbol.
|
||||
(defmethod tracking-spline-method-22 tracking-spline ((obj tracking-spline) (arg0 float))
|
||||
(when (< arg0 (-> obj summed-len))
|
||||
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
|
||||
@@ -865,8 +867,7 @@
|
||||
(tracking-spline-method-14 obj s5-0)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
(the-as symbol 0)
|
||||
)
|
||||
|
||||
(defmethod tracking-spline-method-9 tracking-spline ((obj tracking-spline))
|
||||
@@ -1545,11 +1546,7 @@
|
||||
(sv-272 matrix)
|
||||
(sv-288 vector)
|
||||
)
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
(vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
(vf3 :class vf)
|
||||
(rlet ((vf0 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
(vf6 :class vf)
|
||||
@@ -1582,21 +1579,11 @@
|
||||
(vector-normalize! s0-0 f28-0)
|
||||
)
|
||||
(vector-! (-> arg0 looking-interesting) (-> *camera* settings point-of-interest) (-> arg0 follow-pt))
|
||||
(let ((v1-15 (-> arg0 looking-interesting)))
|
||||
(let ((a0-16 (-> arg0 follow-pt))
|
||||
(a1-7 (-> arg0 looking-interesting))
|
||||
(f0-4 (-> arg0 point-of-interest-blend value))
|
||||
)
|
||||
(.lvf vf2 (&-> a1-7 quad))
|
||||
(.lvf vf1 (&-> a0-16 quad))
|
||||
(let ((a0-17 f0-4))
|
||||
(.mov vf3 a0-17)
|
||||
)
|
||||
)
|
||||
(.add.x.vf vf4 vf0 vf0 :mask #b1000)
|
||||
(.mul.x.vf acc vf2 vf3)
|
||||
(.add.mul.w.vf vf4 vf1 vf0 acc :mask #b111)
|
||||
(.svf (&-> v1-15 quad) vf4)
|
||||
(vector+float*!
|
||||
(-> arg0 looking-interesting)
|
||||
(-> arg0 follow-pt)
|
||||
(-> arg0 looking-interesting)
|
||||
(-> arg0 point-of-interest-blend value)
|
||||
)
|
||||
)
|
||||
(else
|
||||
@@ -1637,10 +1624,10 @@
|
||||
)
|
||||
(matrix-rotate-x! sv-240 f30-0)
|
||||
(let ((t9-6 matrix*!)
|
||||
(a0-29 s1-0)
|
||||
(a0-28 s1-0)
|
||||
(a2-3 s1-0)
|
||||
)
|
||||
(t9-6 a0-29 sv-240 a2-3)
|
||||
(t9-6 a0-28 sv-240 a2-3)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1664,17 +1651,17 @@
|
||||
(slave-matrix-blend-2 (-> arg0 inv-mat) arg2 s0-0 s1-0)
|
||||
)
|
||||
(else
|
||||
(let* ((v1-59 (-> arg0 inv-mat))
|
||||
(let* ((v1-60 (-> arg0 inv-mat))
|
||||
(a3-2 s1-0)
|
||||
(a0-35 (-> a3-2 vector 0 quad))
|
||||
(a0-34 (-> a3-2 vector 0 quad))
|
||||
(a1-19 (-> a3-2 vector 1 quad))
|
||||
(a2-7 (-> a3-2 vector 2 quad))
|
||||
(a3-3 (-> a3-2 trans quad))
|
||||
)
|
||||
(set! (-> v1-59 vector 0 quad) a0-35)
|
||||
(set! (-> v1-59 vector 1 quad) a1-19)
|
||||
(set! (-> v1-59 vector 2 quad) a2-7)
|
||||
(set! (-> v1-59 trans quad) a3-3)
|
||||
(set! (-> v1-60 vector 0 quad) a0-34)
|
||||
(set! (-> v1-60 vector 1 quad) a1-19)
|
||||
(set! (-> v1-60 vector 2 quad) a2-7)
|
||||
(set! (-> v1-60 trans quad) a3-3)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1710,16 +1697,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
|
||||
@@ -1733,14 +1710,6 @@
|
||||
(sv-176 matrix)
|
||||
(sv-192 vector)
|
||||
)
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
(vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
(vf3 :class vf)
|
||||
(vf4 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(set! sv-144 arg5)
|
||||
(let ((s0-0 (new-stack-vector0)))
|
||||
(set! sv-160 (new 'stack-no-clear 'vector))
|
||||
@@ -1815,71 +1784,19 @@
|
||||
)
|
||||
)
|
||||
(when arg4
|
||||
(let ((v1-33 arg0))
|
||||
(let ((a0-24 arg0)
|
||||
(a1-17 s3-0)
|
||||
(f0-15 (vector-dot arg1 s3-0))
|
||||
)
|
||||
(.lvf vf2 (&-> a1-17 quad))
|
||||
(.lvf vf1 (&-> a0-24 quad))
|
||||
(let ((a0-25 f0-15))
|
||||
(.mov vf3 a0-25)
|
||||
)
|
||||
)
|
||||
(.add.x.vf vf4 vf0 vf0 :mask #b1000)
|
||||
(.mul.x.vf acc vf2 vf3)
|
||||
(.add.mul.w.vf vf4 vf1 vf0 acc :mask #b111)
|
||||
(.svf (&-> v1-33 quad) vf4)
|
||||
)
|
||||
(let ((v1-34 arg0))
|
||||
(let ((a0-26 arg0)
|
||||
(a1-18 s3-0)
|
||||
(f0-17 (* arg3 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0)))
|
||||
)
|
||||
(.lvf vf2 (&-> a1-18 quad))
|
||||
(.lvf vf1 (&-> a0-26 quad))
|
||||
(let ((a0-27 f0-17))
|
||||
(.mov vf3 a0-27)
|
||||
)
|
||||
)
|
||||
(.add.x.vf vf4 vf0 vf0 :mask #b1000)
|
||||
(.mul.x.vf acc vf2 vf3)
|
||||
(.add.mul.w.vf vf4 vf1 vf0 acc :mask #b111)
|
||||
(.svf (&-> v1-34 quad) vf4)
|
||||
)
|
||||
)
|
||||
(vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0))
|
||||
(vector+float*! arg0 arg0 s3-0 (* arg3 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0)))
|
||||
)
|
||||
)
|
||||
arg0
|
||||
)
|
||||
arg0
|
||||
)
|
||||
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; WARN: Stack slot offset 144 signed mismatch
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
|
||||
(defun v-slrp3! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float))
|
||||
(local-vars (f0-7 float) (f26-0 float) (f28-0 float) (sv-144 float) (sv-160 vector))
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
(vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
(vf3 :class vf)
|
||||
(vf4 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(set! sv-144 arg4)
|
||||
(let ((s1-0 (new-stack-vector0)))
|
||||
(set! sv-160 (new 'stack-no-clear 'vector))
|
||||
@@ -1937,45 +1854,10 @@
|
||||
)
|
||||
(vector-normalize! arg0 (lerp f28-0 f26-0 f30-0))
|
||||
(when arg3
|
||||
(let ((v1-21 arg0))
|
||||
(let ((a0-24 arg0)
|
||||
(a1-17 s3-0)
|
||||
(f0-11 (vector-dot arg1 s3-0))
|
||||
)
|
||||
(.lvf vf2 (&-> a1-17 quad))
|
||||
(.lvf vf1 (&-> a0-24 quad))
|
||||
(let ((a0-25 f0-11))
|
||||
(.mov vf3 a0-25)
|
||||
)
|
||||
)
|
||||
(.add.x.vf vf4 vf0 vf0 :mask #b1000)
|
||||
(.mul.x.vf acc vf2 vf3)
|
||||
(.add.mul.w.vf vf4 vf1 vf0 acc :mask #b111)
|
||||
(.svf (&-> v1-21 quad) vf4)
|
||||
)
|
||||
(let ((v1-22 arg0))
|
||||
(let ((a0-26 arg0)
|
||||
(a1-18 s3-0)
|
||||
(f0-14 (* f30-0 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0)))
|
||||
)
|
||||
(.lvf vf2 (&-> a1-18 quad))
|
||||
(.lvf vf1 (&-> a0-26 quad))
|
||||
(let ((a0-27 f0-14))
|
||||
(.mov vf3 a0-27)
|
||||
)
|
||||
)
|
||||
(.add.x.vf vf4 vf0 vf0 :mask #b1000)
|
||||
(.mul.x.vf acc vf2 vf3)
|
||||
(.add.mul.w.vf vf4 vf1 vf0 acc :mask #b111)
|
||||
(.svf (&-> v1-22 quad) vf4)
|
||||
)
|
||||
)
|
||||
(vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0))
|
||||
(vector+float*! arg0 arg0 s3-0 (* f30-0 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0)))
|
||||
)
|
||||
)
|
||||
arg0
|
||||
)
|
||||
arg0
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -719,7 +719,7 @@
|
||||
; )
|
||||
(let ((gp-1 *display*))
|
||||
(set! *teleport* #t)
|
||||
; (update *setting-control*)
|
||||
(update *setting-control*)
|
||||
; (init-time-of-day-context *time-of-day-context*)
|
||||
(format 0 "about to display-sync~%")
|
||||
(display-sync gp-1)
|
||||
|
||||
@@ -56,13 +56,14 @@
|
||||
(get-quat (_type_) quaternion 21)
|
||||
(get-transv (_type_) vector 22)
|
||||
(process-focusable-method-23 (_type_) none 23)
|
||||
(process-focusable-method-24 (_type_) none 24)
|
||||
(process-focusable-method-25 (_type_) int 25)
|
||||
(process-focusable-method-24 (_type_) float 24)
|
||||
(process-focusable-method-25 (_type_) time-frame 25)
|
||||
(process-focusable-method-26 (_type_) none 26)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; WARN: Return type mismatch structure vs vector.
|
||||
(defmethod get-trans process-focusable ((obj process-focusable) (arg0 int))
|
||||
(let ((gp-0 (-> obj root)))
|
||||
(the-as vector (cond
|
||||
@@ -97,8 +98,7 @@
|
||||
)
|
||||
|
||||
(defmethod process-focusable-method-24 process-focusable ((obj process-focusable))
|
||||
0
|
||||
(none)
|
||||
0.0
|
||||
)
|
||||
|
||||
(defmethod process-focusable-method-26 process-focusable ((obj process-focusable))
|
||||
@@ -106,12 +106,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch int vs time-frame.
|
||||
(defmethod process-focusable-method-25 process-focusable ((obj process-focusable))
|
||||
0
|
||||
(the-as time-frame 0)
|
||||
)
|
||||
|
||||
0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
(define-extern load-game-text-info
|
||||
"Load text, if needed. txt-name is the group name, curr-text is the _symbol_ for
|
||||
the game-text-info, and heap is the heap to load to. The heap will be cleared."
|
||||
(function string (pointer game-text-info) kheap int))
|
||||
(function string symbol kheap int))
|
||||
(define-extern print-game-text-scaled "Print text, with a given scaling" (function string float font-context int none))
|
||||
(define-extern print-game-text "Print text." (function string font-context symbol int int float))
|
||||
|
||||
|
||||
@@ -168,7 +168,6 @@
|
||||
)
|
||||
|
||||
(defmethod lookup-text! game-text-info ((obj game-text-info) (arg0 game-text-id) (arg1 symbol))
|
||||
(format 0 "hello world")
|
||||
(cond
|
||||
((= obj #f)
|
||||
(cond
|
||||
@@ -234,11 +233,11 @@
|
||||
(define text-is-loading #f)
|
||||
|
||||
;; WARN: Found some very strange gotos. Check result carefully, this is not well tested.
|
||||
(defun load-game-text-info ((arg0 string) (arg1 (pointer game-text-info)) (arg2 kheap))
|
||||
(defun load-game-text-info ((arg0 string) (arg1 symbol) (arg2 kheap))
|
||||
"Load text, if needed. txt-name is the group name, curr-text is the _symbol_ for
|
||||
the game-text-info, and heap is the heap to load to. The heap will be cleared."
|
||||
(local-vars (v0-3 int) (sv-16 game-text-info) (sv-24 int) (sv-32 int) (sv-40 int))
|
||||
(set! sv-16 (-> arg1 0))
|
||||
(set! sv-16 (the-as game-text-info (-> arg1 value)))
|
||||
(set! sv-24 (the-as int (-> *setting-control* user-current language)))
|
||||
(set! sv-32 0)
|
||||
(set! sv-40 (&- (-> arg2 top) (the-as uint (-> arg2 base))))
|
||||
@@ -298,11 +297,11 @@
|
||||
(flush-cache 0)
|
||||
(let ((s3-1 link))
|
||||
(format (clear *temp-string*) "~D~S.TXT" sv-24 arg0)
|
||||
(set! (-> arg1 0) (the-as game-text-info (s3-1 s2-1 (-> *temp-string* data) sv-32 arg2 0)))
|
||||
(set! (-> arg1 value) (s3-1 s2-1 (-> *temp-string* data) sv-32 arg2 0))
|
||||
)
|
||||
)
|
||||
(if (<= (the-as int (-> arg1 0)) 0)
|
||||
(set! (-> arg1 0) #f)
|
||||
(if (<= (the-as int (-> arg1 value)) 0)
|
||||
(set! (-> arg1 value) (the-as object #f))
|
||||
)
|
||||
)
|
||||
(set! v0-3 0)
|
||||
@@ -315,7 +314,7 @@
|
||||
This function made more sense back when text files were split up, but in the end they put everything
|
||||
in a single text group and file."
|
||||
(if (or *level-text-file-load-flag* (>= arg0 0))
|
||||
(load-game-text-info "common" (the-as (pointer game-text-info) '*common-text*) *common-text-heap*)
|
||||
(load-game-text-info "common" '*common-text* *common-text-heap*)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
|
||||
Reference in New Issue
Block a user