mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
dd0a8a17b2
- started documenting the files I glossed over, some are totally done, others are just partially done - I changed the decompiler to automatically initialize the art-group-info from the json file. This makes updating gsrc, even a single file at a time, have consistent naming - Though I disabled this functionality for jak 1, as I have no idea if using the ntsc art groups will cause a regression for different versions - fix indentation for docstrings -- it still doesn't look great, but this is now a formatting concern, rather than the docstring having a bunch of happen-stance leading whitespace.
1571 lines
50 KiB
Common Lisp
1571 lines
50 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: hiphog-part.gc
|
|
;; name in dgo: hiphog-part
|
|
;; dgos: HIPHOG
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype hiphog-part (part-spawner)
|
|
()
|
|
:heap-base #x30
|
|
:method-count-assert 16
|
|
:size-assert #xb0
|
|
:flag-assert #x10003000b0
|
|
)
|
|
|
|
|
|
(defpartgroup group-hiphog-red-light
|
|
:id 741
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 1)
|
|
:parts ((sp-item 3283 :flags (bit6 bit7)))
|
|
)
|
|
|
|
(defpart 3283
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 64.0 64.0 1.0)
|
|
(sp-flt spt-b 0.0)
|
|
(sp-flt spt-a 32.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 819.2)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-ceiling-light
|
|
:id 742
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 1)
|
|
:parts ((sp-item 3284 :flags (bit6 bit7)) (sp-item 3285 :flags (bit6 bit7)) (sp-item 3286 :flags (bit6 bit7)))
|
|
)
|
|
|
|
(defpart 3284
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 1.1))
|
|
(sp-flt spt-scale-x (meters 2))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 128.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 819.2)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3285
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-scale-x (meters 2))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees 127.0))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 128.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 819.2)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3286
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters -1.1))
|
|
(sp-flt spt-scale-x (meters 2))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees 225.99998))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 128.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 819.2)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-booth-ceiling-light
|
|
:id 743
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 1)
|
|
:parts ((sp-item 3287 :flags (bit6 bit7)))
|
|
)
|
|
|
|
(defpart 3287
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-scale-x (meters 1))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees -209.0))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 20.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 1638.4)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-booth-wall-light
|
|
:id 744
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 1)
|
|
:parts ((sp-item 3288 :flags (bit6 bit7)) (sp-item 3289 :flags (bit6 bit7)))
|
|
)
|
|
|
|
(defpart 3288
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters -0.3))
|
|
(sp-flt spt-scale-x (meters 1))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees -209.0))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 1228.8)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3289
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0.3))
|
|
(sp-flt spt-scale-x (meters 1))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees -127.0))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 1228.8)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-bar-light
|
|
:id 745
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 1)
|
|
:parts ((sp-item 3290 :flags (bit6 bit7)) (sp-item 3291 :flags (bit6 bit7)) (sp-item 3292 :flags (bit6 bit7)))
|
|
)
|
|
|
|
(defpart 3290
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0.8))
|
|
(sp-flt spt-y (meters 0.05))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 40.96)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 409.6)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3291
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0.05))
|
|
(sp-flt spt-scale-x (meters 2))
|
|
(sp-flt spt-rot-x 40.96)
|
|
(sp-flt spt-rot-z (degrees 127.0))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 409.6)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3292
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -0.8))
|
|
(sp-flt spt-y (meters 0.05))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 40.96)
|
|
(sp-flt spt-rot-z (degrees 225.99998))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 409.6)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-booth-table-light
|
|
:id 746
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 1)
|
|
:parts ((sp-item 3293 :flags (bit6 bit7)) (sp-item 3294 :flags (bit6 bit7)) (sp-item 3295 :flags (bit6 bit7)))
|
|
)
|
|
|
|
(defpart 3293
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0.8))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 2048.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3294
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-scale-x (meters 2))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees 127.0))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 2048.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3295
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -0.8))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees 225.99998))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 2048.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-floor-light
|
|
:id 747
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 1)
|
|
:parts ((sp-item 3296 :flags (bit6 bit7)) (sp-item 3297 :flags (bit6 bit7)) (sp-item 3298 :flags (bit6 bit7)))
|
|
)
|
|
|
|
(defpart 3296
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-z (meters 0.6))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 12.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 819.2)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3297
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees 127.0))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 12.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 819.2)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 3298
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-z (meters -0.6))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 163.84)
|
|
(sp-flt spt-rot-z (degrees 225.99998))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-rnd-flt spt-g 192.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 12.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 819.2)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-neon-hiphog
|
|
:id 748
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 34 :flags (is-3d bit6) :period 600 :length 300)
|
|
(sp-item 33 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
|
|
(sp-item 36 :flags (is-3d bit6) :period 600 :length 300)
|
|
(sp-item 35 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
|
|
(sp-item 3299 :flags (bit6) :period 600 :length 5 :offset 300)
|
|
)
|
|
)
|
|
|
|
(defpart 3299
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x40 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-sound (static-sound-spec "neon-zap-3" :volume 70.0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters -8.25))
|
|
(sp-flt spt-scale-x (meters 0))
|
|
(sp-flt spt-scale-y (meters 0))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
)
|
|
)
|
|
|
|
(defpart 36
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3f :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters -8.25))
|
|
(sp-flt spt-scale-x (meters 6))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 3))
|
|
(sp-flt spt-r 116.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 35
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x40 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-sound (static-sound-spec "neon-zap-1" :num 0.3 :volume 50.0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters -8.25))
|
|
(sp-flt spt-scale-x (meters 6))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 3))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 34
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3f :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.25))
|
|
(sp-flt spt-scale-x (meters 6))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 3))
|
|
(sp-flt spt-r 116.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 33
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x40 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.25))
|
|
(sp-flt spt-scale-x (meters 6))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 3))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-neon-hiphog-daxter
|
|
:id 749
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 3300 :flags (is-3d bit6) :period 600 :length 300)
|
|
(sp-item 3301 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
|
|
(sp-item 3302 :flags (is-3d bit6) :period 600 :length 300)
|
|
(sp-item 3303 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
|
|
(sp-item 3299 :flags (bit6) :period 600 :length 5 :offset 300)
|
|
)
|
|
)
|
|
|
|
(defpart 3302
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x64 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters -8.25))
|
|
(sp-flt spt-scale-x (meters 6))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 3))
|
|
(sp-flt spt-r 116.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3303
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x65 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-sound (static-sound-spec "neon-zap-1" :num 0.3 :volume 50.0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters -8.25))
|
|
(sp-flt spt-scale-x (meters 6))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 3))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3300
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x64 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.25))
|
|
(sp-flt spt-scale-x (meters 6))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 3))
|
|
(sp-flt spt-r 116.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3301
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x65 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.25))
|
|
(sp-flt spt-scale-x (meters 6))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 3))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-neon-morgan
|
|
:id 750
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 25 :flags (is-3d bit6) :period 800 :length 100)
|
|
(sp-item 19 :flags (is-3d bit6) :period 800 :length 300 :offset 100)
|
|
(sp-item 25 :flags (is-3d bit6) :period 800 :length 100 :offset 400)
|
|
(sp-item 19 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 26 :flags (is-3d bit6) :period 800 :length 150)
|
|
(sp-item 20 :flags (is-3d bit6) :period 800 :length 250 :offset 150)
|
|
(sp-item 26 :flags (is-3d bit6) :period 800 :length 100 :offset 400)
|
|
(sp-item 20 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 27 :flags (is-3d bit6) :period 800 :length 200)
|
|
(sp-item 21 :flags (is-3d bit6) :period 800 :length 200 :offset 200)
|
|
(sp-item 27 :flags (is-3d bit6) :period 800 :length 100 :offset 400)
|
|
(sp-item 21 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 28 :flags (is-3d bit6) :period 800 :length 250)
|
|
(sp-item 22 :flags (is-3d bit6) :period 800 :length 150 :offset 250)
|
|
(sp-item 28 :flags (is-3d bit6) :period 800 :length 100 :offset 400)
|
|
(sp-item 22 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 29 :flags (is-3d bit6) :period 800 :length 300)
|
|
(sp-item 23 :flags (is-3d bit6) :period 800 :length 100 :offset 300)
|
|
(sp-item 29 :flags (is-3d bit6) :period 800 :length 100 :offset 400)
|
|
(sp-item 23 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 30 :flags (is-3d bit6) :period 800 :length 350)
|
|
(sp-item 24 :flags (is-3d bit6) :period 800 :length 50 :offset 350)
|
|
(sp-item 30 :flags (is-3d bit6) :period 800 :length 100 :offset 400)
|
|
(sp-item 24 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 3299 :period 800 :length 5 :offset 100)
|
|
(sp-item 3299 :period 800 :length 5 :offset 150)
|
|
(sp-item 3299 :period 800 :length 5 :offset 200)
|
|
(sp-item 3299 :period 800 :length 5 :offset 250)
|
|
(sp-item 3299 :period 800 :length 5 :offset 300)
|
|
(sp-item 3299 :period 800 :length 5 :offset 350)
|
|
(sp-item 3299 :period 800 :length 5 :offset 500)
|
|
)
|
|
)
|
|
|
|
(defpart 25
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 3))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 116.0 16.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 19
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x37 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-sound (static-sound-spec "neon-zap-1" :num 0.3 :volume 50.0))
|
|
(sp-flt spt-x (meters 3))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 26
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3c :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 2))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 116.0 16.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 20
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3d :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 2))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 27
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x41 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 1))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 116.0 16.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 21
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x42 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 1))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 28
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0.05))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 116.0 16.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 22
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2e :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0.05))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 29
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -1.05))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 116.0 16.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 23
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -1.05))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 30
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x39 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -2))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 116.0 16.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 24
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3a :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -2))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-neon-morgan-small
|
|
:id 751
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 3304 :flags (is-3d bit6) :period 800 :length 300 :offset 100)
|
|
(sp-item 3304 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 3305 :flags (is-3d bit6) :period 800 :length 250 :offset 150)
|
|
(sp-item 3305 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 3306 :flags (is-3d bit6) :period 800 :length 200 :offset 200)
|
|
(sp-item 3306 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 3307 :flags (is-3d bit6) :period 800 :length 150 :offset 250)
|
|
(sp-item 3307 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 3308 :flags (is-3d bit6) :period 800 :length 100 :offset 300)
|
|
(sp-item 3308 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
(sp-item 3309 :flags (is-3d bit6) :period 800 :length 50 :offset 350)
|
|
(sp-item 3309 :flags (is-3d bit6) :period 800 :length 300 :offset 500)
|
|
)
|
|
)
|
|
|
|
(defpart 3304
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x38 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 3))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3305
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3e :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 2))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3306
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x43 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 1))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3307
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2f :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0.05))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3308
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -1.05))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3309
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3b :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -2))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1.5))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 1.5))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-neon-hip-daxter :id 752 :bounds (static-bspherem 0 0 0 8) :parts ((sp-item 209)))
|
|
|
|
(defpartgroup group-hiphog-neon-hip
|
|
:id 753
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 32 :flags (is-3d bit6) :period 600 :length 300)
|
|
(sp-item 31 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
|
|
(sp-item 3310 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
|
|
(sp-item 3311 :flags (is-3d bit6) :period 600 :length 300)
|
|
(sp-item 3299 :flags (bit6) :period 300 :length 5 :offset 300)
|
|
)
|
|
)
|
|
|
|
(defpart 3311
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.5))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 48.0 16.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 31
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-sound (static-sound-spec "neon-zap-1" :num 0.2 :volume 39.941406))
|
|
(sp-flt spt-x (meters 0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.5))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3310
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.5))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 48.0 16.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 32
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x34 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-sound (static-sound-spec "neon-zap-1" :num 0.1 :volume 39.941406))
|
|
(sp-flt spt-x (meters 0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.5))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-neon-hip-small
|
|
:id 754
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 3312 :flags (is-3d bit6) :period 600 :length 300)
|
|
(sp-item 3313 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
|
|
)
|
|
)
|
|
|
|
(defpart 3313
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.5))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3312
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0))
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0.5))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-neon-clock
|
|
:id 755
|
|
:bounds (static-bspherem 0 0 0 4)
|
|
:parts ((sp-item 3314 :flags (is-3d))
|
|
(sp-item 3315 :flags (is-3d))
|
|
(sp-item 37 :flags (is-3d) :hour-mask #b111111000000000000111111)
|
|
(sp-item 38 :flags (is-3d) :hour-mask #b111111111111000000)
|
|
)
|
|
)
|
|
|
|
(defun birth-func-rotate-minute ((arg0 sparticle-system)
|
|
(arg1 sparticle-cpuinfo)
|
|
(arg2 sprite-vec-data-3d)
|
|
(arg3 sparticle-launcher)
|
|
(arg4 sparticle-launch-state)
|
|
)
|
|
"Determines the position of the minute hand of the hiphog's clock associated with [[time-of-day-proc]]
|
|
TODO - check args
|
|
Every real second is 1 minute in Jak's time of day"
|
|
(local-vars (v1-4 float) (v1-5 float))
|
|
(rlet ((vf0 :class vf)
|
|
(vf1 :class vf)
|
|
(vf2 :class vf)
|
|
)
|
|
(init-vf0-vector)
|
|
(let ((quat (new 'stack-no-clear 'quaternion)))
|
|
(let ((temp-vec (new 'stack-no-clear 'vector)))
|
|
(let* ((tod *time-of-day*)
|
|
(curr-minutes (the float (if tod
|
|
(-> tod 0 minutes)
|
|
0
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set-vector! temp-vec (+ 16384.0 (* 1092.2667 curr-minutes)) 55238.84 49152.0 1.0)
|
|
)
|
|
(quaternion-zxy! quat temp-vec)
|
|
)
|
|
(cond
|
|
((< (-> quat w) 0.0)
|
|
(.lvf vf1 (&-> arg2 qx-qy-qz-sy quad))
|
|
(.lvf vf2 (&-> quat quad))
|
|
(.sub.vf vf1 vf0 vf2 :mask #b111)
|
|
(.svf (&-> arg2 qx-qy-qz-sy quad) vf1)
|
|
(.mov v1-4 vf1)
|
|
)
|
|
(else
|
|
(.lvf vf1 (&-> arg2 qx-qy-qz-sy quad))
|
|
(.lvf vf2 (&-> quat quad))
|
|
(.add.vf vf1 vf0 vf2 :mask #b111)
|
|
(.svf (&-> arg2 qx-qy-qz-sy quad) vf1)
|
|
(.mov v1-5 vf1)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
)
|
|
|
|
(defun birth-func-rotate-hour ((arg0 sparticle-system)
|
|
(arg1 sparticle-cpuinfo)
|
|
(arg2 sprite-vec-data-3d)
|
|
(arg3 sparticle-launcher)
|
|
(arg4 sparticle-launch-state)
|
|
)
|
|
"Determines the position of the hour hand of the hiphog's clock associated with [[time-of-day-proc]]
|
|
TODO - check args
|
|
Every real minute is 1 hour in Jak's time of day"
|
|
(local-vars (v1-4 float) (v1-5 float))
|
|
(rlet ((vf0 :class vf)
|
|
(vf1 :class vf)
|
|
(vf2 :class vf)
|
|
)
|
|
(init-vf0-vector)
|
|
(let ((quat (new 'stack-no-clear 'quaternion)))
|
|
(let ((temp-vec (new 'stack-no-clear 'vector)))
|
|
(let* ((tod *time-of-day*)
|
|
(curr-hours (the float (if tod
|
|
(-> tod 0 hours)
|
|
0
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set-vector! temp-vec (+ 16384.0 (* 5461.3335 curr-hours)) 55238.84 49152.0 1.0)
|
|
)
|
|
(quaternion-zxy! quat temp-vec)
|
|
)
|
|
(cond
|
|
((< (-> quat w) 0.0)
|
|
(.lvf vf1 (&-> arg2 qx-qy-qz-sy quad))
|
|
(.lvf vf2 (&-> quat quad))
|
|
(.sub.vf vf1 vf0 vf2 :mask #b111)
|
|
(.svf (&-> arg2 qx-qy-qz-sy quad) vf1)
|
|
(.mov v1-4 vf1)
|
|
)
|
|
(else
|
|
(.lvf vf1 (&-> arg2 qx-qy-qz-sy quad))
|
|
(.lvf vf2 (&-> quat quad))
|
|
(.add.vf vf1 vf0 vf2 :mask #b111)
|
|
(.svf (&-> arg2 qx-qy-qz-sy quad) vf1)
|
|
(.mov v1-5 vf1)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
)
|
|
|
|
(defun birth-func-rotate-second ((arg0 sparticle-system)
|
|
(arg1 sparticle-cpuinfo)
|
|
(arg2 sprite-vec-data-3d)
|
|
(arg3 sparticle-launcher)
|
|
(arg4 sparticle-launch-state)
|
|
)
|
|
"Determines the position of the second hand of the hiphog's clock associated with [[time-of-day-proc]]
|
|
TODO - check args
|
|
The clock actually only has 2 hands, this one does not appear to have been used?
|
|
Every real second is 1/60th of a second in Jak's time of day"
|
|
(local-vars (v1-4 float) (v1-5 float))
|
|
(rlet ((vf0 :class vf)
|
|
(vf1 :class vf)
|
|
(vf2 :class vf)
|
|
)
|
|
(init-vf0-vector)
|
|
(let ((quat (new 'stack-no-clear 'quaternion)))
|
|
(let ((temp-vec (new 'stack-no-clear 'vector)))
|
|
(let* ((tod *time-of-day*)
|
|
(curr-seconds (the float (if tod
|
|
(-> tod 0 seconds)
|
|
0
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set-vector! temp-vec (+ 16384.0 (* 1092.2667 curr-seconds)) 55238.84 49152.0 1.0)
|
|
)
|
|
(quaternion-zxy! quat temp-vec)
|
|
)
|
|
(cond
|
|
((< (-> quat w) 0.0)
|
|
(.lvf vf1 (&-> arg2 qx-qy-qz-sy quad))
|
|
(.lvf vf2 (&-> quat quad))
|
|
(.sub.vf vf1 vf0 vf2 :mask #b111)
|
|
(.svf (&-> arg2 qx-qy-qz-sy quad) vf1)
|
|
(.mov v1-4 vf1)
|
|
)
|
|
(else
|
|
(.lvf vf1 (&-> arg2 qx-qy-qz-sy quad))
|
|
(.lvf vf2 (&-> quat quad))
|
|
(.add.vf vf1 vf0 vf2 :mask #b111)
|
|
(.svf (&-> arg2 qx-qy-qz-sy quad) vf1)
|
|
(.mov v1-5 vf1)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
)
|
|
|
|
(defpart 3315
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x3e6))
|
|
(sp-func spt-birth-func 'birth-func-rotate-minute)
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 270.0))
|
|
(sp-flt spt-rot-z (degrees 270.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 left-multiply-quat)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3314
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x3e6))
|
|
(sp-func spt-birth-func 'birth-func-rotate-hour)
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 270.0))
|
|
(sp-flt spt-rot-z (degrees 270.0))
|
|
(sp-flt spt-scale-y (meters 2.5))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 37
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2b :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 38
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 128.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-neon-clock-small
|
|
:id 756
|
|
:bounds (static-bspherem 0 0 0 8)
|
|
:parts ((sp-item 3316 :flags (is-3d bit6))
|
|
(sp-item 3317 :flags (is-3d bit6))
|
|
(sp-item 3318 :flags (is-3d bit6) :hour-mask #b111110000000000001111111)
|
|
(sp-item 3319 :flags (is-3d bit6) :hour-mask #b111111111110000000)
|
|
)
|
|
)
|
|
|
|
(defpart 3317
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x28 :page #x3e6))
|
|
(sp-func spt-birth-func 'birth-func-rotate-minute)
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 270.0))
|
|
(sp-flt spt-rot-z (degrees 270.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 left-multiply-quat)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3316
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x28 :page #x3e6))
|
|
(sp-func spt-birth-func 'birth-func-rotate-hour)
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 1))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 270.0))
|
|
(sp-flt spt-rot-z (degrees 270.0))
|
|
(sp-flt spt-scale-y (meters 2.5))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3318
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpart 3319
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-y (meters 0))
|
|
(sp-flt spt-z (meters 0))
|
|
(sp-flt spt-scale-x (meters 4))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 180.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 4))
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-hiphog-mirror
|
|
:id 757
|
|
:bounds (static-bspherem 0 0 0 16)
|
|
:parts ((sp-item 3320 :flags (is-3d bit6)))
|
|
)
|
|
|
|
(deftype hiphog-mirror-wf-pt (structure)
|
|
"@unused seemingly not used, but probably stood for hiphog-mirror-waveform-point"
|
|
((x float :offset-assert 0)
|
|
(y float :offset-assert 4)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x8
|
|
:flag-assert #x900000008
|
|
)
|
|
|
|
|
|
(define *hiphog-mirror-sheen-waveform*
|
|
"A collection of [[ripple-wave]]'s used to apply the effect to the hiphog's mirror"
|
|
(new 'static 'inline-array ripple-wave 6
|
|
(new 'static 'ripple-wave :xmul 0.0625 :zmul 0.5)
|
|
(new 'static 'ripple-wave :offs 0.125 :zmul 0.375 :delta 0.9)
|
|
(new 'static 'ripple-wave :xdiv -13107 :zdiv #x3ecc :delta 0.5)
|
|
(new 'static 'ripple-wave :scale 1.0 :speed 0.52)
|
|
(new 'static 'ripple-wave :scale 0.5625 :offs 0.5 :xmul 0.625)
|
|
(new 'static 'ripple-wave :offs 0.875 :zdiv #x3f80 :zmul 1.0)
|
|
)
|
|
)
|
|
|
|
(defun hiphog-mirror-sheen-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
|
"Handles the effect on the hiphogs mirror, which involves using [[*hiphog-mirror-sheen-waveform*]]
|
|
TODO on args and some more documentation"
|
|
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
|
(set-vector! s5-0 -1515.52 0.0 -95436.8 1.0)
|
|
(vector-! s5-0 (camera-pos) s5-0)
|
|
(set! (-> s5-0 y) 0.0)
|
|
(vector-normalize! s5-0 1.0)
|
|
(let* ((f0-8 (+ 32768.0 (atan (-> s5-0 x) (-> s5-0 z))))
|
|
(f0-9 (lerp-scale 0.0 1.0 f0-8 19478.756 45875.2))
|
|
(curr-ripple-wave (the-as object (-> *hiphog-mirror-sheen-waveform* 0)))
|
|
(prev-ripple-wave (the-as ripple-wave curr-ripple-wave))
|
|
)
|
|
(while (< (-> (the-as ripple-wave curr-ripple-wave) scale) f0-9)
|
|
(set! prev-ripple-wave (the-as ripple-wave curr-ripple-wave))
|
|
(set! curr-ripple-wave (&-> (the-as (inline-array ripple-wave) curr-ripple-wave) 0 xmul))
|
|
)
|
|
(let ((f0-12 (lerp 0.9 1.0 (lerp
|
|
(-> prev-ripple-wave offs)
|
|
(-> (the-as ripple-wave curr-ripple-wave) offs)
|
|
(/ (- f0-9 (-> prev-ripple-wave scale))
|
|
(- (-> (the-as ripple-wave curr-ripple-wave) scale) (-> prev-ripple-wave scale))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg2 vector 2 w) (* 128.0 f0-12 f0-12 f0-12))
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defpart 3320
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x44 :page #x3e6))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0.2))
|
|
(sp-flt spt-y (meters -0.2))
|
|
(sp-flt spt-z (meters -0.99))
|
|
(sp-flt spt-scale-x (meters 17))
|
|
(sp-flt spt-rot-x 16384.0)
|
|
(sp-flt spt-rot-y (degrees 0.0))
|
|
(sp-flt spt-rot-z (degrees 0.0))
|
|
(sp-flt spt-scale-y (meters 8.4))
|
|
(sp-flt spt-r 64.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 96.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 left-multiply-quat)
|
|
(sp-func spt-func 'hiphog-mirror-sheen-func)
|
|
(sp-flt spt-rotate-y (degrees 33.436))
|
|
)
|
|
)
|