mirror of
https://github.com/open-goal/jak-project
synced 2026-08-13 12:19:35 -04:00
d/jak2: finish glist | glist-h | camera | cam-interface | cam-states-dbg | cam-combiner | cam-debug | cam-start (#1829)
* d/jak2: finish `glist` and `glist-h` partially done `time-of-day` * d/jak2: finish `camera` and `cam-interface` * d/jak2: partially finish `cam-master` `cam-states`, and `cam-update` finish `cam-states-dbg` `cam-combiner` `cam-debug` and `cam-start` * tests: update ref tests * scripts: add scripts to automatically update gsrc files * d/jak2: update gsrc
This commit is contained in:
+22
-54
@@ -168,6 +168,21 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defmacro process-spawn (proc-type &key (init #f) &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *scratch-memory-top*) &rest args)
|
||||
"Start a new process and run an init function on it.
|
||||
Returns a pointer to the new process, or #f (or is it 0?) if something goes wrong."
|
||||
|
||||
(with-gensyms (new-proc)
|
||||
`(let ((,new-proc (the-as ,proc-type (get-process ,from ,proc-type ,stack-size))))
|
||||
(when ,new-proc
|
||||
((method-of-type ,proc-type activate) ,new-proc ,to ,(if name name `(quote ,proc-type)) ,stack)
|
||||
(run-now-in-process ,new-proc ,(if init init (string->symbol (fmt #f "{}-init-by-other" proc-type))) ,@args)
|
||||
(the (pointer ,proc-type) (-> ,new-proc ppointer))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defmacro b! (pred destination &key (delay '()) &key (likely-delay '()))
|
||||
"Branch!"
|
||||
@@ -727,59 +742,6 @@
|
||||
(argf 0.0)
|
||||
(setting (cadr s)))
|
||||
(cond
|
||||
; ((or (eq? setting 'border-mode)
|
||||
; (eq? setting 'allow-look-around)
|
||||
; (eq? setting 'ocean-off)
|
||||
; (eq? setting 'music)
|
||||
; (eq? setting 'vibration)
|
||||
; (eq? setting 'auto-save)
|
||||
; (eq? setting 'allow-pause)
|
||||
; (eq? setting 'allow-progress)
|
||||
; (eq? setting 'play-hints)
|
||||
; (eq? setting 'movie)
|
||||
; (eq? setting 'talking)
|
||||
; (eq? setting 'spooling)
|
||||
; (eq? setting 'hint)
|
||||
; (eq? setting 'ambient)
|
||||
; )
|
||||
; (set! argb (car args))
|
||||
; )
|
||||
; ((or (eq? setting 'bg-r)
|
||||
; (eq? setting 'bg-g)
|
||||
; (eq? setting 'bg-b)
|
||||
; (eq? setting 'bg-a)
|
||||
; (eq? setting 'bg-a-speed)
|
||||
; (eq? setting 'bg-a-force)
|
||||
; )
|
||||
; (set! argf (car args))
|
||||
; )
|
||||
; ((or (eq? setting 'language)
|
||||
; )
|
||||
; (set! argi (car args))
|
||||
; )
|
||||
; ((or (eq? setting 'sound-flava)
|
||||
; )
|
||||
; (set! argi (car args))
|
||||
; (set! argf (cadr args))
|
||||
; )
|
||||
; ((or (eq? setting 'process-mask)
|
||||
; (eq? setting 'common-page)
|
||||
; )
|
||||
; (set! argb (car args))
|
||||
; (set! argi (cadr args))
|
||||
; )
|
||||
; ((or (eq? setting 'sfx-volume)
|
||||
; (eq? setting 'music-volume)
|
||||
; (eq? setting 'ambient-volume)
|
||||
; (eq? setting 'dialog-volume)
|
||||
; (eq? setting 'sfx-volume-movie)
|
||||
; (eq? setting 'music-volume-movie)
|
||||
; (eq? setting 'ambient-volume-movie)
|
||||
; (eq? setting 'dialog-volume-hint)
|
||||
; )
|
||||
; (set! argb (car args))
|
||||
; (set! argf (cadr args))
|
||||
; )
|
||||
(#t
|
||||
(set! argb (car args))
|
||||
(set! argf (cadr args))
|
||||
@@ -790,11 +752,17 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defmacro add-setting! (s &rest args)
|
||||
`(setting-control-func! add-setting ,s ,@args)
|
||||
)
|
||||
(defmacro set-setting! (s &rest args)
|
||||
`(setting-control-func! set-setting ,s ,@args)
|
||||
)
|
||||
(defmacro remove-setting! (s)
|
||||
`(remove-setting *setting-control* (with-pp pp) ,s)
|
||||
)
|
||||
|
||||
(defmacro get-art-by-name (obj name type)
|
||||
"Helper macro for casting the result of get-art-by-name-method. Generated by decompiler."
|
||||
`(the-as ,type (get-art-by-name-method ,obj ,name ,type))
|
||||
)
|
||||
)
|
||||
|
||||
+4
-4
@@ -129,7 +129,7 @@
|
||||
|
||||
;; definition of type try-to-look-at-info
|
||||
(deftype try-to-look-at-info (basic)
|
||||
((who uint64 :offset-assert 8)
|
||||
((who handle :offset-assert 8)
|
||||
(horz float :offset-assert 16)
|
||||
(vert float :offset-assert 20)
|
||||
)
|
||||
@@ -682,9 +682,9 @@
|
||||
(matrix*! s2-0 s0-0 (-> arg0 parent bone transform))
|
||||
(set-vector!
|
||||
s1-0
|
||||
(vector-length (the-as vector (-> s2-0 data)))
|
||||
(vector-length (the-as vector (&-> s2-0 data 4)))
|
||||
(vector-length (the-as vector (&-> s2-0 data 8)))
|
||||
(vector-length (the-as vector (-> s2-0 vector)))
|
||||
(vector-length (-> s2-0 vector 1))
|
||||
(vector-length (-> s2-0 vector 2))
|
||||
1.0
|
||||
)
|
||||
(let ((v1-19 (-> gp-0 blend-transform scale)))
|
||||
|
||||
+3
-3
@@ -1192,9 +1192,9 @@
|
||||
(set! (-> gp-0 vector 2 quad) a1-1)
|
||||
(set! (-> gp-0 trans quad) a2-1)
|
||||
)
|
||||
(vector-normalize! (the-as vector (-> gp-0 data)) 1.0)
|
||||
(vector-normalize! (the-as vector (&-> gp-0 data 4)) 1.0)
|
||||
(vector-normalize! (the-as vector (&-> gp-0 data 8)) 1.0)
|
||||
(vector-normalize! (the-as vector (-> gp-0 vector)) 1.0)
|
||||
(vector-normalize! (-> gp-0 vector 1) 1.0)
|
||||
(vector-normalize! (-> gp-0 vector 2) 1.0)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
|
||||
+477
@@ -0,0 +1,477 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function cam-helper-temp
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior cam-helper-temp camera-combiner ((arg0 (pointer camera-slave)) (arg1 (pointer camera-slave)) (arg2 float))
|
||||
(local-vars (sv-144 cam-rotation-tracker))
|
||||
(set! sv-144 (-> arg0 0 tracking))
|
||||
(let ((s1-0 (-> arg0 0 trans))
|
||||
(gp-0 (-> arg1 0 tracking))
|
||||
(s0-0 (-> arg1 0 trans))
|
||||
)
|
||||
(cond
|
||||
((= (-> self tracking-status) 3)
|
||||
(cam-calc-follow! (-> self tracking) s1-0 #t)
|
||||
(slave-set-rotation! (-> self tracking) s1-0 (the-as float (-> self tracking-options)) (-> self fov) #t)
|
||||
(set! sv-144 (-> self tracking))
|
||||
(set! s1-0 (-> self trans))
|
||||
)
|
||||
((= (-> self tracking-status) 2)
|
||||
(cam-calc-follow! (-> self tracking) s0-0 #t)
|
||||
(slave-set-rotation! (-> self tracking) s0-0 (the-as float (-> self tracking-options)) (-> self fov) #t)
|
||||
(set! gp-0 (-> self tracking))
|
||||
(set! s0-0 (-> self trans))
|
||||
)
|
||||
)
|
||||
(let ((s2-0 (new 'stack-no-clear 'matrix)))
|
||||
(dotimes (v1-14 3)
|
||||
(set! (-> s2-0 vector v1-14 quad) (the-as uint128 0))
|
||||
)
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
(let ((s4-0 (new-stack-vector0)))
|
||||
0.0
|
||||
(let ((s3-0 (new-stack-matrix0)))
|
||||
(vector-!
|
||||
(the-as vector (-> s2-0 vector))
|
||||
(the-as vector (-> sv-144 inv-mat))
|
||||
(the-as vector (-> gp-0 inv-mat))
|
||||
)
|
||||
(vector-! (-> s2-0 vector 1) (-> sv-144 inv-mat vector 1) (-> gp-0 inv-mat vector 1))
|
||||
(vector-! (-> s2-0 vector 2) (-> sv-144 inv-mat vector 2) (-> gp-0 inv-mat vector 2))
|
||||
(let ((f0-6 (vector-length (the-as vector (-> s2-0 vector))))
|
||||
(f1-0 (vector-length (-> s2-0 vector 1)))
|
||||
(f2-0 (vector-length (-> s2-0 vector 2)))
|
||||
)
|
||||
(cond
|
||||
((and (< f0-6 f1-0) (< f0-6 f2-0))
|
||||
(vector-cross! s4-0 (-> s2-0 vector 1) (-> s2-0 vector 2))
|
||||
)
|
||||
((and (< f1-0 f0-6) (< f1-0 f2-0))
|
||||
(vector-cross! s4-0 (the-as vector (-> s2-0 vector)) (-> s2-0 vector 2))
|
||||
)
|
||||
(else
|
||||
(vector-cross! s4-0 (the-as vector (-> s2-0 vector)) (-> s2-0 vector 1))
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-normalize! s4-0 1.0)
|
||||
(let ((f0-9 (fabs (vector-dot (the-as vector (-> sv-144 inv-mat)) s4-0)))
|
||||
(f1-3 (fabs (vector-dot (-> sv-144 inv-mat vector 1) s4-0)))
|
||||
(f2-3 (fabs (vector-dot (-> sv-144 inv-mat vector 2) s4-0)))
|
||||
)
|
||||
(cond
|
||||
((and (< f0-9 f1-3) (< f0-9 f2-3))
|
||||
(vector-flatten! (the-as vector (-> s2-0 vector)) (the-as vector (-> sv-144 inv-mat)) s4-0)
|
||||
(vector-flatten! (-> s2-0 vector 1) (the-as vector (-> gp-0 inv-mat)) s4-0)
|
||||
)
|
||||
((< f1-3 f2-3)
|
||||
(vector-flatten! (the-as vector (-> s2-0 vector)) (-> sv-144 inv-mat vector 1) s4-0)
|
||||
(vector-flatten! (-> s2-0 vector 1) (-> gp-0 inv-mat vector 1) s4-0)
|
||||
)
|
||||
(else
|
||||
(vector-flatten! (the-as vector (-> s2-0 vector)) (-> sv-144 inv-mat vector 2) s4-0)
|
||||
(vector-flatten! (-> s2-0 vector 1) (-> gp-0 inv-mat vector 2) s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-normalize! (the-as vector (-> s2-0 vector)) 1.0)
|
||||
(vector-normalize! (-> s2-0 vector 1) 1.0)
|
||||
(vector-cross! (-> s2-0 vector 2) (the-as vector (-> s2-0 vector)) (-> s2-0 vector 1))
|
||||
(if (< (vector-dot (-> s2-0 vector 2) s4-0) 0.0)
|
||||
(vector-negate! s4-0 s4-0)
|
||||
)
|
||||
(let ((f30-0 (acos (vector-dot (the-as vector (-> s2-0 vector)) (-> s2-0 vector 1)))))
|
||||
(cond
|
||||
((logtest? (-> *camera* master-options) 2)
|
||||
(set! (-> *camera* master-options) (logand -7 (-> *camera* master-options)))
|
||||
(when (and (< 8192.0 f30-0) (logtest? (-> *camera* master-options) 1))
|
||||
(vector-! (the-as vector (-> s2-0 vector)) (-> *camera* tpos-curr) s1-0)
|
||||
(vector-! (-> s2-0 vector 1) s0-0 s1-0)
|
||||
(vector-flatten! (the-as vector (-> s2-0 vector)) (the-as vector (-> s2-0 vector)) (-> *camera* local-down))
|
||||
(vector-flatten! (-> s2-0 vector 1) (-> s2-0 vector 1) (-> *camera* local-down))
|
||||
(when (and (< 4096.0 (vector-normalize-ret-len! (the-as vector (-> s2-0 vector)) 1.0))
|
||||
(< 4096.0 (vector-normalize-ret-len! (-> s2-0 vector 1) 1.0))
|
||||
)
|
||||
(vector-cross! (-> s2-0 vector 2) (-> s2-0 vector 1) (the-as vector (-> s2-0 vector)))
|
||||
(when (< (vector-dot (-> s2-0 vector 2) s4-0) -0.01)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
((and (< 16384.0 f30-0) (< (vector-dot (-> self flip-control-axis) s4-0) 0.0))
|
||||
(logxor! (-> *camera* master-options) 4)
|
||||
)
|
||||
)
|
||||
(set! (-> self flip-control-axis quad) (-> s4-0 quad))
|
||||
(when (logtest? (-> *camera* master-options) 4)
|
||||
(set! f30-0 (- 65536.0 f30-0))
|
||||
(vector-negate! s4-0 s4-0)
|
||||
)
|
||||
(let ((f30-1 (* f30-0 (- 1.0 arg2))))
|
||||
(matrix-axis-sin-cos! s3-0 s4-0 (sin f30-1) (cos f30-1))
|
||||
)
|
||||
)
|
||||
(matrix*! (-> self inv-camera-rot) (the-as matrix gp-0) s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate cam-combiner-active (camera-combiner)
|
||||
:event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(local-vars (v0-0 none))
|
||||
(let ((v1-0 arg2))
|
||||
(the-as
|
||||
object
|
||||
(cond
|
||||
((= v1-0 'fast-rot)
|
||||
(set! v0-0 (the-as none #t))
|
||||
(set! (-> self fast-rot) (the-as basic v0-0))
|
||||
v0-0
|
||||
)
|
||||
((= v1-0 'set-interpolation)
|
||||
(let ((f0-1 (the float (-> arg3 param 0))))
|
||||
(cond
|
||||
((>= 0.0 f0-1)
|
||||
(let ((f0-2 1.0))
|
||||
(set! (-> self interp-val) f0-2)
|
||||
f0-2
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> self interp-val) 0.0)
|
||||
(let ((f0-3 (/ 5.0 f0-1)))
|
||||
(set! (-> self interp-step) f0-3)
|
||||
f0-3
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
((= v1-0 'teleport)
|
||||
(when (nonzero? (-> self tracking-status))
|
||||
(jump-to-target! (-> self tracking point-of-interest-blend) 0.0)
|
||||
(cam-calc-follow! (-> self tracking) (-> self trans) #f)
|
||||
(slave-set-rotation!
|
||||
(-> self tracking)
|
||||
(-> self trans)
|
||||
(the-as float (-> self tracking-options))
|
||||
(-> self fov)
|
||||
#f
|
||||
)
|
||||
)
|
||||
)
|
||||
((= v1-0 'stop-tracking)
|
||||
(set! (-> self tracking-status) (the-as uint 0))
|
||||
0
|
||||
)
|
||||
((= v1-0 'start-tracking)
|
||||
(cond
|
||||
((< arg1 1)
|
||||
(let ((t9-3 format)
|
||||
(a0-14 0)
|
||||
(a1-4 "ERROR <GMJ>: missing camera-slave parameter to *camera-combiner* start-tracking~%")
|
||||
)
|
||||
(let ((v1-8 (-> arg3 param 0)))
|
||||
(rtype-of v1-8)
|
||||
)
|
||||
(t9-3 a0-14 a1-4)
|
||||
)
|
||||
)
|
||||
((not (type? (-> arg3 param 0) camera-slave))
|
||||
(let ((t9-5 format)
|
||||
(a0-16 0)
|
||||
(a1-6 "ERROR <GMJ>: invalid type '~A' to *camera-combiner* start-tracking~%")
|
||||
(v1-11 (-> arg3 param 0))
|
||||
)
|
||||
(t9-5 a0-16 a1-6 (rtype-of v1-11))
|
||||
)
|
||||
)
|
||||
((zero? (-> self tracking-status))
|
||||
(set! (-> self tracking-status) (the-as uint 1))
|
||||
(let ((gp-1 (the-as camera-slave (-> arg3 param 0))))
|
||||
(set! (-> self tracking-options) (the-as int (-> gp-1 options)))
|
||||
(set! (-> self tracking no-follow) (-> gp-1 tracking no-follow))
|
||||
(copy-to (-> self tracking tilt-adjust) (-> gp-1 tracking tilt-adjust))
|
||||
(copy-to (-> self tracking underwater-blend) (-> gp-1 tracking underwater-blend))
|
||||
(copy-to (-> self tracking point-of-interest-blend) (-> gp-1 tracking point-of-interest-blend))
|
||||
(let ((gp-2 (-> gp-1 trans)))
|
||||
(cam-calc-follow! (-> self tracking) gp-2 #f)
|
||||
(slave-set-rotation! (-> self tracking) gp-2 (the-as float (-> self tracking-options)) (-> self fov) #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
((= v1-0 'copy-tracking)
|
||||
(cond
|
||||
((< arg1 1)
|
||||
(let ((t9-11 format)
|
||||
(a0-23 0)
|
||||
(a1-12 "ERROR <GMJ>: missing camera-slave parameter to *camera-combiner* copy-tracking~%")
|
||||
)
|
||||
(let ((v1-23 (-> arg3 param 0)))
|
||||
(rtype-of v1-23)
|
||||
)
|
||||
(t9-11 a0-23 a1-12)
|
||||
)
|
||||
)
|
||||
((not (type? (-> arg3 param 0) camera-slave))
|
||||
(let ((t9-13 format)
|
||||
(a0-25 0)
|
||||
(a1-14 "ERROR <GMJ>: invalid type '~A' to *camera-combiner* copy-tracking~%")
|
||||
(v1-25 (-> arg3 param 0))
|
||||
)
|
||||
(t9-13 a0-25 a1-14 (rtype-of v1-25))
|
||||
)
|
||||
)
|
||||
((nonzero? (-> self tracking-status))
|
||||
#f
|
||||
)
|
||||
(else
|
||||
(set! (-> self tracking-status) (the-as uint 1))
|
||||
(let ((gp-3 (the-as camera-slave (-> arg3 param 0))))
|
||||
(set! (-> self tracking-options) (the-as int (-> gp-3 options)))
|
||||
(set! (-> self tracking no-follow) (-> gp-3 tracking no-follow))
|
||||
(copy-to (-> self tracking tilt-adjust) (-> gp-3 tracking tilt-adjust))
|
||||
(copy-to (-> self tracking underwater-blend) (-> gp-3 tracking underwater-blend))
|
||||
(set! (-> self tracking follow-off quad) (-> gp-3 tracking follow-off quad))
|
||||
(set! (-> self tracking follow-pt quad) (-> gp-3 tracking follow-pt quad))
|
||||
(let* ((a2-23 (-> self tracking))
|
||||
(a3-7 (-> gp-3 tracking))
|
||||
(v1-37 (-> a3-7 inv-mat vector 0 quad))
|
||||
(a0-32 (-> a3-7 inv-mat vector 1 quad))
|
||||
(a1-17 (-> a3-7 inv-mat vector 2 quad))
|
||||
(a3-8 (-> a3-7 inv-mat trans quad))
|
||||
)
|
||||
(set! (-> a2-23 inv-mat vector 0 quad) v1-37)
|
||||
(set! (-> a2-23 inv-mat vector 1 quad) a0-32)
|
||||
(set! (-> a2-23 inv-mat vector 2 quad) a1-17)
|
||||
(set! (-> a2-23 inv-mat trans quad) a3-8)
|
||||
)
|
||||
(copy-to (-> self tracking point-of-interest-blend) (-> gp-3 tracking point-of-interest-blend))
|
||||
(set! (-> self tracking looking-at quad) (-> gp-3 tracking looking-at quad))
|
||||
(set! v0-0 (the-as none (-> self tracking looking-interesting)))
|
||||
(set! (-> (the-as vector v0-0) quad) (-> gp-3 tracking looking-interesting quad))
|
||||
)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(when *debug-segment*
|
||||
(let ((gp-0 (-> *display* frames (-> *display* on-screen) profile-array data 0))
|
||||
(v1-7 'camera)
|
||||
(s5-0 *profile-camera-color*)
|
||||
)
|
||||
(when (and *dproc* *debug-segment*)
|
||||
(let ((s4-0 (-> gp-0 data (-> gp-0 count))))
|
||||
(let ((s3-0 (-> gp-0 base-time)))
|
||||
(set! (-> s4-0 name) v1-7)
|
||||
(set! (-> s4-0 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s3-0))))
|
||||
)
|
||||
(set! (-> s4-0 depth) (the-as uint (-> gp-0 depth)))
|
||||
(set! (-> s4-0 color) s5-0)
|
||||
(set! (-> gp-0 segment (-> gp-0 depth)) s4-0)
|
||||
)
|
||||
(+! (-> gp-0 count) 1)
|
||||
(+! (-> gp-0 depth) 1)
|
||||
(set! (-> gp-0 max-depth) (max (-> gp-0 max-depth) (-> gp-0 depth)))
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
(when (and (zero? (logand (-> *camera* master-options) 1)) (!= (-> self tracking-status) 0))
|
||||
(set! (-> self tracking-status) (the-as uint 0))
|
||||
0
|
||||
)
|
||||
(when *camera*
|
||||
(let ((s5-1 (-> *camera* slave))
|
||||
(s4-1 (-> *camera* decel))
|
||||
(f30-0 (parameter-ease-sin-clamp (-> self interp-val)))
|
||||
(gp-1 (new-stack-vector0))
|
||||
)
|
||||
(set! (-> gp-1 quad) (-> self trans quad))
|
||||
(when s5-1
|
||||
(cond
|
||||
((< (-> self interp-val) 1.0)
|
||||
(vector-lerp-clamp! (-> self trans) (-> s4-1 0 trans) (-> s5-1 0 trans) f30-0)
|
||||
(set! (-> self fov) (lerp-clamp (-> s4-1 0 fov) (-> s5-1 0 fov) f30-0))
|
||||
(set! (-> self dist-from-src) (vector-vector-distance (-> self trans) (-> s4-1 0 trans)))
|
||||
(set! (-> self dist-from-dest) (vector-vector-distance (-> self trans) (-> s5-1 0 trans)))
|
||||
(cond
|
||||
((= (-> self tracking-status) 1)
|
||||
(cam-calc-follow! (-> self tracking) (-> self trans) #t)
|
||||
(slave-set-rotation!
|
||||
(-> self tracking)
|
||||
(-> self trans)
|
||||
(the-as float (-> self tracking-options))
|
||||
(-> self fov)
|
||||
(not (-> self fast-rot))
|
||||
)
|
||||
(let* ((a2-4 (-> self inv-camera-rot))
|
||||
(a3-2 (-> self tracking))
|
||||
(v1-42 (-> a3-2 inv-mat vector 0 quad))
|
||||
(a0-18 (-> a3-2 inv-mat vector 1 quad))
|
||||
(a1-8 (-> a3-2 inv-mat vector 2 quad))
|
||||
(a3-3 (-> a3-2 inv-mat trans quad))
|
||||
)
|
||||
(set! (-> a2-4 vector 0 quad) v1-42)
|
||||
(set! (-> a2-4 vector 1 quad) a0-18)
|
||||
(set! (-> a2-4 vector 2 quad) a1-8)
|
||||
(set! (-> a2-4 trans quad) a3-3)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(cam-helper-temp s4-1 s5-1 f30-0)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((and (< 0.0 (-> *camera* outro-t-step)) (< (-> *camera* outro-t) (-> *camera* outro-exit-value)))
|
||||
)
|
||||
((and (< (-> *camera* outro-t-step) 0.0) (< (-> *camera* outro-exit-value) (-> *camera* outro-t)))
|
||||
)
|
||||
((paused?)
|
||||
)
|
||||
(else
|
||||
(+! (-> self interp-val) (* (-> self interp-step) (-> self clock time-adjust-ratio)))
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> self dist-from-src) 409600.0)
|
||||
(set! (-> self dist-from-dest) 0.0)
|
||||
(set! (-> self trans quad) (-> s5-1 0 trans quad))
|
||||
(set! (-> self fov) (-> s5-1 0 fov))
|
||||
(cond
|
||||
((= (-> self tracking-status) 2)
|
||||
(set! (-> self tracking-status) (the-as uint 1))
|
||||
)
|
||||
((= (-> self tracking-status) 3)
|
||||
(set! (-> self tracking-status) (the-as uint 0))
|
||||
0
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((= (-> self tracking-status) 1)
|
||||
(cam-calc-follow! (-> self tracking) (-> self trans) #t)
|
||||
(slave-set-rotation!
|
||||
(-> self tracking)
|
||||
(-> self trans)
|
||||
(the-as float (-> self tracking-options))
|
||||
(-> self fov)
|
||||
(not (-> self fast-rot))
|
||||
)
|
||||
(let* ((v1-71 (-> self inv-camera-rot))
|
||||
(a3-5 (-> self tracking))
|
||||
(a0-25 (-> a3-5 inv-mat vector 0 quad))
|
||||
(a1-12 (-> a3-5 inv-mat vector 1 quad))
|
||||
(a2-8 (-> a3-5 inv-mat vector 2 quad))
|
||||
(a3-6 (-> a3-5 inv-mat trans quad))
|
||||
)
|
||||
(set! (-> v1-71 vector 0 quad) a0-25)
|
||||
(set! (-> v1-71 vector 1 quad) a1-12)
|
||||
(set! (-> v1-71 vector 2 quad) a2-8)
|
||||
(set! (-> v1-71 trans quad) a3-6)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let* ((v1-72 (-> self inv-camera-rot))
|
||||
(a3-7 (-> s5-1 0 tracking))
|
||||
(a0-27 (-> a3-7 inv-mat vector 0 quad))
|
||||
(a1-13 (-> a3-7 inv-mat vector 1 quad))
|
||||
(a2-9 (-> a3-7 inv-mat vector 2 quad))
|
||||
(a3-8 (-> a3-7 inv-mat trans quad))
|
||||
)
|
||||
(set! (-> v1-72 vector 0 quad) a0-27)
|
||||
(set! (-> v1-72 vector 1 quad) a1-13)
|
||||
(set! (-> v1-72 vector 2 quad) a2-9)
|
||||
(set! (-> v1-72 trans quad) a3-8)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-! (-> self velocity) (-> self trans) gp-1)
|
||||
)
|
||||
)
|
||||
(when *debug-segment*
|
||||
(let ((gp-2 (-> *display* frames (-> *display* on-screen) profile-array data 0)))
|
||||
(when (and *dproc* *debug-segment*)
|
||||
(let* ((v1-85 (+ (-> gp-2 depth) -1))
|
||||
(s5-2 (-> gp-2 segment v1-85))
|
||||
(s4-2 (-> gp-2 base-time))
|
||||
)
|
||||
(when (>= v1-85 0)
|
||||
(set! (-> s5-2 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-2))))
|
||||
(+! (-> gp-2 depth) -1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
(set! (-> self fast-rot) #f)
|
||||
(suspend)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-combiner-init
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defbehavior cam-combiner-init camera-combiner ()
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
(vector-reset! (-> self trans))
|
||||
(matrix-identity! (-> self inv-camera-rot))
|
||||
(cond
|
||||
(*math-camera*
|
||||
(set! (-> self fov) (-> *math-camera* fov))
|
||||
(set! (-> self trans quad) (-> *math-camera* trans quad))
|
||||
(let* ((v1-6 (-> self inv-camera-rot))
|
||||
(a3-0 (-> *math-camera* inv-camera-rot))
|
||||
(a0-6 (-> a3-0 vector 0 quad))
|
||||
(a1-1 (-> a3-0 vector 1 quad))
|
||||
(a2-0 (-> a3-0 vector 2 quad))
|
||||
(a3-1 (-> a3-0 trans quad))
|
||||
)
|
||||
(set! (-> v1-6 vector 0 quad) a0-6)
|
||||
(set! (-> v1-6 vector 1 quad) a1-1)
|
||||
(set! (-> v1-6 vector 2 quad) a2-0)
|
||||
(set! (-> v1-6 trans quad) a3-1)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> self fov) 11650.845)
|
||||
)
|
||||
)
|
||||
(set! (-> self interp-val) 1.0)
|
||||
(set! (-> self interp-step) 0.125)
|
||||
(set! (-> self tracking-status) (the-as uint 0))
|
||||
(set! (-> self fast-rot) #f)
|
||||
(init (-> self tracking tilt-adjust) (-> *CAMERA-bank* default-tilt-adjust) 9.102222 91.022224 0.25)
|
||||
(init
|
||||
(-> self tracking follow-height-extra)
|
||||
(-> *setting-control* cam-current extra-follow-height)
|
||||
81.92
|
||||
819.2
|
||||
0.5
|
||||
)
|
||||
(vector-reset! (-> self velocity))
|
||||
(go cam-combiner-active)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
+2124
File diff suppressed because it is too large
Load Diff
+125
@@ -0,0 +1,125 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function position-in-front-of-camera!
|
||||
(defun position-in-front-of-camera! ((arg0 vector) (arg1 float) (arg2 float))
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
(vf1 :class vf)
|
||||
(vf2 :class vf)
|
||||
(vf3 :class vf)
|
||||
(vf4 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(vector-float*! arg0 (-> *math-camera* inv-camera-rot vector 2) arg1)
|
||||
(let ((v1-2 arg0))
|
||||
(let ((a1-1 arg0)
|
||||
(a3-3 (-> *math-camera* inv-camera-rot vector 1))
|
||||
(f0-1 arg2)
|
||||
)
|
||||
(.lvf vf2 (&-> a3-3 quad))
|
||||
(.lvf vf1 (&-> a1-1 quad))
|
||||
(let ((a1-2 f0-1))
|
||||
(.mov vf3 a1-2)
|
||||
)
|
||||
)
|
||||
(.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-2 quad) vf4)
|
||||
)
|
||||
(vector+! arg0 arg0 (-> *math-camera* trans))
|
||||
arg0
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function position-in-front-of-screen!
|
||||
(defun position-in-front-of-screen! ((arg0 vector) (arg1 float) (arg2 vector))
|
||||
(let ((a2-1 (vector-negate! (new 'stack-no-clear 'vector) (-> *math-camera* inv-camera-rot vector 2)))
|
||||
(a1-3 (vector-float*! (new 'stack-no-clear 'vector) (-> *math-camera* inv-camera-rot vector 2) arg1))
|
||||
)
|
||||
(vector+! (the-as vector a1-3) (the-as vector a1-3) (-> *math-camera* trans))
|
||||
(reverse-transform-point! arg0 (the-as vector a1-3) a2-1 arg2)
|
||||
)
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function matrix-local->world
|
||||
(defun matrix-local->world ((smooth? symbol))
|
||||
"Returns [[*math-camera*]]'s `inv-camera-rot-smooth` if `smooth?` is true, else return `inv-camera-rot`"
|
||||
(if smooth?
|
||||
(-> *math-camera* inv-camera-rot-smooth)
|
||||
(-> *math-camera* inv-camera-rot)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function matrix-world->local
|
||||
(defun matrix-world->local ()
|
||||
"Returns [[*math-camera*]]'s `camera-rot`"
|
||||
(-> *math-camera* camera-rot)
|
||||
)
|
||||
|
||||
;; definition (perm) for symbol *camera-dummy-vector*, type vector
|
||||
(define-perm *camera-dummy-vector* vector (vector-reset! (new 'global 'vector)))
|
||||
|
||||
;; definition for function camera-pos
|
||||
(defun camera-pos ()
|
||||
"Returns the `trans` vector from whatever is first determined to exist:
|
||||
- [[*camera-combiner*]]
|
||||
- [[*math-camera*]]
|
||||
- else, [[*camera-dummy-vector*]]"
|
||||
(cond
|
||||
(*camera-combiner*
|
||||
(-> *camera-combiner* trans)
|
||||
)
|
||||
(*math-camera*
|
||||
(-> *math-camera* trans)
|
||||
)
|
||||
(else
|
||||
*camera-dummy-vector*
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function math-camera-pos
|
||||
(defun math-camera-pos ()
|
||||
"Returns [[*math-camera*]]'s `trans`"
|
||||
(-> *math-camera* trans)
|
||||
)
|
||||
|
||||
;; definition for function camera-matrix
|
||||
(defun camera-matrix ()
|
||||
"If [[*camera-combiner*]] exists, return it's `inv-camera-rot`. Else, return [[*math-camera*]]'s"
|
||||
(if *camera-combiner*
|
||||
(-> *camera-combiner* inv-camera-rot)
|
||||
(-> *math-camera* inv-camera-rot)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function math-camera-matrix
|
||||
(defun math-camera-matrix ()
|
||||
"Returns [[*math-camera*]]'s `inv-camera-rot`"
|
||||
(-> *math-camera* inv-camera-rot)
|
||||
)
|
||||
|
||||
;; definition for function camera-angle
|
||||
(defun camera-angle ()
|
||||
(let ((f0-0 (-> *math-camera* camera-rot vector 0 x))
|
||||
(f1-0 (-> *math-camera* camera-rot vector 0 z))
|
||||
)
|
||||
(atan f1-0 f0-0)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function camera-teleport-to-entity
|
||||
;; INFO: Used lq/sq
|
||||
;; INFO: Return type mismatch object vs none.
|
||||
(defbehavior camera-teleport-to-entity process ((arg0 entity-actor))
|
||||
(let ((gp-0 (new 'stack 'transformq)))
|
||||
(set! (-> gp-0 trans quad) (-> arg0 extra trans quad))
|
||||
(quaternion-copy! (-> gp-0 quat) (-> arg0 quat))
|
||||
(vector-identity! (-> gp-0 scale))
|
||||
(send-event *camera* 'teleport-to-transformq gp-0)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function cam-stop
|
||||
(defun cam-stop ()
|
||||
(kill-by-name "camera-master" *active-pool*)
|
||||
(kill-by-name "camera-slave" *active-pool*)
|
||||
(kill-by-name "camera-combiner" *active-pool*)
|
||||
(set! *camera* #f)
|
||||
(set! *camera-combiner* #f)
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function cam-start
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defun cam-start ((arg0 symbol))
|
||||
(cam-stop)
|
||||
(set! *camera-combiner*
|
||||
(the-as camera-combiner (ppointer->process (process-spawn
|
||||
camera-combiner
|
||||
:init cam-combiner-init
|
||||
:name (symbol->string (-> camera-combiner symbol))
|
||||
:from *camera-dead-pool*
|
||||
:to *camera-pool*
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! *camera* (the-as camera-master (ppointer->process (process-spawn
|
||||
camera-master
|
||||
:init cam-master-init
|
||||
:name (symbol->string (-> camera-master symbol))
|
||||
:from *camera-master-dead-pool*
|
||||
:to *camera-pool*
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if arg0
|
||||
(reset-cameras)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(cam-start #f)
|
||||
|
||||
|
||||
|
||||
|
||||
+532
@@ -0,0 +1,532 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type cam-point-watch-bank
|
||||
(deftype cam-point-watch-bank (basic)
|
||||
((speed float :offset-assert 4)
|
||||
(rot-speed degrees :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xc
|
||||
:flag-assert #x90000000c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type cam-point-watch-bank
|
||||
(defmethod inspect cam-point-watch-bank ((obj cam-point-watch-bank))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~1Tspeed: ~f~%" (-> obj speed))
|
||||
(format #t "~1Trot-speed: (deg ~r)~%" (-> obj rot-speed))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *CAM_POINT_WATCH-bank*, type cam-point-watch-bank
|
||||
(define *CAM_POINT_WATCH-bank* (new 'static 'cam-point-watch-bank :speed 1600.0 :rot-speed (degrees 0.6)))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate cam-point-watch (camera-slave)
|
||||
:event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(let ((v1-0 arg2))
|
||||
(the-as object (if (= v1-0 'teleport)
|
||||
#f
|
||||
(cam-standard-event-handler arg0 arg1 arg2 arg3)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:enter (behavior ()
|
||||
(when (not (-> self enter-has-run))
|
||||
(set! (-> self pivot-rad) 40960.0)
|
||||
(set! (-> self blend-from-type) (the-as uint 1))
|
||||
(set! (-> self blend-to-type) (camera-blend-to-type unknown-1))
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(let ((s5-0 (new-stack-vector0))
|
||||
(gp-0 (new-stack-vector0))
|
||||
)
|
||||
(when (zero? (logand (-> *camera* settings master-options) (cam-master-options IGNORE_ANALOG)))
|
||||
(let ((f28-0 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 48.0 110.0 -1.0))
|
||||
(f30-0 (analog-input (the-as int (-> *cpad-list* cpads 0 lefty)) 128.0 48.0 110.0 -1.0))
|
||||
(f26-0 (analog-input (the-as int (-> *cpad-list* cpads 0 rightx)) 128.0 48.0 110.0 -1.0))
|
||||
(f0-0 (analog-input (the-as int (-> *cpad-list* cpads 0 righty)) 128.0 48.0 110.0 -1.0))
|
||||
)
|
||||
(cond
|
||||
((cpad-hold? (-> *CAMERA-bank* joypad) r2)
|
||||
(set! (-> s5-0 y) (- (-> s5-0 y) (* 0.2 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f26-0))))
|
||||
(set! (-> s5-0 x) (- (-> s5-0 x) (* 0.2 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f0-0))))
|
||||
(+! (-> gp-0 x) (* 0.2 (-> *CAM_POINT_WATCH-bank* speed) f28-0))
|
||||
(+! (-> gp-0 z) (* 0.2 (-> *CAM_POINT_WATCH-bank* speed) f30-0))
|
||||
)
|
||||
(else
|
||||
(set! (-> s5-0 y) (- (-> s5-0 y) (* 2.0 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f26-0))))
|
||||
(set! (-> s5-0 x) (- (-> s5-0 x) (* 2.0 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f0-0))))
|
||||
(+! (-> gp-0 x) (* 2.0 (-> *CAM_POINT_WATCH-bank* speed) f28-0))
|
||||
(+! (-> gp-0 z) (* 2.0 (-> *CAM_POINT_WATCH-bank* speed) f30-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-0 (new-stack-vector0)))
|
||||
(let ((s3-0 (new-stack-matrix0)))
|
||||
(matrix-axis-angle! s3-0 (the-as vector (-> self tracking)) (- (-> s5-0 x)))
|
||||
(vector-matrix*! s4-0 (the-as vector (&-> self stack 112)) s3-0)
|
||||
(matrix-axis-angle! s3-0 (-> *camera* local-down) (- (-> s5-0 y)))
|
||||
(vector-matrix*! s4-0 s4-0 s3-0)
|
||||
)
|
||||
(forward-down->inv-matrix (the-as matrix (-> self tracking)) s4-0 (-> *camera* local-down))
|
||||
)
|
||||
(set! (-> self pivot-rad) (- (-> self pivot-rad) (-> gp-0 z)))
|
||||
(if (< (-> self pivot-rad) 4096.0)
|
||||
(set! (-> self pivot-rad) 4096.0)
|
||||
)
|
||||
(set-vector! gp-0 0.0 0.0 (- (-> self pivot-rad)) 1.0)
|
||||
(vector-matrix*! (-> self trans) gp-0 (the-as matrix (-> self tracking)))
|
||||
)
|
||||
)
|
||||
(suspend)
|
||||
0
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type cam-free-bank
|
||||
(deftype cam-free-bank (basic)
|
||||
((speed float :offset-assert 4)
|
||||
(rot-speed degrees :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xc
|
||||
:flag-assert #x90000000c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type cam-free-bank
|
||||
(defmethod inspect cam-free-bank ((obj cam-free-bank))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~1Tspeed: ~f~%" (-> obj speed))
|
||||
(format #t "~1Trot-speed: (deg ~r)~%" (-> obj rot-speed))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *CAM_FREE-bank*, type cam-free-bank
|
||||
(define *CAM_FREE-bank* (new 'static 'cam-free-bank :speed 1600.0 :rot-speed (degrees 0.6)))
|
||||
|
||||
;; definition for function cam-mouse-input
|
||||
(defun cam-mouse-input ((arg0 vector) (arg1 vector))
|
||||
(let ((v1-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! v1-0 (the-as vector (-> *mouse* pos)) (-> *mouse* pos 1))
|
||||
(cond
|
||||
((logtest? (-> *mouse* button0-abs 0) 1)
|
||||
(let ((a0-7 (new 'stack-no-clear 'vector)))
|
||||
0.0
|
||||
(vector-! a0-7 (-> *math-camera* trans) (-> *setting-control* cam-current mouse-tumble-point))
|
||||
(let ((f30-0 (vector-length a0-7)))
|
||||
(cond
|
||||
(#f
|
||||
(let* ((f28-0 (* 0.01 f30-0 (-> v1-0 x)))
|
||||
(f26-0 (* 0.01 f30-0 (-> v1-0 y)))
|
||||
(f0-5 f28-0)
|
||||
(f0-7 (* f0-5 f0-5))
|
||||
(f1-2 f26-0)
|
||||
(f0-8 (+ f0-7 (* f1-2 f1-2)))
|
||||
(f1-5 f30-0)
|
||||
(f22-0 (- (sqrtf (+ f0-8 (* f1-5 f1-5))) f30-0))
|
||||
(f24-0 (atan f26-0 f30-0))
|
||||
(f0-12 (atan (- f28-0) f30-0))
|
||||
)
|
||||
(+! (-> arg1 x) f28-0)
|
||||
(+! (-> arg1 y) f26-0)
|
||||
(+! (-> arg1 z) f22-0)
|
||||
(+! (-> arg0 x) f24-0)
|
||||
(let ((f0-13 (+ (-> arg0 y) f0-12)))
|
||||
(set! (-> arg0 y) f0-13)
|
||||
f0-13
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(+! (-> arg0 y) (* (- (-> v1-0 x)) (-> *CAM_FREE-bank* rot-speed)))
|
||||
(let ((f0-17 (+ (-> arg0 x) (* (-> v1-0 y) (-> *CAM_FREE-bank* rot-speed)))))
|
||||
(set! (-> arg0 x) f0-17)
|
||||
f0-17
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
((logtest? (-> *mouse* button0-abs 0) 2)
|
||||
(+! (-> arg1 x) (* (-> v1-0 x) (-> *CAM_FREE-bank* speed)))
|
||||
(let ((f0-21 (+ (-> arg1 z) (* (-> v1-0 y) (-> *CAM_FREE-bank* speed)))))
|
||||
(set! (-> arg1 z) f0-21)
|
||||
f0-21
|
||||
)
|
||||
)
|
||||
((logtest? (-> *mouse* button0-abs 0) 4)
|
||||
(+! (-> arg1 x) (* (-> v1-0 x) (-> *CAM_FREE-bank* speed)))
|
||||
(let ((f0-25 (+ (-> arg1 y) (* (-> v1-0 y) (-> *CAM_FREE-bank* speed)))))
|
||||
(set! (-> arg1 y) f0-25)
|
||||
f0-25
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-free-floating-input
|
||||
;; INFO: Return type mismatch uint vs vector.
|
||||
(defun cam-free-floating-input ((arg0 vector) (arg1 vector) (arg2 symbol) (arg3 int))
|
||||
(with-pp
|
||||
(the-as
|
||||
vector
|
||||
(when *camera*
|
||||
(if (-> *setting-control* cam-current mouse-input)
|
||||
(cam-mouse-input arg0 arg1)
|
||||
)
|
||||
(let ((s3-0 (and (-> *setting-control* cam-current cpad1-skip-buttons) (= arg3 1))))
|
||||
(when (not s3-0)
|
||||
(when (and (!= *master-mode* 'menu) (not *cam-layout*))
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 x)
|
||||
(set! (-> arg0 x)
|
||||
(- (-> arg0 x) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input
|
||||
(the-as int (-> *cpad-list* cpads arg3 abutton 6))
|
||||
0.0
|
||||
32.0
|
||||
230.0
|
||||
(-> *CAM_FREE-bank* rot-speed)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 triangle)
|
||||
(+! (-> arg0 x) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input
|
||||
(the-as int (-> *cpad-list* cpads arg3 abutton 4))
|
||||
0.0
|
||||
32.0
|
||||
230.0
|
||||
(-> *CAM_FREE-bank* rot-speed)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 square)
|
||||
(+! (-> arg0 y) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input
|
||||
(the-as int (-> *cpad-list* cpads arg3 abutton 7))
|
||||
0.0
|
||||
32.0
|
||||
230.0
|
||||
(-> *CAM_FREE-bank* rot-speed)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 circle)
|
||||
(set! (-> arg0 y)
|
||||
(- (-> arg0 y) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input
|
||||
(the-as int (-> *cpad-list* cpads arg3 abutton 5))
|
||||
0.0
|
||||
32.0
|
||||
230.0
|
||||
(-> *CAM_FREE-bank* rot-speed)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when arg2
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 l2)
|
||||
(+! (-> arg0 z) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input
|
||||
(the-as int (-> *cpad-list* cpads arg3 abutton 10))
|
||||
0.0
|
||||
32.0
|
||||
230.0
|
||||
(-> *CAM_FREE-bank* rot-speed)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 r2)
|
||||
(set! (-> arg0 z)
|
||||
(- (-> arg0 z) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input
|
||||
(the-as int (-> *cpad-list* cpads arg3 abutton 11))
|
||||
0.0
|
||||
32.0
|
||||
230.0
|
||||
(-> *CAM_FREE-bank* rot-speed)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (nonzero? arg3)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 left)
|
||||
(+! (-> arg1 x)
|
||||
(+ (-> *CAM_FREE-bank* speed)
|
||||
(analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 1)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 right)
|
||||
(set! (-> arg1 x)
|
||||
(- (-> arg1 x)
|
||||
(+ (-> *CAM_FREE-bank* speed)
|
||||
(analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 0)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 up)
|
||||
(+! (-> arg1 z)
|
||||
(+ (-> *CAM_FREE-bank* speed)
|
||||
(analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 2)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 down)
|
||||
(set! (-> arg1 z)
|
||||
(- (-> arg1 z)
|
||||
(+ (-> *CAM_FREE-bank* speed)
|
||||
(analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 3)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((logtest? (-> *camera* settings master-options) (cam-master-options IGNORE_ANALOG))
|
||||
)
|
||||
((cpad-hold? arg3 r2)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 r1)
|
||||
(+! (-> arg1 y) (+ (* 0.2 (-> *CAM_FREE-bank* speed)) (analog-input
|
||||
(the-as int (-> *cpad-list* cpads arg3 abutton 9))
|
||||
0.0
|
||||
32.0
|
||||
230.0
|
||||
(* 0.2 (-> *CAM_FREE-bank* speed))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 l1)
|
||||
(set! (-> arg1 y)
|
||||
(- (-> arg1 y) (+ (* 0.2 (-> *CAM_FREE-bank* speed)) (analog-input
|
||||
(the-as int (-> *cpad-list* cpads arg3 abutton 8))
|
||||
0.0
|
||||
32.0
|
||||
230.0
|
||||
(* 0.2 (-> *CAM_FREE-bank* speed))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 r1)
|
||||
(+! (-> arg1 y)
|
||||
(+ (-> *CAM_FREE-bank* speed)
|
||||
(analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 9)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (logtest? (-> *camera* settings master-options) (cam-master-options READ_BUTTONS))
|
||||
(if (cpad-hold? arg3 l1)
|
||||
(set! (-> arg1 y)
|
||||
(- (-> arg1 y)
|
||||
(+ (-> *CAM_FREE-bank* speed)
|
||||
(analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 8)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (zero? (logand (-> *camera* settings master-options) (cam-master-options IGNORE_ANALOG)))
|
||||
(let ((f28-14 (analog-input (the-as int (-> *cpad-list* cpads arg3 leftx)) 128.0 48.0 110.0 -1.0))
|
||||
(f30-14 (analog-input (the-as int (-> *cpad-list* cpads arg3 lefty)) 128.0 48.0 110.0 -1.0))
|
||||
(f26-0 (analog-input (the-as int (-> *cpad-list* cpads arg3 rightx)) 128.0 48.0 110.0 -1.0))
|
||||
(f0-60 (analog-input (the-as int (-> *cpad-list* cpads arg3 righty)) 128.0 48.0 110.0 -1.0))
|
||||
)
|
||||
(cond
|
||||
((and (not s3-0) (cpad-hold? arg3 r2))
|
||||
(cond
|
||||
((cpad-hold? arg3 l2)
|
||||
(set! (-> arg0 y) (- (-> arg0 y) (* 0.5 (-> *CAM_FREE-bank* rot-speed) (- f26-0))))
|
||||
(set! (-> arg0 x) (- (-> arg0 x) (* 0.5 (-> *CAM_FREE-bank* rot-speed) (- f0-60))))
|
||||
)
|
||||
(else
|
||||
(set! (-> arg0 y) (- (-> arg0 y) (* (- f26-0) (-> *CAM_FREE-bank* rot-speed))))
|
||||
(set! (-> arg0 x) (- (-> arg0 x) (* (- f0-60) (-> *CAM_FREE-bank* rot-speed))))
|
||||
)
|
||||
)
|
||||
(+! (-> arg1 x) (* 0.2 (-> *CAM_FREE-bank* speed) f28-14))
|
||||
(+! (-> arg1 z) (* 0.2 (-> *CAM_FREE-bank* speed) f30-14))
|
||||
)
|
||||
((and (not s3-0) (cpad-hold? arg3 l2))
|
||||
(+! (-> arg1 x) (* f28-14 (-> *CAM_FREE-bank* speed)))
|
||||
(+! (-> arg1 y) (* f0-60 (-> *CAM_FREE-bank* speed)))
|
||||
(+! (-> arg1 z) (* f30-14 (-> *CAM_FREE-bank* speed)))
|
||||
)
|
||||
(else
|
||||
(set! (-> arg0 y) (- (-> arg0 y) (* 2.0 (-> *CAM_FREE-bank* rot-speed) (- f26-0))))
|
||||
(set! (-> arg0 x) (- (-> arg0 x) (* 2.0 (-> *CAM_FREE-bank* rot-speed) (- f0-60))))
|
||||
(+! (-> arg1 x) (* 2.0 (-> *CAM_FREE-bank* speed) f28-14))
|
||||
(+! (-> arg1 z) (* 2.0 (-> *CAM_FREE-bank* speed) f30-14))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-float*! arg0 arg0 (-> pp clock time-adjust-ratio))
|
||||
(vector-float*! arg1 arg1 (-> pp clock time-adjust-ratio))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type camera-free-floating-move-info
|
||||
(deftype camera-free-floating-move-info (structure)
|
||||
((rv vector :inline :offset-assert 0)
|
||||
(tv vector :inline :offset-assert 16)
|
||||
(up vector :inline :offset-assert 32)
|
||||
(tm matrix :inline :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x70
|
||||
:flag-assert #x900000070
|
||||
)
|
||||
|
||||
;; definition for method 3 of type camera-free-floating-move-info
|
||||
(defmethod inspect camera-free-floating-move-info ((obj camera-free-floating-move-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'camera-free-floating-move-info)
|
||||
(format #t "~1Trv: #<vector @ #x~X>~%" (-> obj rv))
|
||||
(format #t "~1Ttv: #<vector @ #x~X>~%" (-> obj tv))
|
||||
(format #t "~1Tup: #<vector @ #x~X>~%" (-> obj up))
|
||||
(format #t "~1Ttm: #<matrix @ #x~X>~%" (-> obj tm))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function cam-free-floating-move
|
||||
(defun cam-free-floating-move ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 int))
|
||||
(if (logtest? (-> *cpad-list* cpads arg3 valid) 128)
|
||||
(return (the-as vector #f))
|
||||
)
|
||||
(if (= *master-mode* 'menu)
|
||||
(return (the-as vector #f))
|
||||
)
|
||||
(let ((s3-0 (new 'stack 'camera-free-floating-move-info)))
|
||||
(cam-free-floating-input (-> s3-0 rv) (-> s3-0 tv) (not arg2) arg3)
|
||||
(cond
|
||||
(arg2
|
||||
(matrix-axis-angle! (-> s3-0 tm) arg2 (-> s3-0 rv y))
|
||||
(matrix*! arg0 arg0 (-> s3-0 tm))
|
||||
(cond
|
||||
((< (vector-dot (-> arg0 vector 1) arg2) 0.0)
|
||||
(forward-down->inv-matrix arg0 (-> arg0 vector 2) arg2)
|
||||
)
|
||||
(else
|
||||
(vector-negate! (-> s3-0 up) arg2)
|
||||
(forward-down->inv-matrix arg0 (-> arg0 vector 2) (-> s3-0 up))
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(matrix-axis-angle! (-> s3-0 tm) (-> arg0 vector 1) (- (-> s3-0 rv y)))
|
||||
(matrix*! arg0 arg0 (-> s3-0 tm))
|
||||
)
|
||||
)
|
||||
(matrix-axis-angle! (-> s3-0 tm) (the-as vector (-> arg0 vector)) (- (-> s3-0 rv x)))
|
||||
(matrix*! arg0 arg0 (-> s3-0 tm))
|
||||
(matrix-axis-angle! (-> s3-0 tm) (-> arg0 vector 2) (- (-> s3-0 rv z)))
|
||||
(matrix*! arg0 arg0 (-> s3-0 tm))
|
||||
(vector-matrix*! (-> s3-0 tv) (-> s3-0 tv) arg0)
|
||||
(vector+! arg1 arg1 (-> s3-0 tv))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate cam-free-floating (camera-slave)
|
||||
:event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(let ((v1-0 arg2))
|
||||
(the-as object (if (= v1-0 'teleport)
|
||||
#f
|
||||
(cam-standard-event-handler arg0 arg1 arg2 arg3)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:enter (behavior ()
|
||||
(when (not (-> self enter-has-run))
|
||||
(set! (-> self blend-from-type) (the-as uint 1))
|
||||
(set! (-> self blend-to-type) (camera-blend-to-type unknown-1))
|
||||
(send-event *camera-combiner* 'stop-tracking)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(let ((a2-0 (-> *camera* local-down)))
|
||||
(if (logtest? (-> self options) 8)
|
||||
(set! a2-0 (the-as vector #f))
|
||||
)
|
||||
(cam-free-floating-move
|
||||
(the-as matrix (-> self tracking))
|
||||
(-> self trans)
|
||||
a2-0
|
||||
(the-as int (-> *CAMERA-bank* joypad))
|
||||
)
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
)
|
||||
+5575
File diff suppressed because it is too large
Load Diff
+1339
File diff suppressed because it is too large
Load Diff
+47
-25
@@ -10,8 +10,8 @@
|
||||
:size-assert #x30
|
||||
:flag-assert #xb00000030
|
||||
(:methods
|
||||
(cam-index-method-9 () none 9)
|
||||
(cam-index-method-10 () none 10)
|
||||
(cam-index-method-9 (_type_ symbol entity vector curve) symbol 9)
|
||||
(cam-index-method-10 (_type_ vector) float 10)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -101,21 +101,21 @@
|
||||
:size-assert #x664
|
||||
:flag-assert #x1800000664
|
||||
(:methods
|
||||
(tracking-spline-method-9 () none 9)
|
||||
(tracking-spline-method-10 () none 10)
|
||||
(tracking-spline-method-11 () none 11)
|
||||
(tracking-spline-method-12 () none 12)
|
||||
(tracking-spline-method-13 () none 13)
|
||||
(tracking-spline-method-14 () none 14)
|
||||
(tracking-spline-method-15 () none 15)
|
||||
(tracking-spline-method-16 () none 16)
|
||||
(tracking-spline-method-17 () none 17)
|
||||
(tracking-spline-method-18 () none 18)
|
||||
(tracking-spline-method-19 () none 19)
|
||||
(tracking-spline-method-20 () none 20)
|
||||
(tracking-spline-method-21 () none 21)
|
||||
(tracking-spline-method-22 () none 22)
|
||||
(tracking-spline-method-23 () none 23)
|
||||
(tracking-spline-method-9 (_type_) none 9)
|
||||
(tracking-spline-method-10 (_type_ vector) none 10)
|
||||
(debug-point-info (_type_ int) none 11)
|
||||
(debug-all-points (_type_) none 12)
|
||||
(tracking-spline-method-13 (_type_ int) none 13)
|
||||
(tracking-spline-method-14 (_type_ tracking-spline-sampler) none 14)
|
||||
(tracking-spline-method-15 (_type_) none 15)
|
||||
(tracking-spline-method-16 (_type_ float) none 16)
|
||||
(tracking-spline-method-17 (_type_ vector float float symbol) int 17)
|
||||
(tracking-spline-method-18 (_type_ float vector tracking-spline-sampler) vector 18)
|
||||
(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)
|
||||
(debug-draw-spline (_type_) none 23)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -408,7 +408,7 @@
|
||||
(let ((t9-0 (method-of-type process inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~2Ttrans: ~`vector`P~%" (-> obj stack))
|
||||
(format #t "~2Ttrans: ~`vector`P~%" (-> obj trans))
|
||||
(format #t "~2Tinv-camera-rot: ~`matrix`P~%" (-> obj inv-camera-rot))
|
||||
(format #t "~2Tfov: ~f~%" (-> obj fov))
|
||||
(format #t "~2Tinterp-val: ~f~%" (-> obj interp-val))
|
||||
@@ -446,7 +446,7 @@
|
||||
(circular-follow vector :inline :offset-assert 2256)
|
||||
(max-angle-offset float :offset-assert 2272)
|
||||
(max-angle-curr float :offset-assert 2276)
|
||||
(options camera-slave-options :offset-assert 2280)
|
||||
(options uint32 :offset-assert 2280)
|
||||
(cam-entity entity :offset-assert 2284)
|
||||
(butt-timer uint64 :offset-assert 2288)
|
||||
(butt-seek basic :offset-assert 2296)
|
||||
@@ -473,7 +473,7 @@
|
||||
(spline-follow-dist float :offset-assert 2596)
|
||||
(enter-has-run symbol :offset-assert 2600)
|
||||
(blend-from-type uint64 :offset-assert 2608)
|
||||
(blend-to-type uint64 :offset-assert 2616)
|
||||
(blend-to-type camera-blend-to-type :offset-assert 2616)
|
||||
(have-phony-joystick basic :offset-assert 2624)
|
||||
(phony-joystick-x float :offset-assert 2628)
|
||||
(phony-joystick-y float :offset-assert 2632)
|
||||
@@ -487,6 +487,28 @@
|
||||
:method-count-assert 14
|
||||
:size-assert #xa94
|
||||
:flag-assert #xe0a200a94
|
||||
(:states
|
||||
cam-bike
|
||||
cam-circular
|
||||
cam-decel
|
||||
cam-endlessfall
|
||||
cam-eye
|
||||
cam-fixed
|
||||
cam-fixed-read-entity
|
||||
cam-free-floating
|
||||
cam-lookat
|
||||
cam-point-watch
|
||||
cam-pov
|
||||
cam-pov-track
|
||||
cam-pov180
|
||||
cam-really-fixed
|
||||
cam-robotboss
|
||||
cam-spline
|
||||
cam-standoff
|
||||
cam-standoff-read-entity
|
||||
cam-stick
|
||||
cam-string
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type camera-slave
|
||||
@@ -498,7 +520,7 @@
|
||||
(let ((t9-0 (method-of-type process inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~2Ttrans: ~`vector`P~%" (-> obj stack))
|
||||
(format #t "~2Ttrans: ~`vector`P~%" (-> obj trans))
|
||||
(format #t "~2Tfov: ~f~%" (-> obj fov))
|
||||
(format #t "~2Tfov0: ~f~%" (-> obj fov0))
|
||||
(format #t "~2Tfov1: ~f~%" (-> obj fov1))
|
||||
@@ -562,7 +584,7 @@
|
||||
((master-options uint32 :offset-assert 128)
|
||||
(settings cam-setting-data :offset-assert 132)
|
||||
(slave (pointer camera-slave) :offset-assert 136)
|
||||
(decel uint32 :offset-assert 140)
|
||||
(decel (pointer camera-slave) :offset-assert 140)
|
||||
(slave-options uint32 :offset-assert 144)
|
||||
(view-off-param-save float :offset-assert 148)
|
||||
(changer uint32 :offset-assert 152)
|
||||
@@ -604,9 +626,9 @@
|
||||
:size-assert #x924
|
||||
:flag-assert #x1108b00924
|
||||
(:methods
|
||||
(camera-master-method-14 () none 14)
|
||||
(camera-master-method-15 () none 15)
|
||||
(camera-master-method-16 () none 16)
|
||||
(camera-master-method-14 (_type_ vector) vector 14)
|
||||
(camera-master-method-15 (_type_ vector) vector 15)
|
||||
(camera-master-method-16 (_type_ symbol) none 16)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+2086
File diff suppressed because it is too large
Load Diff
+1
-5
@@ -153,7 +153,7 @@
|
||||
:flag-assert #x1a00008670
|
||||
(:methods
|
||||
(collide-cache-method-9 () none 9)
|
||||
(collide-cache-method-10 () none 10)
|
||||
(fill-and-probe-using-line-sphere (_type_ vector vector float collide-spec process collide-tri-result pat-surface) float 10)
|
||||
(collide-cache-method-11 () none 11)
|
||||
(collide-cache-method-12 () none 12)
|
||||
(collide-cache-method-13 () none 13)
|
||||
@@ -251,7 +251,3 @@
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemclose)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+33
-33
@@ -41,40 +41,40 @@
|
||||
)
|
||||
|
||||
;; definition for function dm-cam-settings-func
|
||||
(defun dm-cam-settings-func ((arg0 camera-slave-options) (arg1 debug-menu-msg))
|
||||
(defun dm-cam-settings-func ((arg0 cam-slave-options) (arg1 debug-menu-msg))
|
||||
(when (and (= arg1 (debug-menu-msg press)) *camera*)
|
||||
(cond
|
||||
((zero? arg0)
|
||||
(send-event *camera* 'toggle-slave-option 1)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam))
|
||||
((= arg0 (cam-slave-options BUTT_CAM))
|
||||
(send-event *camera* 'toggle-slave-option 2)
|
||||
)
|
||||
((= arg0 (camera-slave-options same-side))
|
||||
((= arg0 (cam-slave-options SAME_SIDE))
|
||||
(send-event *camera* 'toggle-slave-option 4)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam same-side))
|
||||
((= arg0 (cam-slave-options BUTT_CAM SAME_SIDE))
|
||||
(send-event *camera* 'toggle-slave-option 128)
|
||||
)
|
||||
((= arg0 (camera-slave-options move-spherical))
|
||||
((= arg0 (cam-slave-options MOVE_SPHERICAL))
|
||||
(send-event *camera* 'toggle-slave-option 8)
|
||||
)
|
||||
((= arg0 (camera-slave-options same-side move-spherical))
|
||||
((= arg0 (cam-slave-options SAME_SIDE MOVE_SPHERICAL))
|
||||
(set-setting-by-param *setting-control* 'slave-options 'clear 0 16)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam same-side move-spherical))
|
||||
((= arg0 (cam-slave-options BUTT_CAM SAME_SIDE MOVE_SPHERICAL))
|
||||
(send-event *camera* 'toggle-slave-option 64)
|
||||
)
|
||||
((= arg0 (camera-slave-options allow-z-rot))
|
||||
((= arg0 (cam-slave-options ALLOW_Z_ROT))
|
||||
(send-event *camera* 'toggle-slave-option 32)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam allow-z-rot))
|
||||
((= arg0 (cam-slave-options BUTT_CAM ALLOW_Z_ROT))
|
||||
(send-event *camera* 'toggle-slave-option 512)
|
||||
)
|
||||
((= arg0 (camera-slave-options same-side allow-z-rot))
|
||||
((= arg0 (cam-slave-options SAME_SIDE ALLOW_Z_ROT))
|
||||
(send-event *camera* 'toggle-slave-option #x4000)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam same-side allow-z-rot))
|
||||
((= arg0 (cam-slave-options BUTT_CAM SAME_SIDE ALLOW_Z_ROT))
|
||||
(send-event *camera* 'toggle-slave-option #x8000)
|
||||
)
|
||||
)
|
||||
@@ -85,34 +85,34 @@
|
||||
((zero? arg0)
|
||||
(logtest? (-> *camera* slave-options) 1)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam))
|
||||
((= arg0 (cam-slave-options BUTT_CAM))
|
||||
(logtest? (-> *camera* slave-options) 2)
|
||||
)
|
||||
((= arg0 (camera-slave-options same-side))
|
||||
((= arg0 (cam-slave-options SAME_SIDE))
|
||||
(logtest? (-> *camera* slave-options) 4)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam same-side))
|
||||
((= arg0 (cam-slave-options BUTT_CAM SAME_SIDE))
|
||||
(logtest? (-> *camera* slave-options) 128)
|
||||
)
|
||||
((= arg0 (camera-slave-options move-spherical))
|
||||
((= arg0 (cam-slave-options MOVE_SPHERICAL))
|
||||
(logtest? (-> *camera* slave-options) 8)
|
||||
)
|
||||
((= arg0 (camera-slave-options same-side move-spherical))
|
||||
((= arg0 (cam-slave-options SAME_SIDE MOVE_SPHERICAL))
|
||||
(not (setting-control-method-14 *setting-control* 'slave-options))
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam same-side move-spherical))
|
||||
((= arg0 (cam-slave-options BUTT_CAM SAME_SIDE MOVE_SPHERICAL))
|
||||
(logtest? (-> *camera* slave-options) 64)
|
||||
)
|
||||
((= arg0 (camera-slave-options allow-z-rot))
|
||||
((= arg0 (cam-slave-options ALLOW_Z_ROT))
|
||||
(logtest? (-> *camera* slave-options) 32)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam allow-z-rot))
|
||||
((= arg0 (cam-slave-options BUTT_CAM ALLOW_Z_ROT))
|
||||
(logtest? (-> *camera* slave-options) 512)
|
||||
)
|
||||
((= arg0 (camera-slave-options same-side allow-z-rot))
|
||||
((= arg0 (cam-slave-options SAME_SIDE ALLOW_Z_ROT))
|
||||
(logtest? (-> *camera* slave-options) #x4000)
|
||||
)
|
||||
((= arg0 (camera-slave-options butt-cam same-side allow-z-rot))
|
||||
((= arg0 (cam-slave-options BUTT_CAM SAME_SIDE ALLOW_Z_ROT))
|
||||
(logtest? (-> *camera* slave-options) #x8000)
|
||||
)
|
||||
(else
|
||||
@@ -1253,18 +1253,18 @@
|
||||
(format #t " (set! (-> pos y) ~12F)~%" (-> *math-camera* trans y))
|
||||
(format #t " (set! (-> pos z) ~12F)~%" (-> *math-camera* trans z))
|
||||
(format #t " (set! (-> pos w) 1.0)~%")
|
||||
(format #t " (set! (-> rot data 0) ~12F)~%" (-> *math-camera* inv-camera-rot data 0))
|
||||
(format #t " (set! (-> rot data 1) ~12F)~%" (-> *math-camera* inv-camera-rot data 1))
|
||||
(format #t " (set! (-> rot data 2) ~12F)~%" (-> *math-camera* inv-camera-rot data 2))
|
||||
(format #t " (set! (-> rot data 3) ~12F)~%" (-> *math-camera* inv-camera-rot data 3))
|
||||
(format #t " (set! (-> rot data 4) ~12F)~%" (-> *math-camera* inv-camera-rot data 4))
|
||||
(format #t " (set! (-> rot data 5) ~12F)~%" (-> *math-camera* inv-camera-rot data 5))
|
||||
(format #t " (set! (-> rot data 6) ~12F)~%" (-> *math-camera* inv-camera-rot data 6))
|
||||
(format #t " (set! (-> rot data 7) ~12F)~%" (-> *math-camera* inv-camera-rot data 7))
|
||||
(format #t " (set! (-> rot data 8) ~12F)~%" (-> *math-camera* inv-camera-rot data 8))
|
||||
(format #t " (set! (-> rot data 9) ~12F)~%" (-> *math-camera* inv-camera-rot data 9))
|
||||
(format #t " (set! (-> rot data 10) ~12F)~%" (-> *math-camera* inv-camera-rot data 10))
|
||||
(format #t " (set! (-> rot data 11) ~12F)~%" (-> *math-camera* inv-camera-rot data 11))
|
||||
(format #t " (set! (-> rot data 0) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 x))
|
||||
(format #t " (set! (-> rot data 1) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 y))
|
||||
(format #t " (set! (-> rot data 2) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 z))
|
||||
(format #t " (set! (-> rot data 3) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 w))
|
||||
(format #t " (set! (-> rot data 4) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 x))
|
||||
(format #t " (set! (-> rot data 5) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 y))
|
||||
(format #t " (set! (-> rot data 6) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 z))
|
||||
(format #t " (set! (-> rot data 7) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 w))
|
||||
(format #t " (set! (-> rot data 8) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 x))
|
||||
(format #t " (set! (-> rot data 9) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 y))
|
||||
(format #t " (set! (-> rot data 10) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 z))
|
||||
(format #t " (set! (-> rot data 11) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 w))
|
||||
(format #t " (set! (-> rot data 12) ~12F)~%" 0)
|
||||
(format #t " (set! (-> rot data 13) ~12F)~%" 0)
|
||||
(format #t " (set! (-> rot data 14) ~12F)~%" 0)
|
||||
|
||||
-4
@@ -409,7 +409,3 @@
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+32
-53
@@ -352,15 +352,15 @@
|
||||
;; definition for function forward-down->inv-matrix
|
||||
;; INFO: Used lq/sq
|
||||
(defun forward-down->inv-matrix ((arg0 matrix) (arg1 vector) (arg2 vector))
|
||||
(vector-normalize-copy! (the-as vector (&-> arg0 data 8)) arg1 1.0)
|
||||
(vector-cross! (the-as vector (-> arg0 data)) (the-as vector (&-> arg0 data 8)) arg2)
|
||||
(vector-normalize! (the-as vector (-> arg0 data)) 1.0)
|
||||
(vector-cross! (the-as vector (&-> arg0 data 4)) arg1 (the-as vector (-> arg0 data)))
|
||||
(vector-normalize! (the-as vector (&-> arg0 data 4)) 1.0)
|
||||
(vector-normalize-copy! (-> arg0 vector 2) arg1 1.0)
|
||||
(vector-cross! (the-as vector (-> arg0 vector)) (-> arg0 vector 2) arg2)
|
||||
(vector-normalize! (the-as vector (-> arg0 vector)) 1.0)
|
||||
(vector-cross! (-> arg0 vector 1) arg1 (the-as vector (-> arg0 vector)))
|
||||
(vector-normalize! (-> arg0 vector 1) 1.0)
|
||||
(set! (-> arg0 trans quad) (the-as uint128 0))
|
||||
(set! (-> arg0 data 3) 0.0)
|
||||
(set! (-> arg0 data 7) 0.0)
|
||||
(set! (-> arg0 data 11) 0.0)
|
||||
(set! (-> arg0 vector 0 w) 0.0)
|
||||
(set! (-> arg0 vector 1 w) 0.0)
|
||||
(set! (-> arg0 vector 2 w) 0.0)
|
||||
(set! (-> arg0 trans w) 1.0)
|
||||
arg0
|
||||
)
|
||||
@@ -368,20 +368,16 @@
|
||||
;; definition for function forward-down-nopitch->inv-matrix
|
||||
;; INFO: Used lq/sq
|
||||
(defun forward-down-nopitch->inv-matrix ((arg0 matrix) (arg1 vector) (arg2 vector))
|
||||
(vector-normalize-copy! (the-as vector (&-> arg0 data 4)) arg2 1.0)
|
||||
(vector-negate! (the-as vector (&-> arg0 data 4)) (the-as vector (&-> arg0 data 4)))
|
||||
(vector-cross! (the-as vector (-> arg0 data)) (the-as vector (&-> arg0 data 4)) arg1)
|
||||
(vector-normalize! (the-as vector (-> arg0 data)) 1.0)
|
||||
(vector-cross!
|
||||
(the-as vector (&-> arg0 data 8))
|
||||
(the-as vector (-> arg0 data))
|
||||
(the-as vector (&-> arg0 data 4))
|
||||
)
|
||||
(vector-normalize! (the-as vector (&-> arg0 data 8)) 1.0)
|
||||
(vector-normalize-copy! (-> arg0 vector 1) arg2 1.0)
|
||||
(vector-negate! (-> arg0 vector 1) (-> arg0 vector 1))
|
||||
(vector-cross! (the-as vector (-> arg0 vector)) (-> arg0 vector 1) arg1)
|
||||
(vector-normalize! (the-as vector (-> arg0 vector)) 1.0)
|
||||
(vector-cross! (-> arg0 vector 2) (the-as vector (-> arg0 vector)) (-> arg0 vector 1))
|
||||
(vector-normalize! (-> arg0 vector 2) 1.0)
|
||||
(set! (-> arg0 trans quad) (the-as uint128 0))
|
||||
(set! (-> arg0 data 3) 0.0)
|
||||
(set! (-> arg0 data 7) 0.0)
|
||||
(set! (-> arg0 data 11) 0.0)
|
||||
(set! (-> arg0 vector 0 w) 0.0)
|
||||
(set! (-> arg0 vector 1 w) 0.0)
|
||||
(set! (-> arg0 vector 2 w) 0.0)
|
||||
(set! (-> arg0 trans w) 1.0)
|
||||
arg0
|
||||
)
|
||||
@@ -634,16 +630,16 @@
|
||||
0.0
|
||||
(let ((s5-0 (new-stack-matrix0)))
|
||||
(vector-negate! s4-0 (the-as vector arg1))
|
||||
(vector-flatten! s4-0 s4-0 (the-as vector (&-> arg0 data 8)))
|
||||
(vector-flatten! s4-0 s4-0 (-> arg0 vector 2))
|
||||
(vector-normalize! s4-0 1.0)
|
||||
(let ((f30-0 (vector-dot (the-as vector (&-> arg0 data 4)) s4-0)))
|
||||
(let ((f30-0 (vector-dot (-> arg0 vector 1) s4-0)))
|
||||
(when (< f30-0 0.99999)
|
||||
(vector-cross! s4-0 (the-as vector (&-> arg0 data 4)) s4-0)
|
||||
(vector-cross! s4-0 (-> arg0 vector 1) s4-0)
|
||||
(let ((f0-4 (vector-length s4-0)))
|
||||
(if (< 0.0 (vector-dot s4-0 (the-as vector (&-> arg0 data 8))))
|
||||
(if (< 0.0 (vector-dot s4-0 (-> arg0 vector 2)))
|
||||
(set! f0-4 (- f0-4))
|
||||
)
|
||||
(matrix-axis-sin-cos! s5-0 (the-as vector (&-> arg0 data 8)) f0-4 f30-0)
|
||||
(matrix-axis-sin-cos! s5-0 (-> arg0 vector 2) f0-4 f30-0)
|
||||
)
|
||||
(matrix*! arg0 arg0 s5-0)
|
||||
)
|
||||
@@ -689,12 +685,7 @@
|
||||
(quaternion->matrix s5-0 arg1)
|
||||
(quaternion->matrix s4-0 arg2)
|
||||
(let ((s2-1 (new-stack-quaternion0)))
|
||||
(quaternion-from-two-vectors-max-angle!
|
||||
s2-1
|
||||
(the-as vector (&-> s5-0 data 8))
|
||||
(the-as vector (&-> s4-0 data 8))
|
||||
arg4
|
||||
)
|
||||
(quaternion-from-two-vectors-max-angle! s2-1 (-> s5-0 vector 2) (-> s4-0 vector 2) arg4)
|
||||
(quaternion-normalize! (quaternion*! arg0 arg0 s2-1))
|
||||
)
|
||||
)
|
||||
@@ -911,53 +902,41 @@
|
||||
(nop!)
|
||||
(label cfg-3)
|
||||
(b! (nonzero? v1-4) cfg-6 :delay (set! v1-5 (+ v1-4 -1)))
|
||||
(vector-segment-distance-point! arg1 (the-as vector (-> arg2 data)) (the-as vector (&-> arg2 data 4)) arg0)
|
||||
(vector-segment-distance-point! arg1 (the-as vector (-> arg2 vector)) (-> arg2 vector 1) arg0)
|
||||
(goto cfg-24)
|
||||
(label cfg-6)
|
||||
(b! (nonzero? v1-5) cfg-9 :delay (set! v1-6 (+ v1-5 -1)))
|
||||
(vector-segment-distance-point! arg1 (the-as vector (&-> arg2 data 4)) (the-as vector (&-> arg2 data 8)) arg0)
|
||||
(vector-segment-distance-point! arg1 (-> arg2 vector 1) (-> arg2 vector 2) arg0)
|
||||
(goto cfg-24)
|
||||
(label cfg-9)
|
||||
(b! (nonzero? v1-6) cfg-14 :delay (set! v1-7 (+ v1-6 -1)))
|
||||
(let ((f30-0
|
||||
(vector-segment-distance-point! arg1 (the-as vector (&-> arg2 data 4)) (the-as vector (-> arg2 data)) arg0)
|
||||
)
|
||||
(let ((f30-0 (vector-segment-distance-point! arg1 (-> arg2 vector 1) (the-as vector (-> arg2 vector)) arg0))
|
||||
(s3-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(if (< (vector-segment-distance-point! arg1 (the-as vector (&-> arg2 data 4)) (the-as vector (&-> arg2 data 8)) s3-0)
|
||||
f30-0
|
||||
)
|
||||
(if (< (vector-segment-distance-point! arg1 (-> arg2 vector 1) (-> arg2 vector 2) s3-0) f30-0)
|
||||
(set! (-> arg0 quad) (-> s3-0 quad))
|
||||
)
|
||||
)
|
||||
(goto cfg-24)
|
||||
(label cfg-14)
|
||||
(b! (nonzero? v1-7) cfg-17 :delay (set! v1-10 (+ v1-7 -1)))
|
||||
(vector-segment-distance-point! arg1 (the-as vector (&-> arg2 data 8)) (the-as vector (-> arg2 data)) arg0)
|
||||
(vector-segment-distance-point! arg1 (-> arg2 vector 2) (the-as vector (-> arg2 vector)) arg0)
|
||||
(goto cfg-24)
|
||||
(label cfg-17)
|
||||
(b! (nonzero? v1-10) cfg-22 :delay (nop!))
|
||||
(let ((f30-1
|
||||
(vector-segment-distance-point! arg1 (the-as vector (-> arg2 data)) (the-as vector (&-> arg2 data 4)) arg0)
|
||||
)
|
||||
(let ((f30-1 (vector-segment-distance-point! arg1 (the-as vector (-> arg2 vector)) (-> arg2 vector 1) arg0))
|
||||
(s3-1 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(if (< (vector-segment-distance-point! arg1 (the-as vector (-> arg2 data)) (the-as vector (&-> arg2 data 8)) s3-1)
|
||||
f30-1
|
||||
)
|
||||
(if (< (vector-segment-distance-point! arg1 (the-as vector (-> arg2 vector)) (-> arg2 vector 2) s3-1) f30-1)
|
||||
(set! (-> arg0 quad) (-> s3-1 quad))
|
||||
)
|
||||
)
|
||||
(goto cfg-24)
|
||||
(label cfg-22)
|
||||
(let ((f30-2
|
||||
(vector-segment-distance-point! arg1 (the-as vector (&-> arg2 data 8)) (the-as vector (-> arg2 data)) arg0)
|
||||
)
|
||||
(let ((f30-2 (vector-segment-distance-point! arg1 (-> arg2 vector 2) (the-as vector (-> arg2 vector)) arg0))
|
||||
(s3-2 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(if (< (vector-segment-distance-point! arg1 (the-as vector (&-> arg2 data 8)) (the-as vector (&-> arg2 data 4)) s3-2)
|
||||
f30-2
|
||||
)
|
||||
(if (< (vector-segment-distance-point! arg1 (-> arg2 vector 2) (-> arg2 vector 1) s3-2) f30-2)
|
||||
(set! (-> arg0 quad) (-> s3-2 quad))
|
||||
)
|
||||
)
|
||||
|
||||
+18
-28
@@ -111,10 +111,10 @@
|
||||
(let ((f4-34 (/ f1-21 (* (-> arg0 d) (- (-> arg0 f) (-> arg0 d)))))
|
||||
(f3-30 (-> arg0 fov-correction-factor))
|
||||
)
|
||||
(set! (-> arg0 perspective data 0) (* f3-30 (- (/ (-> arg0 x-pix) (* (-> arg0 x-ratio) (-> arg0 d))))))
|
||||
(set! (-> arg0 perspective data 5) (* f3-30 (- (/ (-> arg0 y-pix) (* (-> arg0 y-ratio) (-> arg0 d))))))
|
||||
(set! (-> arg0 perspective data 10) (* f3-30 (+ (-> arg0 f) (-> arg0 d)) f4-34))
|
||||
(set! (-> arg0 perspective data 11) (* (/ f3-30 (-> arg0 d)) f30-0))
|
||||
(set! (-> arg0 perspective vector 0 x) (* f3-30 (- (/ (-> arg0 x-pix) (* (-> arg0 x-ratio) (-> arg0 d))))))
|
||||
(set! (-> arg0 perspective vector 1 y) (* f3-30 (- (/ (-> arg0 y-pix) (* (-> arg0 y-ratio) (-> arg0 d))))))
|
||||
(set! (-> arg0 perspective vector 2 z) (* f3-30 (+ (-> arg0 f) (-> arg0 d)) f4-34))
|
||||
(set! (-> arg0 perspective vector 2 w) (* (/ f3-30 (-> arg0 d)) f30-0))
|
||||
(set! (-> arg0 perspective trans z) (* -2.0 f4-34 (-> arg0 f) (-> arg0 d) f3-30))
|
||||
)
|
||||
(let ((f24-0 2048.0)
|
||||
@@ -162,28 +162,18 @@
|
||||
(set! (-> arg0 isometric trans z) (- 16777215.0 f22-0))
|
||||
)
|
||||
(set! (-> arg0 isometric trans w) f30-0)
|
||||
(let ((f1-28 (-> arg0 perspective data 0))
|
||||
(f2-19 (-> arg0 perspective data 5))
|
||||
(f0-48 (* -1.9996 (-> arg0 perspective data 0)))
|
||||
(let ((f1-28 (-> arg0 perspective vector 0 x))
|
||||
(f2-19 (-> arg0 perspective vector 1 y))
|
||||
(f0-48 (* -1.9996 (-> arg0 perspective vector 0 x)))
|
||||
)
|
||||
(let ((v1-39 (-> arg0 sprite-2d)))
|
||||
(set! (-> v1-39 data 0) f0-48)
|
||||
(set! (-> v1-39 data 1) 0.0)
|
||||
(set! (-> v1-39 data 2) 0.0)
|
||||
(set! (-> v1-39 data 3) 0.0)
|
||||
)
|
||||
(let ((v1-40 (&-> arg0 sprite-2d data 4)))
|
||||
(set! (-> v1-40 0) 0.0)
|
||||
(set! (-> v1-40 1) (- (* (/ f2-19 f1-28) f0-48)))
|
||||
(set! (-> v1-40 2) 0.0)
|
||||
(set! (-> v1-40 3) 0.0)
|
||||
)
|
||||
(let ((v1-41 (&-> arg0 sprite-2d data 8)))
|
||||
(set! (-> v1-41 0) 0.0)
|
||||
(set! (-> v1-41 1) 0.0)
|
||||
(set! (-> v1-41 2) (- f0-48))
|
||||
(set! (-> v1-41 3) 0.0)
|
||||
(set! (-> v1-39 vector 0 x) f0-48)
|
||||
(set! (-> v1-39 vector 0 y) 0.0)
|
||||
(set! (-> v1-39 vector 0 z) 0.0)
|
||||
(set! (-> v1-39 vector 0 w) 0.0)
|
||||
)
|
||||
(set-vector! (-> arg0 sprite-2d vector 1) 0.0 (- (* (/ f2-19 f1-28) f0-48)) 0.0 0.0)
|
||||
(set-vector! (-> arg0 sprite-2d vector 2) 0.0 0.0 (- f0-48) 0.0)
|
||||
(set-vector! (-> arg0 sprite-2d trans) 0.0 0.0 (* 500000000.0 f0-48) (* 60.0 f0-48 (-> arg0 pfog0)))
|
||||
)
|
||||
(set! (-> arg0 sprite-2d-hvdf quad) (-> arg0 hvdf-off quad))
|
||||
@@ -258,9 +248,9 @@
|
||||
(matrix-identity! (-> gp-0 inv-camera-rot-other))
|
||||
(matrix-identity! (-> gp-0 camera-rot-other))
|
||||
(matrix-identity! (-> gp-0 camera-temp-other))
|
||||
(set! (-> gp-0 isometric data 0) 1.0)
|
||||
(set! (-> gp-0 isometric data 5) 0.5)
|
||||
(set! (-> gp-0 isometric data 10) -1.0)
|
||||
(set! (-> gp-0 isometric vector 0 x) 1.0)
|
||||
(set! (-> gp-0 isometric vector 1 y) 0.5)
|
||||
(set! (-> gp-0 isometric vector 2 z) -1.0)
|
||||
(set! (-> gp-0 reset) 1)
|
||||
(set! (-> gp-0 smooth-step) 0.0)
|
||||
(set! (-> gp-0 smooth-t) 0.0)
|
||||
@@ -491,8 +481,8 @@
|
||||
(defun reverse-transform-point! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
|
||||
(let* ((v1-1 (-> *math-camera* perspective))
|
||||
(s2-0 (-> *math-camera* camera-rot))
|
||||
(f30-0 (* (/ (-> v1-1 data 11) (-> v1-1 data 0)) (-> *math-camera* hmge-scale w)))
|
||||
(f28-0 (* (/ (-> v1-1 data 11) (-> v1-1 data 5)) (-> *math-camera* hmge-scale w)))
|
||||
(f30-0 (* (/ (-> v1-1 vector 2 w) (-> v1-1 vector 0 x)) (-> *math-camera* hmge-scale w)))
|
||||
(f28-0 (* (/ (-> v1-1 vector 2 w) (-> v1-1 vector 1 y)) (-> *math-camera* hmge-scale w)))
|
||||
(s4-0 (vector-rotate*! (new 'stack-no-clear 'vector) arg2 s2-0))
|
||||
(v1-3 (vector-matrix*! (new 'stack-no-clear 'vector) arg1 s2-0))
|
||||
(f0-8 (/ (+ (* (-> s4-0 x) (-> v1-3 x)) (* (-> s4-0 y) (-> v1-3 y)) (* (-> s4-0 z) (-> v1-3 z)))
|
||||
|
||||
+2
-2
@@ -34,8 +34,8 @@
|
||||
:size-assert #x110
|
||||
:flag-assert #xb00000110
|
||||
(:methods
|
||||
(palette-fade-controls-method-9 () none 9)
|
||||
(palette-fade-controls-method-10 () none 10)
|
||||
(reset! (_type_) none 9)
|
||||
(set-fade! (_type_ int float float vector) object 10)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+3
-7
@@ -48,8 +48,8 @@
|
||||
(let ((entry-idx 0)
|
||||
(ientry-idx 0)
|
||||
(turns 3)
|
||||
(cam-aspx (- (-> *math-camera* perspective data 0)))
|
||||
(cam-aspy (- (-> *math-camera* perspective data 5)))
|
||||
(cam-aspx (- (-> *math-camera* perspective vector 0 x)))
|
||||
(cam-aspy (- (-> *math-camera* perspective vector 1 y)))
|
||||
)
|
||||
(when (or (!= cam-aspx (-> tbls aspx)) (!= cam-aspy (-> tbls aspy)))
|
||||
(set! (-> tbls aspx) cam-aspx)
|
||||
@@ -290,7 +290,7 @@
|
||||
(set! (-> sprite flag-rot-sy x) (the-as float #xb))
|
||||
)
|
||||
(set! (-> (the-as (pointer int32) dma-st-flag) 3) (the-as int (-> sprite flag-rot-sy x)))
|
||||
(let* ((f1-4 (- (-> *math-camera* perspective data 5)))
|
||||
(let* ((f1-4 (- (-> *math-camera* perspective vector 1 y)))
|
||||
(f2-2 (-> (the-as vector dma-st-flag) y))
|
||||
(f4-0 (+ f2-2 (* (-> (the-as vector dma-color) x) f1-4)))
|
||||
(f3-0 256.0)
|
||||
@@ -436,7 +436,3 @@
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+5
-5
@@ -416,9 +416,9 @@
|
||||
(set! (-> data sincos-67 w) -0.0013636408)
|
||||
(set! (-> data sincos-89 w) 0.000020170546)
|
||||
(set! (-> data basis-x quad) (the-as uint128 0))
|
||||
(set! (-> data basis-x x) (- (-> *math-camera* perspective data 0)))
|
||||
(set! (-> data basis-x x) (- (-> *math-camera* perspective vector 0 x)))
|
||||
(set! (-> data basis-y quad) (the-as uint128 0))
|
||||
(set! (-> data basis-y y) (- (-> *math-camera* perspective data 5)))
|
||||
(set! (-> data basis-y y) (- (-> *math-camera* perspective vector 1 y)))
|
||||
(set! (-> data min-scale) (sqrtf (* (/ 1.0 (-> data basis-x x)) (/ 1.0 (-> data basis-y y)))))
|
||||
(set! (-> data inv-area) (/ 1.0 (* (-> data min-scale) (-> data min-scale))))
|
||||
(set-vector! (-> data cdata 0) -0.5 -0.5 0.0 0.0)
|
||||
@@ -584,9 +584,9 @@
|
||||
(set! (-> a1-10 base) (&+ (the-as pointer pkt2) 16))
|
||||
)
|
||||
(let ((mtx2 (the-as matrix (-> dma-buff base)))
|
||||
(f1-0 (-> *math-camera* perspective data 0))
|
||||
(f2-0 (-> *math-camera* perspective data 5))
|
||||
(f0-1 (* -1.9996 (-> *math-camera* perspective data 0)))
|
||||
(f1-0 (-> *math-camera* perspective vector 0 x))
|
||||
(f2-0 (-> *math-camera* perspective vector 1 y))
|
||||
(f0-1 (* -1.9996 (-> *math-camera* perspective vector 0 x)))
|
||||
)
|
||||
(set-vector! (the-as vector (&+ (the-as pointer mtx2) 0)) f0-1 0.0 0.0 0.0)
|
||||
(set-vector! (the-as vector (&+ (the-as pointer mtx2) 16)) 0.0 (- (* (/ f2-0 f1-0) f0-1)) 0.0 0.0)
|
||||
|
||||
+4
-1
@@ -49,8 +49,11 @@
|
||||
(cameras (array entity-camera) :offset-assert 116)
|
||||
(nodes (inline-array bsp-node) :offset 120)
|
||||
(level level :offset-assert 124)
|
||||
(current-leaf-idx uint16 :offset-assert 128)
|
||||
(unk-data-2 uint16 9 :offset 130)
|
||||
(unk-byte uint8 :offset 152)
|
||||
(unk-byte1 uint8 :offset 152)
|
||||
(unk-byte2 uint8 :offset 153)
|
||||
(unk-half-word uint16 :offset-assert 154)
|
||||
(ambients symbol :offset-assert 156)
|
||||
(unk-data-4 float :offset 160)
|
||||
(unk-data-5 float :offset-assert 164)
|
||||
|
||||
+72
-72
@@ -394,78 +394,78 @@
|
||||
|
||||
;; definition of type level
|
||||
(deftype level (basic)
|
||||
((name symbol :offset-assert 4)
|
||||
(load-name basic :offset-assert 8)
|
||||
(nickname basic :offset-assert 12)
|
||||
(index int32 :offset-assert 16)
|
||||
(status symbol :offset-assert 20)
|
||||
(borrow-level basic 2 :offset-assert 24)
|
||||
(borrow-from-level basic :offset-assert 32)
|
||||
(heap kheap :inline :offset-assert 48)
|
||||
(borrow-heap kheap 2 :inline :offset-assert 64)
|
||||
(bsp bsp-header :offset-assert 96)
|
||||
(art-group load-dir-art-group :offset-assert 100)
|
||||
(info level-load-info :offset-assert 104)
|
||||
(texture-page texture-page 18 :offset-assert 108)
|
||||
(loaded-texture-page texture-page 16 :offset-assert 180)
|
||||
(loaded-texture-page-count int32 :offset-assert 244)
|
||||
(entity entity-links-array :offset-assert 248)
|
||||
(closest-object float :offset-assert 252)
|
||||
(closest-object-array float 18 :offset 252)
|
||||
(upload-size int32 18 :offset 324)
|
||||
(inside-boxes symbol :offset-assert 396)
|
||||
(display? symbol :offset-assert 400)
|
||||
(render? symbol :offset-assert 404)
|
||||
(meta-inside? symbol :offset-assert 408)
|
||||
(force-inside? symbol :offset-assert 412)
|
||||
(mood-context mood-context :inline :offset-assert 416)
|
||||
(mood-func basic :offset-assert 2384)
|
||||
(mood-init (function mood-context none) :offset-assert 2388)
|
||||
(vis-bits pointer :offset-assert 2392)
|
||||
(all-visible? symbol :offset-assert 2396)
|
||||
(force-all-visible? symbol :offset-assert 2400)
|
||||
(linking basic :offset-assert 2404)
|
||||
(vis-info level-vis-info 8 :offset-assert 2408)
|
||||
(vis-self-index int32 :offset-assert 2440)
|
||||
(vis-adj-index int32 :offset-assert 2444)
|
||||
(vis-buffer uint8 2048 :offset-assert 2448)
|
||||
(mem-usage-block memory-usage-block :offset-assert 4496)
|
||||
(mem-usage int32 :offset-assert 4500)
|
||||
(code-memory-start pointer :offset-assert 4504)
|
||||
(code-memory-end pointer :offset-assert 4508)
|
||||
(load-start-time time-frame :offset-assert 4512)
|
||||
(load-stop-time time-frame :offset-assert 4520)
|
||||
(load-buffer uint32 2 :offset-assert 4528)
|
||||
(load-buffer-size uint32 :offset-assert 4536)
|
||||
(load-buffer-last uint32 :offset-assert 4540)
|
||||
(load-buffer-mode load-buffer-mode :offset-assert 4544)
|
||||
(display-start-time time-frame :offset-assert 4552)
|
||||
(memory-mask uint32 :offset-assert 4560)
|
||||
(task-mask task-mask :offset-assert 4564)
|
||||
(tfrag-gs-test uint64 :offset-assert 4568)
|
||||
(texture-dirty-masks texture-mask 10 :inline :offset-assert 4576)
|
||||
(texture-mask texture-mask 18 :inline :offset-assert 4736)
|
||||
(sky-mask texture-mask :inline :offset-assert 5024)
|
||||
(tfrag-masks basic :offset-assert 5040)
|
||||
(tfrag-dists pointer :offset-assert 5044)
|
||||
(shrub-masks basic :offset-assert 5048)
|
||||
(shrub-dists pointer :offset-assert 5052)
|
||||
(alpha-masks basic :offset-assert 5056)
|
||||
(alpha-dists pointer :offset-assert 5060)
|
||||
(water-masks basic :offset-assert 5064)
|
||||
(water-dists pointer :offset-assert 5068)
|
||||
(tfrag-last-calls int32 6 :offset-assert 5072)
|
||||
(texture-anim-array texture-anim-array 10 :offset-assert 5096)
|
||||
(light-hash basic :offset-assert 5136)
|
||||
(draw-priority float :offset-assert 5140)
|
||||
(draw-index int32 :offset-assert 5144)
|
||||
(part-engine basic :offset-assert 5148)
|
||||
(user-object basic 4 :offset-assert 5152)
|
||||
(loaded-text-info-count int32 :offset-assert 5168)
|
||||
(loaded-text-info game-text-info 8 :offset-assert 5172)
|
||||
(level-type basic :offset-assert 5204)
|
||||
(load-order int64 :offset-assert 5208)
|
||||
(pad int8 12 :offset-assert 5216)
|
||||
((name symbol :offset-assert 4)
|
||||
(load-name basic :offset-assert 8)
|
||||
(nickname basic :offset-assert 12)
|
||||
(index int32 :offset-assert 16)
|
||||
(status symbol :offset-assert 20)
|
||||
(borrow-level basic 2 :offset-assert 24)
|
||||
(borrow-from-level basic :offset-assert 32)
|
||||
(heap kheap :inline :offset-assert 48)
|
||||
(borrow-heap kheap 2 :inline :offset-assert 64)
|
||||
(bsp bsp-header :offset-assert 96)
|
||||
(art-group load-dir-art-group :offset-assert 100)
|
||||
(info level-load-info :offset-assert 104)
|
||||
(texture-page texture-page 18 :offset-assert 108)
|
||||
(loaded-texture-page texture-page 16 :offset-assert 180)
|
||||
(loaded-texture-page-count int32 :offset-assert 244)
|
||||
(entity entity-links-array :offset-assert 248)
|
||||
(closest-object float :offset-assert 252)
|
||||
(closest-object-array float 18 :offset 252)
|
||||
(upload-size int32 18 :offset 324)
|
||||
(inside-boxes symbol :offset-assert 396)
|
||||
(display? symbol :offset-assert 400)
|
||||
(render? symbol :offset-assert 404)
|
||||
(meta-inside? symbol :offset-assert 408)
|
||||
(force-inside? symbol :offset-assert 412)
|
||||
(mood-context mood-context :inline :offset-assert 416)
|
||||
(mood-func (function mood-context float int none) :offset-assert 2384)
|
||||
(mood-init (function mood-context none) :offset-assert 2388)
|
||||
(vis-bits pointer :offset-assert 2392)
|
||||
(all-visible? symbol :offset-assert 2396)
|
||||
(force-all-visible? symbol :offset-assert 2400)
|
||||
(linking basic :offset-assert 2404)
|
||||
(vis-info level-vis-info 8 :offset-assert 2408)
|
||||
(vis-self-index int32 :offset-assert 2440)
|
||||
(vis-adj-index int32 :offset-assert 2444)
|
||||
(vis-buffer uint8 2048 :offset-assert 2448)
|
||||
(mem-usage-block memory-usage-block :offset-assert 4496)
|
||||
(mem-usage int32 :offset-assert 4500)
|
||||
(code-memory-start pointer :offset-assert 4504)
|
||||
(code-memory-end pointer :offset-assert 4508)
|
||||
(load-start-time time-frame :offset-assert 4512)
|
||||
(load-stop-time time-frame :offset-assert 4520)
|
||||
(load-buffer uint32 2 :offset-assert 4528)
|
||||
(load-buffer-size uint32 :offset-assert 4536)
|
||||
(load-buffer-last uint32 :offset-assert 4540)
|
||||
(load-buffer-mode load-buffer-mode :offset-assert 4544)
|
||||
(display-start-time time-frame :offset-assert 4552)
|
||||
(memory-mask uint32 :offset-assert 4560)
|
||||
(task-mask task-mask :offset-assert 4564)
|
||||
(tfrag-gs-test uint64 :offset-assert 4568)
|
||||
(texture-dirty-masks texture-mask 10 :inline :offset-assert 4576)
|
||||
(texture-mask texture-mask 18 :inline :offset-assert 4736)
|
||||
(sky-mask texture-mask :inline :offset-assert 5024)
|
||||
(tfrag-masks basic :offset-assert 5040)
|
||||
(tfrag-dists pointer :offset-assert 5044)
|
||||
(shrub-masks basic :offset-assert 5048)
|
||||
(shrub-dists pointer :offset-assert 5052)
|
||||
(alpha-masks basic :offset-assert 5056)
|
||||
(alpha-dists pointer :offset-assert 5060)
|
||||
(water-masks basic :offset-assert 5064)
|
||||
(water-dists pointer :offset-assert 5068)
|
||||
(tfrag-last-calls int32 6 :offset-assert 5072)
|
||||
(texture-anim-array texture-anim-array 10 :offset-assert 5096)
|
||||
(light-hash basic :offset-assert 5136)
|
||||
(draw-priority float :offset-assert 5140)
|
||||
(draw-index int32 :offset-assert 5144)
|
||||
(part-engine basic :offset-assert 5148)
|
||||
(user-object basic 4 :offset-assert 5152)
|
||||
(loaded-text-info-count int32 :offset-assert 5168)
|
||||
(loaded-text-info game-text-info 8 :offset-assert 5172)
|
||||
(level-type basic :offset-assert 5204)
|
||||
(load-order int64 :offset-assert 5208)
|
||||
(pad int8 12 :offset-assert 5216)
|
||||
)
|
||||
:method-count-assert 30
|
||||
:size-assert #x146c
|
||||
|
||||
+3
-3
@@ -24,9 +24,9 @@
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'matrix)
|
||||
(format #t "~1Tdata[16] @ #x~X~%" (-> obj data))
|
||||
(format #t "~1Tvector[4] @ #x~X~%" (-> obj data))
|
||||
(format #t "~1Tquad[4] @ #x~X~%" (-> obj data))
|
||||
(format #t "~1Tdata[16] @ #x~X~%" (-> obj vector))
|
||||
(format #t "~1Tvector[4] @ #x~X~%" (-> obj vector))
|
||||
(format #t "~1Tquad[4] @ #x~X~%" (-> obj vector))
|
||||
(format #t "~1Ttrans: #<vector @ #x~X>~%" (-> obj trans))
|
||||
(label cfg-4)
|
||||
obj
|
||||
|
||||
+348
-332
@@ -5,9 +5,30 @@
|
||||
;; INFO: this function exists in multiple non-identical object files
|
||||
(defmethod inspect matrix ((obj matrix))
|
||||
(format #t "[~8x] matrix~%" obj)
|
||||
(format #t "~T[~F] [~F] [~F] [~F]~%" (-> obj data 0) (-> obj data 1) (-> obj data 2) (-> obj data 3))
|
||||
(format #t "~T[~F] [~F] [~F] [~F]~%" (-> obj data 4) (-> obj data 5) (-> obj data 6) (-> obj data 7))
|
||||
(format #t "~T[~F] [~F] [~F] [~F]~%" (-> obj data 8) (-> obj data 9) (-> obj data 10) (-> obj data 11))
|
||||
(format
|
||||
#t
|
||||
"~T[~F] [~F] [~F] [~F]~%"
|
||||
(-> obj vector 0 x)
|
||||
(-> obj vector 0 y)
|
||||
(-> obj vector 0 z)
|
||||
(-> obj vector 0 w)
|
||||
)
|
||||
(format
|
||||
#t
|
||||
"~T[~F] [~F] [~F] [~F]~%"
|
||||
(-> obj vector 1 x)
|
||||
(-> obj vector 1 y)
|
||||
(-> obj vector 1 z)
|
||||
(-> obj vector 1 w)
|
||||
)
|
||||
(format
|
||||
#t
|
||||
"~T[~F] [~F] [~F] [~F]~%"
|
||||
(-> obj vector 2 x)
|
||||
(-> obj vector 2 y)
|
||||
(-> obj vector 2 z)
|
||||
(-> obj vector 2 w)
|
||||
)
|
||||
(format #t "~T[~F] [~F] [~F] [~F]~%" (-> obj trans x) (-> obj trans y) (-> obj trans z) (-> obj trans w))
|
||||
obj
|
||||
)
|
||||
@@ -31,9 +52,9 @@
|
||||
(set! (-> arg0 trans quad) (the-as uint128 0))
|
||||
(let ((f0-0 1.0))
|
||||
(set! (-> arg0 trans w) f0-0)
|
||||
(set! (-> arg0 data 10) f0-0)
|
||||
(set! (-> arg0 data 5) f0-0)
|
||||
(set! (-> arg0 data 0) f0-0)
|
||||
(set! (-> arg0 vector 2 z) f0-0)
|
||||
(set! (-> arg0 vector 1 y) f0-0)
|
||||
(set! (-> arg0 vector 0 x) f0-0)
|
||||
)
|
||||
arg0
|
||||
)
|
||||
@@ -42,11 +63,14 @@
|
||||
(define *identity-matrix* (matrix-identity! (new 'global 'matrix)))
|
||||
|
||||
;; definition for symbol *hermite-matrix*, type matrix
|
||||
(define *hermite-matrix*
|
||||
(new 'static 'matrix
|
||||
:data (new 'static 'array float 16 2.0 -2.0 1.0 1.0 -3.0 3.0 -2.0 -1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0)
|
||||
)
|
||||
)
|
||||
(define *hermite-matrix* (new 'static 'matrix :vector (new 'static 'inline-array vector 4
|
||||
(new 'static 'vector :x 2.0 :y -2.0 :z 1.0 :w 1.0)
|
||||
(new 'static 'vector :x -3.0 :y 3.0 :z -2.0 :w -1.0)
|
||||
(new 'static 'vector :z 1.0)
|
||||
(new 'static 'vector :x 1.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function matrix+!
|
||||
(defun matrix+! ((arg0 matrix) (arg1 matrix) (arg2 matrix))
|
||||
@@ -469,9 +493,9 @@
|
||||
(set! (-> arg0 vector 1 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 vector 2 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 trans quad) (the-as uint128 0))
|
||||
(set! (-> arg0 data 0) (-> arg1 x))
|
||||
(set! (-> arg0 data 5) (-> arg1 y))
|
||||
(set! (-> arg0 data 10) (-> arg1 z))
|
||||
(set! (-> arg0 vector 0 x) (-> arg1 x))
|
||||
(set! (-> arg0 vector 1 y) (-> arg1 y))
|
||||
(set! (-> arg0 vector 2 z) (-> arg1 z))
|
||||
(set! (-> arg0 trans w) 1.0)
|
||||
arg0
|
||||
)
|
||||
@@ -508,9 +532,9 @@
|
||||
(set! (-> arg0 vector 1 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 vector 2 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 trans quad) (the-as uint128 0))
|
||||
(set! (-> arg0 data 0) (/ 1.0 (-> arg1 x)))
|
||||
(set! (-> arg0 data 5) (/ 1.0 (-> arg1 y)))
|
||||
(set! (-> arg0 data 10) (/ 1.0 (-> arg1 z)))
|
||||
(set! (-> arg0 vector 0 x) (/ 1.0 (-> arg1 x)))
|
||||
(set! (-> arg0 vector 1 y) (/ 1.0 (-> arg1 y)))
|
||||
(set! (-> arg0 vector 2 z) (/ 1.0 (-> arg1 z)))
|
||||
(set! (-> arg0 trans w) 1.0)
|
||||
arg0
|
||||
)
|
||||
@@ -550,11 +574,11 @@
|
||||
(set! (-> arg0 vector 1 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 vector 2 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 trans quad) (the-as uint128 0))
|
||||
(set! (-> arg0 data 0) 1.0)
|
||||
(set! (-> arg0 data 5) f0-0)
|
||||
(set! (-> arg0 data 6) f30-0)
|
||||
(set! (-> arg0 data 9) (- f30-0))
|
||||
(set! (-> arg0 data 10) f0-0)
|
||||
(set! (-> arg0 vector 0 x) 1.0)
|
||||
(set! (-> arg0 vector 1 y) f0-0)
|
||||
(set! (-> arg0 vector 1 z) f30-0)
|
||||
(set! (-> arg0 vector 2 y) (- f30-0))
|
||||
(set! (-> arg0 vector 2 z) f0-0)
|
||||
)
|
||||
(set! (-> arg0 trans w) 1.0)
|
||||
arg0
|
||||
@@ -570,11 +594,11 @@
|
||||
(set! (-> arg0 vector 1 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 vector 2 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 trans quad) (the-as uint128 0))
|
||||
(set! (-> arg0 data 0) f0-0)
|
||||
(set! (-> arg0 data 2) (- f30-0))
|
||||
(set! (-> arg0 data 5) 1.0)
|
||||
(set! (-> arg0 data 8) f30-0)
|
||||
(set! (-> arg0 data 10) f0-0)
|
||||
(set! (-> arg0 vector 0 x) f0-0)
|
||||
(set! (-> arg0 vector 0 z) (- f30-0))
|
||||
(set! (-> arg0 vector 1 y) 1.0)
|
||||
(set! (-> arg0 vector 2 x) f30-0)
|
||||
(set! (-> arg0 vector 2 z) f0-0)
|
||||
)
|
||||
(set! (-> arg0 trans w) 1.0)
|
||||
arg0
|
||||
@@ -590,12 +614,12 @@
|
||||
(set! (-> arg0 vector 1 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 vector 2 quad) (the-as uint128 0))
|
||||
(set! (-> arg0 trans quad) (the-as uint128 0))
|
||||
(set! (-> arg0 data 0) f0-0)
|
||||
(set! (-> arg0 data 1) f30-0)
|
||||
(set! (-> arg0 data 4) (- f30-0))
|
||||
(set! (-> arg0 data 5) f0-0)
|
||||
(set! (-> arg0 vector 0 x) f0-0)
|
||||
(set! (-> arg0 vector 0 y) f30-0)
|
||||
(set! (-> arg0 vector 1 x) (- f30-0))
|
||||
(set! (-> arg0 vector 1 y) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 10) 1.0)
|
||||
(set! (-> arg0 vector 2 z) 1.0)
|
||||
(set! (-> arg0 trans w) 1.0)
|
||||
arg0
|
||||
)
|
||||
@@ -644,25 +668,25 @@
|
||||
(f1-0 (-> s5-0 y))
|
||||
)
|
||||
(let ((f4-0 (-> s5-0 z)))
|
||||
(set! (-> arg0 data 0) (* f1-0 f4-0))
|
||||
(set! (-> arg0 data 1) (* f1-0 f3-0))
|
||||
(set! (-> arg0 data 2) (- f5-0))
|
||||
(set! (-> arg0 data 3) 0.0)
|
||||
(set! (-> arg0 vector 0 x) (* f1-0 f4-0))
|
||||
(set! (-> arg0 vector 0 y) (* f1-0 f3-0))
|
||||
(set! (-> arg0 vector 0 z) (- f5-0))
|
||||
(set! (-> arg0 vector 0 w) 0.0)
|
||||
(let ((f6-4 (* f2-0 f5-0))
|
||||
(f5-1 (* f0-0 f5-0))
|
||||
)
|
||||
(set! (-> arg0 data 4) (- (* f6-4 f4-0) (* f0-0 f3-0)))
|
||||
(set! (-> arg0 data 5) (+ (* f6-4 f3-0) (* f0-0 f4-0)))
|
||||
(set! (-> arg0 data 6) (* f2-0 f1-0))
|
||||
(set! (-> arg0 data 7) 0.0)
|
||||
(set! (-> arg0 data 8) (+ (* f2-0 f3-0) (* f5-1 f4-0)))
|
||||
(set! (-> arg0 data 9) (- (* f5-1 f3-0) (* f2-0 f4-0)))
|
||||
(set! (-> arg0 vector 1 x) (- (* f6-4 f4-0) (* f0-0 f3-0)))
|
||||
(set! (-> arg0 vector 1 y) (+ (* f6-4 f3-0) (* f0-0 f4-0)))
|
||||
(set! (-> arg0 vector 1 z) (* f2-0 f1-0))
|
||||
(set! (-> arg0 vector 1 w) 0.0)
|
||||
(set! (-> arg0 vector 2 x) (+ (* f2-0 f3-0) (* f5-1 f4-0)))
|
||||
(set! (-> arg0 vector 2 y) (- (* f5-1 f3-0) (* f2-0 f4-0)))
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 data 10) (* f0-0 f1-0))
|
||||
(set! (-> arg0 vector 2 z) (* f0-0 f1-0))
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 data 11) 0.0)
|
||||
(set! (-> arg0 vector 2 w) 0.0)
|
||||
(.svf (&-> arg0 trans quad) vf0)
|
||||
arg0
|
||||
)
|
||||
@@ -728,20 +752,20 @@
|
||||
(f3-0 (-> s4-0 z))
|
||||
(f4-0 (-> s5-0 z))
|
||||
)
|
||||
(set! (-> arg0 data 0) (- (* f1-1 f3-0) (* f0-5 f2-0 f4-0)))
|
||||
(set! (-> arg0 data 1) (* f0-5 f5-0))
|
||||
(set! (-> arg0 data 2) (- (+ (* f1-1 f4-0) (* f0-5 f2-0 f3-0))))
|
||||
(set! (-> arg0 data 3) 0.0)
|
||||
(set! (-> arg0 data 4) (* f5-0 f4-0))
|
||||
(set! (-> arg0 data 5) f2-0)
|
||||
(set! (-> arg0 data 6) (* f5-0 f3-0))
|
||||
(set! (-> arg0 data 7) 0.0)
|
||||
(set! (-> arg0 data 8) (+ (* f0-5 f3-0) (* f1-1 f2-0 f4-0)))
|
||||
(set! (-> arg0 data 9) (- (* f1-1 f5-0)))
|
||||
(set! (-> arg0 data 10) (- (* f1-1 f2-0 f3-0) (* f0-5 f4-0)))
|
||||
(set! (-> arg0 vector 0 x) (- (* f1-1 f3-0) (* f0-5 f2-0 f4-0)))
|
||||
(set! (-> arg0 vector 0 y) (* f0-5 f5-0))
|
||||
(set! (-> arg0 vector 0 z) (- (+ (* f1-1 f4-0) (* f0-5 f2-0 f3-0))))
|
||||
(set! (-> arg0 vector 0 w) 0.0)
|
||||
(set! (-> arg0 vector 1 x) (* f5-0 f4-0))
|
||||
(set! (-> arg0 vector 1 y) f2-0)
|
||||
(set! (-> arg0 vector 1 z) (* f5-0 f3-0))
|
||||
(set! (-> arg0 vector 1 w) 0.0)
|
||||
(set! (-> arg0 vector 2 x) (+ (* f0-5 f3-0) (* f1-1 f2-0 f4-0)))
|
||||
(set! (-> arg0 vector 2 y) (- (* f1-1 f5-0)))
|
||||
(set! (-> arg0 vector 2 z) (- (* f1-1 f2-0 f3-0) (* f0-5 f4-0)))
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 data 11) 0.0)
|
||||
(set! (-> arg0 vector 2 w) 0.0)
|
||||
(set! (-> arg0 trans x) 0.0)
|
||||
(set! (-> arg0 trans y) 0.0)
|
||||
(set! (-> arg0 trans z) 0.0)
|
||||
@@ -1061,15 +1085,15 @@
|
||||
|
||||
;; definition for function matrix-3x3-determinant
|
||||
(defun matrix-3x3-determinant ((arg0 matrix))
|
||||
(let ((f8-0 (-> arg0 data 0))
|
||||
(f1-0 (-> arg0 data 1))
|
||||
(f4-0 (-> arg0 data 2))
|
||||
(f2-0 (-> arg0 data 4))
|
||||
(f5-0 (-> arg0 data 5))
|
||||
(f9-0 (-> arg0 data 6))
|
||||
(f3-0 (-> arg0 data 8))
|
||||
(f6-0 (-> arg0 data 9))
|
||||
(f0-0 (-> arg0 data 10))
|
||||
(let ((f8-0 (-> arg0 vector 0 x))
|
||||
(f1-0 (-> arg0 vector 0 y))
|
||||
(f4-0 (-> arg0 vector 0 z))
|
||||
(f2-0 (-> arg0 vector 1 x))
|
||||
(f5-0 (-> arg0 vector 1 y))
|
||||
(f9-0 (-> arg0 vector 1 z))
|
||||
(f3-0 (-> arg0 vector 2 x))
|
||||
(f6-0 (-> arg0 vector 2 y))
|
||||
(f0-0 (-> arg0 vector 2 z))
|
||||
)
|
||||
(- (+ (* f8-0 f5-0 f0-0) (* f1-0 f9-0 f3-0) (* f4-0 f2-0 f6-0))
|
||||
(+ (* f8-0 f9-0 f6-0) (* f4-0 f5-0 f3-0) (* f1-0 f2-0 f0-0))
|
||||
@@ -1102,32 +1126,32 @@
|
||||
;; definition for function matrix-3x3-inverse!
|
||||
(defun matrix-3x3-inverse! ((arg0 matrix) (arg1 matrix))
|
||||
(let ((f0-0 (matrix-3x3-determinant arg1)))
|
||||
(set! (-> arg0 data 0)
|
||||
(/ (- (* (-> arg1 data 5) (-> arg1 data 10)) (* (-> arg1 data 6) (-> arg1 data 9))) f0-0)
|
||||
(set! (-> arg0 vector 0 x)
|
||||
(/ (- (* (-> arg1 vector 1 y) (-> arg1 vector 2 z)) (* (-> arg1 vector 1 z) (-> arg1 vector 2 y))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 4)
|
||||
(/ (- (* (-> arg1 data 6) (-> arg1 data 8)) (* (-> arg1 data 4) (-> arg1 data 10))) f0-0)
|
||||
(set! (-> arg0 vector 1 x)
|
||||
(/ (- (* (-> arg1 vector 1 z) (-> arg1 vector 2 x)) (* (-> arg1 vector 1 x) (-> arg1 vector 2 z))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 8)
|
||||
(/ (- (* (-> arg1 data 4) (-> arg1 data 9)) (* (-> arg1 data 5) (-> arg1 data 8))) f0-0)
|
||||
(set! (-> arg0 vector 2 x)
|
||||
(/ (- (* (-> arg1 vector 1 x) (-> arg1 vector 2 y)) (* (-> arg1 vector 1 y) (-> arg1 vector 2 x))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 1)
|
||||
(/ (- (* (-> arg1 data 9) (-> arg1 data 2)) (* (-> arg1 data 10) (-> arg1 data 1))) f0-0)
|
||||
(set! (-> arg0 vector 0 y)
|
||||
(/ (- (* (-> arg1 vector 2 y) (-> arg1 vector 0 z)) (* (-> arg1 vector 2 z) (-> arg1 vector 0 y))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 5)
|
||||
(/ (- (* (-> arg1 data 10) (-> arg1 data 0)) (* (-> arg1 data 8) (-> arg1 data 2))) f0-0)
|
||||
(set! (-> arg0 vector 1 y)
|
||||
(/ (- (* (-> arg1 vector 2 z) (-> arg1 vector 0 x)) (* (-> arg1 vector 2 x) (-> arg1 vector 0 z))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 9)
|
||||
(/ (- (* (-> arg1 data 8) (-> arg1 data 1)) (* (-> arg1 data 9) (-> arg1 data 0))) f0-0)
|
||||
(set! (-> arg0 vector 2 y)
|
||||
(/ (- (* (-> arg1 vector 2 x) (-> arg1 vector 0 y)) (* (-> arg1 vector 2 y) (-> arg1 vector 0 x))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 2)
|
||||
(/ (- (* (-> arg1 data 1) (-> arg1 data 6)) (* (-> arg1 data 2) (-> arg1 data 5))) f0-0)
|
||||
(set! (-> arg0 vector 0 z)
|
||||
(/ (- (* (-> arg1 vector 0 y) (-> arg1 vector 1 z)) (* (-> arg1 vector 0 z) (-> arg1 vector 1 y))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 6)
|
||||
(/ (- (* (-> arg1 data 2) (-> arg1 data 4)) (* (-> arg1 data 0) (-> arg1 data 6))) f0-0)
|
||||
(set! (-> arg0 vector 1 z)
|
||||
(/ (- (* (-> arg1 vector 0 z) (-> arg1 vector 1 x)) (* (-> arg1 vector 0 x) (-> arg1 vector 1 z))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 10)
|
||||
(/ (- (* (-> arg1 data 0) (-> arg1 data 5)) (* (-> arg1 data 1) (-> arg1 data 4))) f0-0)
|
||||
(set! (-> arg0 vector 2 z)
|
||||
(/ (- (* (-> arg1 vector 0 x) (-> arg1 vector 1 y)) (* (-> arg1 vector 0 y) (-> arg1 vector 1 x))) f0-0)
|
||||
)
|
||||
)
|
||||
arg0
|
||||
@@ -1136,32 +1160,32 @@
|
||||
;; definition for function matrix-3x3-inverse-transpose!
|
||||
(defun matrix-3x3-inverse-transpose! ((arg0 matrix) (arg1 matrix))
|
||||
(let ((f0-0 (matrix-3x3-determinant arg1)))
|
||||
(set! (-> arg0 data 0)
|
||||
(/ (- (* (-> arg1 data 5) (-> arg1 data 10)) (* (-> arg1 data 6) (-> arg1 data 9))) f0-0)
|
||||
(set! (-> arg0 vector 0 x)
|
||||
(/ (- (* (-> arg1 vector 1 y) (-> arg1 vector 2 z)) (* (-> arg1 vector 1 z) (-> arg1 vector 2 y))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 1)
|
||||
(/ (- (* (-> arg1 data 6) (-> arg1 data 8)) (* (-> arg1 data 4) (-> arg1 data 10))) f0-0)
|
||||
(set! (-> arg0 vector 0 y)
|
||||
(/ (- (* (-> arg1 vector 1 z) (-> arg1 vector 2 x)) (* (-> arg1 vector 1 x) (-> arg1 vector 2 z))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 2)
|
||||
(/ (- (* (-> arg1 data 4) (-> arg1 data 9)) (* (-> arg1 data 5) (-> arg1 data 8))) f0-0)
|
||||
(set! (-> arg0 vector 0 z)
|
||||
(/ (- (* (-> arg1 vector 1 x) (-> arg1 vector 2 y)) (* (-> arg1 vector 1 y) (-> arg1 vector 2 x))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 4)
|
||||
(/ (- (* (-> arg1 data 9) (-> arg1 data 2)) (* (-> arg1 data 10) (-> arg1 data 1))) f0-0)
|
||||
(set! (-> arg0 vector 1 x)
|
||||
(/ (- (* (-> arg1 vector 2 y) (-> arg1 vector 0 z)) (* (-> arg1 vector 2 z) (-> arg1 vector 0 y))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 5)
|
||||
(/ (- (* (-> arg1 data 10) (-> arg1 data 0)) (* (-> arg1 data 8) (-> arg1 data 2))) f0-0)
|
||||
(set! (-> arg0 vector 1 y)
|
||||
(/ (- (* (-> arg1 vector 2 z) (-> arg1 vector 0 x)) (* (-> arg1 vector 2 x) (-> arg1 vector 0 z))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 6)
|
||||
(/ (- (* (-> arg1 data 8) (-> arg1 data 1)) (* (-> arg1 data 9) (-> arg1 data 0))) f0-0)
|
||||
(set! (-> arg0 vector 1 z)
|
||||
(/ (- (* (-> arg1 vector 2 x) (-> arg1 vector 0 y)) (* (-> arg1 vector 2 y) (-> arg1 vector 0 x))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 8)
|
||||
(/ (- (* (-> arg1 data 1) (-> arg1 data 6)) (* (-> arg1 data 2) (-> arg1 data 5))) f0-0)
|
||||
(set! (-> arg0 vector 2 x)
|
||||
(/ (- (* (-> arg1 vector 0 y) (-> arg1 vector 1 z)) (* (-> arg1 vector 0 z) (-> arg1 vector 1 y))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 9)
|
||||
(/ (- (* (-> arg1 data 2) (-> arg1 data 4)) (* (-> arg1 data 0) (-> arg1 data 6))) f0-0)
|
||||
(set! (-> arg0 vector 2 y)
|
||||
(/ (- (* (-> arg1 vector 0 z) (-> arg1 vector 1 x)) (* (-> arg1 vector 0 x) (-> arg1 vector 1 z))) f0-0)
|
||||
)
|
||||
(set! (-> arg0 data 10)
|
||||
(/ (- (* (-> arg1 data 0) (-> arg1 data 5)) (* (-> arg1 data 1) (-> arg1 data 4))) f0-0)
|
||||
(set! (-> arg0 vector 2 z)
|
||||
(/ (- (* (-> arg1 vector 0 x) (-> arg1 vector 1 y)) (* (-> arg1 vector 0 y) (-> arg1 vector 1 x))) f0-0)
|
||||
)
|
||||
)
|
||||
arg0
|
||||
@@ -1233,9 +1257,9 @@
|
||||
(vf16 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(let ((f2-0 (-> arg1 data 0))
|
||||
(f0-0 (-> arg1 data 1))
|
||||
(f1-0 (-> arg1 data 2))
|
||||
(let ((f2-0 (-> arg1 vector 0 x))
|
||||
(f0-0 (-> arg1 vector 0 y))
|
||||
(f1-0 (-> arg1 vector 0 z))
|
||||
(v1-0 #x3f800000)
|
||||
)
|
||||
(.lvf vf10 (&-> arg1 vector 0 quad))
|
||||
@@ -1277,18 +1301,18 @@
|
||||
|
||||
;; definition for function matrix-4x4-determinant
|
||||
(defun matrix-4x4-determinant ((arg0 matrix))
|
||||
(let ((f15-0 (-> arg0 data 0))
|
||||
(f14-0 (-> arg0 data 1))
|
||||
(f10-0 (-> arg0 data 2))
|
||||
(f2-0 (-> arg0 data 3))
|
||||
(f9-0 (-> arg0 data 4))
|
||||
(f6-0 (-> arg0 data 5))
|
||||
(f3-0 (-> arg0 data 6))
|
||||
(f11-0 (-> arg0 data 7))
|
||||
(f5-0 (-> arg0 data 8))
|
||||
(f1-0 (-> arg0 data 9))
|
||||
(f8-0 (-> arg0 data 10))
|
||||
(f13-0 (-> arg0 data 11))
|
||||
(let ((f15-0 (-> arg0 vector 0 x))
|
||||
(f14-0 (-> arg0 vector 0 y))
|
||||
(f10-0 (-> arg0 vector 0 z))
|
||||
(f2-0 (-> arg0 vector 0 w))
|
||||
(f9-0 (-> arg0 vector 1 x))
|
||||
(f6-0 (-> arg0 vector 1 y))
|
||||
(f3-0 (-> arg0 vector 1 z))
|
||||
(f11-0 (-> arg0 vector 1 w))
|
||||
(f5-0 (-> arg0 vector 2 x))
|
||||
(f1-0 (-> arg0 vector 2 y))
|
||||
(f8-0 (-> arg0 vector 2 z))
|
||||
(f13-0 (-> arg0 vector 2 w))
|
||||
(f0-0 (-> arg0 trans x))
|
||||
(f7-0 (-> arg0 trans y))
|
||||
(f4-0 (-> arg0 trans z))
|
||||
@@ -1327,225 +1351,225 @@
|
||||
;; definition for function matrix-4x4-inverse-transpose!
|
||||
(defun matrix-4x4-inverse-transpose! ((arg0 matrix) (arg1 matrix))
|
||||
(let ((f0-0 (matrix-4x4-determinant arg1)))
|
||||
(let ((f9-0 (-> arg1 data 5))
|
||||
(f2-0 (-> arg1 data 6))
|
||||
(f5-0 (-> arg1 data 7))
|
||||
(f3-0 (-> arg1 data 9))
|
||||
(f6-0 (-> arg1 data 10))
|
||||
(f10-0 (-> arg1 data 11))
|
||||
(let ((f9-0 (-> arg1 vector 1 y))
|
||||
(f2-0 (-> arg1 vector 1 z))
|
||||
(f5-0 (-> arg1 vector 1 w))
|
||||
(f3-0 (-> arg1 vector 2 y))
|
||||
(f6-0 (-> arg1 vector 2 z))
|
||||
(f10-0 (-> arg1 vector 2 w))
|
||||
(f4-0 (-> arg1 trans y))
|
||||
(f7-0 (-> arg1 trans z))
|
||||
(f1-0 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 0) (/ (- (+ (* f9-0 f6-0 f1-0) (* f2-0 f10-0 f4-0) (* f5-0 f3-0 f7-0))
|
||||
(+ (* f9-0 f10-0 f7-0) (* f5-0 f6-0 f4-0) (* f2-0 f3-0 f1-0))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
(set! (-> arg0 vector 0 x) (/ (- (+ (* f9-0 f6-0 f1-0) (* f2-0 f10-0 f4-0) (* f5-0 f3-0 f7-0))
|
||||
(+ (* f9-0 f10-0 f7-0) (* f5-0 f6-0 f4-0) (* f2-0 f3-0 f1-0))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-2 (-> arg1 data 4))
|
||||
(f2-2 (-> arg1 data 6))
|
||||
(f5-2 (-> arg1 data 7))
|
||||
(f3-1 (-> arg1 data 8))
|
||||
(f6-1 (-> arg1 data 10))
|
||||
(f10-1 (-> arg1 data 11))
|
||||
(let ((f9-2 (-> arg1 vector 1 x))
|
||||
(f2-2 (-> arg1 vector 1 z))
|
||||
(f5-2 (-> arg1 vector 1 w))
|
||||
(f3-1 (-> arg1 vector 2 x))
|
||||
(f6-1 (-> arg1 vector 2 z))
|
||||
(f10-1 (-> arg1 vector 2 w))
|
||||
(f4-3 (-> arg1 trans x))
|
||||
(f7-2 (-> arg1 trans z))
|
||||
(f1-6 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 1) (- (/ (- (+ (* f9-2 f6-1 f1-6) (* f2-2 f10-1 f4-3) (* f5-2 f3-1 f7-2))
|
||||
(+ (* f9-2 f10-1 f7-2) (* f5-2 f6-1 f4-3) (* f2-2 f3-1 f1-6))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 vector 0 y) (- (/ (- (+ (* f9-2 f6-1 f1-6) (* f2-2 f10-1 f4-3) (* f5-2 f3-1 f7-2))
|
||||
(+ (* f9-2 f10-1 f7-2) (* f5-2 f6-1 f4-3) (* f2-2 f3-1 f1-6))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-4 (-> arg1 data 4))
|
||||
(f2-4 (-> arg1 data 5))
|
||||
(f5-4 (-> arg1 data 7))
|
||||
(f3-2 (-> arg1 data 8))
|
||||
(f6-2 (-> arg1 data 9))
|
||||
(f10-2 (-> arg1 data 11))
|
||||
(let ((f9-4 (-> arg1 vector 1 x))
|
||||
(f2-4 (-> arg1 vector 1 y))
|
||||
(f5-4 (-> arg1 vector 1 w))
|
||||
(f3-2 (-> arg1 vector 2 x))
|
||||
(f6-2 (-> arg1 vector 2 y))
|
||||
(f10-2 (-> arg1 vector 2 w))
|
||||
(f4-6 (-> arg1 trans x))
|
||||
(f7-4 (-> arg1 trans y))
|
||||
(f1-13 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 2) (/ (- (+ (* f9-4 f6-2 f1-13) (* f2-4 f10-2 f4-6) (* f5-4 f3-2 f7-4))
|
||||
(+ (* f9-4 f10-2 f7-4) (* f5-4 f6-2 f4-6) (* f2-4 f3-2 f1-13))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
(set! (-> arg0 vector 0 z) (/ (- (+ (* f9-4 f6-2 f1-13) (* f2-4 f10-2 f4-6) (* f5-4 f3-2 f7-4))
|
||||
(+ (* f9-4 f10-2 f7-4) (* f5-4 f6-2 f4-6) (* f2-4 f3-2 f1-13))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-6 (-> arg1 data 4))
|
||||
(f2-6 (-> arg1 data 5))
|
||||
(f5-6 (-> arg1 data 6))
|
||||
(f3-3 (-> arg1 data 8))
|
||||
(f6-3 (-> arg1 data 9))
|
||||
(f10-3 (-> arg1 data 10))
|
||||
(let ((f9-6 (-> arg1 vector 1 x))
|
||||
(f2-6 (-> arg1 vector 1 y))
|
||||
(f5-6 (-> arg1 vector 1 z))
|
||||
(f3-3 (-> arg1 vector 2 x))
|
||||
(f6-3 (-> arg1 vector 2 y))
|
||||
(f10-3 (-> arg1 vector 2 z))
|
||||
(f4-9 (-> arg1 trans x))
|
||||
(f7-6 (-> arg1 trans y))
|
||||
(f1-19 (-> arg1 trans z))
|
||||
)
|
||||
(set! (-> arg0 data 3) (- (/ (- (+ (* f9-6 f6-3 f1-19) (* f2-6 f10-3 f4-9) (* f5-6 f3-3 f7-6))
|
||||
(+ (* f9-6 f10-3 f7-6) (* f5-6 f6-3 f4-9) (* f2-6 f3-3 f1-19))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 vector 0 w) (- (/ (- (+ (* f9-6 f6-3 f1-19) (* f2-6 f10-3 f4-9) (* f5-6 f3-3 f7-6))
|
||||
(+ (* f9-6 f10-3 f7-6) (* f5-6 f6-3 f4-9) (* f2-6 f3-3 f1-19))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-8 (-> arg1 data 1))
|
||||
(f2-8 (-> arg1 data 2))
|
||||
(f5-8 (-> arg1 data 3))
|
||||
(f3-4 (-> arg1 data 9))
|
||||
(f6-4 (-> arg1 data 10))
|
||||
(f10-4 (-> arg1 data 11))
|
||||
(let ((f9-8 (-> arg1 vector 0 y))
|
||||
(f2-8 (-> arg1 vector 0 z))
|
||||
(f5-8 (-> arg1 vector 0 w))
|
||||
(f3-4 (-> arg1 vector 2 y))
|
||||
(f6-4 (-> arg1 vector 2 z))
|
||||
(f10-4 (-> arg1 vector 2 w))
|
||||
(f4-12 (-> arg1 trans y))
|
||||
(f7-8 (-> arg1 trans z))
|
||||
(f1-26 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 4) (- (/ (- (+ (* f9-8 f6-4 f1-26) (* f2-8 f10-4 f4-12) (* f5-8 f3-4 f7-8))
|
||||
(+ (* f9-8 f10-4 f7-8) (* f5-8 f6-4 f4-12) (* f2-8 f3-4 f1-26))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 vector 1 x) (- (/ (- (+ (* f9-8 f6-4 f1-26) (* f2-8 f10-4 f4-12) (* f5-8 f3-4 f7-8))
|
||||
(+ (* f9-8 f10-4 f7-8) (* f5-8 f6-4 f4-12) (* f2-8 f3-4 f1-26))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-10 (-> arg1 data 0))
|
||||
(f2-10 (-> arg1 data 2))
|
||||
(f5-10 (-> arg1 data 3))
|
||||
(f3-5 (-> arg1 data 8))
|
||||
(f6-5 (-> arg1 data 10))
|
||||
(f10-5 (-> arg1 data 11))
|
||||
(let ((f9-10 (-> arg1 vector 0 x))
|
||||
(f2-10 (-> arg1 vector 0 z))
|
||||
(f5-10 (-> arg1 vector 0 w))
|
||||
(f3-5 (-> arg1 vector 2 x))
|
||||
(f6-5 (-> arg1 vector 2 z))
|
||||
(f10-5 (-> arg1 vector 2 w))
|
||||
(f4-15 (-> arg1 trans x))
|
||||
(f7-10 (-> arg1 trans z))
|
||||
(f1-33 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 5) (/ (- (+ (* f9-10 f6-5 f1-33) (* f2-10 f10-5 f4-15) (* f5-10 f3-5 f7-10))
|
||||
(+ (* f9-10 f10-5 f7-10) (* f5-10 f6-5 f4-15) (* f2-10 f3-5 f1-33))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
(set! (-> arg0 vector 1 y) (/ (- (+ (* f9-10 f6-5 f1-33) (* f2-10 f10-5 f4-15) (* f5-10 f3-5 f7-10))
|
||||
(+ (* f9-10 f10-5 f7-10) (* f5-10 f6-5 f4-15) (* f2-10 f3-5 f1-33))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-12 (-> arg1 data 0))
|
||||
(f2-12 (-> arg1 data 1))
|
||||
(f5-12 (-> arg1 data 3))
|
||||
(f3-6 (-> arg1 data 8))
|
||||
(f6-6 (-> arg1 data 9))
|
||||
(f10-6 (-> arg1 data 11))
|
||||
(let ((f9-12 (-> arg1 vector 0 x))
|
||||
(f2-12 (-> arg1 vector 0 y))
|
||||
(f5-12 (-> arg1 vector 0 w))
|
||||
(f3-6 (-> arg1 vector 2 x))
|
||||
(f6-6 (-> arg1 vector 2 y))
|
||||
(f10-6 (-> arg1 vector 2 w))
|
||||
(f4-18 (-> arg1 trans x))
|
||||
(f7-12 (-> arg1 trans y))
|
||||
(f1-39 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 6) (- (/ (- (+ (* f9-12 f6-6 f1-39) (* f2-12 f10-6 f4-18) (* f5-12 f3-6 f7-12))
|
||||
(+ (* f9-12 f10-6 f7-12) (* f5-12 f6-6 f4-18) (* f2-12 f3-6 f1-39))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 vector 1 z) (- (/ (- (+ (* f9-12 f6-6 f1-39) (* f2-12 f10-6 f4-18) (* f5-12 f3-6 f7-12))
|
||||
(+ (* f9-12 f10-6 f7-12) (* f5-12 f6-6 f4-18) (* f2-12 f3-6 f1-39))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-14 (-> arg1 data 0))
|
||||
(f2-14 (-> arg1 data 1))
|
||||
(f5-14 (-> arg1 data 2))
|
||||
(f3-7 (-> arg1 data 8))
|
||||
(f6-7 (-> arg1 data 9))
|
||||
(f10-7 (-> arg1 data 10))
|
||||
(let ((f9-14 (-> arg1 vector 0 x))
|
||||
(f2-14 (-> arg1 vector 0 y))
|
||||
(f5-14 (-> arg1 vector 0 z))
|
||||
(f3-7 (-> arg1 vector 2 x))
|
||||
(f6-7 (-> arg1 vector 2 y))
|
||||
(f10-7 (-> arg1 vector 2 z))
|
||||
(f4-21 (-> arg1 trans x))
|
||||
(f7-14 (-> arg1 trans y))
|
||||
(f1-46 (-> arg1 trans z))
|
||||
)
|
||||
(set! (-> arg0 data 7) (/ (- (+ (* f9-14 f6-7 f1-46) (* f2-14 f10-7 f4-21) (* f5-14 f3-7 f7-14))
|
||||
(+ (* f9-14 f10-7 f7-14) (* f5-14 f6-7 f4-21) (* f2-14 f3-7 f1-46))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
(set! (-> arg0 vector 1 w) (/ (- (+ (* f9-14 f6-7 f1-46) (* f2-14 f10-7 f4-21) (* f5-14 f3-7 f7-14))
|
||||
(+ (* f9-14 f10-7 f7-14) (* f5-14 f6-7 f4-21) (* f2-14 f3-7 f1-46))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-16 (-> arg1 data 1))
|
||||
(f2-16 (-> arg1 data 2))
|
||||
(f5-16 (-> arg1 data 3))
|
||||
(f3-8 (-> arg1 data 5))
|
||||
(f6-8 (-> arg1 data 6))
|
||||
(f10-8 (-> arg1 data 7))
|
||||
(let ((f9-16 (-> arg1 vector 0 y))
|
||||
(f2-16 (-> arg1 vector 0 z))
|
||||
(f5-16 (-> arg1 vector 0 w))
|
||||
(f3-8 (-> arg1 vector 1 y))
|
||||
(f6-8 (-> arg1 vector 1 z))
|
||||
(f10-8 (-> arg1 vector 1 w))
|
||||
(f4-24 (-> arg1 trans y))
|
||||
(f7-16 (-> arg1 trans z))
|
||||
(f1-52 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 8) (/ (- (+ (* f9-16 f6-8 f1-52) (* f2-16 f10-8 f4-24) (* f5-16 f3-8 f7-16))
|
||||
(+ (* f9-16 f10-8 f7-16) (* f5-16 f6-8 f4-24) (* f2-16 f3-8 f1-52))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
(set! (-> arg0 vector 2 x) (/ (- (+ (* f9-16 f6-8 f1-52) (* f2-16 f10-8 f4-24) (* f5-16 f3-8 f7-16))
|
||||
(+ (* f9-16 f10-8 f7-16) (* f5-16 f6-8 f4-24) (* f2-16 f3-8 f1-52))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-18 (-> arg1 data 0))
|
||||
(f2-18 (-> arg1 data 2))
|
||||
(f5-18 (-> arg1 data 3))
|
||||
(f3-9 (-> arg1 data 4))
|
||||
(f6-9 (-> arg1 data 6))
|
||||
(f10-9 (-> arg1 data 7))
|
||||
(let ((f9-18 (-> arg1 vector 0 x))
|
||||
(f2-18 (-> arg1 vector 0 z))
|
||||
(f5-18 (-> arg1 vector 0 w))
|
||||
(f3-9 (-> arg1 vector 1 x))
|
||||
(f6-9 (-> arg1 vector 1 z))
|
||||
(f10-9 (-> arg1 vector 1 w))
|
||||
(f4-27 (-> arg1 trans x))
|
||||
(f7-18 (-> arg1 trans z))
|
||||
(f1-58 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 9) (- (/ (- (+ (* f9-18 f6-9 f1-58) (* f2-18 f10-9 f4-27) (* f5-18 f3-9 f7-18))
|
||||
(+ (* f9-18 f10-9 f7-18) (* f5-18 f6-9 f4-27) (* f2-18 f3-9 f1-58))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 vector 2 y) (- (/ (- (+ (* f9-18 f6-9 f1-58) (* f2-18 f10-9 f4-27) (* f5-18 f3-9 f7-18))
|
||||
(+ (* f9-18 f10-9 f7-18) (* f5-18 f6-9 f4-27) (* f2-18 f3-9 f1-58))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-20 (-> arg1 data 0))
|
||||
(f2-20 (-> arg1 data 1))
|
||||
(f5-20 (-> arg1 data 3))
|
||||
(f3-10 (-> arg1 data 4))
|
||||
(f6-10 (-> arg1 data 5))
|
||||
(f10-10 (-> arg1 data 7))
|
||||
(let ((f9-20 (-> arg1 vector 0 x))
|
||||
(f2-20 (-> arg1 vector 0 y))
|
||||
(f5-20 (-> arg1 vector 0 w))
|
||||
(f3-10 (-> arg1 vector 1 x))
|
||||
(f6-10 (-> arg1 vector 1 y))
|
||||
(f10-10 (-> arg1 vector 1 w))
|
||||
(f4-30 (-> arg1 trans x))
|
||||
(f7-20 (-> arg1 trans y))
|
||||
(f1-65 (-> arg1 trans w))
|
||||
)
|
||||
(set! (-> arg0 data 10) (/ (- (+ (* f9-20 f6-10 f1-65) (* f2-20 f10-10 f4-30) (* f5-20 f3-10 f7-20))
|
||||
(+ (* f9-20 f10-10 f7-20) (* f5-20 f6-10 f4-30) (* f2-20 f3-10 f1-65))
|
||||
(set! (-> arg0 vector 2 z) (/ (- (+ (* f9-20 f6-10 f1-65) (* f2-20 f10-10 f4-30) (* f5-20 f3-10 f7-20))
|
||||
(+ (* f9-20 f10-10 f7-20) (* f5-20 f6-10 f4-30) (* f2-20 f3-10 f1-65))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-22 (-> arg1 data 0))
|
||||
(f2-22 (-> arg1 data 1))
|
||||
(f5-22 (-> arg1 data 2))
|
||||
(f3-11 (-> arg1 data 4))
|
||||
(f6-11 (-> arg1 data 5))
|
||||
(f10-11 (-> arg1 data 6))
|
||||
(let ((f9-22 (-> arg1 vector 0 x))
|
||||
(f2-22 (-> arg1 vector 0 y))
|
||||
(f5-22 (-> arg1 vector 0 z))
|
||||
(f3-11 (-> arg1 vector 1 x))
|
||||
(f6-11 (-> arg1 vector 1 y))
|
||||
(f10-11 (-> arg1 vector 1 z))
|
||||
(f4-33 (-> arg1 trans x))
|
||||
(f7-22 (-> arg1 trans y))
|
||||
(f1-71 (-> arg1 trans z))
|
||||
)
|
||||
(set! (-> arg0 data 11) (- (/ (- (+ (* f9-22 f6-11 f1-71) (* f2-22 f10-11 f4-33) (* f5-22 f3-11 f7-22))
|
||||
(+ (* f9-22 f10-11 f7-22) (* f5-22 f6-11 f4-33) (* f2-22 f3-11 f1-71))
|
||||
(set! (-> arg0 vector 2 w) (- (/ (- (+ (* f9-22 f6-11 f1-71) (* f2-22 f10-11 f4-33) (* f5-22 f3-11 f7-22))
|
||||
(+ (* f9-22 f10-11 f7-22) (* f5-22 f6-11 f4-33) (* f2-22 f3-11 f1-71))
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
f0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-24 (-> arg1 data 1))
|
||||
(f2-24 (-> arg1 data 2))
|
||||
(f5-24 (-> arg1 data 3))
|
||||
(f3-12 (-> arg1 data 5))
|
||||
(f6-12 (-> arg1 data 6))
|
||||
(f10-12 (-> arg1 data 7))
|
||||
(f4-36 (-> arg1 data 9))
|
||||
(f7-24 (-> arg1 data 10))
|
||||
(f1-78 (-> arg1 data 11))
|
||||
(let ((f9-24 (-> arg1 vector 0 y))
|
||||
(f2-24 (-> arg1 vector 0 z))
|
||||
(f5-24 (-> arg1 vector 0 w))
|
||||
(f3-12 (-> arg1 vector 1 y))
|
||||
(f6-12 (-> arg1 vector 1 z))
|
||||
(f10-12 (-> arg1 vector 1 w))
|
||||
(f4-36 (-> arg1 vector 2 y))
|
||||
(f7-24 (-> arg1 vector 2 z))
|
||||
(f1-78 (-> arg1 vector 2 w))
|
||||
)
|
||||
(set! (-> arg0 trans x) (- (/ (- (+ (* f9-24 f6-12 f1-78) (* f2-24 f10-12 f4-36) (* f5-24 f3-12 f7-24))
|
||||
(+ (* f9-24 f10-12 f7-24) (* f5-24 f6-12 f4-36) (* f2-24 f3-12 f1-78))
|
||||
@@ -1555,15 +1579,15 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-26 (-> arg1 data 0))
|
||||
(f2-26 (-> arg1 data 2))
|
||||
(f5-26 (-> arg1 data 3))
|
||||
(f3-13 (-> arg1 data 4))
|
||||
(f6-13 (-> arg1 data 6))
|
||||
(f10-13 (-> arg1 data 7))
|
||||
(f4-39 (-> arg1 data 8))
|
||||
(f7-26 (-> arg1 data 10))
|
||||
(f1-85 (-> arg1 data 11))
|
||||
(let ((f9-26 (-> arg1 vector 0 x))
|
||||
(f2-26 (-> arg1 vector 0 z))
|
||||
(f5-26 (-> arg1 vector 0 w))
|
||||
(f3-13 (-> arg1 vector 1 x))
|
||||
(f6-13 (-> arg1 vector 1 z))
|
||||
(f10-13 (-> arg1 vector 1 w))
|
||||
(f4-39 (-> arg1 vector 2 x))
|
||||
(f7-26 (-> arg1 vector 2 z))
|
||||
(f1-85 (-> arg1 vector 2 w))
|
||||
)
|
||||
(set! (-> arg0 trans y) (/ (- (+ (* f9-26 f6-13 f1-85) (* f2-26 f10-13 f4-39) (* f5-26 f3-13 f7-26))
|
||||
(+ (* f9-26 f10-13 f7-26) (* f5-26 f6-13 f4-39) (* f2-26 f3-13 f1-85))
|
||||
@@ -1572,15 +1596,15 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f9-28 (-> arg1 data 0))
|
||||
(f2-28 (-> arg1 data 1))
|
||||
(f5-28 (-> arg1 data 3))
|
||||
(f3-14 (-> arg1 data 4))
|
||||
(f6-14 (-> arg1 data 5))
|
||||
(f10-14 (-> arg1 data 7))
|
||||
(f4-42 (-> arg1 data 8))
|
||||
(f7-28 (-> arg1 data 9))
|
||||
(f1-91 (-> arg1 data 11))
|
||||
(let ((f9-28 (-> arg1 vector 0 x))
|
||||
(f2-28 (-> arg1 vector 0 y))
|
||||
(f5-28 (-> arg1 vector 0 w))
|
||||
(f3-14 (-> arg1 vector 1 x))
|
||||
(f6-14 (-> arg1 vector 1 y))
|
||||
(f10-14 (-> arg1 vector 1 w))
|
||||
(f4-42 (-> arg1 vector 2 x))
|
||||
(f7-28 (-> arg1 vector 2 y))
|
||||
(f1-91 (-> arg1 vector 2 w))
|
||||
)
|
||||
(set! (-> arg0 trans z) (- (/ (- (+ (* f9-28 f6-14 f1-91) (* f2-28 f10-14 f4-42) (* f5-28 f3-14 f7-28))
|
||||
(+ (* f9-28 f10-14 f7-28) (* f5-28 f6-14 f4-42) (* f2-28 f3-14 f1-91))
|
||||
@@ -1590,15 +1614,15 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f8-60 (-> arg1 data 0))
|
||||
(f1-98 (-> arg1 data 1))
|
||||
(f5-30 (-> arg1 data 2))
|
||||
(f2-30 (-> arg1 data 4))
|
||||
(f6-15 (-> arg1 data 5))
|
||||
(f9-30 (-> arg1 data 6))
|
||||
(f4-45 (-> arg1 data 8))
|
||||
(f7-30 (-> arg1 data 9))
|
||||
(f3-15 (-> arg1 data 10))
|
||||
(let ((f8-60 (-> arg1 vector 0 x))
|
||||
(f1-98 (-> arg1 vector 0 y))
|
||||
(f5-30 (-> arg1 vector 0 z))
|
||||
(f2-30 (-> arg1 vector 1 x))
|
||||
(f6-15 (-> arg1 vector 1 y))
|
||||
(f9-30 (-> arg1 vector 1 z))
|
||||
(f4-45 (-> arg1 vector 2 x))
|
||||
(f7-30 (-> arg1 vector 2 y))
|
||||
(f3-15 (-> arg1 vector 2 z))
|
||||
)
|
||||
(set! (-> arg0 trans w) (/ (- (+ (* f8-60 f6-15 f3-15) (* f1-98 f9-30 f4-45) (* f5-30 f2-30 f7-30))
|
||||
(+ (* f8-60 f9-30 f7-30) (* f5-30 f6-15 f4-45) (* f1-98 f2-30 f3-15))
|
||||
@@ -1613,8 +1637,8 @@
|
||||
|
||||
;; definition for function matrix-y-angle
|
||||
(defun matrix-y-angle ((arg0 matrix))
|
||||
(let ((v1-0 (&-> arg0 data 8)))
|
||||
(atan (-> v1-0 0) (-> v1-0 2))
|
||||
(let ((v1-0 (-> arg0 vector 2)))
|
||||
(atan (-> v1-0 x) (-> v1-0 z))
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1646,18 +1670,18 @@
|
||||
|
||||
;; definition for function matrix->scale
|
||||
(defun matrix->scale ((arg0 matrix) (arg1 vector))
|
||||
(set! (-> arg1 x) (vector-length (the-as vector (-> arg0 data))))
|
||||
(set! (-> arg1 y) (vector-length (the-as vector (&-> arg0 data 4))))
|
||||
(set! (-> arg1 z) (vector-length (the-as vector (&-> arg0 data 8))))
|
||||
(set! (-> arg1 x) (vector-length (the-as vector (-> arg0 vector))))
|
||||
(set! (-> arg1 y) (vector-length (-> arg0 vector 1)))
|
||||
(set! (-> arg1 z) (vector-length (-> arg0 vector 2)))
|
||||
(set! (-> arg1 w) 1.0)
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function matrix<-scale
|
||||
(defun matrix<-scale ((arg0 matrix) (arg1 vector))
|
||||
(vector-normalize! (the-as vector (-> arg0 data)) (-> arg1 x))
|
||||
(vector-normalize! (the-as vector (&-> arg0 data 4)) (-> arg1 y))
|
||||
(vector-normalize! (the-as vector (&-> arg0 data 8)) (-> arg1 z))
|
||||
(vector-normalize! (the-as vector (-> arg0 vector)) (-> arg1 x))
|
||||
(vector-normalize! (-> arg0 vector 1) (-> arg1 y))
|
||||
(vector-normalize! (-> arg0 vector 2) (-> arg1 z))
|
||||
arg0
|
||||
)
|
||||
|
||||
@@ -1677,9 +1701,9 @@
|
||||
(set! (-> s5-0 trans quad) a2-1)
|
||||
)
|
||||
(vector-reset! (-> s5-0 trans))
|
||||
(vector-normalize! (the-as vector (-> s5-0 data)) 1.0)
|
||||
(vector-normalize! (the-as vector (&-> s5-0 data 4)) 1.0)
|
||||
(vector-normalize! (the-as vector (&-> s5-0 data 8)) 1.0)
|
||||
(vector-normalize! (the-as vector (-> s5-0 vector)) 1.0)
|
||||
(vector-normalize! (-> s5-0 vector 1) 1.0)
|
||||
(vector-normalize! (-> s5-0 vector 2) 1.0)
|
||||
(matrix->quaternion arg1 s5-0)
|
||||
)
|
||||
)
|
||||
@@ -1689,13 +1713,13 @@
|
||||
(let ((s5-0 (matrix->scale arg0 (new 'stack-no-clear 'vector)))
|
||||
(s4-1 (quaternion->matrix (new 'stack-no-clear 'matrix) arg1))
|
||||
)
|
||||
(vector-normalize-copy! (the-as vector (-> arg0 data)) (the-as vector (-> s4-1 data)) (-> s5-0 x))
|
||||
(vector-normalize-copy! (the-as vector (&-> arg0 data 4)) (the-as vector (&-> s4-1 data 4)) (-> s5-0 y))
|
||||
(vector-normalize-copy! (the-as vector (&-> arg0 data 8)) (the-as vector (&-> s4-1 data 8)) (-> s5-0 z))
|
||||
(vector-normalize-copy! (the-as vector (-> arg0 vector)) (the-as vector (-> s4-1 vector)) (-> s5-0 x))
|
||||
(vector-normalize-copy! (-> arg0 vector 1) (-> s4-1 vector 1) (-> s5-0 y))
|
||||
(vector-normalize-copy! (-> arg0 vector 2) (-> s4-1 vector 2) (-> s5-0 z))
|
||||
)
|
||||
(set! (-> arg0 data 3) 0.0)
|
||||
(set! (-> arg0 data 7) 0.0)
|
||||
(set! (-> arg0 data 11) 0.0)
|
||||
(set! (-> arg0 vector 0 w) 0.0)
|
||||
(set! (-> arg0 vector 1 w) 0.0)
|
||||
(set! (-> arg0 vector 2 w) 0.0)
|
||||
arg0
|
||||
)
|
||||
|
||||
@@ -1727,26 +1751,18 @@
|
||||
(set! (-> s4-0 vector 2 quad) a1-1)
|
||||
(set! (-> s4-0 trans quad) a2-1)
|
||||
)
|
||||
(vector-normalize! (the-as vector (-> s4-0 data)) 1.0)
|
||||
(vector-normalize! (the-as vector (&-> s4-0 data 4)) 1.0)
|
||||
(vector-normalize! (the-as vector (&-> s4-0 data 8)) 1.0)
|
||||
(vector-cross!
|
||||
(the-as vector (&-> s4-0 data 8))
|
||||
(the-as vector (-> s4-0 data))
|
||||
(the-as vector (&-> s4-0 data 4))
|
||||
)
|
||||
(vector-cross!
|
||||
(the-as vector (&-> s4-0 data 4))
|
||||
(the-as vector (&-> s4-0 data 8))
|
||||
(the-as vector (-> s4-0 data))
|
||||
)
|
||||
(vector-normalize! (the-as vector (-> s4-0 vector)) 1.0)
|
||||
(vector-normalize! (-> s4-0 vector 1) 1.0)
|
||||
(vector-normalize! (-> s4-0 vector 2) 1.0)
|
||||
(vector-cross! (-> s4-0 vector 2) (the-as vector (-> s4-0 vector)) (-> s4-0 vector 1))
|
||||
(vector-cross! (-> s4-0 vector 1) (-> s4-0 vector 2) (the-as vector (-> s4-0 vector)))
|
||||
(matrix->quaternion (-> arg0 quat) s4-0)
|
||||
)
|
||||
(set-vector!
|
||||
(-> arg0 scale)
|
||||
(vector-length (the-as vector (-> arg1 data)))
|
||||
(vector-length (the-as vector (&-> arg1 data 4)))
|
||||
(vector-length (the-as vector (&-> arg1 data 8)))
|
||||
(vector-length (the-as vector (-> arg1 vector)))
|
||||
(vector-length (-> arg1 vector 1))
|
||||
(vector-length (-> arg1 vector 2))
|
||||
1.0
|
||||
)
|
||||
arg0
|
||||
@@ -1778,18 +1794,18 @@
|
||||
(f12-6 (- f5-0 (+ (* f6-0 f8-1) (* f5-0 f4-2) (* f2-0 f10-2))))
|
||||
(f2-1 (- f2-0 (+ (* f6-0 f9-2) (* f5-0 f10-2) (* f2-0 f7-2))))
|
||||
)
|
||||
(set! (-> arg0 data 0) f3-2)
|
||||
(set! (-> arg0 data 1) f8-1)
|
||||
(set! (-> arg0 data 2) f9-2)
|
||||
(set! (-> arg0 data 3) f1-0)
|
||||
(set! (-> arg0 data 4) f8-1)
|
||||
(set! (-> arg0 data 5) f4-2)
|
||||
(set! (-> arg0 data 6) f10-2)
|
||||
(set! (-> arg0 data 7) f1-0)
|
||||
(set! (-> arg0 data 8) f9-2)
|
||||
(set! (-> arg0 data 9) f10-2)
|
||||
(set! (-> arg0 data 10) f7-2)
|
||||
(set! (-> arg0 data 11) f1-0)
|
||||
(set! (-> arg0 vector 0 x) f3-2)
|
||||
(set! (-> arg0 vector 0 y) f8-1)
|
||||
(set! (-> arg0 vector 0 z) f9-2)
|
||||
(set! (-> arg0 vector 0 w) f1-0)
|
||||
(set! (-> arg0 vector 1 x) f8-1)
|
||||
(set! (-> arg0 vector 1 y) f4-2)
|
||||
(set! (-> arg0 vector 1 z) f10-2)
|
||||
(set! (-> arg0 vector 1 w) f1-0)
|
||||
(set! (-> arg0 vector 2 x) f9-2)
|
||||
(set! (-> arg0 vector 2 y) f10-2)
|
||||
(set! (-> arg0 vector 2 z) f7-2)
|
||||
(set! (-> arg0 vector 2 w) f1-0)
|
||||
(set! (-> arg0 trans x) f11-4)
|
||||
(set! (-> arg0 trans y) f12-6)
|
||||
(set! (-> arg0 trans z) f2-1)
|
||||
|
||||
+39
-39
@@ -63,9 +63,9 @@
|
||||
;; INFO: Used lq/sq
|
||||
(defun quaternion-look-at! ((arg0 quaternion) (arg1 vector) (arg2 vector))
|
||||
(let ((s5-0 (new 'stack-no-clear 'matrix)))
|
||||
(vector-cross! (the-as vector (-> s5-0 data)) arg2 arg1)
|
||||
(vector-cross! (the-as vector (&-> s5-0 data 4)) arg1 (the-as vector (-> s5-0 data)))
|
||||
(set! (-> (the-as vector (&-> s5-0 data 8)) quad) (-> arg1 quad))
|
||||
(vector-cross! (the-as vector (-> s5-0 vector)) arg2 arg1)
|
||||
(vector-cross! (-> s5-0 vector 1) arg1 (the-as vector (-> s5-0 vector)))
|
||||
(set! (-> (the-as vector (-> s5-0 vector 2)) quad) (-> arg1 quad))
|
||||
(quaternion-normalize! (matrix->quaternion arg0 s5-0))
|
||||
)
|
||||
)
|
||||
@@ -348,18 +348,18 @@
|
||||
(f1-0 (-> arg1 z))
|
||||
(f0-0 (-> arg1 w))
|
||||
)
|
||||
(set! (-> arg0 data 0) f0-0)
|
||||
(set! (-> arg0 data 1) f1-0)
|
||||
(set! (-> arg0 data 2) (- f2-0))
|
||||
(set! (-> arg0 data 3) f3-0)
|
||||
(set! (-> arg0 data 4) (- f1-0))
|
||||
(set! (-> arg0 data 5) f0-0)
|
||||
(set! (-> arg0 data 6) f3-0)
|
||||
(set! (-> arg0 data 7) f2-0)
|
||||
(set! (-> arg0 data 8) f2-0)
|
||||
(set! (-> arg0 data 9) (- f3-0))
|
||||
(set! (-> arg0 data 10) f0-0)
|
||||
(set! (-> arg0 data 11) f1-0)
|
||||
(set! (-> arg0 vector 0 x) f0-0)
|
||||
(set! (-> arg0 vector 0 y) f1-0)
|
||||
(set! (-> arg0 vector 0 z) (- f2-0))
|
||||
(set! (-> arg0 vector 0 w) f3-0)
|
||||
(set! (-> arg0 vector 1 x) (- f1-0))
|
||||
(set! (-> arg0 vector 1 y) f0-0)
|
||||
(set! (-> arg0 vector 1 z) f3-0)
|
||||
(set! (-> arg0 vector 1 w) f2-0)
|
||||
(set! (-> arg0 vector 2 x) f2-0)
|
||||
(set! (-> arg0 vector 2 y) (- f3-0))
|
||||
(set! (-> arg0 vector 2 z) f0-0)
|
||||
(set! (-> arg0 vector 2 w) f1-0)
|
||||
(set! (-> arg0 trans x) (- f3-0))
|
||||
(set! (-> arg0 trans y) (- f2-0))
|
||||
(set! (-> arg0 trans z) (- f1-0))
|
||||
@@ -375,18 +375,18 @@
|
||||
(f0-0 (-> arg1 z))
|
||||
)
|
||||
(let ((f3-0 (-> arg1 w)))
|
||||
(set! (-> arg0 data 0) f2-0)
|
||||
(set! (-> arg0 data 1) f3-0)
|
||||
(set! (-> arg0 data 2) (- f0-0))
|
||||
(set! (-> arg0 data 3) f1-0)
|
||||
(set! (-> arg0 data 4) f1-0)
|
||||
(set! (-> arg0 data 5) f0-0)
|
||||
(set! (-> arg0 data 6) f3-0)
|
||||
(set! (-> arg0 data 7) (- f3-0))
|
||||
(set! (-> arg0 data 8) f0-0)
|
||||
(set! (-> arg0 data 9) (- f1-0))
|
||||
(set! (-> arg0 data 10) f2-0)
|
||||
(set! (-> arg0 data 11) f3-0)
|
||||
(set! (-> arg0 vector 0 x) f2-0)
|
||||
(set! (-> arg0 vector 0 y) f3-0)
|
||||
(set! (-> arg0 vector 0 z) (- f0-0))
|
||||
(set! (-> arg0 vector 0 w) f1-0)
|
||||
(set! (-> arg0 vector 1 x) f1-0)
|
||||
(set! (-> arg0 vector 1 y) f0-0)
|
||||
(set! (-> arg0 vector 1 z) f3-0)
|
||||
(set! (-> arg0 vector 1 w) (- f3-0))
|
||||
(set! (-> arg0 vector 2 x) f0-0)
|
||||
(set! (-> arg0 vector 2 y) (- f1-0))
|
||||
(set! (-> arg0 vector 2 z) f2-0)
|
||||
(set! (-> arg0 vector 2 w) f3-0)
|
||||
(set! (-> arg0 trans x) f3-0)
|
||||
)
|
||||
(set! (-> arg0 trans y) (- f2-0))
|
||||
@@ -443,15 +443,15 @@
|
||||
|
||||
;; definition for function matrix->quaternion
|
||||
(defun matrix->quaternion ((arg0 quaternion) (arg1 matrix))
|
||||
(let ((f0-2 (+ (-> arg1 data 0) (-> arg1 data 5) (-> arg1 data 10))))
|
||||
(let ((f0-2 (+ (-> arg1 vector 0 x) (-> arg1 vector 1 y) (-> arg1 vector 2 z))))
|
||||
(cond
|
||||
((< 0.0 f0-2)
|
||||
(let ((f0-4 (sqrtf (+ 1.0 f0-2))))
|
||||
(set! (-> arg0 w) (* 0.5 f0-4))
|
||||
(let ((f0-5 (/ 0.5 f0-4)))
|
||||
(set! (-> arg0 x) (* f0-5 (- (-> arg1 data 6) (-> arg1 data 9))))
|
||||
(set! (-> arg0 y) (* f0-5 (- (-> arg1 data 8) (-> arg1 data 2))))
|
||||
(set! (-> arg0 z) (* f0-5 (- (-> arg1 data 1) (-> arg1 data 4))))
|
||||
(set! (-> arg0 x) (* f0-5 (- (-> arg1 vector 1 z) (-> arg1 vector 2 y))))
|
||||
(set! (-> arg0 y) (* f0-5 (- (-> arg1 vector 2 x) (-> arg1 vector 0 z))))
|
||||
(set! (-> arg0 z) (* f0-5 (- (-> arg1 vector 0 y) (-> arg1 vector 1 x))))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -460,12 +460,12 @@
|
||||
(a3-0 1)
|
||||
(v1-4 2)
|
||||
)
|
||||
(when (< (-> arg1 data 0) (-> arg1 data 5))
|
||||
(when (< (-> arg1 vector 0 x) (-> arg1 vector 1 y))
|
||||
(set! a2-0 1)
|
||||
(set! a3-0 2)
|
||||
(set! v1-4 0)
|
||||
)
|
||||
(when (< (-> (the-as (pointer float) (+ (+ (* a2-0 4) (* a2-0 16)) (the-as int arg1)))) (-> arg1 data 10))
|
||||
(when (< (-> (the-as (pointer float) (+ (+ (* a2-0 4) (* a2-0 16)) (the-as int arg1)))) (-> arg1 vector 2 z))
|
||||
(set! a2-0 2)
|
||||
(set! a3-0 0)
|
||||
(set! v1-4 1)
|
||||
@@ -528,9 +528,9 @@
|
||||
(vf7 :class vf)
|
||||
)
|
||||
(let ((v1-0 (new-stack-matrix0)))
|
||||
(let* ((f0-1 (vector-dot (the-as vector (-> arg1 data)) (the-as vector (-> arg1 data))))
|
||||
(f1-1 (vector-dot (the-as vector (&-> arg1 data 4)) (the-as vector (&-> arg1 data 4))))
|
||||
(f2-1 (vector-dot (the-as vector (&-> arg1 data 8)) (the-as vector (&-> arg1 data 8))))
|
||||
(let* ((f0-1 (vector-dot (the-as vector (-> arg1 vector)) (the-as vector (-> arg1 vector))))
|
||||
(f1-1 (vector-dot (-> arg1 vector 1) (-> arg1 vector 1)))
|
||||
(f2-1 (vector-dot (-> arg1 vector 2) (-> arg1 vector 2)))
|
||||
(f0-3 (/ 1.0 (sqrtf f0-1)))
|
||||
(f1-3 (/ 1.0 (sqrtf f1-1)))
|
||||
(f2-3 (/ 1.0 (sqrtf f2-1)))
|
||||
@@ -797,7 +797,7 @@
|
||||
(defun vector-x-quaternion! ((arg0 vector) (arg1 quaternion))
|
||||
(let ((s5-0 (new-stack-matrix0)))
|
||||
(quaternion->matrix s5-0 arg1)
|
||||
(set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 data)) 0))
|
||||
(set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector)) 0))
|
||||
)
|
||||
arg0
|
||||
)
|
||||
@@ -807,7 +807,7 @@
|
||||
(defun vector-y-quaternion! ((arg0 vector) (arg1 quaternion))
|
||||
(let ((s5-0 (new-stack-matrix0)))
|
||||
(quaternion->matrix s5-0 arg1)
|
||||
(set! (-> arg0 quad) (-> (the-as (pointer uint128) (&-> s5-0 data 4)) 0))
|
||||
(set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector 1)) 0))
|
||||
)
|
||||
arg0
|
||||
)
|
||||
@@ -817,7 +817,7 @@
|
||||
(defun vector-z-quaternion! ((arg0 vector) (arg1 quaternion))
|
||||
(let ((s5-0 (new-stack-matrix0)))
|
||||
(quaternion->matrix s5-0 arg1)
|
||||
(set! (-> arg0 quad) (-> (the-as (pointer uint128) (&-> s5-0 data 8)) 0))
|
||||
(set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector 2)) 0))
|
||||
)
|
||||
arg0
|
||||
)
|
||||
|
||||
-4
@@ -64,7 +64,3 @@
|
||||
(defun trs-matrix-calc! ((arg0 trs) (arg1 matrix))
|
||||
(transform-matrix-calc! (the-as transform (-> arg0 trans)) arg1)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+3
-7
@@ -126,9 +126,9 @@
|
||||
(s1-0 (-> *standard-dynamics* gravity-normal))
|
||||
(s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) s5-0))
|
||||
)
|
||||
(let ((s4-0 (&-> s3-0 data 8)))
|
||||
(vector-normalize! (vector-flatten! (the-as vector (&-> s3-0 data 4)) s1-0 (the-as vector s4-0)) 1.0)
|
||||
(vector-cross! (the-as vector (-> s3-0 data)) (the-as vector (&-> s3-0 data 4)) (the-as vector s4-0))
|
||||
(let ((s4-0 (-> s3-0 vector 2)))
|
||||
(vector-normalize! (vector-flatten! (-> s3-0 vector 1) s1-0 s4-0) 1.0)
|
||||
(vector-cross! (the-as vector (-> s3-0 vector)) (-> s3-0 vector 1) s4-0)
|
||||
)
|
||||
(let ((a1-5 (matrix-rotate-z! (new 'stack-no-clear 'matrix) arg0)))
|
||||
(matrix*! s3-0 a1-5 s3-0)
|
||||
@@ -462,7 +462,3 @@
|
||||
arg0
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-3
@@ -15,7 +15,7 @@
|
||||
(get-transv (_type_) vector 22)
|
||||
(process-focusable-method-23 (_type_) none 23)
|
||||
(process-focusable-method-24 (_type_) none 24)
|
||||
(process-focusable-method-25 (_type_) none 25)
|
||||
(process-focusable-method-25 (_type_) int 25)
|
||||
(process-focusable-method-26 (_type_) none 26)
|
||||
)
|
||||
)
|
||||
@@ -88,10 +88,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 25 of type process-focusable
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod process-focusable-method-25 process-focusable ((obj process-focusable))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
+23
-32
@@ -280,23 +280,26 @@
|
||||
(let ((s5-0 (new 'static 'vector4w))
|
||||
(gp-0 (new 'static 'matrix))
|
||||
)
|
||||
(let ((v1-2 (-> gp-0 data)))
|
||||
(set! (-> v1-2 0) (the-as float (the int (+ -256.0 (-> arg0 origin x)))))
|
||||
(set! (-> v1-2 1) (the-as float (the int (+ -208.0 (-> arg0 origin y)))))
|
||||
(set! (-> v1-2 2) 0.0)
|
||||
(set! (-> v1-2 3) (the-as float #x1))
|
||||
(set-vector!
|
||||
(-> gp-0 vector 0)
|
||||
(the-as float (the int (+ -256.0 (-> arg0 origin x))))
|
||||
(the-as float (the int (+ -208.0 (-> arg0 origin y))))
|
||||
0.0
|
||||
(the-as float #x1)
|
||||
)
|
||||
(let ((v1-3 (&-> gp-0 data 4)))
|
||||
(set! (-> v1-3 0) (the-as float (the int (+ -256.0 (-> arg0 width) (-> arg0 origin x)))))
|
||||
(set! (-> v1-3 1) (the-as float (the int (+ -208.0 (-> arg0 origin y)))))
|
||||
(set! (-> v1-3 2) 0.0)
|
||||
(set! (-> v1-3 3) (the-as float #x1))
|
||||
(set-vector!
|
||||
(-> gp-0 vector 1)
|
||||
(the-as float (the int (+ -256.0 (-> arg0 width) (-> arg0 origin x))))
|
||||
(the-as float (the int (+ -208.0 (-> arg0 origin y))))
|
||||
0.0
|
||||
(the-as float #x1)
|
||||
)
|
||||
(let ((v1-4 (&-> gp-0 data 8)))
|
||||
(set! (-> v1-4 0) (the-as float (the int (+ -256.0 (-> arg0 width) (-> arg0 origin x)))))
|
||||
(set! (-> v1-4 1) (the-as float (the int (+ -208.0 (-> arg0 height) (-> arg0 origin y)))))
|
||||
(set! (-> v1-4 2) 0.0)
|
||||
(set! (-> v1-4 3) (the-as float #x1))
|
||||
(set-vector!
|
||||
(-> gp-0 vector 2)
|
||||
(the-as float (the int (+ -256.0 (-> arg0 width) (-> arg0 origin x))))
|
||||
(the-as float (the int (+ -208.0 (-> arg0 height) (-> arg0 origin y))))
|
||||
0.0
|
||||
(the-as float #x1)
|
||||
)
|
||||
(set-vector!
|
||||
(-> gp-0 trans)
|
||||
@@ -309,29 +312,17 @@
|
||||
(add-debug-line2d
|
||||
#t
|
||||
(bucket-id bucket-318)
|
||||
(the-as vector (-> gp-0 data))
|
||||
(the-as vector (&-> gp-0 data 4))
|
||||
(the-as vector s5-0)
|
||||
)
|
||||
(add-debug-line2d
|
||||
#t
|
||||
(bucket-id bucket-318)
|
||||
(the-as vector (&-> gp-0 data 4))
|
||||
(the-as vector (&-> gp-0 data 8))
|
||||
(the-as vector s5-0)
|
||||
)
|
||||
(add-debug-line2d
|
||||
#t
|
||||
(bucket-id bucket-318)
|
||||
(the-as vector (&-> gp-0 data 8))
|
||||
(-> gp-0 trans)
|
||||
(the-as vector (-> gp-0 vector))
|
||||
(-> gp-0 vector 1)
|
||||
(the-as vector s5-0)
|
||||
)
|
||||
(add-debug-line2d #t (bucket-id bucket-318) (-> gp-0 vector 1) (-> gp-0 vector 2) (the-as vector s5-0))
|
||||
(add-debug-line2d #t (bucket-id bucket-318) (-> gp-0 vector 2) (-> gp-0 trans) (the-as vector s5-0))
|
||||
(add-debug-line2d
|
||||
#t
|
||||
(bucket-id bucket-318)
|
||||
(-> gp-0 trans)
|
||||
(the-as vector (-> gp-0 data))
|
||||
(the-as vector (-> gp-0 vector))
|
||||
(the-as vector s5-0)
|
||||
)
|
||||
)
|
||||
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; this file is debug only
|
||||
(declare-file (debug))
|
||||
(when *debug-segment*
|
||||
;; definition of type glst-node
|
||||
(deftype glst-node (structure)
|
||||
((next glst-node :offset-assert 0)
|
||||
(prev glst-node :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
;; definition for method 3 of type glst-node
|
||||
(defmethod inspect glst-node ((obj glst-node))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'glst-node)
|
||||
(format #t "~1Tnext: #<glst-node @ #x~X>~%" (-> obj next))
|
||||
(format #t "~1Tprev: #<glst-node @ #x~X>~%" (-> obj prev))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type glst-named-node
|
||||
(deftype glst-named-node (glst-node)
|
||||
((privname string :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xc
|
||||
:flag-assert #x90000000c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type glst-named-node
|
||||
(defmethod inspect glst-named-node ((obj glst-named-node))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'glst-named-node)
|
||||
(format #t "~1Tnext: #<glst-node @ #x~X>~%" (-> obj next))
|
||||
(format #t "~1Tprev: #<glst-node @ #x~X>~%" (-> obj prev))
|
||||
(format #t "~1Tprivname: ~A~%" (-> obj privname))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type glst-list
|
||||
(deftype glst-list (structure)
|
||||
((head glst-node :offset-assert 0)
|
||||
(tail glst-node :offset-assert 4)
|
||||
(tailpred glst-node :offset-assert 8)
|
||||
(numelem int32 :offset-assert 12)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type glst-list
|
||||
(defmethod inspect glst-list ((obj glst-list))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'glst-list)
|
||||
(format #t "~1Thead: #<glst-node @ #x~X>~%" (-> obj head))
|
||||
(format #t "~1Ttail: #<glst-node @ #x~X>~%" (-> obj tail))
|
||||
(format #t "~1Ttailpred: #<glst-node @ #x~X>~%" (-> obj tailpred))
|
||||
(format #t "~1Tnumelem: ~D~%" (-> obj numelem))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function glst-next
|
||||
(defun glst-next ((arg0 glst-node))
|
||||
"return the next node in the list"
|
||||
(-> arg0 next)
|
||||
)
|
||||
|
||||
;; definition for function glst-prev
|
||||
(defun glst-prev ((arg0 glst-node))
|
||||
"return the previous node in the list"
|
||||
(-> arg0 prev)
|
||||
)
|
||||
|
||||
;; definition for function glst-head
|
||||
(defun glst-head ((arg0 glst-list))
|
||||
"return the start of the list"
|
||||
(-> arg0 head)
|
||||
)
|
||||
|
||||
;; definition for function glst-tail
|
||||
(defun glst-tail ((arg0 glst-list))
|
||||
"return the tail of the list"
|
||||
(-> arg0 tailpred)
|
||||
)
|
||||
|
||||
;; definition for function glst-end-of-list?
|
||||
(defun glst-end-of-list? ((arg0 glst-node))
|
||||
"is this node the end of the list. #t = end"
|
||||
(not (-> arg0 next))
|
||||
)
|
||||
|
||||
;; definition for function glst-start-of-list?
|
||||
(defun glst-start-of-list? ((arg0 glst-node))
|
||||
"is this node the start of the list. #t = start"
|
||||
(not (-> arg0 prev))
|
||||
)
|
||||
|
||||
;; definition for function glst-empty?
|
||||
(defun glst-empty? ((arg0 glst-list))
|
||||
"is the list empty, #t = empty"
|
||||
(= (-> arg0 tailpred) arg0)
|
||||
)
|
||||
|
||||
;; definition for function glst-node-name
|
||||
(defun glst-node-name ((arg0 glst-named-node))
|
||||
"Returns the `privname` of the provided [[glst-named-node]]"
|
||||
(-> arg0 privname)
|
||||
)
|
||||
|
||||
;; definition for function glst-set-name!
|
||||
(defun glst-set-name! ((arg0 glst-named-node) (arg1 string))
|
||||
"Sets the `privname` of the provided [[glst-named-node]]"
|
||||
(set! (-> arg0 privname) arg1)
|
||||
arg1
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
)
|
||||
|
||||
|
||||
|
||||
+210
@@ -0,0 +1,210 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; this file is debug only
|
||||
(declare-file (debug))
|
||||
(when *debug-segment*
|
||||
;; definition for function glst-num-elements
|
||||
(defun glst-num-elements ((arg0 glst-list))
|
||||
"Returns `numelem` from the provided [[glst-list]]"
|
||||
(-> arg0 numelem)
|
||||
)
|
||||
|
||||
;; definition for function glst-remove
|
||||
(defun glst-remove ((arg0 glst-list) (arg1 glst-node))
|
||||
"Removes the provided [[glst-node]] from the list and returns it back"
|
||||
(let ((v1-0 arg1))
|
||||
"return the previous node in the list"
|
||||
(let ((v1-1 (-> v1-0 prev))
|
||||
(a2-1 arg1)
|
||||
)
|
||||
"return the next node in the list"
|
||||
(let ((a2-2 (-> a2-1 next)))
|
||||
(set! (-> v1-1 next) a2-2)
|
||||
(set! (-> a2-2 prev) v1-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(+! (-> arg0 numelem) -1)
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function glst-remove-tail
|
||||
(defun glst-remove-tail ((arg0 glst-list))
|
||||
"Removes the tail of the [[glst-list]], returns #f if the list is empty, otherwise returns the [[glst-node]] that was removed"
|
||||
(let ((v1-0 arg0))
|
||||
"return the tail of the list"
|
||||
(let* ((a1-1 (-> v1-0 tailpred))
|
||||
(v1-1 a1-1)
|
||||
)
|
||||
"is this node the start of the list. #t = start"
|
||||
(if (not (not (-> v1-1 prev)))
|
||||
(glst-remove arg0 a1-1)
|
||||
(the-as glst-node #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function glst-remove-head
|
||||
(defun glst-remove-head ((arg0 glst-list))
|
||||
"Removes the head of the [[glst-list]], returns #f if the list is empty, otherwise returns the [[glst-node]] that was removed"
|
||||
(let ((v1-0 arg0))
|
||||
"return the start of the list"
|
||||
(let* ((a1-1 (-> v1-0 head))
|
||||
(v1-1 a1-1)
|
||||
)
|
||||
"is this node the end of the list. #t = end"
|
||||
(if (not (not (-> v1-1 next)))
|
||||
(glst-remove arg0 a1-1)
|
||||
(the-as glst-node #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function glst-insert-before
|
||||
(defun glst-insert-before ((list glst-list) (curr glst-node) (new glst-node))
|
||||
"Inserts `new` before `curr`, returns the newly inserted [[glst-node]]"
|
||||
(let ((v1-0 curr))
|
||||
"return the previous node in the list"
|
||||
(let ((v1-1 (-> v1-0 prev)))
|
||||
(set! (-> new prev) v1-1)
|
||||
(set! (-> new next) curr)
|
||||
(set! (-> v1-1 next) new)
|
||||
)
|
||||
)
|
||||
(set! (-> curr prev) new)
|
||||
(+! (-> list numelem) 1)
|
||||
new
|
||||
)
|
||||
|
||||
;; definition for function glst-insert-after
|
||||
(defun glst-insert-after ((list glst-list) (curr glst-node) (new glst-node))
|
||||
"Inserts `new` after `curr`, returns the newly inserted [[glst-node]]"
|
||||
(let ((v1-0 curr))
|
||||
"return the next node in the list"
|
||||
(let ((v1-1 (-> v1-0 next)))
|
||||
(set! (-> new prev) curr)
|
||||
(set! (-> new next) v1-1)
|
||||
(set! (-> v1-1 prev) new)
|
||||
)
|
||||
)
|
||||
(set! (-> curr next) new)
|
||||
(+! (-> list numelem) 1)
|
||||
new
|
||||
)
|
||||
|
||||
;; definition for function glst-add-tail
|
||||
(defun glst-add-tail ((arg0 glst-list) (arg1 glst-node))
|
||||
"Adds the provided [[glst-node]] to the end of the [[glst-list]]"
|
||||
(glst-insert-before arg0 (the-as glst-node (&-> arg0 tail)) arg1)
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function glst-add-head
|
||||
(defun glst-add-head ((arg0 glst-list) (arg1 glst-node))
|
||||
"Adds the provided [[glst-node]] to the beginning of the [[glst-list]]"
|
||||
(glst-insert-after arg0 (the-as glst-node arg0) arg1)
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function glst-init-list!
|
||||
(defun glst-init-list! ((arg0 glst-list))
|
||||
"Clears the provided [[glst-list]]"
|
||||
(set! (-> arg0 head) (the-as glst-node (&-> arg0 tail)))
|
||||
(set! (-> arg0 tail) #f)
|
||||
(set! (-> arg0 tailpred) (the-as glst-node (&-> arg0 head)))
|
||||
(set! (-> arg0 numelem) 0)
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function glst-find-node-by-name
|
||||
(defun glst-find-node-by-name ((arg0 glst-list) (arg1 string))
|
||||
"Returns the [[glst-named-node]] by examining it's `privname`, returns #f if nothing is found"
|
||||
(let ((v1-0 arg0))
|
||||
"return the start of the list"
|
||||
(let ((s5-0 (-> v1-0 head)))
|
||||
(while (let ((v1-6 s5-0))
|
||||
"is this node the end of the list. #t = end"
|
||||
(not (not (-> v1-6 next)))
|
||||
)
|
||||
(if (name= (-> (the-as glst-named-node s5-0) privname) arg1)
|
||||
(return s5-0)
|
||||
)
|
||||
"return the next node in the list"
|
||||
(set! s5-0 (-> s5-0 next))
|
||||
)
|
||||
)
|
||||
)
|
||||
(the-as glst-node #f)
|
||||
)
|
||||
|
||||
;; definition for function glst-get-node-by-index
|
||||
(defun glst-get-node-by-index ((arg0 glst-list) (arg1 int))
|
||||
"Returns the [[glst-node]] by index, returns #f if nothing is found"
|
||||
(when (and (< arg1 (glst-num-elements arg0)) (>= arg1 0))
|
||||
"return the start of the list"
|
||||
(let ((v1-3 (-> arg0 head)))
|
||||
(dotimes (a0-3 arg1)
|
||||
(nop!)
|
||||
(nop!)
|
||||
(nop!)
|
||||
(nop!)
|
||||
"return the next node in the list"
|
||||
(set! v1-3 (-> v1-3 next))
|
||||
)
|
||||
(return v1-3)
|
||||
)
|
||||
)
|
||||
(the-as glst-node #f)
|
||||
)
|
||||
|
||||
;; definition for function glst-length-of-longest-name
|
||||
(defun glst-length-of-longest-name ((arg0 glst-list))
|
||||
"Returns the length of the longest `privname`"
|
||||
(let ((gp-0 0))
|
||||
(let ((v1-0 arg0))
|
||||
"return the start of the list"
|
||||
(let ((s5-0 (-> v1-0 head)))
|
||||
(while (let ((v1-6 s5-0))
|
||||
"is this node the end of the list. #t = end"
|
||||
(not (not (-> v1-6 next)))
|
||||
)
|
||||
(let ((v1-3 (length (-> (the-as glst-named-node s5-0) privname))))
|
||||
(if (< gp-0 v1-3)
|
||||
(set! gp-0 v1-3)
|
||||
)
|
||||
)
|
||||
"return the next node in the list"
|
||||
(set! s5-0 (-> s5-0 next))
|
||||
)
|
||||
)
|
||||
)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function glst-get-node-index
|
||||
(defun glst-get-node-index ((arg0 glst-list) (arg1 glst-node))
|
||||
"Given a [[glst-node]] return it's position in the [[glst-list]]"
|
||||
(let ((v1-0 0))
|
||||
"return the start of the list"
|
||||
(let ((a0-1 (-> arg0 head)))
|
||||
(while (let ((a2-3 a0-1))
|
||||
"is this node the end of the list. #t = end"
|
||||
(not (not (-> a2-3 next)))
|
||||
)
|
||||
(if (= a0-1 arg1)
|
||||
(return v1-0)
|
||||
)
|
||||
(+! v1-0 1)
|
||||
"return the next node in the list"
|
||||
(set! a0-1 (-> a0-1 next))
|
||||
)
|
||||
)
|
||||
)
|
||||
-1
|
||||
)
|
||||
|
||||
)
|
||||
@@ -64,9 +64,42 @@
|
||||
"dm-scene-load-pick-func",
|
||||
"popup-menu-context-make-default-menus",
|
||||
"debug-menu-context-make-default-menus",
|
||||
// camera
|
||||
// - vector-dot issue
|
||||
"slave-set-rotation!",
|
||||
"v-slrp2!",
|
||||
"v-slrp3!",
|
||||
// cam-master
|
||||
// - focus understanding / decomp crashes
|
||||
"reset-target-tracking",
|
||||
"(method 16 camera-master)",
|
||||
"master-track-target",
|
||||
// cam-states
|
||||
// - mostly decompiler crashes/hangs
|
||||
"cam-bike-code",
|
||||
"cam-stick-code",
|
||||
"cam-string-code",
|
||||
"cam-string-line-of-sight",
|
||||
"cam-string-joystick", // whats butt-handle!
|
||||
"cam-circular-code",
|
||||
"cam-circular-position",
|
||||
"cam-los-collide", // vector-dot with stack
|
||||
// cam-update
|
||||
"update-visible", // assertion crash when filling out bsp-header
|
||||
// placeholder
|
||||
"i-hopefully-will-never-exist-dont-add-anything-after-me-please"
|
||||
],
|
||||
|
||||
"skip_compile_states": {}
|
||||
"skip_compile_states": {
|
||||
"cam-bike": [
|
||||
"code" // hang
|
||||
],
|
||||
"cam-stick": [
|
||||
"code"
|
||||
],
|
||||
"cam-circular": [
|
||||
"enter",
|
||||
"event"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user