;;-*-Lisp-*- (in-package goal) ;; name: cavegeyserrock.gc ;; name in dgo: cavegeyserrock ;; dgos: L1 #| This file is only found in early demos. |# ;; decomp begins ;; definition of type cavegeyserrock-control-pt (deftype cavegeyserrock-control-pt (structure) ((trans vector :inline :offset-assert 0) (transv vector :inline :offset-assert 16) ) :method-count-assert 9 :size-assert #x20 :flag-assert #x900000020 ) ;; definition for method 3 of type cavegeyserrock-control-pt (defmethod inspect cavegeyserrock-control-pt ((obj cavegeyserrock-control-pt)) (format #t "[~8x] ~A~%" obj 'cavegeyserrock-control-pt) (format #t "~Ttrans: #~%" (-> obj trans)) (format #t "~Ttransv: #~%" (-> obj transv)) obj ) ;; definition of type cavegeyserrock (deftype cavegeyserrock (process-drawable) ((root-override collide-shape-moving :offset 112) (do-burst? symbol :offset-assert 176) (do-falling-sound? symbol :offset-assert 180) (do-landing-sound? symbol :offset-assert 184) (begin-travel-up float :offset-assert 188) (begin-travel-down float :offset-assert 192) (sync sync-info :inline :offset-assert 196) (part2 sparticle-launch-control :offset-assert 204) (down vector :inline :offset-assert 208) (up vector :inline :offset-assert 224) (control-pt cavegeyserrock-control-pt 3 :inline :offset-assert 240) ) :heap-base #xe0 :method-count-assert 22 :size-assert #x150 :flag-assert #x1600e00150 (:methods (dummy-20 (_type_) none 20) (dummy-21 (_type_) none 21) ) (:states cavegeyserrock-idle ) ) ;; definition for method 3 of type cavegeyserrock (defmethod inspect cavegeyserrock ((obj cavegeyserrock)) (let ((t9-0 (method-of-type process-drawable inspect))) (t9-0 obj) ) (format #t "~T~Tdo-burst?: ~A~%" (-> obj do-burst?)) (format #t "~T~Tdo-falling-sound?: ~A~%" (-> obj do-falling-sound?)) (format #t "~T~Tdo-landing-sound?: ~A~%" (-> obj do-landing-sound?)) (format #t "~T~Tbegin-travel-up: ~f~%" (-> obj begin-travel-up)) (format #t "~T~Tbegin-travel-down: ~f~%" (-> obj begin-travel-down)) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tpart2: ~A~%" (-> obj part2)) (format #t "~T~Tdown: #~%" (-> obj down)) (format #t "~T~Tup: #~%" (-> obj up)) (format #t "~T~Tcontrol-pt[3] @ #x~X~%" (-> obj control-pt)) obj ) ;; failed to figure out what this is: (set! (-> *part-group-id-table* 504) (new 'static 'sparticle-launch-group :length 7 :duration #x258 :linger-duration #x12c :name "group-cavegeyserrock-sides" :launcher (new 'static 'inline-array sparticle-group-item 7 (sp-item 1869 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15) (sp-item 1870 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15 :offset 12) (sp-item 1871 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15 :offset 24) (sp-item 1872 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15) (sp-item 1873 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15 :offset 12) (sp-item 1874 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15 :offset 24) (sp-item 1875 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 36 :length 15 :offset 24) ) :bounds (new 'static 'sphere :w 40960.0) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1875) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 (sp-flt spt-num 1.0) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) (sp-flt spt-g 2867.2) (sp-flt spt-b 3276.8) (sp-rnd-flt spt-vel-y (meters 0.083333336) (meters 0.16666667) 1.0) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags aux-list) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1876) (sp-flt spt-conerot-x (degrees 90.0)) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) (sp-flt spt-conerot-radius (meters 2.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1876) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -13.653334) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1869) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 0.0 16.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.083333336) (meters 0.16666667) 1.0) (sp-flt spt-scalevel-x (meters 0.05)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a 0.53333336) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit12) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1877) (sp-flt spt-conerot-x (degrees 90.0)) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 120.0) 1.0) (sp-flt spt-conerot-radius (meters 2.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1872) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 0.0 16.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.083333336) (meters 0.16666667) 1.0) (sp-flt spt-scalevel-x (meters 0.05)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a 0.53333336) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit12) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1877) (sp-flt spt-conerot-x (degrees 90.0)) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 120.0) 1.0) (sp-flt spt-conerot-radius (meters 2.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1870) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 0.0 16.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.083333336) (meters 0.16666667) 1.0) (sp-flt spt-scalevel-x (meters 0.05)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a 0.53333336) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit12) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1877) (sp-flt spt-conerot-x (degrees 90.0)) (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 120.0) 1.0) (sp-flt spt-conerot-radius (meters 2.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1873) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 0.0 16.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.083333336) (meters 0.16666667) 1.0) (sp-flt spt-scalevel-x (meters 0.05)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a 0.53333336) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit12) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1877) (sp-flt spt-conerot-x (degrees 90.0)) (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 120.0) 1.0) (sp-flt spt-conerot-radius (meters 2.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1871) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 0.0 16.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.083333336) (meters 0.16666667) 1.0) (sp-flt spt-scalevel-x (meters 0.05)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a 0.53333336) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit12) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1877) (sp-flt spt-conerot-x (degrees 90.0)) (sp-rnd-flt spt-conerot-y (degrees 240.0) (degrees 120.0) 1.0) (sp-flt spt-conerot-radius (meters 2.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1874) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 0.0 16.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.083333336) (meters 0.16666667) 1.0) (sp-flt spt-scalevel-x (meters 0.05)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a 0.53333336) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit12) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1877) (sp-flt spt-conerot-x (degrees 90.0)) (sp-rnd-flt spt-conerot-y (degrees 240.0) (degrees 120.0) 1.0) (sp-flt spt-conerot-radius (meters 2.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1877) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.0666667) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-group-id-table* 505) (new 'static 'sparticle-launch-group :length 9 :duration #x258 :linger-duration #x12c :name "group-cavegeyserrock-plume" :launcher (new 'static 'inline-array sparticle-group-item 9 (sp-item 1881 :flags (bit1) :period 240 :length 1 :binding 1878) (sp-item 1881 :flags (bit1) :period 240 :length 1 :binding 1879) (sp-item 1881 :flags (bit1) :period 240 :length 1 :binding 1880) (sp-item 1878 :fade-after (meters 120.0) :falloff-to (meters 160.0) :flags (start-dead)) (sp-item 1879 :fade-after (meters 120.0) :falloff-to (meters 160.0) :flags (start-dead)) (sp-item 1882 :fade-after (meters 120.0) :falloff-to (meters 160.0)) (sp-item 1883 :fade-after (meters 120.0) :falloff-to (meters 160.0)) (sp-item 1884 :fade-after (meters 60.0) :falloff-to (meters 60.0)) (sp-item 1880 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (start-dead)) ) :bounds (new 'static 'sphere :w 131072.0) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1880) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 (sp-flt spt-num 0.4) (sp-int spt-rot-x 5) (sp-flt spt-r 6144.0) (sp-flt spt-g 2867.2) (sp-flt spt-b 3276.8) (sp-rnd-flt spt-vel-y (meters 0.083333336) (meters 0.16666667) 1.0) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.94 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags aux-list) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1876) (sp-flt spt-conerot-x (degrees 90.0)) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) (sp-flt spt-conerot-radius (meters 2.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1881) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.5)) (sp-flt spt-scale-x (meters 1.5)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) (sp-flt spt-a 0.0) (sp-flt spt-vel-y (meters 0.26666668)) (sp-flt spt-accel-y 13.653334) (sp-int spt-timer 150) (sp-cpuinfo-flags bit3 bit12) (sp-int spt-next-time 31) (sp-launcher-by-id spt-next-launcher 1885) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1885) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-vel-y (meters 0.0)) (sp-flt spt-accel-y 0.0) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1879) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 24 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 16.0 32.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.13333334) (meters 0.13333334) 1.0) (sp-flt spt-scalevel-x (meters 0.06666667)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit12) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1886) (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 15.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) (sp-flt spt-conerot-radius (meters 0.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1878) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 24 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 16.0 32.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.13333334) (meters 0.13333334) 1.0) (sp-flt spt-scalevel-x (meters 0.06666667)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-accel-y 0.68266666) (sp-rnd-flt spt-friction 0.92 0.02 1.0) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit12) (sp-int spt-next-time 30) (sp-launcher-by-id spt-next-launcher 1886) (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 15.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) (sp-flt spt-conerot-radius (meters 0.5)) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1886) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.6) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1882) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 19 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) (sp-flt spt-y (meters -1.0)) (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 16.0 16.0 1.0) (sp-flt spt-vel-y (meters 0.26666668)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-flt spt-accel-y 13.653334) (sp-int spt-timer 30) (sp-cpuinfo-flags bit2 bit12) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 15.0) 1.0) (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1883) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 (sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) (sp-flt spt-y (meters -1.0)) (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) (sp-flt spt-vel-y (meters 0.26666668)) (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) (sp-flt spt-accel-y 13.653334) (sp-int spt-timer 30) (sp-cpuinfo-flags bit2 bit3 bit12) (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) (sp-end) ) ) ) ;; failed to figure out what this is: (set! (-> *part-id-table* 1884) (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 11 (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 5) (sp-flt spt-r 6144.0) (sp-flt spt-g 2457.6) (sp-flt spt-b 3276.8) (sp-flt spt-vel-y (meters 0.26666668)) (sp-int spt-timer 30) (sp-cpuinfo-flags aux-list) (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) (sp-end) ) ) ) ;; failed to figure out what this is: (let ((v1-22 (new 'static 'skeleton-group :art-group-name "cavegeyserrock" :bounds (new 'static 'vector :y -4096.0 :w 14745.6) :max-lod 1 :version #x6 ) ) ) (set! (-> v1-22 jgeo) 0) (set! (-> v1-22 janim) 4) (set! (-> v1-22 mgeo 0) 1) (set! (-> v1-22 lod-dist 0) 81920.0) (set! (-> v1-22 mgeo 1) 3) (set! (-> v1-22 lod-dist 1) 4095996000.0) (set! *cavegeyserrock-sg* v1-22) ) ;; definition for method 7 of type cavegeyserrock ;; INFO: Return type mismatch process-drawable vs cavegeyserrock. (defmethod relocate cavegeyserrock ((obj cavegeyserrock) (arg0 int)) (if (nonzero? (-> obj part2)) (&+! (-> obj part2) arg0) ) (the-as cavegeyserrock ((the-as (function process-drawable int process-drawable) (find-parent-method cavegeyserrock 7) ) obj arg0 ) ) ) ;; definition for method 20 of type cavegeyserrock ;; INFO: Return type mismatch object vs none. (defmethod dummy-20 cavegeyserrock ((obj cavegeyserrock)) (with-pp (when *target* (let* ((a1-0 (target-pos 0)) (f0-0 (-> a1-0 y)) ) (when (and (>= f0-0 (+ -8192.0 (-> obj down y))) (and (>= (+ -4096.0 (-> obj root-override trans y)) f0-0) (zero? (-> obj root-override riders num-riders)) ) ) (let ((f0-1 (vector-vector-xz-distance-squared (-> obj down) a1-0))) (when (>= 77552690.0 f0-1) (let ((s5-0 (>= 37748736.0 f0-1))) (when (not s5-0) (when (>= (- (-> obj root-override trans y) (-> obj down y)) 3072.0) (let ((a1-1 (new 'stack-no-clear 'vector))) (set! (-> a1-1 x) (the-as float 1)) (set! (-> a1-1 y) (the-as float #f)) (if (dummy-40 (-> obj root-override) a1-1) (set! s5-0 #t) ) ) ) ) (when s5-0 (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) pp) (set! (-> a1-2 num-params) 2) (set! (-> a1-2 message) 'shove) (set! (-> a1-2 param 0) (the-as uint #f)) (let ((v1-16 (new 'static 'attack-info :mask #xc0))) (set! (-> v1-16 shove-up) 2048.0) (set! (-> v1-16 shove-back) 6144.0) (set! (-> a1-2 param 1) (the-as uint v1-16)) ) (send-event-function *target* a1-2) ) ) ) ) ) ) ) ) (none) ) ) ;; definition for method 21 of type cavegeyserrock ;; INFO: Return type mismatch quaternion vs none. ;; Used lq/sq (defmethod dummy-21 cavegeyserrock ((obj cavegeyserrock)) (local-vars (at-0 int) (at-1 int) (s5-0 symbol)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) (init-vf0-vector) (let ((f0-0 (get-current-phase (-> obj sync)))) #t (cond ((< f0-0 (-> obj begin-travel-up)) (let ((f30-0 (/ f0-0 (-> obj begin-travel-up)))) (set! s5-0 #t) (dotimes (s4-0 3) (let ((s3-0 (-> obj control-pt s4-0))) (when (= (-> s3-0 trans y) (-> obj down y)) (set! (-> obj do-burst?) #t) (let ((a0-2 (+ (the int (* 12.0 (- 1.0 f30-0))) 3))) (if (zero? (rand-vu-int-count a0-2)) (+! (-> s3-0 transv y) (* (rand-vu-float-range 40960.0 57344.0) f30-0) ) ) ) ) ) ) (let ((a0-4 (+ (the int (* 12.0 (- 1.0 f30-0))) 1))) (if (zero? (rand-vu-int-count a0-4)) (spawn (-> obj part) (-> obj down)) ) ) ) ) ((< f0-0 (-> obj begin-travel-down)) (let ((f30-1 (/ (- f0-0 (-> obj begin-travel-up)) (- (-> obj begin-travel-down) (-> obj begin-travel-up)) ) ) ) (set! s5-0 #f) (set! (-> obj do-falling-sound?) #t) (when (-> obj do-burst?) (sound-play-by-name (static-sound-name "cave-top-rises") (new-sound-id) 1024 0 0 (the-as uint 1) (the-as vector #t) ) (set! (-> obj do-burst?) #f) (spawn (-> obj part) (-> obj down)) (spawn (-> obj part) (-> obj down)) (spawn (-> obj part) (-> obj down)) (spawn (-> obj part) (-> obj down)) ) (if (< f30-1 0.94) (spawn (-> obj part2) (-> obj down)) ) ) ) (else (set! s5-0 #t) (when (-> obj do-falling-sound?) (set! (-> obj do-falling-sound?) #f) (sound-play-by-name (static-sound-name "cave-top-falls") (new-sound-id) 1024 0 0 (the-as uint 1) (the-as vector #t) ) ) ) ) ) (dotimes (s4-3 3) (let ((s2-0 (-> obj control-pt s4-3)) (s3-3 (new 'stack-no-clear 'vector)) ) (set! (-> s3-3 quad) (-> s2-0 trans quad)) (cond (s5-0 (+! (-> s2-0 transv y) (* -819200.0 (-> *display* seconds-per-frame))) (let ((t9-14 vector+!) (a0-17 s3-3) (a1-9 s3-3) (a2-2 (new 'stack-no-clear 'vector)) ) (.lvf vf1 (&-> (-> s2-0 transv) quad)) (let ((f0-15 (-> *display* seconds-per-frame))) (.mov at-0 f0-15) ) (.mov vf2 at-0) (.mov.vf vf1 vf0 :mask #b1000) (.mul.x.vf vf1 vf1 vf2 :mask #b111) (.svf (&-> a2-2 quad) vf1) (t9-14 a0-17 a1-9 a2-2) ) (when (< (-> s3-3 y) (-> obj down y)) (when (-> obj do-landing-sound?) (set! (-> obj do-landing-sound?) #f) (sound-play-by-name (static-sound-name "cave-top-lands") (new-sound-id) 1024 0 0 (the-as uint 1) (the-as vector #t) ) ) (set! (-> s3-3 y) (-> obj down y)) (let ((f0-18 (-> s2-0 transv y))) (if (< f0-18 0.0) (set! (-> s2-0 transv y) (* 0.3 (- f0-18))) ) ) ) ) (else (set! (-> obj do-landing-sound?) #t) (let ((f30-2 (* 0.000048828126 (- (-> obj up y) (-> s2-0 trans y))))) (cond ((< 1.0 f30-2) (set! f30-2 1.0) ) ((< f30-2 -1.0) (set! f30-2 -1.0) ) ) (+! (-> s2-0 transv y) (* 819200.0 (-> *display* seconds-per-frame) f30-2) ) (let ((f0-26 (-> s2-0 transv y))) (when (< 122880.0 (fabs f0-26)) (if (>= f0-26 0.0) (set! (-> s2-0 transv y) 122880.0) (set! (-> s2-0 transv y) -122880.0) ) ) ) (let ((t9-17 vector+!) (a0-20 s3-3) (a1-11 s3-3) (a2-4 (new 'stack-no-clear 'vector)) ) (.lvf vf1 (&-> (-> s2-0 transv) quad)) (let ((f0-29 (-> *display* seconds-per-frame))) (.mov at-1 f0-29) ) (.mov vf2 at-1) (.mov.vf vf1 vf0 :mask #b1000) (.mul.x.vf vf1 vf1 vf2 :mask #b111) (.svf (&-> a2-4 quad) vf1) (t9-17 a0-20 a1-11 a2-4) ) (let ((f0-31 (- (-> obj up y) (-> s3-3 y))) (v1-59 (>= f30-2 0.0)) ) (when (!= v1-59 (>= f0-31 0.0)) (let ((f0-32 (-> s2-0 transv y))) (when (< 40960.0 (fabs f0-32)) (if (>= f0-32 0.0) (set! (-> s2-0 transv y) 40960.0) (set! (-> s2-0 transv y) -40960.0) ) ) ) (set! (-> s2-0 transv y) (* 0.8 (-> s2-0 transv y))) ) ) ) ) ) (set! (-> s2-0 trans quad) (-> s3-3 quad)) ) ) (let ((f0-37 0.0)) (dotimes (v1-68 3) (+! f0-37 (-> obj control-pt v1-68 trans y)) ) (let ((f0-38 (* 0.33333334 f0-37)) (a1-12 (new 'stack-no-clear 'vector)) ) (set! (-> a1-12 quad) (-> obj root-override trans quad)) (set! (-> a1-12 y) f0-38) (TODO-RENAME-30 (-> obj root-override) a1-12) ) ) (let ((s4-4 (new 'stack-no-clear 'vector)) (s3-4 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'vector)) ) (vector-! s4-4 (the-as vector (&-> obj stack 160)) (the-as vector (-> obj control-pt)) ) (vector-! s3-4 (the-as vector (&-> obj stack 192)) (the-as vector (-> obj control-pt)) ) (vector-cross! s5-1 s4-4 s3-4) (vector-normalize! s5-1 1.0) (forward-up-nopitch->quaternion (-> obj root-override quat) (vector-z-quaternion! (new-stack-vector0) (-> obj root-override quat)) s5-1 ) ) (none) ) ) ;; failed to figure out what this is: (defstate cavegeyserrock-idle (cavegeyserrock) :trans (the-as (function none :behavior cavegeyserrock) rider-trans) :code (behavior () (while #t (dummy-20 self) (dummy-21 self) (suspend) ) (none) ) :post (the-as (function none :behavior cavegeyserrock) rider-post) ) ;; definition for method 10 of type cavegeyserrock (defmethod deactivate cavegeyserrock ((obj cavegeyserrock)) (if (nonzero? (-> obj part2)) (kill-and-free-particles (-> obj part2)) ) ((method-of-type process-drawable deactivate) obj) (none) ) ;; definition for function cavecrystal-light-control-cavegeyserrock-callback ;; INFO: Return type mismatch object vs none. ;; Used lq/sq (defun cavecrystal-light-control-cavegeyserrock-callback ((arg0 (pointer process-drawable)) (arg1 int) (arg2 float) (arg3 object) (arg4 vector) ) (let ((s5-0 (new 'stack-no-clear 'vector))) (let ((v1-1 (-> arg0 0 node-list))) (if (and (>= arg1 0) (nonzero? v1-1)) (vector<-cspace! s5-0 (-> v1-1 data arg1)) (set! (-> s5-0 quad) (-> arg0 0 root trans quad)) ) ) (set! (-> s5-0 w) arg2) (let ((f30-0 (TODO-RENAME-10 *cavecrystal-light-control* s5-0))) (let ((a2-2 (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)) (a1-5 (new 'static 'vector :x 0.05 :y 0.05 :z 0.05 :w 1.0)) ) (vector-lerp! (-> arg0 0 draw color-mult) a1-5 a2-2 f30-0) ) (set-fade! *palette-fade-controls* 0 f30-0 0.0 arg4) ) ) (none) ) ;; definition for method 11 of type cavegeyserrock ;; INFO: Return type mismatch object vs none. ;; Used lq/sq (defmethod copy-defaults! cavegeyserrock ((obj cavegeyserrock) (arg0 res-lump)) (local-vars (sv-16 int) (sv-32 int)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) ) ) (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) (set! (-> s4-0 reaction) default-collision-reaction) (set! (-> s4-0 no-reaction) nothing) (alloc-riders s4-0 1) (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0) ) ) ) (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) (set! (-> s3-0 collide-with) (the-as uint 16)) (set! (-> s3-0 prim-core action) (the-as uint 3)) (set! (-> s3-0 prim-core offense) 4) (set! (-> s3-0 transform-index) 0) (set-vector! (-> s3-0 local-sphere) 0.0 -4096.0 0.0 14745.6) ) (dummy-46 s4-0) (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) (dummy-50 s4-0) (set! (-> obj root-override) s4-0) ) (set! (-> obj do-burst?) #f) (set! (-> obj do-falling-sound?) #f) (set! (-> obj do-landing-sound?) #f) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *cavegeyserrock-sg* '()) (logior! (-> obj skel status) 1) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim (-> obj draw art-group data 4)) num-func-identity ) (set! (-> s4-1 frame-num) 0.0) ) (set! (-> obj root-override trans y) (+ 8192.0 (-> obj root-override trans y)) ) (set! sv-16 0) (let ((v1-33 (res-lump-data arg0 'trans-offset pointer :tag-ptr (the-as (pointer res-tag) (& sv-16)) ) ) ) (when v1-33 (+! (-> obj root-override trans x) (-> (the-as (pointer float) v1-33))) (+! (-> obj root-override trans y) (l.f (&+ v1-33 4))) (+! (-> obj root-override trans z) (l.f (&+ v1-33 8))) ) ) (dummy-47 (-> obj root-override)) (load-params! (-> obj sync) obj (the-as uint 360.0) 0.0 0.15 0.15) (let ((f30-0 0.4) (f28-0 0.9) ) (set! sv-32 0) (let ((v1-40 (res-lump-data arg0 'percent pointer :tag-ptr (the-as (pointer res-tag) (& sv-32)) ) ) ) (when v1-40 (set! f30-0 (-> (the-as (pointer float) v1-40))) (set! f28-0 (l.f (&+ v1-40 4))) (if (>= 0.01 f30-0) (set! f30-0 0.01) ) (if (>= 0.01 f28-0) (set! f28-0 0.01) ) (if (>= f30-0 f28-0) (set! f28-0 (+ 0.01 f30-0)) ) (when (>= f30-0 1.0) (set! f28-0 (* 0.9 (/ f28-0 f30-0))) (set! f30-0 0.9) ) ) ) (set! (-> obj begin-travel-up) f30-0) (set! (-> obj begin-travel-down) f28-0) ) (set! (-> obj down quad) (-> obj root-override trans quad)) (set! (-> obj up quad) (-> obj root-override trans quad)) (set! (-> obj up y) (+ 40960.0 (-> obj up y))) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 504) obj) ) (set! (-> obj part2) (create-launch-control (-> *part-group-id-table* 505) obj) ) (vector-reset! (-> obj root-override transv)) (create-connection! *cavecrystal-light-control* (the-as cavecrystal obj) (-> obj entity) (the-as (function object object object object object) cavecrystal-light-control-cavegeyserrock-callback ) -1 8192.0 ) (let ((s5-1 (new 'stack-no-clear 'vector)) (f30-1 0.0) ) (dotimes (s4-2 3) (let ((s3-1 (-> obj control-pt s4-2))) (set-vector! s5-1 0.0 0.0 10240.0 1.0) (vector-rotate-around-y! s5-1 s5-1 f30-1) (set! f30-1 (+ 21845.334 f30-1)) (vector+! (-> s3-1 trans) s5-1 (-> obj root-override trans)) (vector-reset! (-> s3-1 transv)) ) ) ) (go cavegeyserrock-idle) (none) )