mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
109 lines
3.3 KiB
Common Lisp
109 lines
3.3 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: matrix-compose.gc
|
|
;; name in dgo: matrix-compose
|
|
;; dgos: GAME
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(defun matrix-fur-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 rvec quad) (-> arg3 quad))
|
|
(set! (-> arg0 uvec quad) (-> arg2 quad))
|
|
(set! (-> arg0 fvec quad) (-> arg1 quad))
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-fu-compose ((arg0 matrix) (arg1 vector) (arg2 vector))
|
|
(set! (-> arg0 fvec quad) (-> arg1 quad))
|
|
(set! (-> arg0 uvec quad) (-> arg2 quad))
|
|
(vector-cross! (-> arg0 rvec) arg2 arg1)
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-fr-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 fvec quad) (-> arg1 quad))
|
|
(set! (-> arg0 rvec quad) (-> arg2 quad))
|
|
(vector-cross! (-> arg0 uvec) arg1 arg2)
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-ur-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 rvec quad) (-> arg2 quad))
|
|
(set! (-> arg0 uvec quad) (-> arg1 quad))
|
|
(vector-cross! (-> arg0 fvec) arg1 arg2)
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-f-u-compose ((arg0 matrix) (arg1 vector) (arg2 vector))
|
|
(set! (-> arg0 fvec quad) (-> arg1 quad))
|
|
(vector-cross! (-> arg0 rvec) arg2 arg1)
|
|
(vector-normalize! (-> arg0 rvec) 1.0)
|
|
(vector-cross! (-> arg0 uvec) arg1 (-> arg0 rvec))
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-f-r-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 fvec quad) (-> arg1 quad))
|
|
(vector-cross! (-> arg0 uvec) arg1 arg2)
|
|
(vector-normalize! (-> arg0 uvec) 1.0)
|
|
(vector-cross! (-> arg0 rvec) (-> arg0 uvec) arg1)
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-u-f-compose ((arg0 matrix) (arg1 vector) (arg2 vector))
|
|
(set! (-> arg0 uvec quad) (-> arg1 quad))
|
|
(vector-cross! (-> arg0 rvec) arg1 arg2)
|
|
(vector-normalize! (-> arg0 rvec) 1.0)
|
|
(vector-cross! (-> arg0 fvec) (-> arg0 rvec) arg1)
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-u-r-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 uvec quad) (-> arg1 quad))
|
|
(vector-cross! (-> arg0 fvec) arg2 arg1)
|
|
(vector-normalize! (-> arg0 fvec) 1.0)
|
|
(vector-cross! (-> arg0 rvec) arg1 (-> arg0 fvec))
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-r-f-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 rvec quad) (-> arg1 quad))
|
|
(vector-cross! (-> arg0 uvec) arg2 arg1)
|
|
(vector-normalize! (-> arg0 uvec) 1.0)
|
|
(vector-cross! (-> arg0 fvec) arg1 (-> arg0 uvec))
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-r-u-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 rvec quad) (-> arg1 quad))
|
|
(vector-cross! (-> arg0 fvec) arg1 arg2)
|
|
(vector-normalize! (-> arg0 fvec) 1.0)
|
|
(vector-cross! (-> arg0 uvec) (-> arg0 fvec) arg1)
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-f-compose ((arg0 matrix) (arg1 vector) (arg2 float))
|
|
(set! (-> arg0 fvec quad) (-> arg1 quad))
|
|
(let ((a2-1 (vector-get-unique! (new 'stack-no-clear 'vector) arg1)))
|
|
(matrix-f-u-compose arg0 arg1 a2-1)
|
|
)
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-u-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 uvec quad) (-> arg1 quad))
|
|
(let ((a2-1 (vector-get-unique! (new 'stack-no-clear 'vector) arg1)))
|
|
(matrix-u-f-compose arg0 arg1 a2-1)
|
|
)
|
|
arg0
|
|
)
|
|
|
|
(defun matrix-r-compose ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 vector))
|
|
(set! (-> arg0 rvec quad) (-> arg1 quad))
|
|
(let ((a2-1 (vector-get-unique! (new 'stack-no-clear 'vector) arg1)))
|
|
(matrix-r-f-compose arg0 arg1 a2-1 arg3)
|
|
)
|
|
arg0
|
|
)
|