mirror of
https://github.com/open-goal/jak-project
synced 2026-06-16 14:50:32 -04:00
e975eab15a
Previously was only applying to game versions above Jak 2, Fixes #3342
1135 lines
34 KiB
Common Lisp
Vendored
Generated
1135 lines
34 KiB
Common Lisp
Vendored
Generated
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-drill-crane-explosion
|
|
:id 453
|
|
:duration (seconds 3)
|
|
:linger-duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 640)
|
|
:parts ((sp-item 1996 :period (seconds 32) :length (seconds 0.085))
|
|
(sp-item 1997 :period (seconds 32) :length (seconds 0.035) :offset 10)
|
|
(sp-item 1998 :period (seconds 32) :length (seconds 0.167) :offset 25)
|
|
(sp-item 1999 :period (seconds 32) :length (seconds 0.117) :offset 10)
|
|
(sp-item 2000 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
(sp-item 2001 :period (seconds 32) :length (seconds 0.017))
|
|
(sp-item 2002 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
(sp-item 2003 :period (seconds 32) :length (seconds 0.017))
|
|
(sp-item 2004 :flags (is-3d) :period (seconds 32) :length (seconds 0.017))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2004
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x2c :page #xc))
|
|
(:num 8.0)
|
|
(:scale-x (meters 16))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g :copy r)
|
|
(:b 128.0)
|
|
(:a 136.0)
|
|
(:scalevel-x (meters 2))
|
|
(:rotvel-y (degrees 0.1))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -1.0625)
|
|
(:fade-g -2.125)
|
|
(:fade-b -2.1333334)
|
|
(:fade-a -3.2)
|
|
(:timer (seconds 1.067))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
|
|
(:next-time (seconds 0.135))
|
|
(:next-launcher 2005)
|
|
(:rotate-y (degrees 0) (degrees 3600))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2005
|
|
:init-specs ((:fade-a -0.06666667))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2001
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(:num 1.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 32))
|
|
(:rot-x (degrees 45))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 96.0)
|
|
(:scalevel-x (meters 0.26666668))
|
|
(:rotvel-z (degrees 0.3))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r 0.0)
|
|
(:fade-g -1.28)
|
|
(:fade-b -5.1)
|
|
(:fade-a 0.0)
|
|
(:timer (seconds 0.217))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 122880.0)
|
|
(:next-time (seconds 0.1))
|
|
(:next-launcher 2006)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2006
|
|
:init-specs ((:scalevel-x (meters -0.22857143))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r 0.0)
|
|
(:fade-g -3.6571429)
|
|
(:fade-b 0.0)
|
|
(:fade-a -2.7428572)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2003
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xca :page #xc))
|
|
(:num 1.0)
|
|
(:scale-x (meters 120))
|
|
(:rot-x (degrees 45))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 24.0)
|
|
(:scalevel-x (meters 0.4))
|
|
(:rotvel-z (degrees 0.3))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r 0.0)
|
|
(:fade-g -4.266667)
|
|
(:fade-b -4.266667)
|
|
(:fade-a 0.0)
|
|
(:timer (seconds 0.5))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow))
|
|
(:userdata 409600.0)
|
|
(:next-time (seconds 0.25))
|
|
(:next-launcher 2007)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2007
|
|
:init-specs ((:scalevel-x (meters 0))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -0.85333335)
|
|
(:fade-g -1.7066667)
|
|
(:fade-b -1.7066667)
|
|
(:fade-a -0.64)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 1999
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x92 :page #xc))
|
|
(:num 16.0)
|
|
(:y (meters 0))
|
|
(:scale-x (meters 2.5))
|
|
(:rot-x 4)
|
|
(:scale-y (meters 0.2) (meters 0.3))
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 64.0 32.0)
|
|
(:omega (degrees 0.0675))
|
|
(:vel-y (meters 0.53333336) (meters 0.33333334))
|
|
(:fade-b -8.0)
|
|
(:accel-y (meters -0.0033333334) (meters -0.0016666667))
|
|
(:friction 0.9 0.08)
|
|
(:timer (seconds 1.5) (seconds 0.997))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.05))
|
|
(:next-launcher 2008)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 90))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2008
|
|
:init-specs ((:r 255.0)
|
|
(:g 255.0)
|
|
(:b 0.0)
|
|
(:fade-r 0.0)
|
|
(:fade-g -2.6133332)
|
|
(:fade-b -1.7066667)
|
|
(:fade-a -0.096 -0.096)
|
|
(:next-time (seconds 0.25))
|
|
(:next-launcher 2009)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2009
|
|
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2002
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x34 :page #xc))
|
|
(:num 5.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 6) (meters 8))
|
|
(:rot-x 4)
|
|
(:rot-z (degrees 0) (degrees 3600) :store)
|
|
(:scale-y (meters 20) (meters 8))
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.1) (meters 0.4))
|
|
(:scalevel-x (meters 0.26666668) (meters 0.13333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r 0.0)
|
|
(:fade-g -0.36)
|
|
(:fade-b -4.24)
|
|
(:fade-a -0.13333334)
|
|
(:friction 0.92 0.02)
|
|
(:timer (seconds 3.335))
|
|
(:flags (sp-cpuinfo-flag-2))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.085))
|
|
(:next-launcher 2010)
|
|
(:conerot-x '*sp-temp*)
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 90))
|
|
(:conerot-radius (meters 0) (meters 2))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2010
|
|
:init-specs ((:scalevel-x (meters 0.016666668) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -0.55)
|
|
(:fade-g -2.95)
|
|
(:fade-b -3.3)
|
|
(:next-time (seconds 0.1) (seconds 0.03))
|
|
(:next-launcher 2011)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2011
|
|
:init-specs ((:scalevel-x (meters 0.008333334) (meters 0.008333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -1.2944444)
|
|
(:fade-g -0.7111111)
|
|
(:fade-b -0.2)
|
|
(:fade-a -0.1 -0.1)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2000
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x33 :page #xc))
|
|
(:birth-func 'birth-func-texture-group)
|
|
(:num 16.0 10.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 6) (meters 4))
|
|
(:rot-z (degrees 0))
|
|
(:scale-y (meters 12.8) (meters 2.4))
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 32.0 32.0)
|
|
(:vel-y (meters 0.06666667) (meters 0.2))
|
|
(:scalevel-x (meters 0.26666668) (meters 0.2))
|
|
(:rotvel-z (degrees -0.3) (degrees 0.6))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r 0.0)
|
|
(:fade-g -0.36)
|
|
(:fade-b -4.24)
|
|
(:fade-a -0.32)
|
|
(:friction 0.94)
|
|
(:timer (seconds 3.335))
|
|
(:flags (sp-cpuinfo-flag-2))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc03300))
|
|
(:next-time (seconds 0.085))
|
|
(:next-launcher 2012)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 90))
|
|
(:conerot-radius (meters 0) (meters 8))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2012
|
|
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:next-time (seconds 0.017) (seconds 0.065)) (:next-launcher 2013))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2013
|
|
:init-specs ((:scalevel-x (meters 0.016666668) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -0.44)
|
|
(:fade-g -2.36)
|
|
(:fade-b -2.64)
|
|
(:next-time (seconds 0.117) (seconds 0.047))
|
|
(:next-launcher 2014)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2014
|
|
:init-specs ((:scalevel-x (meters 0.008333334) (meters 0.008333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -1.2)
|
|
(:fade-g -0.7111111)
|
|
(:fade-b -0.2)
|
|
(:fade-a -0.06545454 -0.06545454)
|
|
(:next-time (seconds 0.5) (seconds 0.097))
|
|
(:next-launcher 2015)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2015
|
|
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:fade-a -0.1125))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 1998
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x32 :page #xc))
|
|
(:num 16.0 4.0)
|
|
(:x (meters 0.25))
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 4) (meters 4))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 255.0)
|
|
(:b 255.0)
|
|
(:a 32.0 48.0)
|
|
(:vel-y (meters 0.13333334) (meters 0.8))
|
|
(:scalevel-x (meters 0.02) (meters 0.02))
|
|
(:rotvel-z (degrees -0.12) (degrees 0.24))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r 0.0)
|
|
(:fade-g -0.18)
|
|
(:fade-b -2.12)
|
|
(:accel-y (meters -0.0013333333) (meters -0.0056666667))
|
|
(:friction 0.84 0.02)
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-2))
|
|
(:next-time (seconds 0.117) (seconds 0.047))
|
|
(:next-launcher 2016)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 90))
|
|
(:conerot-radius (meters 3) (meters 5))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2016
|
|
:init-specs ((:scalevel-x (meters 0.0016666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r 0.0)
|
|
(:fade-g 0.02)
|
|
(:fade-b 0.23555556)
|
|
(:next-time (seconds 0.15) (seconds 0.047))
|
|
(:next-launcher 2017)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2017
|
|
:init-specs ((:fade-r -0.5543478) (:fade-g -0.5543478) (:fade-b -0.5543478) (:fade-a -0.13333334 -0.10666667))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 1996
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 12.0 8.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 16.5) (meters 16))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 70.0 20.0)
|
|
(:g 70.0 20.0)
|
|
(:b 70.0 20.0)
|
|
(:a 0.0 40.0)
|
|
(:vel-y (meters 0.06666667) (meters 0.33333334))
|
|
(:scalevel-x (meters 0.033333335) (meters 0.086666666))
|
|
(:rotvel-z (degrees -0.12) (degrees 0.24))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r 3.3)
|
|
(:fade-g 3.12)
|
|
(:fade-b 1.18)
|
|
(:fade-a 1.76)
|
|
(:friction 0.89)
|
|
(:timer (seconds 2.367))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
|
|
(:next-time (seconds 0.117) (seconds 0.047))
|
|
(:next-launcher 2018)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 90))
|
|
(:conerot-radius (meters 0) (meters 16))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2018
|
|
:init-specs ((:scalevel-x (meters 0.0033333334))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -0.53333336)
|
|
(:fade-g -1.9666667)
|
|
(:fade-b -2.2)
|
|
(:fade-a -0.41666666)
|
|
(:next-time (seconds 0.15) (seconds 0.047))
|
|
(:next-launcher 2019)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2019
|
|
:init-specs ((:scalevel-x (meters 0))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-r -0.38833332)
|
|
(:fade-g -0.21333334)
|
|
(:fade-b -0.028333334)
|
|
(:fade-a -0.38833332)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 1997
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x31 :page #xc))
|
|
(:num 8.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 16) (meters 16))
|
|
(:rot-x 4)
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 1.5) (meters 0.5))
|
|
(:r 128.0 128.0)
|
|
(:g 96.0)
|
|
(:b 64.0)
|
|
(:a 64.0 64.0)
|
|
(:scalevel-x (meters 0.4) (meters 0.4))
|
|
(:fade-g 1.6)
|
|
(:fade-b 3.2)
|
|
(:fade-a -0.9142857)
|
|
(:timer (seconds 0.3))
|
|
(:flags (sp-cpuinfo-flag-2))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-drill-crane-dust-explosion
|
|
:id 454
|
|
:duration (seconds 3)
|
|
:linger-duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 640)
|
|
:parts ((sp-item 2020 :period (seconds 32) :length (seconds 0.085))
|
|
(sp-item 2021 :period (seconds 32) :length (seconds 0.035) :offset 10)
|
|
(sp-item 2022 :period (seconds 32) :length (seconds 0.335) :offset 25)
|
|
(sp-item 2023 :period (seconds 32) :length (seconds 0.117) :offset 10)
|
|
(sp-item 2024 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
(sp-item 2025 :period (seconds 32) :length (seconds 0.167) :offset 15)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2023
|
|
:init-specs ((:texture (new 'static 'texture-id :index #xc9 :page #xc))
|
|
(:num 32.0)
|
|
(:y (meters -3.5) (meters 2))
|
|
(:scale-x (meters 3.5))
|
|
(:rot-x 4)
|
|
(:scale-y (meters 0.3) (meters 0.5))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 64.0 32.0)
|
|
(:omega (degrees 0.0675))
|
|
(:vel-y (meters 0.5) (meters 0.6666667))
|
|
(:accel-y (meters -0.0033333334) (meters -0.0016666667))
|
|
(:friction 0.9 0.08)
|
|
(:timer (seconds 1.5) (seconds 0.997))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.05))
|
|
(:next-launcher 2026)
|
|
(:conerot-x (degrees 0) (degrees 140))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2026
|
|
:init-specs ((:fade-a -0.096 -0.096))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2025
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x34 :page #xc))
|
|
(:num 8.0 5.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 13) (meters 12))
|
|
(:rot-x 4)
|
|
(:rot-z (degrees 0) (degrees 360) :store)
|
|
(:scale-y (meters 18) (meters 14))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.2) (meters 0.5))
|
|
(:scalevel-x (meters 0.06666667) (meters 0.06666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.26666668)
|
|
(:friction 0.92 0.02)
|
|
(:timer (seconds 3.335))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.085))
|
|
(:next-launcher 2027)
|
|
(:conerot-x '*sp-temp*)
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 0) (meters 2))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2027
|
|
:init-specs ((:scalevel-x (meters 0.033333335) (meters 0.033333335))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:next-time (seconds 0.1) (seconds 0.03))
|
|
(:next-launcher 2028)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2028
|
|
:init-specs ((:scalevel-x (meters 0.016666668) (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.225 -0.225)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2024
|
|
:init-specs ((:birth-func 'birth-func-texture-group)
|
|
(:num 8.0 5.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 13) (meters 12))
|
|
(:rot-z (degrees 0) (degrees 3600) :store)
|
|
(:scale-y (meters 18) (meters 14))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 16.0)
|
|
(:vel-y (meters 0.2) (meters 0.5))
|
|
(:scalevel-x (meters 0.06666667) (meters 0.06666667))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a -0.26666668)
|
|
(:friction 0.92 0.02)
|
|
(:timer (seconds 3.335))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc03300))
|
|
(:next-time (seconds 0.085))
|
|
(:next-launcher 2027)
|
|
(:conerot-x '*sp-temp*)
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 0) (meters 2))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2022
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x32 :page #xc))
|
|
(:num 6.0 8.0)
|
|
(:x (meters 0.25))
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 3) (meters 5))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 16.0 48.0)
|
|
(:vel-y (meters 0.33333334) (meters 0.5))
|
|
(:scalevel-x (meters 0.033333335) (meters 0.033333335))
|
|
(:rotvel-z (degrees -0.12) (degrees 0.24))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:accel-y (meters -0.00033333333) (meters -0.0023333333))
|
|
(:friction 0.88 0.02)
|
|
(:timer (seconds 10))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.117) (seconds 0.047))
|
|
(:next-launcher 2029)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
(:conerot-radius (meters 5) (meters 20))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2029
|
|
:init-specs ((:scalevel-x (meters 0.016666668))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:next-time (seconds 0.15) (seconds 0.047))
|
|
(:next-launcher 2030)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2030
|
|
:init-specs ((:scalevel-x (meters 0.006666667)) (:scalevel-y :copy scalevel-x) (:fade-a -0.10666667 -0.10666667))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2020
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 16.0 4.0)
|
|
(:x (meters 0) (meters 0.6))
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 16.5) (meters 20))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y :copy scale-x)
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:vel-y (meters 0.33333334) (meters 0.4))
|
|
(:scalevel-x (meters 0.06666667) (meters 0.06666667))
|
|
(:rotvel-z (degrees -0.12) (degrees 0.24))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.32 0.32)
|
|
(:friction 0.89 0.04)
|
|
(:timer (seconds 8))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.117) (seconds 0.047))
|
|
(:next-launcher 2031)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:rotate-y (degrees 0))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2031
|
|
:init-specs ((:scalevel-x (meters 0.033333335))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.0)
|
|
(:next-time (seconds 2) (seconds 1.997))
|
|
(:next-launcher 2032)
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2032
|
|
:init-specs ((:scalevel-x (meters 0.016666668)) (:scalevel-y :copy scalevel-x) (:fade-a -0.026666667 -0.026666667))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2021
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x31 :page #xc))
|
|
(:num 8.0)
|
|
(:y (meters -2.5))
|
|
(:scale-x (meters 16) (meters 16))
|
|
(:rot-x 4)
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y (meters 1) (meters 0.5))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 64.0 64.0)
|
|
(:scalevel-x (meters 0.26666668) (meters 0.33333334))
|
|
(:fade-a -0.7111111)
|
|
(:timer (seconds 0.3))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-drill-crane-trailer-small
|
|
:id 455
|
|
:bounds (static-bspherem 0 0 0 4)
|
|
:parts ((sp-item 2033))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2033
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.0 1.0)
|
|
(:scale-x (meters 3) (meters 5))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y (meters 3) (meters 5))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:scalevel-x (meters 0.006666667) (meters 0.01))
|
|
(:rotvel-z (degrees -0.3) (degrees 0.6))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 0.8 1.6)
|
|
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
|
|
(:timer (seconds 2.167))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.067))
|
|
(:next-launcher 2034)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:conerot-radius (meters -1.5) (meters 5))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-drill-crane-trailer-medium
|
|
:id 456
|
|
:bounds (static-bspherem 0 0 0 6)
|
|
:parts ((sp-item 2035))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2035
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.0 1.0)
|
|
(:scale-x (meters 6) (meters 6))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y (meters 6) (meters 6))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:scalevel-x (meters 0.006666667) (meters 0.013333334))
|
|
(:rotvel-z (degrees -0.3) (degrees 0.6))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 1.6 1.6)
|
|
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
|
|
(:timer (seconds 2.167))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.067))
|
|
(:next-launcher 2034)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:conerot-radius (meters -1) (meters 4))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2034
|
|
:init-specs ((:fade-a -0.10666667 -0.42666668))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-drill-crane-trailer-large
|
|
:id 457
|
|
:bounds (static-bspherem 0 0 0 12)
|
|
:parts ((sp-item 2036))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2036
|
|
:init-specs ((:texture (new 'static 'texture-id :page #xc))
|
|
(:num 0.0 1.0)
|
|
(:scale-x (meters 12) (meters 12))
|
|
(:rot-z (degrees 0) (degrees 3600))
|
|
(:scale-y (meters 8) (meters 8))
|
|
(:r 64.0 128.0)
|
|
(:g :copy r)
|
|
(:b :copy g)
|
|
(:a 0.0)
|
|
(:scalevel-x (meters 0.01) (meters 0.02))
|
|
(:rotvel-z (degrees -0.3) (degrees 0.6))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-a 1.6 2.4)
|
|
(:accel-y (meters -0.00033333333) (meters -0.00033333333))
|
|
(:timer (seconds 2.167))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-12))
|
|
(:next-time (seconds 0.067))
|
|
(:next-launcher 2034)
|
|
(:conerot-x (degrees 0) (degrees 3600))
|
|
(:conerot-y (degrees 0) (degrees 3600))
|
|
(:conerot-radius (meters -2) (meters 6))
|
|
)
|
|
)
|
|
|
|
;; definition of type drill-wall
|
|
(deftype drill-wall (process-focusable)
|
|
((anim spool-anim)
|
|
(art-name string)
|
|
(egg-group actor-group)
|
|
)
|
|
(:state-methods
|
|
idle
|
|
(hit symbol)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type drill-wall
|
|
(defmethod inspect ((this drill-wall))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(let ((t9-0 (method-of-type process-focusable inspect)))
|
|
(t9-0 this)
|
|
)
|
|
(format #t "~2Tanim: ~A~%" (-> this anim))
|
|
(format #t "~2Tart-name: ~A~%" (-> this art-name))
|
|
(format #t "~2Tegg-group: ~A~%" (-> this egg-group))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defskelgroup skel-drill-wall drill-wall drill-wall-lod0-jg -1
|
|
((drill-wall-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 10)
|
|
:origin-joint-index 4
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defstate idle (drill-wall)
|
|
:virtual #t
|
|
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
|
(local-vars (v1-2 symbol))
|
|
(case message
|
|
(('trigger)
|
|
(let ((v1-1 (-> self egg-group)))
|
|
(when v1-1
|
|
0
|
|
(dotimes (a0-4 (-> v1-1 length))
|
|
(when (not (logtest? (-> v1-1 data a0-4 actor extra perm status) (entity-perm-status subtask-complete)))
|
|
(set! v1-2 #f)
|
|
(goto cfg-10)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! v1-2 #t)
|
|
(label cfg-10)
|
|
(when v1-2
|
|
(logclear! (-> self mask) (process-mask actor-pause))
|
|
(go-virtual hit (the-as symbol (if (>= argc 1)
|
|
(-> block param 0)
|
|
(the-as uint #f)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
:code (behavior ()
|
|
(add-process *gui-control* self (gui-channel art-load) (gui-action queue) (-> self anim name) -99.0 0)
|
|
(until #f
|
|
(transform-post)
|
|
(logior! (-> self mask) (process-mask sleep))
|
|
(suspend)
|
|
)
|
|
#f
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defstate hit (drill-wall)
|
|
:virtual #t
|
|
:exit (behavior ()
|
|
(ja-abort-spooled-anim (-> self anim) (the-as art-joint-anim #f) -1)
|
|
)
|
|
:trans (-> (method-of-type drill-wall idle) trans)
|
|
:post transform-post
|
|
)
|
|
|
|
;; definition for method 11 of type drill-wall
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch object vs none.
|
|
(defmethod init-from-entity! ((this drill-wall) (arg0 entity-actor))
|
|
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
|
This commonly includes things such as:
|
|
- stack size
|
|
- collision information
|
|
- loading the skeleton group / bones
|
|
- sounds"
|
|
(local-vars (sv-16 res-tag))
|
|
(stack-size-set! (-> this main-thread) 512)
|
|
(logior! (-> this mask) (process-mask collectable))
|
|
(let ((s3-0 ((method-of-type res-lump get-property-struct)
|
|
(-> this entity)
|
|
'art-name
|
|
'interp
|
|
-1000000000.0
|
|
"drill-wall-1"
|
|
(the-as (pointer res-tag) #f)
|
|
*res-static-buf*
|
|
)
|
|
)
|
|
(s4-0 (art-group-get-by-name *level* "skel-drill-wall" (the-as (pointer uint32) #f)))
|
|
)
|
|
(set! (-> this art-name) (the-as string s3-0))
|
|
(let ((s2-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player))))
|
|
(set! (-> s2-0 dynam) (copy *standard-dynamics* 'process))
|
|
(set! (-> s2-0 reaction) cshape-reaction-default)
|
|
(set! (-> s2-0 no-reaction)
|
|
(the-as (function collide-shape-moving collide-query vector vector object) nothing)
|
|
)
|
|
(let ((s1-0 (new 'process 'collide-shape-prim-mesh s2-0 (the-as uint 0) (the-as uint 0))))
|
|
(set! (-> s1-0 prim-core collide-as) (collide-spec obstacle pusher))
|
|
(set! (-> s1-0 prim-core collide-with) (collide-spec jak player-list))
|
|
(set! (-> s1-0 prim-core action) (collide-action solid))
|
|
(set! (-> s1-0 transform-index) 4)
|
|
(set-vector! (-> s1-0 local-sphere) 0.0 0.0 0.0 40960.0)
|
|
(set! (-> s2-0 total-prims) (the-as uint 1))
|
|
(set! (-> s2-0 root-prim) s1-0)
|
|
)
|
|
(pusher-init s2-0)
|
|
(set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w)))
|
|
(let ((v1-22 (-> s2-0 root-prim)))
|
|
(set! (-> s2-0 backup-collide-as) (-> v1-22 prim-core collide-as))
|
|
(set! (-> s2-0 backup-collide-with) (-> v1-22 prim-core collide-with))
|
|
)
|
|
(set! (-> this root) s2-0)
|
|
)
|
|
(if (string= (-> this art-name) "drill-wall-1")
|
|
(set! (-> this anim)
|
|
(new 'static 'spool-anim :name "drill-wall-1" :anim-name "1-break" :parts 1 :command-list '())
|
|
)
|
|
(go process-drawable-art-error (the-as string s3-0))
|
|
)
|
|
(process-drawable-from-entity! this arg0)
|
|
(initialize-skeleton this (the-as skeleton-group s4-0) (the-as pair 0))
|
|
)
|
|
(ja-channel-set! 1)
|
|
(let* ((s5-1 (-> this skel root-channel 0))
|
|
(s4-1 (-> this draw art-group))
|
|
(s3-1 (method-of-object s4-1 get-art-by-name-method))
|
|
)
|
|
(format (clear *temp-string*) "~S-idle" (-> this art-name))
|
|
(set! (-> s5-1 frame-group) (the-as art-joint-anim (s3-1 s4-1 *temp-string* (the-as type #f))))
|
|
)
|
|
(set! sv-16 (new 'static 'res-tag))
|
|
(let ((v1-35 (res-lump-data (-> this entity) 'actor-groups (pointer actor-group) :tag-ptr (& sv-16))))
|
|
(cond
|
|
((and v1-35 (nonzero? (-> sv-16 elt-count)))
|
|
(set! (-> this egg-group) (-> v1-35 0))
|
|
)
|
|
(else
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((and (-> this entity) (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)))
|
|
(logclear! (-> this mask) (process-mask actor-pause))
|
|
(go (method-of-object this hit) #t)
|
|
)
|
|
(else
|
|
(go (method-of-object this idle))
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; definition of type drill-crane
|
|
(deftype drill-crane (process-focusable)
|
|
((anim spool-anim)
|
|
(art-name string)
|
|
(egg-group actor-group)
|
|
)
|
|
(:state-methods
|
|
idle
|
|
(hit symbol)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type drill-crane
|
|
(defmethod inspect ((this drill-crane))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(let ((t9-0 (method-of-type process-focusable inspect)))
|
|
(t9-0 this)
|
|
)
|
|
(format #t "~2Tanim: ~A~%" (-> this anim))
|
|
(format #t "~2Tart-name: ~A~%" (-> this art-name))
|
|
(format #t "~2Tegg-group: ~A~%" (-> this egg-group))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defskelgroup skel-drill-crane drill-crane drill-crane-lod0-jg drill-crane-idle-ja
|
|
((drill-crane-lod0-mg (meters 20)) (drill-crane-lod1-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 -20 140)
|
|
:origin-joint-index 8
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defskelgroup skel-drill-crane-a drill-crane drill-crane-a-lod0-jg drill-crane-a-idle-ja
|
|
((drill-crane-a-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 200)
|
|
:origin-joint-index 30
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defskelgroup skel-drill-crane-b drill-crane drill-crane-b-lod0-jg drill-crane-b-idle-ja
|
|
((drill-crane-b-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 240)
|
|
:origin-joint-index 30
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defskelgroup skel-drill-crane-c drill-crane drill-crane-c-lod0-jg drill-crane-c-idle-ja
|
|
((drill-crane-c-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 200)
|
|
:origin-joint-index 30
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defskelgroup skel-drill-crane-d drill-crane drill-crane-d-lod0-jg drill-crane-d-idle-ja
|
|
((drill-crane-d-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 200)
|
|
:origin-joint-index 29
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defstate idle (drill-crane)
|
|
:virtual #t
|
|
:event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
|
|
(local-vars (v1-2 symbol))
|
|
(case message
|
|
(('trigger)
|
|
(let ((v1-1 (-> self egg-group)))
|
|
(when v1-1
|
|
0
|
|
(dotimes (a0-5 (-> v1-1 length))
|
|
(when (not (logtest? (-> v1-1 data a0-5 actor extra perm status) (entity-perm-status subtask-complete)))
|
|
(set! v1-2 #f)
|
|
(goto cfg-10)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! v1-2 #t)
|
|
(label cfg-10)
|
|
(when v1-2
|
|
(logclear! (-> self mask) (process-mask actor-pause))
|
|
(go-virtual hit #f)
|
|
)
|
|
)
|
|
(('die)
|
|
(logclear! (-> self mask) (process-mask actor-pause))
|
|
(go-virtual hit #f)
|
|
)
|
|
)
|
|
)
|
|
:code (behavior ()
|
|
(add-process *gui-control* self (gui-channel art-load) (gui-action queue) (-> self anim name) -99.0 0)
|
|
(until #f
|
|
(transform-post)
|
|
(logior! (-> self mask) (process-mask sleep))
|
|
(suspend)
|
|
)
|
|
#f
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defstate hit (drill-crane)
|
|
:virtual #t
|
|
:exit (behavior ()
|
|
(ja-abort-spooled-anim (-> self anim) (the-as art-joint-anim #f) -1)
|
|
)
|
|
:trans (-> (method-of-type drill-crane idle) trans)
|
|
:post transform-post
|
|
)
|
|
|
|
;; definition for method 11 of type drill-crane
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch object vs none.
|
|
(defmethod init-from-entity! ((this drill-crane) (arg0 entity-actor))
|
|
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
|
This commonly includes things such as:
|
|
- stack size
|
|
- collision information
|
|
- loading the skeleton group / bones
|
|
- sounds"
|
|
(local-vars (sv-16 res-tag) (sv-32 res-tag))
|
|
(stack-size-set! (-> this main-thread) 512)
|
|
(logior! (-> this mask) (process-mask collectable))
|
|
(let ((s3-0 "drill-crane-break")
|
|
(s4-0 (art-group-get-by-name *level* "skel-drill-crane" (the-as (pointer uint32) #f)))
|
|
)
|
|
(set! (-> this art-name) s3-0)
|
|
(let ((s3-1 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player))))
|
|
(set! (-> s3-1 dynam) (copy *standard-dynamics* 'process))
|
|
(set! (-> s3-1 reaction) cshape-reaction-default)
|
|
(set! (-> s3-1 no-reaction)
|
|
(the-as (function collide-shape-moving collide-query vector vector object) nothing)
|
|
)
|
|
(let ((s2-0 (new 'process 'collide-shape-prim-mesh s3-1 (the-as uint 0) (the-as uint 0))))
|
|
(set! (-> s2-0 prim-core collide-as) (collide-spec obstacle pusher))
|
|
(set! (-> s2-0 prim-core collide-with) (collide-spec jak player-list))
|
|
(set! (-> s2-0 prim-core action) (collide-action solid))
|
|
(set! (-> s2-0 transform-index) 9)
|
|
(set-vector! (-> s2-0 local-sphere) 0.0 102400.0 0.0 327680.0)
|
|
(set! (-> s3-1 total-prims) (the-as uint 1))
|
|
(set! (-> s3-1 root-prim) s2-0)
|
|
)
|
|
(pusher-init s3-1)
|
|
(set! (-> s3-1 nav-radius) (* 0.75 (-> s3-1 root-prim local-sphere w)))
|
|
(let ((v1-21 (-> s3-1 root-prim)))
|
|
(set! (-> s3-1 backup-collide-as) (-> v1-21 prim-core collide-as))
|
|
(set! (-> s3-1 backup-collide-with) (-> v1-21 prim-core collide-with))
|
|
)
|
|
(set! (-> this root) s3-1)
|
|
)
|
|
(set! (-> this anim)
|
|
(new 'static 'spool-anim :name "drill-crane-break" :anim-name "break" :parts 3 :command-list '())
|
|
)
|
|
(process-drawable-from-entity! this arg0)
|
|
(initialize-skeleton this (the-as skeleton-group s4-0) (the-as pair 0))
|
|
)
|
|
(set! (-> this draw force-lod) 1)
|
|
(let ((s4-1 (-> this root)))
|
|
(set! sv-16 (new 'static 'res-tag))
|
|
(let ((v1-28 (res-lump-data arg0 'scale-mult (pointer float) :tag-ptr (& sv-16))))
|
|
(when v1-28
|
|
(set! (-> s4-1 scale x) (* (-> s4-1 scale x) (-> v1-28 0)))
|
|
(set! (-> s4-1 scale y) (* (-> s4-1 scale y) (-> v1-28 1)))
|
|
(set! (-> s4-1 scale z) (* (-> s4-1 scale z) (-> v1-28 2)))
|
|
)
|
|
)
|
|
)
|
|
(set! sv-32 (new 'static 'res-tag))
|
|
(let ((v1-30 (res-lump-data (-> this entity) 'actor-groups pointer :tag-ptr (& sv-32))))
|
|
(cond
|
|
((and v1-30 (nonzero? (-> sv-32 elt-count)))
|
|
(set! (-> this egg-group) (the-as actor-group (-> (the-as (pointer uint32) v1-30))))
|
|
)
|
|
(else
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((or (and (-> this entity) (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)))
|
|
(task-node-closed? (game-task-node drill-eggs-resolution))
|
|
)
|
|
(logclear! (-> this mask) (process-mask actor-pause))
|
|
(go (method-of-object this hit) #t)
|
|
)
|
|
(else
|
|
(go (method-of-object this idle))
|
|
)
|
|
)
|
|
(none)
|
|
)
|