;;-*-Lisp-*- (in-package goal) ;; definition of type process-drawable (deftype process-drawable (process) "This is the main base class for in-game objects. This handles drawing, collision, animation, navigation, particles, sounds, physics, etc. The actual child classes will add most of the functionality, and this just serves as a common container for references to the `-control` objects for this object." ((root trsqv) (node-list cspace-array) (draw draw-control) (skel joint-control) (nav nav-control) (align align-control) (path path-control) (vol vol-control) (fact fact-info) (link actor-link-info) (part sparticle-launch-control) (water water-control) (sound ambient-sound) (carry carry-info) (rbody rigid-body-control) (state-flags state-flags) (state-time time-frame) ) (:methods (initialize-skeleton (_type_ skeleton-group pair) draw-control) (initialize-skeleton-by-name (_type_ string) draw-control) (apply-alignment (_type_ align-opts transformq vector) trsqv) (cleanup-for-death (_type_) none) (relocate-nav (_type_ int) none) (evaluate-joint-control (_type_) none) ) (:states (process-drawable-art-error string) process-drawable-idle ) ) ;; definition for method 3 of type process-drawable (defmethod inspect ((this process-drawable)) (when (not this) (set! this this) (goto cfg-4) ) (let ((t9-0 (method-of-type process inspect))) (t9-0 this) ) (format #t "~2Troot: ~A~%" (-> this root)) (format #t "~2Tnode-list: ~A~%" (-> this node-list)) (format #t "~2Tdraw: ~A~%" (-> this draw)) (format #t "~2Tskel: ~A~%" (-> this skel)) (format #t "~2Tnav: ~A~%" (-> this nav)) (format #t "~2Talign: ~A~%" (-> this align)) (format #t "~2Tpath: ~A~%" (-> this path)) (format #t "~2Tvol: ~A~%" (-> this vol)) (format #t "~2Tfact: ~A~%" (-> this fact)) (format #t "~2Tlink: ~A~%" (-> this link)) (format #t "~2Tpart: ~A~%" (-> this part)) (format #t "~2Twater: ~A~%" (-> this water)) (format #t "~2Tsound: ~A~%" (-> this sound)) (format #t "~2Tcarry: ~A~%" (-> this carry)) (format #t "~2Trbody: ~A~%" (-> this rbody)) (format #t "~2Tstate-flags: ~D~%" (-> this state-flags)) (format #t "~2Tstate-time: ~D~%" (-> this state-time)) (label cfg-4) this ) ;; definition of type process-drawable-reserved (deftype process-drawable-reserved (process-drawable) "A process drawable with a lot of unused method slots. GOAL cannot increase the number of methods at runtime, so, for interactive development, it is useful to have a type with a large number of slots which can be turned into real methods without needed to reboot the PS2." () (:methods (process-drawable-reserved-method-20 () none) (process-drawable-reserved-method-21 () none) (process-drawable-reserved-method-22 () none) (process-drawable-reserved-method-23 () none) (process-drawable-reserved-method-24 () none) (process-drawable-reserved-method-25 () none) (process-drawable-reserved-method-26 () none) (process-drawable-reserved-method-27 () none) (process-drawable-reserved-method-28 () none) (process-drawable-reserved-method-29 () none) (process-drawable-reserved-method-30 () none) (process-drawable-reserved-method-31 () none) (process-drawable-reserved-method-32 () none) (process-drawable-reserved-method-33 () none) (process-drawable-reserved-method-34 () none) (process-drawable-reserved-method-35 () none) (process-drawable-reserved-method-36 () none) (process-drawable-reserved-method-37 () none) (process-drawable-reserved-method-38 () none) (process-drawable-reserved-method-39 () none) (process-drawable-reserved-method-40 () none) (process-drawable-reserved-method-41 () none) (process-drawable-reserved-method-42 () none) (process-drawable-reserved-method-43 () none) (process-drawable-reserved-method-44 () none) (process-drawable-reserved-method-45 () none) (process-drawable-reserved-method-46 () none) (process-drawable-reserved-method-47 () none) (process-drawable-reserved-method-48 () none) (process-drawable-reserved-method-49 () none) (process-drawable-reserved-method-50 () none) (process-drawable-reserved-method-51 () none) (process-drawable-reserved-method-52 () none) (process-drawable-reserved-method-53 () none) (process-drawable-reserved-method-54 () none) (process-drawable-reserved-method-55 () none) (process-drawable-reserved-method-56 () none) (process-drawable-reserved-method-57 () none) (process-drawable-reserved-method-58 () none) (process-drawable-reserved-method-59 () none) (process-drawable-reserved-method-60 () none) (process-drawable-reserved-method-61 () none) (process-drawable-reserved-method-62 () none) (process-drawable-reserved-method-63 () none) (process-drawable-reserved-method-64 () none) (process-drawable-reserved-method-65 () none) (process-drawable-reserved-method-66 () none) (process-drawable-reserved-method-67 () none) (process-drawable-reserved-method-68 () none) (process-drawable-reserved-method-69 () none) (process-drawable-reserved-method-70 () none) (process-drawable-reserved-method-71 () none) (process-drawable-reserved-method-72 () none) (process-drawable-reserved-method-73 () none) (process-drawable-reserved-method-74 () none) (process-drawable-reserved-method-75 () none) (process-drawable-reserved-method-76 () none) (process-drawable-reserved-method-77 () none) (process-drawable-reserved-method-78 () none) (process-drawable-reserved-method-79 () none) (process-drawable-reserved-method-80 () none) (process-drawable-reserved-method-81 () none) (process-drawable-reserved-method-82 () none) (process-drawable-reserved-method-83 () none) (process-drawable-reserved-method-84 () none) (process-drawable-reserved-method-85 () none) (process-drawable-reserved-method-86 () none) (process-drawable-reserved-method-87 () none) (process-drawable-reserved-method-88 () none) (process-drawable-reserved-method-89 () none) (process-drawable-reserved-method-90 () none) (process-drawable-reserved-method-91 () none) (process-drawable-reserved-method-92 () none) (process-drawable-reserved-method-93 () none) (process-drawable-reserved-method-94 () none) (process-drawable-reserved-method-95 () none) (process-drawable-reserved-method-96 () none) (process-drawable-reserved-method-97 () none) (process-drawable-reserved-method-98 () none) (process-drawable-reserved-method-99 () none) (process-drawable-reserved-method-100 () none) (process-drawable-reserved-method-101 () none) (process-drawable-reserved-method-102 () none) (process-drawable-reserved-method-103 () none) (process-drawable-reserved-method-104 () none) (process-drawable-reserved-method-105 () none) (process-drawable-reserved-method-106 () none) (process-drawable-reserved-method-107 () none) (process-drawable-reserved-method-108 () none) (process-drawable-reserved-method-109 () none) (process-drawable-reserved-method-110 () none) (process-drawable-reserved-method-111 () none) (process-drawable-reserved-method-112 () none) (process-drawable-reserved-method-113 () none) (process-drawable-reserved-method-114 () none) (process-drawable-reserved-method-115 () none) (process-drawable-reserved-method-116 () none) (process-drawable-reserved-method-117 () none) (process-drawable-reserved-method-118 () none) (process-drawable-reserved-method-119 () none) (process-drawable-reserved-method-120 () none) (process-drawable-reserved-method-121 () none) (process-drawable-reserved-method-122 () none) (process-drawable-reserved-method-123 () none) (process-drawable-reserved-method-124 () none) (process-drawable-reserved-method-125 () none) (process-drawable-reserved-method-126 () none) (process-drawable-reserved-method-127 () none) (process-drawable-reserved-method-128 () none) (process-drawable-reserved-method-129 () none) (process-drawable-reserved-method-130 () none) (process-drawable-reserved-method-131 () none) (process-drawable-reserved-method-132 () none) (process-drawable-reserved-method-133 () none) (process-drawable-reserved-method-134 () none) (process-drawable-reserved-method-135 () none) (process-drawable-reserved-method-136 () none) (process-drawable-reserved-method-137 () none) (process-drawable-reserved-method-138 () none) (process-drawable-reserved-method-139 () none) (process-drawable-reserved-method-140 () none) (process-drawable-reserved-method-141 () none) (process-drawable-reserved-method-142 () none) (process-drawable-reserved-method-143 () none) (process-drawable-reserved-method-144 () none) (process-drawable-reserved-method-145 () none) (process-drawable-reserved-method-146 () none) (process-drawable-reserved-method-147 () none) (process-drawable-reserved-method-148 () none) (process-drawable-reserved-method-149 () none) (process-drawable-reserved-method-150 () none) (process-drawable-reserved-method-151 () none) (process-drawable-reserved-method-152 () none) (process-drawable-reserved-method-153 () none) (process-drawable-reserved-method-154 () none) (process-drawable-reserved-method-155 () none) (process-drawable-reserved-method-156 () none) (process-drawable-reserved-method-157 () none) (process-drawable-reserved-method-158 () none) (process-drawable-reserved-method-159 () none) (process-drawable-reserved-method-160 () none) (process-drawable-reserved-method-161 () none) (process-drawable-reserved-method-162 () none) (process-drawable-reserved-method-163 () none) (process-drawable-reserved-method-164 () none) (process-drawable-reserved-method-165 () none) (process-drawable-reserved-method-166 () none) (process-drawable-reserved-method-167 () none) (process-drawable-reserved-method-168 () none) (process-drawable-reserved-method-169 () none) (process-drawable-reserved-method-170 () none) (process-drawable-reserved-method-171 () none) (process-drawable-reserved-method-172 () none) (process-drawable-reserved-method-173 () none) (process-drawable-reserved-method-174 () none) (process-drawable-reserved-method-175 () none) (process-drawable-reserved-method-176 () none) (process-drawable-reserved-method-177 () none) ) ) ;; definition for method 3 of type process-drawable-reserved (defmethod inspect ((this process-drawable-reserved)) (when (not this) (set! this this) (goto cfg-4) ) (let ((t9-0 (method-of-type process-drawable inspect))) (t9-0 this) ) (label cfg-4) this ) ;; definition of type attack-dir-info (deftype attack-dir-info (structure) "Information about the position/direction of an attack." ((dir vector :inline) (xz-dir vector :inline) (attacker-velocity vector :inline) (pos vector :inline) ) ) ;; definition for method 3 of type attack-dir-info (defmethod inspect ((this attack-dir-info)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'attack-dir-info) (format #t "~1Tdir: #~%" (-> this dir)) (format #t "~1Txz-dir: #~%" (-> this xz-dir)) (format #t "~1Tattacker-velocity: #~%" (-> this attacker-velocity)) (format #t "~1Tpos: #~%" (-> this pos)) (label cfg-4) this ) ;; definition of type attack-info (deftype attack-info (structure) "Information about an incoming attack." ((trans vector :inline) (vector vector :inline) (attacker-velocity vector :inline) (intersection vector :inline) (attacker handle) (attack-time time-frame) (invinc-time time-frame) (mask attack-mask) (mode symbol) (shove-back meters) (shove-up meters) (speed meters) (dist meters) (control float) (angle symbol) (rotate-to degrees) (prev-state state) (id uint32) (count uint32) (penetrate-using penetrate) (damage float) (shield-damage float) (knock knocked-type) (test symbol) ) (:methods (attack-info-method-9 (_type_ attack-info process-drawable process-drawable) none) (compute-intersect-info (_type_ object process-drawable process touching-shapes-entry) attack-info) (combine! (_type_ attack-info process-drawable) attack-info) ) ) ;; definition for method 3 of type attack-info (defmethod inspect ((this attack-info)) (when (not this) (set! this this) (goto cfg-50) ) (format #t "[~8x] ~A~%" this 'attack-info) (format #t "~1Ttrans: ~`vector`P~%" (-> this trans)) (format #t "~1Tvector: ~`vector`P~%" (-> this vector)) (format #t "~1Tattacker-velocity: ~`vector`P~%" (-> this attacker-velocity)) (format #t "~1Tintersection: ~`vector`P~%" (-> this intersection)) (format #t "~1Tattacker: ~`handle`P~%" (-> this attacker)) (format #t "~1Tattack-time: ~D~%" (-> this attack-time)) (format #t "~1Tinvinc-time: ~D~%" (-> this invinc-time)) (format #t "~1Tmask: #x~X : (attack-info-mask " (-> this mask)) (let ((s5-0 (-> this mask))) (if (= (logand s5-0 (attack-mask vector)) (attack-mask vector)) (format #t "vector ") ) (if (= (logand s5-0 (attack-mask angle)) (attack-mask angle)) (format #t "angle ") ) (if (= (logand (attack-mask test) s5-0) (attack-mask test)) (format #t "test ") ) (if (= (logand s5-0 (attack-mask invinc-time)) (attack-mask invinc-time)) (format #t "invinc-time ") ) (if (= (logand s5-0 (attack-mask attacker)) (attack-mask attacker)) (format #t "attacker ") ) (if (= (logand s5-0 (attack-mask dist)) (attack-mask dist)) (format #t "dist ") ) (if (= (logand s5-0 (attack-mask intersection)) (attack-mask intersection)) (format #t "intersection ") ) (if (= (logand s5-0 (attack-mask shove-back)) (attack-mask shove-back)) (format #t "shove-back ") ) (if (= (logand s5-0 (attack-mask shove-up)) (attack-mask shove-up)) (format #t "shove-up ") ) (if (= (logand s5-0 (attack-mask mode)) (attack-mask mode)) (format #t "mode ") ) (if (= (logand (attack-mask count) s5-0) (attack-mask count)) (format #t "count ") ) (if (= (logand s5-0 (attack-mask rotate-to)) (attack-mask rotate-to)) (format #t "rotate-to ") ) (if (= (logand s5-0 (attack-mask speed)) (attack-mask speed)) (format #t "speed ") ) (if (= (logand s5-0 (attack-mask attack-time)) (attack-mask attack-time)) (format #t "attack-time ") ) (if (= (logand (attack-mask damage) s5-0) (attack-mask damage)) (format #t "damage ") ) (if (= (logand s5-0 (attack-mask control)) (attack-mask control)) (format #t "control ") ) (if (= (logand s5-0 (attack-mask trans)) (attack-mask trans)) (format #t "trans ") ) (if (= (logand (attack-mask penetrate-using) s5-0) (attack-mask penetrate-using)) (format #t "penetrate-using ") ) (if (= (logand (attack-mask attacker-velocity) s5-0) (attack-mask attacker-velocity)) (format #t "attacker-velocity ") ) (if (= (logand s5-0 (attack-mask id)) (attack-mask id)) (format #t "id ") ) (if (= (logand s5-0 (attack-mask prev-state)) (attack-mask prev-state)) (format #t "prev-state ") ) (if (= (logand (attack-mask knock) s5-0) (attack-mask knock)) (format #t "knock ") ) (if (= (logand (attack-mask shield-damage) s5-0) (attack-mask shield-damage)) (format #t "shield-damage ") ) ) (format #t ")~%") (format #t "~1Tmode: ~A~%" (-> this mode)) (format #t "~1Tshove-back: (meters ~m)~%" (-> this shove-back)) (format #t "~1Tshove-up: (meters ~m)~%" (-> this shove-up)) (format #t "~1Tspeed: (meters ~m)~%" (-> this speed)) (format #t "~1Tdist: (meters ~m)~%" (-> this dist)) (format #t "~1Tcontrol: ~f~%" (-> this control)) (format #t "~1Tangle: ~A~%" (-> this angle)) (format #t "~1Trotate-to: (deg ~r)~%" (-> this rotate-to)) (format #t "~1Tprev-state: ~A~%" (-> this prev-state)) (format #t "~1Tid: ~D~%" (-> this id)) (format #t "~1Tcount: ~D~%" (-> this count)) (format #t "~1Tpenetrate-using: ~D~%" (-> this penetrate-using)) (format #t "~1Tdamage: ~f~%" (-> this damage)) (format #t "~1Tshield-damage: ~f~%" (-> this shield-damage)) (format #t "~1Tknock: ~D~%" (-> this knock)) (format #t "~1Ttest: ~A~%" (-> this test)) (label cfg-50) this ) ;; definition of type ground-tween-info (deftype ground-tween-info (structure) ((chan uint8 3) (blend float 3) (group uint32 5) ) :pack-me ) ;; definition for method 3 of type ground-tween-info (defmethod inspect ((this ground-tween-info)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'ground-tween-info) (format #t "~1Tchan[3] @ #x~X~%" (-> this chan)) (format #t "~1Tblend[3] @ #x~X~%" (-> this blend)) (format #t "~1Tgroup[5] @ #x~X~%" (-> this group)) (label cfg-4) this ) ;; failed to figure out what this is: 0