Files
jak-project/test/decompiler/reference/engine/target/target-h_REF.gc
T
water111 a6d5c4eda3 [decompiler] clean up vector detection and add vector float product detection (#638)
* change

* recognize vector float product and update tests
2021-06-27 17:24:35 -04:00

109 lines
4.3 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; definition of type target
(deftype target (process-drawable)
((control basic :offset 112)
(skel2 basic :offset-assert 176)
(racer basic :offset-assert 180)
(game basic :offset-assert 184)
(neck basic :offset-assert 188)
(state-hook-time uint64 :offset-assert 192)
(state-hook basic :offset-assert 200)
(cam-user-mode basic :offset-assert 204)
(sidekick uint32 :offset-assert 208)
(manipy uint32 :offset-assert 212)
(attack-info attack-info :inline :offset-assert 224)
(attack-info-rec attack-info :inline :offset-assert 336)
(anim-seed uint64 :offset-assert 440)
(alt-cam-pos vector :inline :offset-assert 448)
(snowball basic :offset-assert 464)
(tube basic :offset-assert 468)
(flut basic :offset-assert 472)
(current-level basic :offset-assert 476)
(saved-pos transformq :inline :offset-assert 480)
(saved-owner uint64 :offset-assert 528)
(alt-neck-pos vector :inline :offset-assert 544)
(fp-hud uint64 :offset-assert 560)
(no-load-wait uint64 :offset-assert 568)
(no-look-around-wait uint64 :offset-assert 576)
)
:heap-base #x1e0
:method-count-assert 21
:size-assert #x248
:flag-assert #x1501e00248
(:methods
(dummy-20 () none 20)
)
)
;; definition for method 3 of type target
(defmethod inspect target ((obj target))
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(format #t "~T~Tcontrol: ~A~%" (-> obj root))
(format #t "~T~Tskel2: ~A~%" (-> obj skel2))
(format #t "~T~Tracer: ~A~%" (-> obj racer))
(format #t "~T~Tgame: ~A~%" (-> obj game))
(format #t "~T~Tneck: ~A~%" (-> obj neck))
(format #t "~T~Tstate-hook-time: ~D~%" (-> obj state-hook-time))
(format #t "~T~Tstate-hook: ~A~%" (-> obj state-hook))
(format #t "~T~Tcam-user-mode: ~A~%" (-> obj cam-user-mode))
(format #t "~T~Tsidekick: #x~X~%" (-> obj sidekick))
(format #t "~T~Tmanipy: #x~X~%" (-> obj manipy))
(format #t "~T~Tattack-info: #<attack-info @ #x~X>~%" (-> obj attack-info))
(format
#t
"~T~Tattack-info-rec: #<attack-info @ #x~X>~%"
(-> obj attack-info-rec)
)
(format #t "~T~Tanim-seed: ~D~%" (-> obj anim-seed))
(format #t "~T~Talt-cam-pos: ~`vector`P~%" (-> obj alt-cam-pos))
(format #t "~T~Tsnowball: ~A~%" (-> obj snowball))
(format #t "~T~Ttube: ~A~%" (-> obj tube))
(format #t "~T~Tflut: ~A~%" (-> obj flut))
(format #t "~T~Tcurrent-level: ~A~%" (-> obj current-level))
(format #t "~T~Tsaved-pos: #<transformq @ #x~X>~%" (-> obj saved-pos))
(format #t "~T~Tsaved-owner: ~D~%" (-> obj saved-owner))
(format #t "~T~Talt-neck-pos: ~`vector`P~%" (-> obj alt-neck-pos))
(format #t "~T~Tfp-hud: ~D~%" (-> obj fp-hud))
(format #t "~T~Tno-load-wait: ~D~%" (-> obj no-load-wait))
(format #t "~T~Tno-look-around-wait: ~D~%" (-> obj no-look-around-wait))
obj
)
;; definition (perm) for symbol *target*, type target
(define-perm *target* target #f)
;; definition of type sidekick
(deftype sidekick (process-drawable)
((control basic :offset 112)
(anim-seed uint64 :offset 192)
(shadow-in-movie? basic :offset-assert 200)
)
:heap-base #x60
:method-count-assert 20
:size-assert #xcc
:flag-assert #x14006000cc
)
;; definition for method 3 of type sidekick
(defmethod inspect sidekick ((obj sidekick))
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(format #t "~T~Tcontrol: ~A~%" (-> obj root))
(format #t "~T~Tstate-time: ~D~%" (-> obj state-time))
(format #t "~T~Tstate-flags: ~D~%" (-> obj state-flags))
(format #t "~T~Tanim-seed: ~D~%" (-> obj anim-seed))
(format #t "~T~Tshadow-in-movie?: ~A~%" (-> obj shadow-in-movie?))
obj
)
;; definition (perm) for symbol *sidekick*, type sidekick
(define-perm *sidekick* sidekick #f)
;; failed to figure out what this is:
0