jak-project/test/decompiler/reference/sync-info_REF.gc
ManDude 64ae2d6d39
[decomp] sync-info 1 (#351)
* move commonly used scripts to specific folders

* fixes

* Update test.sh

* Update test.sh

* Fix file permission

* move commonly used scripts to specific folders

* fixes

* Update test.sh

* Update test.sh

* Fix file permission

* [dynamics-h] clean-up

* make things neat

* update surface-h

* [sync-info] decomp 1

* move commonly used scripts to specific folders

* fixes

* Update test.sh

* Update test.sh

* Fix file permission

* move commonly used scripts to specific folders

* fixes

* Update test.sh

* Update test.sh

* Fix file permission

* [sync-info] update decomp

* Update gravity-h.gc

* [windows] separate scripts for runtime w/ or w/o display

* Update dynamics-h.gc

* Add offline test for sync-info

* clang
2021-04-10 21:17:36 -04:00

721 lines
18 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; definition for method 14 of type sync-info
(defmethod
dummy-14
sync-info
((obj sync-info) (arg0 uint) (arg1 float) (arg2 float) (arg3 float))
(set! (-> obj period) arg0)
(let* ((f0-1 (the float arg0))
(f1-1 (* arg1 f0-1))
(f0-3 (- f1-1 (* (the float (the int (/ f1-1 f0-1))) f0-1)))
)
(set! (-> obj offset) f0-3)
)
0
)
;; definition for method 14 of type sync-info-eased
(defmethod
dummy-14
sync-info-eased
((obj sync-info-eased) (arg0 uint) (arg1 float) (arg2 float) (arg3 float))
(set! (-> obj period) arg0)
(let* ((f0-1 (the float arg0))
(f1-1 (* arg1 f0-1))
(f0-3 (- f1-1 (* (the float (the int (/ f1-1 f0-1))) f0-1)))
)
(set! (-> obj offset) f0-3)
)
(if (< arg2 0.0)
(set! arg2 0.0)
)
(if (< 1.0 arg2)
(set! arg2 1.0)
)
(if (< arg3 0.001)
(set! arg3 0.001)
)
(if (< 1.0 arg3)
(set! arg3 1.0)
)
(let ((f0-9 (+ arg2 arg3)))
(when (< 1.0 f0-9)
(set! f0-9 1.0)
(set! arg2 (- 1.0 arg3))
)
(let* ((f1-11 (- 1.0 f0-9))
(f0-10 arg2)
(f1-12 (+ arg2 f1-11))
(f2-5 (* f0-10 f0-10))
(f3-3 (+ (* (* 2.0 f0-10) (- f1-12 f0-10)) f2-5))
(f4-3 (/ f0-10 (- 1.0 f1-12)))
(f3-4 (+ (* (* (- 1.0 f1-12) (- 1.0 f1-12)) f4-3) f3-3))
)
(set! (-> obj tlo) f0-10)
(set! (-> obj thi) f1-12)
(set! (-> obj ylo) f2-5)
(set! (-> obj m2) f4-3)
(set! (-> obj yend) f3-4)
)
)
0
)
;; definition for method 14 of type sync-info-paused
(defmethod
dummy-14
sync-info-paused
((obj sync-info-paused) (arg0 uint) (arg1 float) (arg2 float) (arg3 float))
(set! (-> obj period) arg0)
(let* ((f0-1 (the float arg0))
(f1-1 (* arg1 f0-1))
(f0-3 (- f1-1 (* (the float (the int (/ f1-1 f0-1))) f0-1)))
)
(set! (-> obj offset) f0-3)
)
(cond
((< arg2 0.0)
(set! arg2 0.0)
)
((< 1.0 arg2)
(set! arg2 1.0)
)
)
(cond
((< arg3 0.0)
(set! arg3 0.0)
)
((< (- 1.0 arg2) arg3)
(set! arg3 (- 1.0 arg2))
)
)
(set! (-> obj pause-after-in) arg3)
(set! (-> obj pause-after-out) arg2)
0
)
;; definition for method 15 of type sync-info
;; ERROR: function was not converted to expressions. Cannot decompile.
;; definition for method 15 of type sync-info-eased
;; ERROR: function was not converted to expressions. Cannot decompile.
;; definition for method 15 of type sync-info-paused
;; ERROR: function was not converted to expressions. Cannot decompile.
;; definition for method 10 of type sync-info
(defmethod dummy-10 sync-info ((obj sync-info))
(let* ((v1-0 (-> obj period))
(f0-1 (the float v1-0))
(f1-2
(+
(the float (mod (-> *display* base-frame-counter) v1-0))
(-> obj offset)
)
)
)
(/ (- f1-2 (* (the float (the int (/ f1-2 f0-1))) f0-1)) f0-1)
)
)
;; definition for method 17 of type sync-info
(defmethod dummy-17 sync-info ((obj sync-info))
(/ (-> obj offset) (the float (-> obj period)))
)
;; definition for method 16 of type sync-info
(defmethod dummy-16 sync-info ((obj sync-info) (arg0 float))
(let* ((a2-0 (-> obj period))
(f0-1 (the float a2-0))
(v1-0 (- arg0 (* (the float (the int (/ arg0 f0-1))) f0-1)))
(f1-4
(+
(the float (mod (-> *display* base-frame-counter) a2-0))
(-> obj offset)
)
)
(f1-6 (/ (- f1-4 (* (the float (the int (/ f1-4 f0-1))) f0-1)) f0-1))
(f1-10 (+ (+ (* (- v1-0 f1-6) f0-1) f0-1) (-> obj offset)))
(f0-3 (- f1-10 (* (the float (the int (/ f1-10 f0-1))) f0-1)))
)
(set! (-> obj offset) f0-3)
f0-3
)
)
;; definition for method 11 of type sync-info
(defmethod dummy-11 sync-info ((obj sync-info))
(let* ((v1-0 (-> obj period))
(f0-1 (the float v1-0))
(f1-2
(+
(the float (mod (-> *display* base-frame-counter) v1-0))
(-> obj offset)
)
)
)
(/ (- f1-2 (* (the float (the int (/ f1-2 f0-1))) f0-1)) f0-1)
)
)
;; definition for method 11 of type sync-info-paused
(defmethod dummy-11 sync-info-paused ((obj sync-info-paused))
(let* ((v1-0 (-> obj period))
(f1-0 (the float v1-0))
(f0-1 1.0)
(f2-2
(+
(the float (mod (-> *display* base-frame-counter) v1-0))
(-> obj offset)
)
)
)
(fmin
f0-1
(/
(- f2-2 (* (the float (the int (/ f2-2 f1-0))) f1-0))
(* f1-0 (- 1.0 (-> obj pause-after-out)))
)
)
)
)
;; definition for method 9 of type sync-info
(defmethod dummy-9 sync-info ((obj sync-info) (arg0 float))
(let* ((v1-0 (-> obj period))
(f0-1 (the float v1-0))
(f1-2
(+
(the float (mod (-> *display* base-frame-counter) v1-0))
(-> obj offset)
)
)
)
(* (/ (- f1-2 (* (the float (the int (/ f1-2 f0-1))) f0-1)) f0-1) arg0)
)
)
;; definition for method 9 of type sync-info-paused
(defmethod dummy-9 sync-info-paused ((obj sync-info-paused) (arg0 float))
(* ((method-of-type sync-info-paused dummy-11) obj) arg0)
)
;; definition for method 13 of type sync-info
(defmethod dummy-13 sync-info ((obj sync-info))
(let* ((v1-0 (-> obj period))
(f1-0 (the float v1-0))
(f0-1 2.0)
(f2-2
(+
(the float (mod (-> *display* base-frame-counter) v1-0))
(-> obj offset)
)
)
(f0-2
(*
f0-1
(/ (- f2-2 (* (the float (the int (/ f2-2 f1-0))) f1-0)) f1-0)
)
)
)
(if (>= f0-2 1.0)
(set! f0-2 (- 2.0 f0-2))
)
f0-2
)
)
;; definition for method 13 of type sync-info-eased
(defmethod dummy-13 sync-info-eased ((obj sync-info-eased))
(let* ((v1-0 (-> obj period))
(f1-0 (the float v1-0))
(f0-1 2.0)
(f2-2
(+
(the float (mod (-> *display* base-frame-counter) v1-0))
(-> obj offset)
)
)
(f0-2
(*
f0-1
(/ (- f2-2 (* (the float (the int (/ f2-2 f1-0))) f1-0)) f1-0)
)
)
(v1-2 #f)
)
(when (>= f0-2 1.0)
(set! v1-2 #t)
(set! f0-2 (+ -1.0 f0-2))
)
(let* ((f1-4 (-> obj tlo))
(f0-7 (/ (cond
((< f0-2 f1-4)
(* f0-2 f0-2)
)
((< f0-2 (-> obj thi))
(+ (* (* 2.0 f1-4) (- f0-2 f1-4)) (-> obj ylo))
)
(else
(let ((f1-7 (- 1.0 f0-2)))
(- (-> obj yend) (* (* f1-7 f1-7) (-> obj m2)))
)
)
)
(-> obj yend)
)
)
)
(if v1-2
(set! f0-7 (- 1.0 f0-7))
)
f0-7
)
)
)
;; definition for method 13 of type sync-info-paused
(defmethod dummy-13 sync-info-paused ((obj sync-info-paused))
(let* ((v1-0 (-> obj period))
(f1-0 (the float v1-0))
(f0-1 2.0)
(f2-2
(+
(the float (mod (-> *display* base-frame-counter) v1-0))
(-> obj offset)
)
)
(f0-2
(*
f0-1
(/ (- f2-2 (* (the float (the int (/ f2-2 f1-0))) f1-0)) f1-0)
)
)
(f1-3 (- 1.0 (* 2.0 (-> obj pause-after-in))))
(f2-7 (- 1.0 (* 2.0 (-> obj pause-after-out))))
)
(cond
((>= f0-2 (+ 1.0 f1-3))
0.0
)
((< 1.0 f0-2)
(- 1.0 (/ (+ -1.0 f0-2) f1-3))
)
((>= f0-2 f2-7)
1.0
)
(else
(/ f0-2 f2-7)
)
)
)
)
;; definition for method 12 of type sync-info
(defmethod dummy-12 sync-info ((obj sync-info) (arg0 float))
(let* ((v1-0 (-> obj period))
(f1-0 (the float v1-0))
(f0-1 2.0)
(f2-2
(+
(the float (mod (-> *display* base-frame-counter) v1-0))
(-> obj offset)
)
)
(f0-2
(*
f0-1
(/ (- f2-2 (* (the float (the int (/ f2-2 f1-0))) f1-0)) f1-0)
)
)
)
(if (>= f0-2 1.0)
(set! f0-2 (- 2.0 f0-2))
)
(* f0-2 arg0)
)
)
;; definition for method 12 of type sync-info-eased
(defmethod dummy-12 sync-info-eased ((obj sync-info-eased) (arg0 float))
(* ((method-of-type sync-info-eased dummy-13) obj) arg0)
)
;; definition for method 12 of type sync-info-paused
(defmethod dummy-12 sync-info-paused ((obj sync-info-paused) (arg0 float))
(* ((method-of-type sync-info-paused dummy-13) obj) arg0)
)
;; definition for method 9 of type delayed-rand-float
(defmethod
dummy-9
delayed-rand-float
((obj delayed-rand-float) (arg0 int) (arg1 int) (arg2 float))
(set! (-> obj min-time) arg0)
(set! (-> obj max-time) arg1)
(set! (-> obj max-val) (* 0.5 arg2))
(set! (-> obj start-time) (the-as uint 0))
(set! (-> obj timer) 0)
(set! (-> obj value) 0.0)
(-> obj value)
)
;; definition for method 10 of type delayed-rand-float
(defmethod dummy-10 delayed-rand-float ((obj delayed-rand-float))
(when
(>=
(the-as int (- (-> *display* base-frame-counter) (-> obj start-time)))
(-> obj timer)
)
(set! (-> obj start-time) (-> *display* base-frame-counter))
(set! (-> obj timer) (rand-vu-int-range (-> obj min-time) (-> obj max-time)))
(let ((f0-3 (rand-vu-float-range (- (-> obj max-val)) (-> obj max-val))))
(set! (-> obj value) f0-3)
)
)
(-> obj value)
)
;; definition for method 9 of type oscillating-float
(defmethod
dummy-9
oscillating-float
((obj oscillating-float) (arg0 float) (arg1 float) (arg2 float) (arg3 float))
(set! (-> obj value) arg0)
(set! (-> obj target) arg0)
(set! (-> obj vel) 0.0)
(set! (-> obj max-vel) arg2)
(set! (-> obj damping) arg3)
(set! (-> obj accel) arg1)
(-> obj value)
)
;; definition for method 10 of type oscillating-float
(defmethod dummy-10 oscillating-float ((obj oscillating-float) (arg0 float))
(let
((f0-3
(*
(- (+ (-> obj target) arg0) (-> obj value))
(* (-> obj accel) (-> *display* time-adjust-ratio))
)
)
)
(set! (-> obj vel) (+ (-> obj vel) f0-3))
)
(set!
(-> obj vel)
(fmin (-> obj max-vel) (fmax (- (-> obj max-vel)) (-> obj vel)))
)
(set! (-> obj vel) (* (-> obj vel) (-> obj damping)))
(let
((f0-10 (+ (-> obj value) (* (-> obj vel) (-> *display* time-adjust-ratio))))
)
(set! (-> obj value) f0-10)
)
(-> obj value)
)
;; definition for method 9 of type bouncing-float
(defmethod
dummy-9
bouncing-float
((obj bouncing-float)
(arg0 float)
(arg1 float)
(arg2 float)
(arg3 float)
(arg4 float)
(arg5 float)
(arg6 float)
)
((method-of-type oscillating-float dummy-9) (-> obj osc) arg0 arg4 arg5 arg6)
(set! (-> obj max-value) arg1)
(set! (-> obj min-value) arg2)
(set! (-> obj elasticity) arg3)
(set! (-> obj state) 0)
(-> obj osc value)
)
;; definition for method 10 of type bouncing-float
(defmethod dummy-10 bouncing-float ((obj bouncing-float) (arg0 float))
((method-of-type oscillating-float dummy-10) (-> obj osc) arg0)
(set! (-> obj state) 0)
(when (>= (-> obj osc value) (-> obj max-value))
(set! (-> obj osc value) (-> obj max-value))
(if (< 0.0 (-> obj osc vel))
(let ((f0-4 (* (-> obj osc vel) (- (-> obj elasticity)))))
(set! (-> obj osc vel) f0-4)
)
)
(set! (-> obj state) 1)
)
(when (>= (-> obj min-value) (-> obj osc value))
(set! (-> obj osc value) (-> obj min-value))
(if (< (-> obj osc vel) 0.0)
(let ((f0-9 (* (-> obj osc vel) (- (-> obj elasticity)))))
(set! (-> obj osc vel) f0-9)
)
)
(set! (-> obj state) -1)
)
(-> obj osc value)
)
;; definition for method 11 of type bouncing-float
(defmethod dummy-11 bouncing-float ((obj bouncing-float))
(= (-> obj state) -1)
)
;; definition for method 12 of type bouncing-float
(defmethod dummy-12 bouncing-float ((obj bouncing-float))
(= (-> obj state) 1)
)
;; definition for method 9 of type delayed-rand-vector
(defmethod
dummy-9
delayed-rand-vector
((obj delayed-rand-vector) (arg0 int) (arg1 int) (arg2 float) (arg3 float))
(rlet ((vf0 :class vf))
(.lvf vf0 (new 'static 'vector :x 0.0 :y 0.0 :z 0.0 :w 1.0))
(set! (-> obj min-time) arg0)
(set! (-> obj max-time) arg1)
(set! (-> obj xz-max) (* 0.5 arg2))
(set! (-> obj y-max) (* 0.5 arg3))
(set! (-> obj start-time) (the-as uint 0))
(set! (-> obj timer) 0)
(let ((v1-0 (-> obj value)))
(.svf (&-> v1-0 quad) vf0)
)
(-> obj value)
)
)
;; definition for method 10 of type delayed-rand-vector
(defmethod dummy-10 delayed-rand-vector ((obj delayed-rand-vector))
(set! (-> obj start-time) (-> *display* base-frame-counter))
(set! (-> obj timer) (rand-vu-int-range (-> obj min-time) (-> obj max-time)))
(set!
(-> obj value data 0)
(rand-vu-float-range (- (-> obj xz-max)) (-> obj xz-max))
)
(set!
(-> obj value data 1)
(rand-vu-float-range (- (-> obj y-max)) (-> obj y-max))
)
(set!
(-> obj value data 2)
(rand-vu-float-range (- (-> obj xz-max)) (-> obj xz-max))
)
(-> obj value)
)
;; definition for method 11 of type delayed-rand-vector
(defmethod dummy-11 delayed-rand-vector ((obj delayed-rand-vector))
(if
(>=
(the-as int (- (-> *display* base-frame-counter) (-> obj start-time)))
(-> obj timer)
)
((method-of-type delayed-rand-vector dummy-10) obj)
)
(-> obj value)
)
;; definition for method 12 of type delayed-rand-vector
(defmethod dummy-12 delayed-rand-vector ((obj delayed-rand-vector))
(rlet ((vf0 :class vf))
(.lvf vf0 (new 'static 'vector :x 0.0 :y 0.0 :z 0.0 :w 1.0))
(if
(>=
(the-as int (- (-> *display* base-frame-counter) (-> obj start-time)))
(-> obj timer)
)
((method-of-type delayed-rand-vector dummy-10) obj)
(let ((v1-5 (-> obj value)))
(.svf (&-> v1-5 quad) vf0)
)
)
(-> obj value)
)
)
;; definition for method 9 of type oscillating-vector
;; Used lq/sq
(defmethod
dummy-9
oscillating-vector
((obj oscillating-vector)
(arg0 vector)
(arg1 float)
(arg2 float)
(arg3 float)
)
(rlet ((vf0 :class vf))
(.lvf vf0 (new 'static 'vector :x 0.0 :y 0.0 :z 0.0 :w 1.0))
(cond
(arg0
(let ((v1-0 (-> obj value)))
(set! (-> v1-0 quad) (-> arg0 quad))
)
(let ((v1-1 (-> obj target)))
(set! (-> v1-1 quad) (-> arg0 quad))
)
)
(else
(let ((v1-2 (-> obj value)))
(.svf (&-> v1-2 quad) vf0)
)
(let ((v1-3 (-> obj target)))
(.svf (&-> v1-3 quad) vf0)
)
)
)
(let ((v1-4 (-> obj vel)))
(.svf (&-> v1-4 quad) vf0)
)
(set! (-> obj max-vel) arg2)
(set! (-> obj damping) arg3)
(set! (-> obj accel) arg1)
(-> obj value)
)
)
;; definition for method 10 of type oscillating-vector
(defmethod dummy-10 oscillating-vector ((obj oscillating-vector) (arg0 vector))
(rlet ((vf0 :class vf)
(vf1 :class vf)
(vf2 :class vf)
(vf4 :class vf)
(vf5 :class vf)
(vf6 :class vf)
)
(.lvf vf0 (new 'static 'vector :x 0.0 :y 0.0 :z 0.0 :w 1.0))
(let ((s5-0 (new 'stack 'vector)))
(cond
(arg0
(let ((a0-1 s5-0))
(let ((v1-0 (-> obj target)))
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-0 quad))
)
(.lvf vf5 (&-> arg0 quad))
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a0-1 quad) vf6)
)
(let ((a1-1 s5-0))
(let ((v1-1 s5-0)
(a0-2 (-> obj value))
)
(.lvf vf4 (&-> v1-1 quad))
(.lvf vf5 (&-> a0-2 quad))
)
(.mov.vf vf6 vf0 :mask #b1000)
(.sub.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-1 quad) vf6)
)
)
(else
(let ((a1-2 s5-0))
(let ((v1-2 (-> obj target))
(a0-3 (-> obj value))
)
(.lvf vf4 (&-> v1-2 quad))
(.lvf vf5 (&-> a0-3 quad))
)
(.mov.vf vf6 vf0 :mask #b1000)
(.sub.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-2 quad) vf6)
)
)
)
(let ((v1-3 s5-0))
(let ((a0-4 s5-0)
(f0-1 (* (-> obj accel) (-> *display* time-adjust-ratio)))
)
(.lvf vf1 (&-> a0-4 quad))
(let ((a0-5 f0-1))
(.mov vf2 a0-5)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-3 quad) vf1)
)
(let ((a1-4 (-> obj vel)))
(let ((v1-4 (-> obj vel))
(a0-6 s5-0)
)
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-4 quad))
(.lvf vf5 (&-> a0-6 quad))
)
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-4 quad) vf6)
)
(let ((f0-2 (vector-length (-> obj vel))))
(if (< (-> obj max-vel) f0-2)
(let ((v1-6 (-> obj vel)))
(let ((a0-8 (-> obj vel))
(f0-3 (/ (-> obj max-vel) f0-2))
)
(.lvf vf1 (&-> a0-8 quad))
(let ((a0-9 f0-3))
(.mov vf2 a0-9)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-6 quad) vf1)
)
)
)
(let ((v1-7 (-> obj vel)))
(let ((a0-10 (-> obj vel))
(f0-4 (-> obj damping))
)
(.lvf vf1 (&-> a0-10 quad))
(let ((a0-11 f0-4))
(.mov vf2 a0-11)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-7 quad) vf1)
)
(let ((v1-8 s5-0))
(let ((a0-12 (-> obj vel))
(f0-5 (-> *display* time-adjust-ratio))
)
(.lvf vf1 (&-> a0-12 quad))
(let ((a0-13 f0-5))
(.mov vf2 a0-13)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-8 quad) vf1)
)
(let ((a0-14 (-> obj value)))
(let ((v1-9 (-> obj value)))
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-9 quad))
)
(.lvf vf5 (&-> s5-0 quad))
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a0-14 quad) vf6)
)
)
(-> obj value)
)
)
;; failed to figure out what this is:
(none)