Files
jak-project/test/decompiler/reference/engine/game/projectiles-h_REF.gc
T
Tyler Wilding f438ba4e84 decomp: shadow (#681)
* decomp: Almost finish `shadow` blocked on static inline-array

* decomp: Add support for `sparticle-launcher` static data

* decomp: finalize `shadow`

* add definitions for sparticle related symbols

* actually fix the crash
2021-08-09 19:07:11 -04:00

120 lines
4.3 KiB
Common Lisp
Vendored

;;-*-Lisp-*-
(in-package goal)
;; definition of type projectile
(deftype projectile (process-drawable)
((base-trans vector :inline :offset-assert 176)
(target vector :inline :offset-assert 192)
(target-base vector :inline :offset-assert 208)
(parent-base vector :inline :offset-assert 224)
(parent-quat vector :inline :offset-assert 240)
(base-vector vector :inline :offset-assert 256)
(timeout uint64 :offset-assert 272)
(options uint64 :offset-assert 280)
(last-target uint64 :offset-assert 288)
(notify-handle uint64 :offset-assert 296)
(max-speed float :offset-assert 304)
(max-turn float :offset-assert 308)
(old-dist float 16 :offset-assert 312)
(old-dist-count int32 :offset-assert 376)
(hits int32 :offset-assert 380)
(max-hits int32 :offset-assert 384)
(tween float :offset-assert 388)
(attack-mode basic :offset-assert 392)
(update-velocity basic :offset-assert 396)
(counter int32 :offset-assert 400)
(target-count int32 :offset-assert 404)
(sound-id sound-id :offset-assert 408)
)
:heap-base #x130
:method-count-assert 29
:size-assert #x19c
:flag-assert #x1d0130019c
(:methods
(dummy-20 () none 20)
(projectile-dissipate () none 21)
(projectile-impact () none 22)
(dummy-23 () none 23)
(dummy-24 (_type_) none 24)
(dummy-25 () none 25)
(dummy-26 () none 26)
(dummy-27 () none 27)
(dummy-28 () none 28)
)
)
;; definition for method 3 of type projectile
(defmethod inspect projectile ((obj projectile))
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(format #t "~T~Tbase-trans: ~`vector`P~%" (-> obj base-trans))
(format #t "~T~Ttarget: ~`vector`P~%" (-> obj target))
(format #t "~T~Ttarget-base: ~`vector`P~%" (-> obj target-base))
(format #t "~T~Tparent-base: ~`vector`P~%" (-> obj parent-base))
(format #t "~T~Tparent-quat: ~`vector`P~%" (-> obj parent-quat))
(format #t "~T~Tbase-vector: ~`vector`P~%" (-> obj base-vector))
(format #t "~T~Ttimeout: ~D~%" (-> obj timeout))
(format #t "~T~Toptions: ~D~%" (-> obj options))
(format #t "~T~Tlast-target: ~D~%" (-> obj last-target))
(format #t "~T~Tnotify-handle: ~D~%" (-> obj notify-handle))
(format #t "~T~Tmax-speed: ~f~%" (-> obj max-speed))
(format #t "~T~Tmax-turn: ~f~%" (-> obj max-turn))
(format #t "~T~Told-dist[16] @ #x~X~%" (-> obj old-dist))
(format #t "~T~Told-dist-count: ~D~%" (-> obj old-dist-count))
(format #t "~T~Thits: ~D~%" (-> obj hits))
(format #t "~T~Tmax-hits: ~D~%" (-> obj max-hits))
(format #t "~T~Ttween: ~f~%" (-> obj tween))
(format #t "~T~Tattack-mode: ~A~%" (-> obj attack-mode))
(format #t "~T~Tupdate-velocity: ~A~%" (-> obj update-velocity))
(format #t "~T~Tcounter: ~D~%" (-> obj counter))
(format #t "~T~Ttarget-count: ~D~%" (-> obj target-count))
(format #t "~T~Tsound-id: ~D~%" (-> obj sound-id))
obj
)
;; definition of type projectile-yellow
(deftype projectile-yellow (projectile)
((mode int32 :offset-assert 412)
(angle float :offset-assert 416)
)
:heap-base #x140
:method-count-assert 29
:size-assert #x1a4
:flag-assert #x1d014001a4
)
;; definition for method 3 of type projectile-yellow
(defmethod inspect projectile-yellow ((obj projectile-yellow))
(let ((t9-0 (method-of-type projectile inspect)))
(t9-0 obj)
)
(format #t "~T~Tmode: ~D~%" (-> obj mode))
(format #t "~T~Tangle: ~f~%" (-> obj angle))
obj
)
;; definition of type projectile-blue
(deftype projectile-blue (projectile)
((mode int32 :offset-assert 412)
(joint-num int32 :offset-assert 416)
)
:heap-base #x140
:method-count-assert 29
:size-assert #x1a4
:flag-assert #x1d014001a4
)
;; definition for method 3 of type projectile-blue
(defmethod inspect projectile-blue ((obj projectile-blue))
(let ((t9-0 (method-of-type projectile inspect)))
(t9-0 obj)
)
(format #t "~T~Tmode: ~D~%" (-> obj mode))
(format #t "~T~Tjoint-num: ~D~%" (-> obj joint-num))
obj
)
;; failed to figure out what this is:
0