;;-*-Lisp-*- (in-package goal) ;; failed to figure out what this is: (set! (-> *part-group-id-table* 107) (new 'static 'sparticle-launch-group :length 2 :duration #xbb8 :linger-duration #x5dc :name "group-standard-plat" :launcher (new 'static 'inline-array sparticle-group-item 2 (new 'static 'sparticle-group-item :launcher #x16b :fade-after (meters 60.0) :falloff-to (meters 60.0) ) (new 'static 'sparticle-group-item :launcher #x16c :fade-after (meters 160.0) :falloff-to (meters 160.0) ) ) :bounds (new 'static 'sphere :y -49152.0 :w 57344.0) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 363) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 (new 'static 'sp-field-init-spec :field #x6 :flags #x1 :initial-valuef 1.5 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #xb :flags #x1 :initial-valuef 4096.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #xe :initial-valuef (the-as float #x5) :random-multf (the-as float #x1) ) (new 'static 'sp-field-init-spec :field #x12 :flags #x1 :initial-valuef 5324.8 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x13 :flags #x1 :initial-valuef 4096.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x14 :flags #x1 :initial-valuef 3686.4 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x1a :flags #x1 :initial-valuef 13.653334 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x23 :flags #x1 :initial-valuef -16.383999 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x2e :initial-valuef (the-as float #x19) :random-multf (the-as float #x1) ) (new 'static 'sp-field-init-spec :field #x2f :initial-valuef (the-as float #x100) :random-multf (the-as float #x1) ) (new 'static 'sp-field-init-spec :field #x3a :flags #x1 :initial-valuef 25486.223 :random-rangef 7281.778 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x3b :flags #x1 :random-rangef 65536.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x3e :flags #x1 :initial-valuef 12288.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x43) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 364) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 19 (new 'static 'sp-field-init-spec :field #x1 :initial-valuef (the-as float #x200f00) ) (new 'static 'sp-field-init-spec :field #x6 :flags #x1 :initial-valuef 2.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #xb :flags #x1 :initial-valuef 6144.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #xd :flags #x1 :initial-valuef 8192.0 :random-rangef 4096.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x11 :flags #x3 :initial-valuef (the-as float #xfffffffc) :random-multf (the-as float #x1) ) (new 'static 'sp-field-init-spec :field #x13 :flags #x1 :random-rangef 64.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x14 :flags #x1 :initial-valuef 128.0 :random-rangef 128.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x15 :flags #x1 :initial-valuef 16.0 :random-rangef 32.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x1a :flags #x1 :initial-valuef 40.96 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x22 :flags #x1 :initial-valuef -0.42666668 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x24 :flags #x1 :initial-valuef -0.32 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x26 :flags #x1 :initial-valuef -0.13653333 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x2d :flags #x1 :initial-valuef 0.96 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x2e :initial-valuef (the-as float #x96) :random-multf (the-as float #x1) ) (new 'static 'sp-field-init-spec :field #x2f :initial-valuef (the-as float #xc) :random-multf (the-as float #x1) ) (new 'static 'sp-field-init-spec :field #x3a :flags #x1 :initial-valuef 23665.777 :random-rangef 18204.445 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x3b :flags #x1 :random-rangef 65536.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x3e :flags #x1 :initial-valuef 12288.0 :random-multf 1.0 ) (new 'static 'sp-field-init-spec :field #x43) ) ) ) ;; definition of type plat (deftype plat (baseplat) ((path-pos float :offset-assert 228) (sync sync-info-eased :inline :offset-assert 232) (sound-id sound-id :offset-assert 260) ) :heap-base #xa0 :method-count-assert 33 :size-assert #x108 :flag-assert #x2100a00108 (:methods (dummy-27 () none 27) (dummy-28 () none 28) (wad () _type_ :state 29) (plat-startup () _type_ :state 30) (plat-idle () _type_ :state 31) (plat-path-active () _type_ :state 32) ) ) ;; definition for method 3 of type plat (defmethod inspect plat ((obj plat)) (let ((t9-0 (method-of-type baseplat inspect))) (t9-0 obj) ) (format #t "~T~Tpath-pos: ~f~%" (-> obj path-pos)) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tsound-id: ~D~%" (-> obj sound-id)) obj ) ;; failed to figure out what this is: (let ((v1-4 (new 'static 'skeleton-group :art-group-name "plat" :bounds (new 'static 'vector :y -2048.0 :w 12288.0) :max-lod 2 :version #x6 ) ) ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 4) (set! (-> v1-4 mgeo 0) (the-as uint 1)) (set! (-> v1-4 lod-dist 0) 81920.0) (set! (-> v1-4 mgeo 1) (the-as uint 2)) (set! (-> v1-4 lod-dist 1) 163840.0) (set! (-> v1-4 mgeo 2) (the-as uint 3)) (set! (-> v1-4 lod-dist 2) 4095996000.0) (set! *plat-sg* v1-4) ) ;; failed to figure out what this is: (let ((v1-5 (new 'static 'skeleton-group :art-group-name "plat-jungleb" :bounds (new 'static 'vector :y -2048.0 :w 12288.0) :version #x6 ) ) ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) 4) (set! (-> v1-5 mgeo 0) (the-as uint 1)) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *plat-jungleb-sg* v1-5) ) ;; failed to figure out what this is: (let ((v1-6 (new 'static 'skeleton-group :art-group-name "plat-sunken" :bounds (new 'static 'vector :y -2048.0 :w 13107.2) :version #x6 ) ) ) (set! (-> v1-6 jgeo) 0) (set! (-> v1-6 janim) 4) (set! (-> v1-6 mgeo 0) (the-as uint 1)) (set! (-> v1-6 lod-dist 0) 4095996000.0) (set! *plat-sunken-sg* v1-6) ) ;; definition for method 23 of type plat (defmethod TODO-RENAME-23 plat ((obj plat)) (cond ((= (-> (if (-> obj entity) (-> obj entity extra level) (-> *level* level-default) ) name ) 'jungleb ) *plat-jungleb-sg* ) ((or (= (-> (if (-> obj entity) (-> obj entity extra level) (-> *level* level-default) ) name ) 'sunken ) (= (-> (if (-> obj entity) (-> obj entity extra level) (-> *level* level-default) ) name ) 'sunkenb ) ) *plat-sunken-sg* ) (else *plat-sg* ) ) ) ;; definition for method 24 of type plat ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 plat ((obj plat)) (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) ) ) (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) (set! (-> s5-0 reaction) default-collision-reaction) (set! (-> s5-0 no-reaction) nothing) (dummy-29 s5-0 1) (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0) ) ) ) (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) (set! (-> s4-0 collide-with) (the-as uint 16)) (set! (-> s4-0 prim-core action) (the-as uint 3)) (set! (-> s4-0 prim-core offense) 4) (set! (-> s4-0 transform-index) 0) (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 13107.2) ) (dummy-46 s5-0) (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) (dummy-50 s5-0) (set! (-> obj root-override) s5-0) ) 0 (none) ) ;; definition for method 26 of type plat ;; INFO: Return type mismatch int vs none. (defmethod dummy-26 plat ((obj plat)) 0 (none) ) ;; definition for method 25 of type plat ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod TODO-RENAME-25 plat ((obj plat)) (the-as sparticle-launch-group (when (!= (-> (if (-> obj entity) (-> obj entity extra level) (-> *level* level-default) ) name ) 'maincave ) (let ((v0-0 (create-launch-control (-> *part-group-id-table* 107) obj ) ) ) (set! (-> obj part) v0-0) v0-0 ) ) ) ) ;; failed to figure out what this is: (defstate plat-startup (plat) :virtual #t :code (behavior () (cond ((logtest? (-> self path flags) (path-control-flag not-found)) (go-virtual plat-idle) ) ((> (-> self sync period) 0) (go-virtual plat-path-active) ) (else (go-virtual plat-idle) ) ) (none) ) ) ;; failed to figure out what this is: (defstate plat-idle (plat) :virtual #t :event (the-as (function process int symbol event-message-block object :behavior plat) plat-event ) :trans (behavior () (dummy-20 self) (none) ) :code (behavior () (plat-trans) (rider-post) (suspend) (while #t (when (not (-> self bouncing)) (plat-trans) (rider-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 ) (while (-> self bouncing) (plat-trans) (rider-post) (suspend) ) ) (none) ) ) ;; failed to figure out what this is: (defstate plat-path-active (plat) :virtual #t :event (the-as (function process int symbol event-message-block object :behavior plat) plat-event ) :exit (behavior () (sound-stop (-> self sound-id)) (none) ) :trans (behavior () (set! (-> self path-pos) (if (logtest? (-> self fact options) 8) (get-current-phase (-> self sync)) (get-current-phase-with-mirror (-> self sync)) ) ) (eval-path-curve! (-> self path) (-> self basetrans) (-> self path-pos) 'interp ) (if (< (vector-vector-distance (-> self root-override trans) (ear-trans)) 81920.0 ) (sound-play-by-name (static-sound-name "eco-plat-hover") (-> self sound-id) 1024 0 0 (the-as uint 1) (-> self root-override trans) ) ) (plat-trans) (none) ) :code (the-as (function none :behavior plat) anim-loop) :post (the-as (function none :behavior plat) plat-post) ) ;; definition for method 11 of type plat (defmethod copy-defaults! plat ((obj plat) (arg0 res-lump)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) (dummy-24 obj) (process-drawable-from-entity! obj arg0) (dummy-14 obj (TODO-RENAME-23 obj) '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) (TODO-RENAME-25 obj) (load-params! (-> obj sync) obj (the-as uint 0) 0.0 0.15 0.15) (set! (-> obj fact) (new 'process 'fact-info obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc) ) ) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text) ) (set! (-> obj sound-id) (new-sound-id)) (cond ((logtest? (-> obj path flags) (path-control-flag not-found)) (set! (-> obj path-pos) 0.0) (dummy-26 obj) (go (method-of-object obj plat-startup)) ) ((> (-> obj sync period) 0) (set! (-> obj path-pos) (if (logtest? (-> obj fact options) 8) (get-current-phase (-> obj sync)) (get-current-phase-with-mirror (-> obj sync)) ) ) (eval-path-curve! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp ) (dummy-26 obj) (go (method-of-object obj plat-startup)) ) (else (set! (-> obj path-pos) 0.0) (eval-path-curve! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp ) (dummy-26 obj) (go (method-of-object obj plat-startup)) ) ) (none) )