2024-01-20 10:42:51 -05:00
|
|
|
;;-*-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
|
|
|
|
)
|
|
|
|
|
2024-03-31 11:14:14 -04:00
|
|
|
(defun matrix-fu-compose ((arg0 matrix) (arg1 vector) (arg2 vector))
|
2024-01-20 10:42:51 -05:00
|
|
|
(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
|
|
|
|
)
|
|
|
|
|
2024-03-31 11:14:14 -04:00
|
|
|
(defun matrix-f-u-compose ((arg0 matrix) (arg1 vector) (arg2 vector))
|
2024-01-20 10:42:51 -05:00
|
|
|
(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
|
|
|
|
)
|
|
|
|
|
2024-03-30 10:28:02 -04:00
|
|
|
(defun matrix-u-f-compose ((arg0 matrix) (arg1 vector) (arg2 vector))
|
2024-01-20 10:42:51 -05:00
|
|
|
(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
|
|
|
|
)
|
|
|
|
|
2024-03-31 11:14:14 -04:00
|
|
|
(defun matrix-f-compose ((arg0 matrix) (arg1 vector) (arg2 float))
|
2024-01-20 10:42:51 -05:00
|
|
|
(set! (-> arg0 fvec quad) (-> arg1 quad))
|
|
|
|
(let ((a2-1 (vector-get-unique! (new 'stack-no-clear 'vector) arg1)))
|
2024-03-31 11:14:14 -04:00
|
|
|
(matrix-f-u-compose arg0 arg1 a2-1)
|
2024-01-20 10:42:51 -05:00
|
|
|
)
|
|
|
|
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)))
|
2024-03-30 10:28:02 -04:00
|
|
|
(matrix-u-f-compose arg0 arg1 a2-1)
|
2024-01-20 10:42:51 -05:00
|
|
|
)
|
|
|
|
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
|
|
|
|
)
|