d/jak2: decomp a bunch of files related to the beginning of the game (#2043)

Mostly easy / particle def files. I did a bit in `ruins` but CFG
failures and missing `drawable` functions make it untestable for now so
I've put that on pause.
This commit is contained in:
Tyler Wilding
2022-12-01 21:26:49 -05:00
committed by GitHub
parent 70e231fa72
commit 728b2689b6
37 changed files with 24690 additions and 554 deletions
+54 -84
View File
@@ -33735,15 +33735,15 @@
(away-from-rand-transv-xz-hi float :offset 68)
(away-from-rand-transv-y-lo float :offset 72)
(away-from-rand-transv-y-hi float :offset 76)
(hit-xz-reaction float :offset 80)
(hit-y-reaction float :offset 84)
(hit-xz-reaction float :offset-assert 80)
(hit-y-reaction float :offset-assert 84)
)
(:methods
(new (symbol type uint) _type_ 0)
)
:method-count-assert 9
:size-assert #x58
:flag-assert #x900000058
(:methods
(new (symbol type uint) _type_ 0)
)
)
(deftype joint-exploder-static-joint-params (structure)
@@ -33789,13 +33789,15 @@
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
(:methods
(new (symbol type joint-exploder-static-params) _type_ 0))
)
(deftype joint-exploder-list (structure)
((head int32 :offset-assert 0)
(pre-moved? symbol :offset-assert 4) ;; guessed by decompiler
(bbox-valid? symbol :offset-assert 8) ;; guessed by decompiler
(probeless? basic :offset-assert 12)
(probeless? symbol :offset-assert 12)
(bbox bounding-box :inline :offset-assert 16)
)
:method-count-assert 9
@@ -36132,23 +36134,19 @@
;; hideout-part ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype hide-part (UNKNOWN)
(deftype hide-part (part-spawner)
()
:method-count-assert 0
:size-assert #x0
:flag-assert #x0
;; Failed to read fields.
:method-count-assert 16
:size-assert #xb0
:flag-assert #x10003000b0
)
|#
;; (define-extern check-drop-level-hide-fireplace-sparks function)
(define-extern check-drop-level-hide-fireplace-sparks (function sparticle-system sparticle-cpuinfo vector none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; hideout-obs ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype hide-door-b (com-airlock)
()
:method-count-assert 28
@@ -36157,9 +36155,7 @@
(:methods
)
)
|#
#|
(deftype hide-light (process-drawable)
()
:method-count-assert 21
@@ -36169,41 +36165,34 @@
(idle () _type_ :state 20)
)
)
|#
;; (define-extern hide-light-spawn function)
(define-extern hide-light-spawn (function hide-light vector cspace none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ctyslumb-part ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype ctyslumb-part (UNKNOWN)
(deftype ctyslumb-part (part-spawner)
()
:method-count-assert 0
:size-assert #x0
:flag-assert #x0
;; Failed to read fields.
:method-count-assert 16
:size-assert #xb0
:flag-assert #x10003000b0
)
|#
;; (define-extern check-drop-level-ctyslumb-drop-userdata function)
(define-extern check-drop-level-ctyslumb-drop-userdata (function sparticle-system sparticle-cpuinfo vector none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; kiosk-part ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype kiosk-part (UNKNOWN)
(deftype kiosk-part (part-spawner)
()
:method-count-assert 0
:size-assert #x0
:flag-assert #x0
;; Failed to read fields.
:method-count-assert 16
:size-assert #xb0
:flag-assert #x10003000b0
)
|#
;; (define-extern check-drop-level-kiosk-fire-sparks function)
(define-extern check-drop-level-kiosk-fire-sparks (function sparticle-system sparticle-cpuinfo vector none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; dig-digger ;;
@@ -36940,9 +36929,8 @@
;; target-turret-shot ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype turret-shot (guard-shot)
((hit-pos vector :inline :offset-assert 492)
((hit-pos vector :inline :offset-assert 496)
)
:method-count-assert 40
:size-assert #x200
@@ -36950,7 +36938,6 @@
(:methods
)
)
|#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -44418,15 +44405,14 @@
;; mech ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype mech (process-drawable)
((extra-trans vector :inline :offset-assert 204)
(condition int32 :offset-assert 220)
(shadow-backup basic :offset-assert 224)
(rider uint64 :offset-assert 228)
(shield-value float :offset-assert 236)
(nav-sphere-handle uint64 :offset-assert 244)
(probe-time time-frame :offset-assert 252)
((extra-trans vector :inline :offset-assert 208)
(condition int32 :offset-assert 224)
(shadow-backup basic :offset-assert 228)
(rider uint64 :offset-assert 232)
(shield-value float :offset-assert 240)
(nav-sphere-handle uint64 :offset-assert 248)
(probe-time time-frame :offset-assert 256)
)
:method-count-assert 25
:size-assert #x108
@@ -44439,7 +44425,6 @@
(mech-method-24 () none 24)
)
)
|#
#|
(deftype mech-target (process-drawable)
@@ -44455,7 +44440,7 @@
|#
;; (define-extern *kernel-packages* object) ;; pair
;; (define-extern mech-init function)
(define-extern mech-init (function none))
;; (define-extern mech-target-init function)
;; (define-extern mech-target-spawn function)
@@ -51839,19 +51824,18 @@
;; ruins-ocean ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; (define-extern *ocean-spheres-ruins* object)
;; (define-extern *ocean-colors-ruins* object)
;; (define-extern *ocean-near-indices-ruins* ocean-near-indices)
;; (define-extern *ocean-trans-indices-ruins* ocean-trans-indices)
;; (define-extern *ocean-mid-indices-ruins* ocean-mid-indices)
;; (define-extern *ocean-mid-masks-ruins* ocean-mid-masks)
;; (define-extern *ocean-map-ruins* object)
(define-extern *ocean-spheres-ruins* ocean-spheres)
(define-extern *ocean-colors-ruins* ocean-colors)
(define-extern *ocean-near-indices-ruins* ocean-near-indices)
(define-extern *ocean-trans-indices-ruins* ocean-trans-indices)
(define-extern *ocean-mid-indices-ruins* ocean-mid-indices)
(define-extern *ocean-mid-masks-ruins* ocean-mid-masks)
(define-extern *ocean-map-ruins* ocean-map)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ruins-scenes ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype flag (process-drawable)
()
:method-count-assert 21
@@ -51861,11 +51845,9 @@
(idle () _type_ :state 20)
)
)
|#
#|
(deftype ruins-precipice (process-drawable)
((play? basic :offset-assert 196)
((play? symbol :offset-assert 200)
)
:method-count-assert 21
:size-assert #xcc
@@ -51874,9 +51856,8 @@
(idle () _type_ :state 20)
)
)
|#
;; (define-extern ruins-slide-sparks function)
(define-extern ruins-slide-sparks (function object vector none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; mechtest-obs ;;
@@ -51932,21 +51913,18 @@
;; ruins-part ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype ruins-part (UNKNOWN)
(deftype ruins-part (part-spawner)
()
:method-count-assert 0
:size-assert #x0
:flag-assert #x0
;; Failed to read fields.
:method-count-assert 16
:size-assert #xb0
:flag-assert #x10003000b0
)
|#
;; (define-extern check-drop-level-ruins-rubble function)
;; (define-extern ruins-bird-bob-func function)
;; (define-extern sparticle-ruins-bird-moon function)
;; (define-extern check-drop-level-ruins-tower-userdata-nosplat function)
;; (define-extern check-drop-level-ruins-tower-userdata function)
(define-extern check-drop-level-ruins-rubble (function sparticle-system sparticle-cpuinfo matrix none))
(define-extern ruins-bird-bob-func (function sparticle-system sparticle-cpuinfo matrix none))
(define-extern sparticle-ruins-bird-moon (function sparticle-system sparticle-cpuinfo matrix none))
(define-extern check-drop-level-ruins-tower-userdata-nosplat (function sparticle-system sparticle-cpuinfo matrix none))
(define-extern check-drop-level-ruins-tower-userdata (function sparticle-system sparticle-cpuinfo matrix none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; breakable-wall ;;
@@ -52032,9 +52010,8 @@
;; ruins-obs ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype sinking-plat (rigid-body-platform)
((anchor-point vector :inline :offset-assert 380)
((anchor-point vector :inline :offset-assert 384)
)
:method-count-assert 57
:size-assert #x190
@@ -52042,9 +52019,7 @@
(:methods
)
)
|#
#|
(deftype beam (process-drawable)
()
:method-count-assert 22
@@ -52055,9 +52030,7 @@
(collapse () _type_ :state 21)
)
)
|#
#|
(deftype ruins-bridge (drop-plat)
()
:method-count-assert 36
@@ -52066,9 +52039,7 @@
(:methods
)
)
|#
#|
(deftype ruins-drop-plat (drop-plat)
()
:method-count-assert 36
@@ -52077,10 +52048,9 @@
(:methods
)
)
|#
;; (define-extern *ruins-sinking-platform-constants* object)
;; (define-extern ruins-activate function)
(define-extern *ruins-sinking-platform-constants* rigid-body-platform-constants)
(define-extern ruins-activate (function none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; rapid-gunner ;;
@@ -471,11 +471,12 @@
[2, "(function object)"],
[1, "(function object)"],
[0, "(function object)"]
],
"fortress-obs": [
[3, "(function object)"]
],
"forexita-obs": [
[0, "(function object)"]
"fortress-obs": [[3, "(function object)"]],
"forexita-obs": [[0, "(function object)"]],
"hideout-obs": [[3, "(function (inline-array cspace) :behavior hide-light)"]],
"ruins-scenes": [
[0, "(function none)"],
[1, "(function none)"]
]
}
+4 -7
View File
@@ -442,13 +442,10 @@
289,
290
],
"bones-mtx-calc-execute": [
19, 7
],
"foreground-draw": [
0, 1, 126
],
"dma-add-process-drawable": [0, 136]
"bones-mtx-calc-execute": [19, 7],
"foreground-draw": [0, 1, 126],
"dma-add-process-drawable": [0, 136],
"(anon-function 3 ruins-obs)": [14]
},
// Sometimes the game might use format strings that are fetched dynamically,
+4 -4
View File
@@ -20,14 +20,14 @@
"DGO/STD.DGO",
"DGO/FOR.DGO",
// "DGO/CASEXT.DGO",
// "DGO/HIDEOUT.DGO",
"DGO/HIDEOUT.DGO",
// "DGO/LWIDESTA.DGO",
// "DGO/LRACELIT.DGO",
"DGO/CTB.DGO",
// "DGO/KIOSK.DGO",
"DGO/KIOSK.DGO",
// "DGO/DG1.DGO",
"DGO/FEB.DGO",
// "DGO/DMI.DGO",
"DGO/DMI.DGO",
// "DGO/ORACLE.DGO",
// "DGO/LERLTESS.DGO",
// "DGO/DRI.DGO",
@@ -150,7 +150,7 @@
// "DGO/CAP.DGO",
"DGO/CWI.DGO",
// "DGO/CTYKORA.DGO",
// "DGO/RUI.DGO",
"DGO/RUI.DGO",
// "DGO/LSACK.DGO",
// "DGO/CTYASHA.DGO",
// "DGO/LPRTRACE.DGO",
+15 -9
View File
@@ -496,7 +496,6 @@
["L710", "vector"],
["L696", "vector"],
["L682", "vector"]
],
"ocean-texture": [
["L55", "vector4w"],
@@ -546,9 +545,15 @@
["L159", "vector"],
["L158", "vector"]
],
"foreground": [["L213", "vector"], ["L214", "(pointer bucket-id-16)", 200]],
"foreground": [
["L213", "vector"],
["L214", "(pointer bucket-id-16)", 200]
],
"prison-part": [["L238", "uint64", true]],
"prison-obs": [["L293", "vector4w"], ["L292", "vector4w"]],
"prison-obs": [
["L293", "vector4w"],
["L292", "vector4w"]
],
"ctywide-scenes": [
["L1164", "vector"],
["L1150", "vector"],
@@ -568,10 +573,11 @@
["L250", "vector"],
["L142", "vector"]
],
"forexita-part": [
["L191", "uint64", true]
],
"forexitb-part": [
["L197", "uint64", true]
]
"forexita-part": [["L191", "uint64", true]],
"forexitb-part": [["L197", "uint64", true]],
"hideout-part": [["L109", "uint64", true]],
"ctyslumb-part": [["L176", "uint64", true]],
"kiosk-part": [["L81", "uint64", true]],
"target-turret-shot": [["L18", "attack-info"]],
"ruins-part": [["L201", "uint64", true]]
}
+12 -18
View File
@@ -1203,22 +1203,16 @@
"col-rend-draw": [[16, "matrix"]],
"(code jump enemy)": [[16, "enemy-jump-info"]],
"check-drop-level-flitter-dirt-rubble": [[16, "vector"]],
"col-rend-draw": [
[16, "matrix"]
],
"dma-add-process-drawable": [
[64, "light-group"]
],
"dark-lightning-handler": [
[16, "matrix"]
],
"(method 25 joint-exploder)": [
[16, "matrix"]
],
"check-drop-level-forexitb-drop-userdata": [
[16, "vector"]
],
"check-drop-level-forexitb-drop-water-userdata": [
[16, "vector"]
]
"dma-add-process-drawable": [[64, "light-group"]],
"dark-lightning-handler": [[16, "matrix"]],
"(method 25 joint-exploder)": [[16, "bounding-box"]],
"check-drop-level-forexitb-drop-userdata": [[16, "vector"]],
"check-drop-level-forexitb-drop-water-userdata": [[16, "vector"]],
"check-drop-level-hide-fireplace-sparks": [[16, "vector"]],
"check-drop-level-ctyslumb-drop-userdata": [[16, "vector"]],
"check-drop-level-kiosk-fire-sparks": [[16, "vector"]],
"(method 25 turret-shot)": [[32, "vector"]],
"check-drop-level-ruins-tower-userdata": [[16, "vector"]],
"check-drop-level-ruins-tower-userdata-nosplat": [[16, "vector"]],
"check-drop-level-ruins-rubble": [[16, "vector"]]
}
+25 -49
View File
@@ -5066,19 +5066,15 @@
[147, "v1", "art-joint-anim"]
],
"(method 132 flitter)": [[16, "t9", "(function nav-enemy none)"]],
"(code target-tube)": [
[33, "v1", "art-joint-anim"]
],
"(code target-tube-start)": [
[109, "v1", "float"]
],
"(code target-tube)": [[33, "v1", "art-joint-anim"]],
"(code target-tube-start)": [[109, "v1", "float"]],
"(event slide-control-ride slide-control)": [
[21, "gp", "process-drawable"],
[28, "v1", "vector"],
[32, "v1", "vector"],
[36, "v1", "vector"]
],
"bones-set-sqwc": [[2, "v1", "dma-bank-control"]],
"bones-set-sqwc": [[2, "v1", "dma-bank-control"]],
"bones-reset-sqwc": [[2, "v1", "dma-bank-control"]],
"bones-init": [
[1, "v1", "bone-memory"],
@@ -5109,10 +5105,7 @@
[21, "a0", "dma-packet"],
[22, "a0", "(pointer uint64)"]
],
"texscroll-make-request": [
[[5, 40], "a1", "mei-texture-scroll"]
],
"texscroll-make-request": [[[5, 40], "a1", "mei-texture-scroll"]],
"texscroll-execute": [
[19, "t1", "pointer"],
[15, "a2", "merc-fragment-control"],
@@ -5124,13 +5117,11 @@
[[10, 31], "a1", "mei-texture-scroll"],
[39, "t1", "(pointer int8)"]
],
"foreground-wrapup": [
[[1, 90], "gp", "foreground-work"],
[[25, 31], "a0", "dma-packet"],
[[55, 60], "a0", "dma-packet"]
],
"foreground-draw": [
[[1, 64], "at", "foreground-work"],
[13, "t0", "foreground-work"],
@@ -5163,27 +5154,19 @@
[611, "v1", "foreground-work"],
[654, "a0", "foreground-work"],
[648, "s5", "int"],
[315, "a2", "(pointer uint8)"],
[321, "v1", "pointer"],
[338, "a3", "(pointer uint8)"],
[344, "v1", "pointer"],
[[4, 61], "a0", "bone-calculation"],
[[185, 189], "v1", "mei-texture-scroll"],
[[252,281], "v1", "mei-envmap-tint"]
[[252, 281], "v1", "mei-envmap-tint"]
],
"foreground-add-mtx-calc": [
[1, "v1", "foreground-work"]
],
"foreground-add-mtx-calc": [[1, "v1", "foreground-work"]],
"foreground-shadow": [
[2, "v1", "foreground-work"],
[[13, 19], "t1", "vector"]
],
"dma-add-process-drawable": [
[433, "a0", "foreground-work"],
[545, "t0", "(pointer uint128)"],
@@ -5191,13 +5174,11 @@
[42, "a0", "foreground-work"],
[[128, 146], "v1", "mood-context"]
],
"foreground-ripple": [
[2, "v1", "foreground-work"],
[25, "v1", "foreground-work"],
[[27, 32], "a0", "foreground-work"]
],
"dark-lightning-handler": [
[64, "s5", "process-drawable"],
[211, "gp", "process-drawable"],
@@ -5205,11 +5186,7 @@
[251, "gp", "process-drawable"],
[312, "a0", "lightning-tracker"]
],
"(post idle air-train)": [
[4, "t9", "(function none)"]
],
"(post idle air-train)": [[4, "t9", "(function none)"]],
"(anon-function 3 ctywide-scenes)": [
[13, "t9", "(function mood-context symbol)"],
[33, "t9", "(function mood-context symbol)"]
@@ -5226,33 +5203,32 @@
[13, "t9", "(function mood-context symbol)"],
[33, "t9", "(function mood-context symbol)"]
],
"(method 11 fort-trap-door)": [
[53, "a0", "collide-shape-moving"]
],
"(method 11 fort-trap-door)": [[53, "a0", "collide-shape-moving"]],
"(method 0 joint-exploder-tuning)": [
[[5, 79], "v0", "joint-exploder-tuning"]
],
"joint-exploder-init-by-other": [
[48, "a0", "process-drawable"],
[57, "v1", "process-drawable"],
[64, "a0", "process-drawable"]
],
"(method 23 joint-exploder)": [
[26, "v1", "process-drawable"]
"(method 23 joint-exploder)": [[26, "v1", "process-drawable"]],
"(method 28 joint-exploder)": [[[0, 250], "s5", "joint-exploder-list"]],
"joint-exploder-joint-callback": [[3, "s4", "joint-exploder"]],
"(event idle fort-trap-door)": [[4, "v1", "attack-info"]],
"(code idle hide-light)": [[10, "v1", "art-joint-anim"]],
"(event impact turret-shot)": [[11, "s4", "process-drawable"]],
"(code impact turret-shot)": [[4, "v1", "collide-shape-prim-group"]],
"(method 29 sinking-plat)": [
[6, "v0", "(function rigid-body-platform float none)"]
],
"(method 28 joint-exploder)": [
[[0, 250], "s5", "joint-exploder-list"]
"(code collapse beam)": [[25, "v1", "art-joint-anim"]],
"(code fall ruins-bridge)": [
[16, "v1", "collide-shape-prim-group"],
[23, "v1", "collide-shape-prim-group"],
[31, "v1", "collide-shape-prim-group"],
[39, "v1", "collide-shape-prim-group"]
],
"joint-exploder-joint-callback": [
[3, "s4", "joint-exploder"]
],
"(event idle fort-trap-door)": [
[4, "v1", "attack-info"]
]
"(event fall ruins-drop-plat)": [[10, "v1", "collide-shape-prim-group"]],
"(post fall ruins-drop-plat)": [[20, "t9", "(function none)"]]
}
+68 -68
View File
@@ -2197,84 +2197,84 @@
"foreground-draw": {
"args": ["dc", "dma-buf", "dist-in"],
"vars": {
"at-0":"fg-work",
"a0-1":["bone-calc", "bone-calculation"],
"t1-0":"num-bones",
"a3-3":"bone-mem-size",
"t0-1":"fg-regs",
"v1-0":"matrix-mem",
"t0-2":"matrix-mem2",
"t1-2":"bflags",
"t4-0":"f-regs",
"a1-6":"bone-list",
"a2-5":"calc-to-add",
"t2-4":"jnt",
"t3-0":"bn",
"t4-1":"count",
"t5-0":"calc",
"s5-0":["dma-ptr", "pointer"],
"s4-0":"bucket-info",
"a0-5":"fg-lights",
"v1-6":"rotated-light-out",
"a1-8":"inv-cam-rot",
"s3-0":"geo",
"s2-0":"effect-mask",
"s1-0":"effect-idx",
"v1-40":"extra",
"v1-41":"tex-scroll-info",
"v1-70":"ei",
"v1-71":"tint-info",
"f1-1":"t-fade-0",
"f0-4":"t-fade-1",
"f1-3":"t-interp",
"f0-6":"t-amount",
"a0-75":"merc-fade-int",
"v1-156":"fade-enable",
"f0-11":"dist-until-gone"
"at-0": "fg-work",
"a0-1": ["bone-calc", "bone-calculation"],
"t1-0": "num-bones",
"a3-3": "bone-mem-size",
"t0-1": "fg-regs",
"v1-0": "matrix-mem",
"t0-2": "matrix-mem2",
"t1-2": "bflags",
"t4-0": "f-regs",
"a1-6": "bone-list",
"a2-5": "calc-to-add",
"t2-4": "jnt",
"t3-0": "bn",
"t4-1": "count",
"t5-0": "calc",
"s5-0": ["dma-ptr", "pointer"],
"s4-0": "bucket-info",
"a0-5": "fg-lights",
"v1-6": "rotated-light-out",
"a1-8": "inv-cam-rot",
"s3-0": "geo",
"s2-0": "effect-mask",
"s1-0": "effect-idx",
"v1-40": "extra",
"v1-41": "tex-scroll-info",
"v1-70": "ei",
"v1-71": "tint-info",
"f1-1": "t-fade-0",
"f0-4": "t-fade-1",
"f1-3": "t-interp",
"f0-6": "t-amount",
"a0-75": "merc-fade-int",
"v1-156": "fade-enable",
"f0-11": "dist-until-gone"
}
},
"dma-add-process-drawable": {
"args": ["pd", "dc", "flag", "dma-buf"],
"vars": {
"s4-0":"fg-bounds",
"s3-0":"fg-lights",
"sv-272":"tod",
"s4-0": "fg-bounds",
"s3-0": "fg-lights",
"sv-272": "tod",
"sv-288": "shadow-mask",
"s0-0": "shadow-mask-not",
"sv-304":"lev-idx-for-mood",
"s1-1":"light-idx",
"s2-1":"lg",
"v1-53":"packed-shadow-vals",
"a0-28":"light-idx",
"a2-8":"light-pal-idx",
"s1-2":"fg-light-lev-idx",
"v1-62":"lev",
"s0-1":"light-hash",
"sv-320":"my-origin",
"sv-336":"lev-mood",
"v0-6":"light-lookup-result",
"sv-352":"light-result-bucket",
"sv-368":"index-ptr",
"sv-384":"index-index",
"a1-49":"light-sphere",
"v1-73":"palette-idx",
"f0-12":"interp",
"s1-3":"target-shadow-dir",
"s0-2":"current-shadow-dir",
"f30-0":"shadow-dir-w",
"v1-109":"fg-dist",
"s3-1":"lod-idx",
"f30-1":"dist-w",
"v1-133":"src-lev",
"f0-26":"corrected-dist",
"a0-64":"tex-use",
"a1-54":"use-fg-idx",
"a2-13":"use-idx",
"t0-0":"tex-lod"
"sv-304": "lev-idx-for-mood",
"s1-1": "light-idx",
"s2-1": "lg",
"v1-53": "packed-shadow-vals",
"a0-28": "light-idx",
"a2-8": "light-pal-idx",
"s1-2": "fg-light-lev-idx",
"v1-62": "lev",
"s0-1": "light-hash",
"sv-320": "my-origin",
"sv-336": "lev-mood",
"v0-6": "light-lookup-result",
"sv-352": "light-result-bucket",
"sv-368": "index-ptr",
"sv-384": "index-index",
"a1-49": "light-sphere",
"v1-73": "palette-idx",
"f0-12": "interp",
"s1-3": "target-shadow-dir",
"s0-2": "current-shadow-dir",
"f30-0": "shadow-dir-w",
"v1-109": "fg-dist",
"s3-1": "lod-idx",
"f30-1": "dist-w",
"v1-133": "src-lev",
"f0-26": "corrected-dist",
"a0-64": "tex-use",
"a1-54": "use-fg-idx",
"a2-13": "use-idx",
"t0-0": "tex-lod"
}
},
"(method 0 joint-exploder-tuning)": {
"vars": {"v0-0":["v0-0", "joint-exploder-tuning"]}
"vars": { "v0-0": ["v0-0", "joint-exploder-tuning"] }
}
}
+2 -2
View File
@@ -636,8 +636,8 @@
["fort-trap-door-ag", "fort-trap-door", 4, ["FEB", "FDB"], "levels/fortress/exit"],
["forexitb-vis", "forexitb-vis", 4, ["FEB"], "levels/fortress/exit"],
["jak-pole+0-ag", "jak-pole+0", 4, ["FEA", "DMI", "FDA", "HALFPIPE", "RUI", "PAC", "COA", "TOB", "D3B", "PAE"], "levels/drill_platform"],
["target-turret-shot", "target-turret-shot", 3, ["DMI"], "levels/drill_platform"],
["target-turret", "target-turret", 3, ["DMI"], "levels/drill_platform"],
["target-turret-shot", "target-turret-shot", 3, ["DMI"], "engine/target"],
["target-turret", "target-turret", 3, ["DMI"], "engine/target"],
["jak-turret+0-ag", "jak-turret+0", 4, ["DMI"], "levels/drill_platform"],
["drill-turret", "drill-turret", 3, ["DMI"], "levels/drill_platform"],
["drillmid-obs", "drillmid-obs", 3, ["DMI"], "levels/drill_platform"],
+22 -14
View File
@@ -24,8 +24,8 @@
(away-from-rand-transv-xz-hi float :offset 68)
(away-from-rand-transv-y-lo float :offset 72)
(away-from-rand-transv-y-hi float :offset 76)
(hit-xz-reaction float :offset 80)
(hit-y-reaction float :offset 84)
(hit-xz-reaction float :offset-assert 80)
(hit-y-reaction float :offset-assert 84)
)
:method-count-assert 9
:size-assert #x58
@@ -35,6 +35,7 @@
)
)
(deftype joint-exploder-static-joint-params (structure)
((joint-index int16 :offset-assert 0)
(parent-joint-index int16 :offset-assert 2)
@@ -44,6 +45,7 @@
:flag-assert #x900000004
)
(deftype joint-exploder-static-params (basic)
((joints (array joint-exploder-static-joint-params) :offset-assert 4)
(collide-spec uint32 :offset-assert 8)
@@ -54,6 +56,7 @@
:flag-assert #x900000010
)
(deftype joint-exploder-joint (structure)
((next int16 :offset-assert 0)
(prev int16 :offset-assert 2)
@@ -69,6 +72,7 @@
:flag-assert #x9000000f0
)
(deftype joint-exploder-joints (basic)
((num-joints int32 :offset-assert 4)
(joint joint-exploder-joint :inline :dynamic :offset-assert 16)
@@ -81,11 +85,12 @@
)
)
(deftype joint-exploder-list (structure)
((head int32 :offset-assert 0)
(pre-moved? symbol :offset-assert 4)
(bbox-valid? symbol :offset-assert 8)
(probeless? basic :offset-assert 12)
(probeless? symbol :offset-assert 12)
(bbox bounding-box :inline :offset-assert 16)
)
:method-count-assert 9
@@ -93,6 +98,7 @@
:flag-assert #x900000030
)
(deftype joint-exploder (process-drawable)
((die-if-below-y float :offset-assert 200)
(die-if-beyond-xz-dist-sqrd float :offset-assert 204)
@@ -121,6 +127,8 @@
)
)
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of joint-exploder-joints ((obj joint-exploder-joints))
(the-as int (+ (-> obj type size) (* 240 (-> obj num-joints))))
)
@@ -363,6 +371,7 @@
)
)
;; WARN: Return type mismatch symbol vs int.
(defmethod final-adjust joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list) (arg1 int))
(local-vars (sv-48 int) (sv-64 (inline-array joint-exploder-list)) (sv-80 joint-exploder-joint))
(set! (-> arg0 bbox-valid?) #f)
@@ -371,11 +380,11 @@
)
(while (>= s2-0 0)
(set! sv-80 (-> s3-0 joint s2-0))
(let ((s1-0 (new 'stack-no-clear 'matrix))
(let ((s1-0 (new 'stack-no-clear 'bounding-box))
(s0-0 (-> arg0 bbox-valid?))
)
(set! (-> s1-0 vector 0 quad) (-> arg0 bbox min quad))
(set! (-> s1-0 vector 1 quad) (-> arg0 bbox max quad))
(set! (-> s1-0 min quad) (-> arg0 bbox min quad))
(set! (-> s1-0 max quad) (-> arg0 bbox max quad))
(update-bbox-for-joint obj arg0 sv-80)
(let* ((v1-7 arg1)
(v1-8 (cond
@@ -398,8 +407,8 @@
(set! s2-0 sv-48)
(update-bbox-for-joint obj (the-as joint-exploder-list sv-64) sv-80)
(set! (-> arg0 bbox-valid?) s0-0)
(set! (-> arg0 bbox min quad) (-> s1-0 vector 0 quad))
(set! (-> arg0 bbox max quad) (-> s1-0 vector 1 quad))
(set! (-> arg0 bbox min quad) (-> s1-0 min quad))
(set! (-> arg0 bbox max quad) (-> s1-0 max quad))
)
)
)
@@ -692,6 +701,7 @@
(none)
)
;; WARN: Return type mismatch process-drawable vs joint-exploder.
(defmethod relocate joint-exploder ((obj joint-exploder) (arg0 int))
(if (nonzero? (-> obj joints))
(&+! (-> obj joints) arg0)
@@ -699,6 +709,7 @@
(the-as joint-exploder ((method-of-type process-drawable relocate) obj arg0))
)
;; WARN: Return type mismatch object vs none.
(defbehavior joint-exploder-init-by-other joint-exploder ((arg0 skeleton-group) (arg1 int) (arg2 joint-exploder-tuning) (arg3 joint-exploder-static-params))
(set! (-> self static-params) arg3)
(set! (-> self die-if-beyond-xz-dist-sqrd) 10485760000.0)
@@ -713,7 +724,7 @@
)
)
(let ((v1-5 (-> self lists)))
(set! (-> v1-5 0 probeless?) (the-as basic #t))
(set! (-> v1-5 0 probeless?) #t)
)
(set! (-> self root) (new 'process 'trsqv))
(set! (-> self root trans quad) (-> (the-as process-drawable (-> self parent 0)) root trans quad))
@@ -739,13 +750,14 @@
(none)
)
;; WARN: Return type mismatch structure vs joint-exploder-tuning.
(defmethod new joint-exploder-tuning ((allocation symbol) (type-to-make type) (arg0 uint))
(let ((t9-0 (method-of-type structure new))
(v1-1 type-to-make)
)
(-> type-to-make size)
(let ((v0-0 (the-as joint-exploder-tuning (t9-0 allocation v1-1))))
(set! (-> v0-0 explosion) (the-as uint arg0))
(set! (-> v0-0 explosion) arg0)
(set! (-> v0-0 duration) (seconds 2))
(set! (-> v0-0 gravity) -286720.0)
(set! (-> v0-0 rot-speed) 8.4)
@@ -772,7 +784,3 @@
)
)
)
+1 -1
View File
@@ -37,7 +37,7 @@
:heap-size #x4000
)
(new 'static 'entity-info
:ptype (type-ref ctyslumb-part :method-count 19)
:ptype (type-ref ctyslumb-part :method-count 16)
:package "game"
:art-group '()
:pool '*16k-dead-pool*
@@ -0,0 +1,477 @@
;;-*-Lisp-*-
(in-package goal)
;; name: target-turret-shot.gc
;; name in dgo: target-turret-shot
;; dgos: DMI
;; DECOMP BEGINS
(defpart 915
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x45 :page #xc))
(sp-func spt-birth-func 'birth-func-set-quat)
(sp-flt spt-num 1.0)
(sp-flt spt-scale-x (meters 0.4))
(sp-flt spt-scale-y (meters 9))
(sp-flt spt-r 128.0)
(sp-rnd-flt spt-g 0.0 64.0 1.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 128.0)
(sp-flt spt-scalevel-x (meters 0.0016666667))
(sp-flt spt-fade-a -2.1333334)
(sp-int spt-timer 40)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-14 left-multiply-quat)
)
)
(defpartgroup group-turret-shot-hit
:id 200
:duration (seconds 1)
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 916 :flags (bit6) :period 600 :length 5)
(sp-item 917 :flags (bit6) :period 600 :length 5)
(sp-item 918 :flags (bit6) :period 600 :length 5)
(sp-item 919 :period 600 :length 5)
)
)
(defpart 917
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 1))
(sp-flt spt-rot-x 409.6)
(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 255.0)
(sp-flt spt-g 32.0)
(sp-rnd-flt spt-b 32.0 8.0 1.0)
(sp-flt spt-a 24.0)
(sp-flt spt-scalevel-x (meters 0.12857144))
(sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -3.6571429)
(sp-flt spt-fade-b -0.9142857)
(sp-int spt-timer 80)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 glow)
(sp-flt spt-userdata 4096.0)
(sp-int spt-next-time 35)
(sp-launcher-by-id spt-next-launcher 920)
)
)
(defpart 920
:init-specs ((sp-flt spt-scale-x (meters 4.5))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.08888889))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -3.1111112)
(sp-flt spt-fade-b 0.0)
(sp-flt spt-fade-a -1.0666667)
)
)
(defpart 916
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-scale-x (meters 0.5))
(sp-flt spt-rot-x 102.4)
(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 255.0)
(sp-flt spt-g 32.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 64.0)
(sp-flt spt-scalevel-x (meters 0.16666667))
(sp-flt spt-rotvel-z (degrees 0.3))
(sp-copy-from-other spt-scalevel-y -4)
(sp-int spt-timer 100)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 4096.0)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 921)
)
)
(defpart 921
:init-specs ((sp-flt spt-scale-x (meters 3.5))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.025))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-b -6.375)
(sp-int spt-next-time 40)
(sp-launcher-by-id spt-next-launcher 922)
)
)
(defpart 922
:init-specs ((sp-flt spt-scale-x (meters 2))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.025))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g -1.6)
(sp-flt spt-fade-b 0.0)
(sp-flt spt-fade-a -1.6)
)
)
(defpart 918
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 3) (meters 0.4) 1.0)
(sp-flt spt-rot-x 204.8)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 0.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 64.0)
(sp-flt spt-scalevel-x (meters 0.075))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -1.8285714)
(sp-int spt-timer 40)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 4096.0)
)
)
(defpart 919
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 6.0 6.0 1.0)
(sp-rnd-flt spt-scale-x (meters 1.25) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 0.0)
(sp-flt spt-b 0.0)
(sp-rnd-flt spt-a 16.0 48.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.30476192)
(sp-flt spt-fade-g 0.15238096)
(sp-flt spt-fade-b 0.30476192)
(sp-flt spt-fade-a -0.15238096)
(sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0)
(sp-flt spt-friction 0.9)
(sp-int spt-timer 420)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
(defpart 923
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x14 :page #xc))
(sp-rnd-flt spt-num 4.0 4.0 1.0)
(sp-rnd-flt spt-z (meters 0) (meters -3) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.8) (meters 0.4) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.8) (meters 0.4) 1.0)
(sp-flt spt-r 192.0)
(sp-rnd-flt spt-g 64.0 128.0 1.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 64.0)
(sp-flt spt-scalevel-x (meters -0.00234375))
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-g -1.2 -2.4 1.0)
(sp-rnd-flt spt-fade-a -1.6 -6.4 1.0)
(sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0)
(sp-int spt-timer 240)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(deftype turret-shot (guard-shot)
((hit-pos vector :inline :offset-assert 496)
)
:heap-base #x180
:method-count-assert 40
:size-assert #x200
:flag-assert #x2801800200
)
(defstate impact (turret-shot)
:virtual #t
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
(case event-type
(('touched)
(let* ((s4-0 proc)
(v1-1 (if (type? s4-0 process-drawable)
(the-as process-drawable s4-0)
)
)
)
(when v1-1
(-> v1-1 root)
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-2 from) (process->ppointer self))
(set! (-> a1-2 num-params) 2)
(set! (-> a1-2 message) 'attack)
(set! (-> a1-2 param 0) (-> event param 0))
(let ((v1-7 (new 'static 'attack-info :mask (attack-info-mask mode id damage))))
(set! (-> v1-7 id) (-> self attack-id))
(set! (-> v1-7 mode) 'explode)
(set! (-> v1-7 damage) (-> self damage))
(set! (-> a1-2 param 1) (the-as uint v1-7))
)
(send-event-function proc a1-2)
)
)
)
)
(else
(projectile-event-handler proc arg1 event-type event)
)
)
)
:code (behavior ()
(let ((v1-1 (-> self root-override root-prim)))
(set! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core world-sphere w) 4915.2)
)
(let ((a1-0 (new 'stack-no-clear 'overlaps-others-params)))
(set! (-> a1-0 options) (overlaps-others-options))
(set! (-> a1-0 collide-with-filter) (the-as collide-spec -1))
(set! (-> a1-0 tlist) *touching-list*)
(find-overlapping-shapes (-> self root-override) a1-0)
)
(suspend)
(go-virtual die)
(none)
)
)
(defmethod spawn-impact-particles turret-shot ((obj turret-shot))
"Spawns associated particles with the projectile if applicable"
(rlet ((acc :class vf)
(vf0 :class vf)
(vf4 :class vf)
(vf5 :class vf)
(vf6 :class vf)
(vf7 :class vf)
)
(init-vf0-vector)
(let* ((gp-0 (-> obj root-override trans))
(a1-0 (-> obj tail-pos))
(s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0))
(f30-0 (vector-length s5-1))
)
(let ((s4-0 (new 'stack-no-clear 'vector)))
(let ((v1-4 a1-0))
(let ((a0-2 s5-1))
(let ((a2-1 0.8))
(.mov vf7 a2-1)
)
(.lvf vf5 (&-> a0-2 quad))
)
(.lvf vf4 (&-> v1-4 quad))
)
(.add.x.vf vf6 vf0 vf0 :mask #b1000)
(.mul.x.vf acc vf5 vf7 :mask #b111)
(.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111)
(.svf (&-> s4-0 quad) vf6)
(let ((f28-0 (-> *part-id-table* 915 init-specs 4 initial-valuef)))
(set! (-> *part-id-table* 915 init-specs 4 initial-valuef) (vector-length s5-1))
(draw-beam (-> *part-id-table* 915) a1-0 s5-1 #f #t)
(set! (-> *part-id-table* 915 init-specs 4 initial-valuef) f28-0)
)
(vector-normalize! s5-1 1.0)
(let ((t9-2 sp-launch-particles-var)
(a0-5 *sp-particle-system-2d*)
(a1-2 (-> *part-id-table* 607))
(a2-3 *launch-matrix*)
)
(set! (-> a2-3 trans quad) (-> s4-0 quad))
(t9-2 a0-5 a1-2 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
(let ((t9-3 sp-launch-particles-var)
(a0-6 *sp-particle-system-2d*)
(a1-3 (-> *part-id-table* 608))
(a2-4 *launch-matrix*)
)
(set! (-> a2-4 trans quad) (-> s4-0 quad))
(t9-3 a0-6 a1-3 a2-4 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
)
(let ((s4-1 (new 'stack-no-clear 'matrix))
(f26-0 (* 0.000027126736 f30-0))
(f30-1 (-> *part-id-table* 923 init-specs 3 initial-valuef))
(f28-1 (-> *part-id-table* 923 init-specs 4 initial-valuef))
)
(forward-up->inv-matrix s4-1 s5-1 *up-vector*)
(set! (-> s4-1 trans quad) (-> gp-0 quad))
(set! (-> *part-id-table* 923 init-specs 3 initial-valuef) (* f26-0 f30-1))
(set! (-> *part-id-table* 923 init-specs 4 initial-valuef) (* f26-0 f28-1))
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 923)
s4-1
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
(set! (-> *part-id-table* 923 init-specs 3 initial-valuef) f30-1)
(set! (-> *part-id-table* 923 init-specs 4 initial-valuef) f28-1)
)
)
0
(none)
)
)
(defmethod spawn-shell-particles turret-shot ((obj turret-shot))
"TODO - confirm"
(let* ((s5-0 (-> obj root-override))
(v1-2 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s5-0 trans)) 2048.0))
(gp-0 (new 'stack-no-clear 'vector))
)
(set! (-> gp-0 quad) (-> s5-0 trans quad))
(vector+! gp-0 gp-0 v1-2)
(let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000)))
(when s5-1
(let ((t9-2 (method-of-type part-tracker activate)))
(t9-2
(the-as part-tracker s5-1)
*entity-pool*
(symbol->string (-> part-tracker symbol))
(the-as pointer #x70004000)
)
)
(let ((t9-3 run-function-in-process)
(a0-8 s5-1)
(a1-6 part-tracker-init)
(a2-4 (-> *part-group-id-table* 200))
(a3-1 0)
(t0-0 #f)
(t1-0 #f)
(t2-0 #f)
(t3-0 *launch-matrix*)
)
(set! (-> t3-0 trans quad) (-> gp-0 quad))
((the-as (function object object object object object object object object none) t9-3)
a0-8
a1-6
a2-4
a3-1
t0-0
t1-0
t2-0
t3-0
)
)
(-> s5-1 ppointer)
)
)
)
0
(none)
)
;; WARN: Return type mismatch int vs sound-id.
(defmethod play-impact-sound turret-shot ((obj turret-shot) (arg0 projectile-options))
(let ((v1-0 arg0))
(cond
((zero? v1-0)
(sound-play "drl-turret-fire")
)
((= v1-0 (projectile-options lose-altitude))
(sound-play "drl-turret-hit")
)
)
)
(the-as sound-id 0)
)
;; WARN: Return type mismatch projectile-options vs none.
(defmethod init-proj-settings! turret-shot ((obj turret-shot))
"Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc
:virtual"
(set! (-> obj tail-pos quad) (-> obj root-override trans quad))
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1))
(set! (-> obj attack-mode) 'turret)
(set! (-> obj max-speed) 1228800.0)
(set! (-> obj move) guard-shot-move)
(set! (-> obj damage) 1.0)
(logior! (-> obj options) (projectile-options deal-damage))
(none)
)
(defmethod init-collision! turret-shot ((obj turret-shot))
"Init the [[projectile]]'s [[collide-shape]]"
(let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
(set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
(set! (-> s5-0 reaction)
(the-as (function control-info collide-query vector vector collide-status) cshape-reaction-just-move)
)
(set! (-> s5-0 no-reaction)
(the-as (function collide-shape-moving collide-query vector vector object) nothing)
)
(set! (-> s5-0 penetrate-using) (penetrate enemy-dark-shot))
(let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0)))
(set! (-> s5-0 total-prims) (the-as uint 3))
(set! (-> s4-0 prim-core collide-as) (collide-spec projectile))
(set! (-> s4-0 prim-core collide-with)
(collide-spec
backgnd
jak
bot
crate
civilian
enemy
obstacle
vehicle-sphere
hit-by-others-list
player-list
obstacle-for-jak
)
)
(set! (-> s4-0 prim-core action) (collide-action solid))
(set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 4915.2)
(set! (-> s5-0 root-prim) s4-0)
)
(let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0))))
(set! (-> v1-13 prim-core collide-as) (collide-spec projectile))
(set! (-> v1-13 prim-core collide-with)
(collide-spec
backgnd
jak
bot
crate
civilian
enemy
obstacle
vehicle-sphere
hit-by-others-list
player-list
obstacle-for-jak
)
)
(set! (-> v1-13 prim-core action) (collide-action solid deadly))
(set-vector! (-> v1-13 local-sphere) 0.0 0.0 0.0 2048.0)
)
(let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0))))
(set! (-> v1-15 prim-core collide-as) (collide-spec projectile))
(set! (-> v1-15 prim-core collide-with)
(collide-spec jak bot crate civilian enemy vehicle-sphere hit-by-others-list player-list obstacle-for-jak)
)
(set! (-> v1-15 prim-core action) (collide-action deadly))
(set-vector! (-> v1-15 local-sphere) 0.0 0.0 0.0 4915.2)
)
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
(let ((v1-18 (-> s5-0 root-prim)))
(set! (-> s5-0 backup-collide-as) (-> v1-18 prim-core collide-as))
(set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with))
)
(set! (-> s5-0 max-iteration-count) (the-as uint 1))
(set! (-> s5-0 event-self) 'touched)
(set! (-> obj root-override) s5-0)
)
(set! (-> obj root-override pat-ignore-mask)
(new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1)
)
0
(none)
)
+141 -141
View File
@@ -1704,51 +1704,51 @@
;; ;; DMI
;; ;;;;;;;;;;;;;;;;;;;;;
;; (cgo "DMI.DGO" "dmi.gd")
(cgo "DMI.DGO" "dmi.gd")
;; (goal-src-sequence
;; ""
;; :deps ("$OUT/obj/los-control.o")
;; "levels/common/enemy/hover/hover-formation-h.gc"
;; "levels/common/enemy/hover/hover-nav-control-h.gc"
;; "levels/common/enemy/hover/hover-enemy-h.gc"
;; "levels/common/enemy/hover/hover-nav-network.gc"
;; "levels/common/enemy/hover/hover-nav-control.gc"
;; "levels/common/enemy/hover/hover-enemy.gc"
;; "levels/common/enemy/hover/hover-enemy-battle.gc"
;; "levels/common/enemy/hover/hover-formation.gc"
;; "levels/common/enemy/hover/hover-nav-edit.gc"
;; "levels/common/enemy/hover/wasp-part.gc"
;; "levels/common/enemy/hover/wasp.gc"
;; "levels/common/enemy/hover/crimson-guard-hover.gc"
;; "levels/common/enemy/hover/flamer.gc"
;; "levels/drill_platform/target-turret-shot.gc"
;; "levels/drill_platform/target-turret.gc"
;; "levels/drill_platform/drill-turret.gc"
;; "levels/drill_platform/drillmid-obs.gc"
;; "levels/drill_platform/drill-part.gc"
;; "levels/drill_platform/drill-part2.gc"
;; "levels/drill_platform/drill-mech-master.gc"
;; "levels/drill_platform/drill-obs.gc"
;; "levels/drill_platform/drill-panel.gc"
;; "levels/drill_platform/drill-obs2.gc"
;; "levels/drill_platform/drill-spool.gc"
;; "levels/drill_platform/drill-baron.gc"
;; "levels/drill_platform/drill-scenes.gc"
;; "levels/common/enemy/metalhead_bearer/centurion.gc"
;; "levels/drill_platform/ginsu.gc"
;; )
(goal-src-sequence
""
:deps ("$OUT/obj/los-control.o")
"levels/common/enemy/hover/hover-formation-h.gc"
"levels/common/enemy/hover/hover-nav-control-h.gc"
"levels/common/enemy/hover/hover-enemy-h.gc"
"levels/common/enemy/hover/hover-nav-network.gc"
"levels/common/enemy/hover/hover-nav-control.gc"
"levels/common/enemy/hover/hover-enemy.gc"
"levels/common/enemy/hover/hover-enemy-battle.gc"
"levels/common/enemy/hover/hover-formation.gc"
"levels/common/enemy/hover/hover-nav-edit.gc"
"levels/common/enemy/hover/wasp-part.gc"
"levels/common/enemy/hover/wasp.gc"
"levels/common/enemy/hover/crimson-guard-hover.gc"
"levels/common/enemy/hover/flamer.gc"
"levels/drill_platform/target-turret-shot.gc"
"levels/drill_platform/target-turret.gc"
"levels/drill_platform/drill-turret.gc"
"levels/drill_platform/drillmid-obs.gc"
"levels/drill_platform/drill-part.gc"
"levels/drill_platform/drill-part2.gc"
"levels/drill_platform/drill-mech-master.gc"
"levels/drill_platform/drill-obs.gc"
"levels/drill_platform/drill-panel.gc"
"levels/drill_platform/drill-obs2.gc"
"levels/drill_platform/drill-spool.gc"
"levels/drill_platform/drill-baron.gc"
"levels/drill_platform/drill-scenes.gc"
"levels/common/enemy/metalhead_bearer/centurion.gc"
"levels/drill_platform/ginsu.gc"
)
;; (copy-textures 2300 2302 2301 2493 2303 2565 2846)
(copy-textures 2300 2302 2301 2493 2303 2565 2846)
;; (copy-gos
;; "jak-pole+0-ag"
;; "jak-turret+0-ag"
;; "mech-ag"
;; "warp-gate-ag"
;; "drill-falling-door-ag"
;; "drillmid-vis"
;; )
(copy-gos
;; "jak-pole+0-ag"
"jak-turret+0-ag"
"mech-ag"
"warp-gate-ag"
"drill-falling-door-ag"
"drillmid-vis"
)
;; ;;;;;;;;;;;;;;;;;;;;;
;; ;; DRB
@@ -1972,19 +1972,19 @@
""
:deps ("$OUT/obj/los-control.o")
"levels/common/enemy/spyder.gc"
"levels/common/enemy/hover/hover-formation-h.gc"
"levels/common/enemy/hover/hover-nav-control-h.gc"
"levels/common/enemy/hover/hover-enemy-h.gc"
"levels/common/enemy/hover/hover-nav-network.gc"
"levels/common/enemy/hover/hover-nav-control.gc"
"levels/common/enemy/hover/hover-enemy.gc"
"levels/common/enemy/hover/hover-enemy-battle.gc"
"levels/common/enemy/hover/hover-formation.gc"
"levels/common/enemy/hover/hover-nav-edit.gc"
"levels/common/enemy/hover/wasp-part.gc"
"levels/common/enemy/hover/wasp.gc"
"levels/common/enemy/hover/crimson-guard-hover.gc"
"levels/common/enemy/hover/flamer.gc"
;; "levels/common/enemy/hover/hover-formation-h.gc"
;; "levels/common/enemy/hover/hover-nav-control-h.gc"
;; "levels/common/enemy/hover/hover-enemy-h.gc"
;; "levels/common/enemy/hover/hover-nav-network.gc"
;; "levels/common/enemy/hover/hover-nav-control.gc"
;; "levels/common/enemy/hover/hover-enemy.gc"
;; "levels/common/enemy/hover/hover-enemy-battle.gc"
;; "levels/common/enemy/hover/hover-formation.gc"
;; "levels/common/enemy/hover/hover-nav-edit.gc"
;; "levels/common/enemy/hover/wasp-part.gc"
;; "levels/common/enemy/hover/wasp.gc"
;; "levels/common/enemy/hover/crimson-guard-hover.gc"
;; "levels/common/enemy/hover/flamer.gc"
"levels/forest/forest-part.gc"
"levels/forest/forest-obs.gc"
"levels/forest/pegasus.gc"
@@ -2196,29 +2196,29 @@
;; ;; HIDEOUT
;; ;;;;;;;;;;;;;;;;;;;;;
;; (cgo "HIDEOUT.DGO" "hideout.gd")
(cgo "HIDEOUT.DGO" "hideout.gd")
;; (goal-src-sequence
;; ""
;; :deps ("$OUT/obj/los-control.o")
;; "levels/hideout/hideout-scenes.gc"
;; "levels/hideout/hideout-part.gc"
;; "levels/hideout/hideout-obs.gc"
;; )
(goal-src-sequence
""
:deps ("$OUT/obj/los-control.o")
"levels/hideout/hideout-scenes.gc"
"levels/hideout/hideout-part.gc"
"levels/hideout/hideout-obs.gc"
)
;; (copy-textures 932 933 2404 999)
(copy-textures 932 933 2404 999)
;; (copy-gos
;; "daxter-highres-ag"
;; "jak-highres-ag"
;; "hide-light-ag"
;; "hide-bike-ag"
;; "hide-door-b-ag"
;; "gun-barrel-ag"
;; "hide-faucet-ag"
;; "particleman-ag"
;; "hideout"
;; )
(copy-gos
;; "daxter-highres-ag"
"jak-highres-ag"
"hide-light-ag"
"hide-bike-ag"
"hide-door-b-ag"
"gun-barrel-ag"
"hide-faucet-ag"
;; "particleman-ag"
"hideout"
)
;; ;;;;;;;;;;;;;;;;;;;;;
;; ;; HIPHOG
@@ -2294,25 +2294,25 @@
;; ;; KIOSK
;; ;;;;;;;;;;;;;;;;;;;;;
;; (cgo "KIOSK.DGO" "kiosk.gd")
(cgo "KIOSK.DGO" "kiosk.gd")
;; (goal-src-sequence
;; ""
;; :deps ("$OUT/obj/los-control.o")
;; "levels/city/market/west/brutter_kiosk/kiosk-part.gc"
;; )
(goal-src-sequence
""
:deps ("$OUT/obj/los-control.o")
"levels/city/market/west/brutter_kiosk/kiosk-part.gc"
)
;; (copy-textures 2192 2212 2225 2911 2334)
(copy-textures 2192 2212 2225 2911 2334)
;; (copy-gos
;; "daxter-highres-ag"
;; "brutter-highres-ag"
;; "jak-highres-ag"
;; "kiosk-fish-sign-ag"
;; "kiosk-banner-ag"
;; "particleman-ag"
;; "kiosk"
;; )
(copy-gos
;; "daxter-highres-ag"
"brutter-highres-ag"
;; "jak-highres-ag"
"kiosk-fish-sign-ag"
"kiosk-banner-ag"
;; "particleman-ag"
"kiosk"
)
;; ;;;;;;;;;;;;;;;;;;;;;
;; ;; LASHGRD
@@ -3750,59 +3750,59 @@
;; ;; RUI
;; ;;;;;;;;;;;;;;;;;;;;;
;; (cgo "RUI.DGO" "rui.gd")
(cgo "RUI.DGO" "rui.gd")
;; (goal-src-sequence
;; ""
;; :deps ("$OUT/obj/los-control.o")
;; "engine/target/mech_suit/mech-part.gc"
;; "engine/target/mech_suit/mech.gc"
;; "engine/target/mech_suit/target-mech.gc"
;; "engine/target/mech_suit/mech-states.gc"
;; "engine/target/mech_suit/grunt-mech.gc"
;; "levels/ruins/ruins-ocean.gc"
;; "levels/ruins/ruins-scenes.gc"
;; "levels/ruins/mechtest-obs.gc"
;; "levels/ruins/ruins-part.gc"
;; "levels/ruins/breakable-wall.gc"
;; "levels/ruins/pillar-collapse.gc"
;; "levels/ruins/ruins-obs.gc"
;; "levels/ruins/rapid-gunner.gc"
;; "levels/common/enemy/amphibian/amphibian.gc"
;; "levels/common/enemy/fodder/fodder.gc"
;; "levels/common/enemy/metalhead_slinger/grenadier.gc"
;; )
(goal-src-sequence
""
:deps ("$OUT/obj/los-control.o")
"engine/target/mech_suit/mech-part.gc"
"engine/target/mech_suit/mech.gc"
"engine/target/mech_suit/target-mech.gc"
"engine/target/mech_suit/mech-states.gc"
"engine/target/mech_suit/grunt-mech.gc"
"levels/ruins/ruins-ocean.gc"
"levels/ruins/ruins-scenes.gc"
"levels/ruins/mechtest-obs.gc"
"levels/ruins/ruins-part.gc"
"levels/ruins/breakable-wall.gc"
"levels/ruins/pillar-collapse.gc"
"levels/ruins/ruins-obs.gc"
"levels/ruins/rapid-gunner.gc"
"levels/common/enemy/amphibian/amphibian.gc"
"levels/common/enemy/fodder/fodder.gc"
"levels/common/enemy/metalhead_slinger/grenadier.gc"
)
;; (copy-textures 851 853 852 2205 1000)
(copy-textures 851 853 852 2205 1000)
;; (copy-gos
;; "jak-pole+0-ag"
;; "jak-mech+0-ag"
;; "grunt-mech-anims+0-ag"
;; "grunt-ag"
;; "ruins-breakable-wall-ag"
;; "grenadier-ag"
;; "amphibian-ag"
;; "ruins-drop-plat-ag"
;; "rapid-gunner-ag"
;; "flitter-ag"
;; "ruins-pillar-collapse-ag"
;; "mech-ag"
;; "fodder-ag"
;; "ruins-bridge-ag"
;; "shield-gunner-ag"
;; "precipice-b-ag"
;; "ruins-precipice-ag"
;; "precipice-a-ag"
;; "pushblock-ag"
;; "throwblock-ag"
;; "zipline-ag"
;; "flag-ag"
;; "sinking-plat-ag"
;; "awning-ag"
;; "beam-ag"
;; "ruins-vis"
;; )
(copy-gos
;; "jak-pole+0-ag"
"jak-mech+0-ag"
"grunt-mech-anims+0-ag"
"grunt-ag"
"ruins-breakable-wall-ag"
"grenadier-ag"
"amphibian-ag"
"ruins-drop-plat-ag"
"rapid-gunner-ag"
"flitter-ag"
"ruins-pillar-collapse-ag"
;; "mech-ag"
"fodder-ag"
"ruins-bridge-ag"
"shield-gunner-ag"
"precipice-b-ag"
"ruins-precipice-ag"
"precipice-a-ag"
"pushblock-ag"
"throwblock-ag"
"zipline-ag"
"flag-ag"
"sinking-plat-ag"
"awning-ag"
"beam-ag"
"ruins-vis"
)
;; ;;;;;;;;;;;;;;;;;;;;;
;; ;; SAG
@@ -5,5 +5,585 @@
;; name in dgo: kiosk-part
;; dgos: KIOSK
;; og:ignore-from-loc
;; DECOMP BEGINS
(deftype kiosk-part (part-spawner)
()
:heap-base #x30
:method-count-assert 16
:size-assert #xb0
:flag-assert #x10003000b0
)
(defpartgroup group-kiosk-steamescape
:id 1047
:flags (unk-4)
:bounds (static-bspherem 0 0 0 3)
:parts ((sp-item 4553 :fade-after (meters 20) :falloff-to (meters 20) :flags (bit7))
(sp-item 4554 :fade-after (meters 100) :falloff-to (meters 140) :flags (bit7))
)
)
(defpart 4553
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
(sp-rnd-flt spt-num 0.0 5.0 1.0)
(sp-flt spt-z (meters -0.2))
(sp-rnd-flt spt-scale-x (meters 0.025) (meters 0.01) 1.0)
(sp-int spt-rot-x 4)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-rnd-flt spt-omega 1.024 0.4096 1.0)
(sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.033333335) 1.0)
(sp-rnd-flt spt-fade-a -0.64 -0.64 1.0)
(sp-rnd-flt spt-friction 0.92 0.015 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-func spt-func 'sparticle-motion-blur)
(sp-rnd-flt spt-launchrot-x (degrees -7.5) (degrees 15.0) 1.0)
(sp-rnd-flt spt-launchrot-y (degrees -7.5) (degrees 15.0) 1.0)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 4554
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 1.0 3.0 1.0)
(sp-flt spt-z (meters -0.2))
(sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.05) 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 255.0)
(sp-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.033333335) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.005) (meters 0.008333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-r -0.256 -0.512 1.0)
(sp-copy-from-other spt-fade-g -1)
(sp-copy-from-other spt-fade-b -1)
(sp-flt spt-fade-a 0.96)
(sp-rnd-flt spt-friction 0.9 0.015 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-int-plain-rnd spt-next-time 25 24 1)
(sp-launcher-by-id spt-next-launcher 4555)
(sp-rnd-flt spt-launchrot-x (degrees -5.0) (degrees 10.0) 1.0)
(sp-rnd-flt spt-launchrot-y (degrees -5.0) (degrees 10.0) 1.0)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 4555
:init-specs ((sp-rnd-flt spt-fade-a -0.48 -0.48 1.0))
)
(defpartgroup group-kiosk-fire
:id 1048
:bounds (static-bspherem 0 3 0 4)
:parts ((sp-item 4556 :fade-after (meters 50) :falloff-to (meters 80))
(sp-item 4557 :fade-after (meters 50) :falloff-to (meters 80) :period 100 :length 50)
(sp-item 4558 :fade-after (meters 50) :falloff-to (meters 80) :period 120 :length 55 :offset 20)
(sp-item 4559 :fade-after (meters 50) :falloff-to (meters 80) :period 160 :length 30 :offset 35)
(sp-item 4557 :fade-after (meters 50) :falloff-to (meters 80) :period 255 :length 60 :offset 65)
(sp-item 4558 :fade-after (meters 50) :falloff-to (meters 80) :period 375 :length 40 :offset 15)
(sp-item 4559 :fade-after (meters 50) :falloff-to (meters 80) :period 430 :length 50 :offset 85)
(sp-item 4557 :fade-after (meters 50) :falloff-to (meters 80) :period 600 :length 70 :offset 100)
(sp-item 4558 :fade-after (meters 50) :falloff-to (meters 80) :period 1250 :length 45 :offset 450)
(sp-item 4559 :fade-after (meters 50) :falloff-to (meters 80) :period 1500 :length 25 :offset 115)
(sp-item 4557 :fade-after (meters 50) :falloff-to (meters 80) :period 2100 :length 55 :offset 80)
(sp-item 4560 :flags (bit6))
(sp-item 4561 :period 2400 :length 5)
(sp-item 4561 :period 3155 :length 10)
(sp-item 4561 :period 3815 :length 5)
(sp-item 4561 :period 4770 :length 10)
)
)
(defpart 4561
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-int spt-rot-x 4)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-flt spt-scale-y (meters 0.04))
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-flt spt-omega 0.6144)
(sp-rnd-flt spt-vel-y (meters 0.046666667) (meters 0.06666667) 1.0)
(sp-flt spt-scalevel-x (meters -0.00008333333))
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -0.4)
(sp-flt spt-fade-b -0.8)
(sp-flt spt-accel-y -12.288)
(sp-rnd-flt spt-friction 0.86 0.02 1.0)
(sp-int spt-timer 1200)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-flt spt-userdata 32768.0)
(sp-func spt-func 'check-drop-level-kiosk-fire-sparks)
(sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 10.0) 1.0)
(sp-rnd-int-flt spt-conerot-y (degrees 92.00001) 2 4369.067)
(sp-flt spt-rotate-y (degrees -90.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 4562
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.025) 1.0)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-flt spt-fade-g -0.4)
(sp-flt spt-fade-b -0.8)
(sp-rnd-flt spt-fade-a -0.42666668 -0.85333335 1.0)
(sp-rnd-flt spt-accel-y -1.024 -0.34133333 1.0)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-rnd-flt spt-conerot-x (degrees 10.0) (degrees 60.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 4563
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.025) 1.0)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-flt spt-fade-g -0.10666667)
(sp-flt spt-fade-b -0.8)
(sp-rnd-flt spt-friction 0.94 0.02 1.0)
(sp-int spt-timer 2400)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-int-plain-rnd spt-next-time 450 149 1)
(sp-launcher-by-id spt-next-launcher 4564)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 4564
:init-specs ((sp-flt spt-rotvel-z (degrees 0.0)) (sp-rnd-flt spt-fade-a -0.10666667 -0.10666667 1.0))
)
(defun check-drop-level-kiosk-fire-sparks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
(sparticle-motion-blur arg0 arg1 arg2)
(when (< (-> arg2 y) (-> arg1 user-float))
(let ((gp-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
(let ((t9-2 sp-launch-particles-var)
(a0-4 *sp-particle-system-2d*)
(a1-3 (-> *part-id-table* 4562))
(a2-2 *launch-matrix*)
)
(set! (-> a2-2 trans quad) (-> gp-0 quad))
(t9-2 a0-4 a1-3 a2-2 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
(let ((t9-3 sp-launch-particles-var)
(a0-5 *sp-particle-system-2d*)
(a1-4 (-> *part-id-table* 4563))
(a2-3 *launch-matrix*)
)
(set! (-> a2-3 trans quad) (-> gp-0 quad))
(t9-3 a0-5 a1-4 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
)
)
(none)
)
(defpart 4560
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0)
(sp-flt spt-rot-x 819.2)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-rnd-flt spt-g 0.0 192.0 1.0)
(sp-flt spt-b 0.0)
(sp-rnd-flt spt-a 12.0 8.0 1.0)
(sp-flt spt-fade-g -3.2)
(sp-flt spt-fade-a -0.3)
(sp-int spt-timer 40)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 0.0)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 4557
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters -0.1) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.4))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 39 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 4565)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 87.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 4558
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters -0.1) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.4))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 39 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 4565)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 120.0) (degrees 90.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 4559
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters -0.1) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.4))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 39 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 4565)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 240.0) (degrees 110.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 4565
:init-specs ((sp-flt spt-b 0.0)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g 0.0)
(sp-flt spt-fade-b 0.0)
(sp-rnd-flt spt-fade-a -0.4 -0.2 1.0)
(sp-int-plain-rnd spt-next-time 40 9 1)
(sp-launcher-by-id spt-next-launcher 4566)
)
)
(defpart 4566
:init-specs ((sp-flt spt-fade-r -0.125) (sp-flt spt-fade-g 0.4) (sp-flt spt-fade-b 0.4))
)
(defpart 4556
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 1.0 5.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.4))
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 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 32.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-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-a -0.16 -0.16 1.0)
(sp-flt spt-accel-y -0.4096)
(sp-int spt-timer 275)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-4)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpartgroup group-kiosk-hotpot :id 1049 :bounds (static-bspherem 0 1 0 1) :parts ((sp-item 209)))
(defpart 4567
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 0.3)
(sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0)
(sp-rnd-flt spt-y (meters 0.25) (meters 0.25) 1.0)
(sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0)
(sp-int spt-rot-x 5)
(sp-flt spt-r 1638.4)
(sp-flt spt-g 1392.64)
(sp-flt spt-b 1433.6)
(sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.0033333334) 1.0)
(sp-rnd-flt spt-accel-y -0.13653333 -0.13653333 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags distort)
(sp-int spt-next-time 75)
(sp-launcher-by-id spt-next-launcher 4568)
)
)
(defpart 4568
:init-specs ((sp-flt spt-fade-b -0.54613334))
)
(defpartgroup group-kiosk-boiling-fish
:id 1050
:bounds (static-bspherem 0 1 0 1)
:parts ((sp-item 4569 :fade-after (meters 60) :falloff-to (meters 60))
(sp-item 4570 :fade-after (meters 40) :falloff-to (meters 40))
)
)
(defpart 4570
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 0.0 1.0 1.0)
(sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0)
(sp-flt spt-y (meters 0))
(sp-rnd-flt spt-scale-x (meters 0.04) (meters 0.01) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0)
(sp-flt spt-fade-a -0.32)
(sp-rnd-flt spt-accel-y -1.3653333 -0.13653333 1.0)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
(defpart 4569
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 0.25)
(sp-rnd-flt spt-x (meters -0.1) (meters 0.2) 1.0)
(sp-flt spt-y (meters 0.2))
(sp-int spt-rot-x 8)
(sp-flt spt-r 1638.4)
(sp-flt spt-g 1392.64)
(sp-flt spt-b 1433.6)
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0)
(sp-rnd-flt spt-accel-y -0.13653333 -0.13653333 1.0)
(sp-rnd-flt spt-friction 0.97 0.01 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags distort)
(sp-int spt-next-time 75)
(sp-launcher-by-id spt-next-launcher 4571)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
(defpart 4571
:init-specs ((sp-flt spt-fade-b -0.54613334))
)
(defpartgroup group-kiosk-chimney
:id 1051
:bounds (static-bspherem 0 0 -10 64)
:parts ((sp-item 4572 :fade-after (meters 600) :falloff-to (meters 700) :flags (bit7)))
)
(defpart 4572
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 0.0 0.5 1.0)
(sp-flt spt-y (meters 0.4))
(sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 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 255.0)
(sp-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-rnd-flt spt-a 24.0 24.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.03) (meters 0.01) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-r -0.10666667 -0.21333334 1.0)
(sp-copy-from-other spt-fade-g -1)
(sp-copy-from-other spt-fade-b -1)
(sp-rnd-flt spt-fade-a -0.026666667 -0.026666667 1.0)
(sp-rnd-flt spt-accel-x -4.096 -1.3653333 1.0)
(sp-rnd-flt spt-accel-y 0.4096 0.4096 1.0)
(sp-flt spt-friction 0.96)
(sp-int spt-timer 1800)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-int-plain-rnd spt-next-time 75 4 1)
(sp-launcher-by-id spt-next-launcher 4573)
(sp-flt spt-rotate-x (degrees 22.0))
(sp-flt spt-rotate-y (degrees 45.0))
)
)
(defpart 4573
:init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
)
)
(defpart 4574
:init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
)
)
(defpartgroup group-kiosk-neon-sign
:id 1052
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 4575 :fade-after (meters 350) :flags (is-3d bit6) :period 600 :length 300)
(sp-item 4576 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
(sp-item 4577 :fade-after (meters 400) :flags (bit6) :period 600 :length 300 :offset 300)
)
)
(defpart 4577
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-flt spt-z (meters 0.1))
(sp-rnd-flt spt-scale-x (meters 12) (meters 0.1) 1.0)
(sp-flt spt-rot-x 18432.0)
(sp-rnd-flt spt-scale-y (meters 24) (meters 0.1) 1.0)
(sp-flt spt-r 255.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 255.0)
(sp-rnd-flt spt-a 12.0 4.0 1.0)
(sp-flt spt-omega 1641676.8)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 2048.0)
)
)
(defpart 4575
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x91e))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-flt spt-z (meters 0.1))
(sp-flt spt-scale-x (meters 12))
(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 6))
(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 127.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-flt spt-rotate-y (degrees 140.0))
)
)
(defpart 4576
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x91e))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-flt spt-z (meters 0.1))
(sp-flt spt-scale-x (meters 12))
(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 6))
(sp-rnd-flt spt-r 100.0 128.0 1.0)
(sp-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 127.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-flt spt-rotate-y (degrees 140.0))
)
)
File diff suppressed because it is too large Load Diff
@@ -1,9 +0,0 @@
;;-*-Lisp-*-
(in-package goal)
;; name: target-turret-shot.gc
;; name in dgo: target-turret-shot
;; dgos: DMI
;; DECOMP BEGINS
@@ -5,6 +5,8 @@
;; name in dgo: forexita-part
;; dgos: FEA
;; og:ignore-from-loc
;; DECOMP BEGINS
;; definition of type forexita-part
@@ -15,6 +15,7 @@
:flag-assert #x10003000b0
)
(defpartgroup group-forexitb-panel-1
:id 623
:flags (unk-4)
@@ -47,7 +48,6 @@
)
)
;; failed to figure out what this is:
(defpart 2763
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -69,7 +69,6 @@
)
)
;; failed to figure out what this is:
(defpart 2764
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -91,7 +90,6 @@
)
)
;; failed to figure out what this is:
(defpart 2765
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -113,7 +111,6 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-panel-3
:id 624
:flags (unk-4)
@@ -133,7 +130,6 @@
)
)
;; failed to figure out what this is:
(defpart 2766
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -155,7 +151,6 @@
)
)
;; failed to figure out what this is:
(defpart 2767
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -177,7 +172,6 @@
)
)
;; failed to figure out what this is:
(defpart 2768
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -199,7 +193,6 @@
)
)
;; failed to figure out what this is:
(defpart 2769
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -221,7 +214,6 @@
)
)
;; failed to figure out what this is:
(defpart 2770
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -243,7 +235,6 @@
)
)
;; failed to figure out what this is:
(defpart 2771
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -265,7 +256,6 @@
)
)
;; failed to figure out what this is:
(defpart 2772
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -287,7 +277,6 @@
)
)
;; failed to figure out what this is:
(defpart 2773
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -309,7 +298,6 @@
)
)
;; failed to figure out what this is:
(defpart 2774
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -331,7 +319,6 @@
)
)
;; failed to figure out what this is:
(defpart 2775
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -353,7 +340,6 @@
)
)
;; failed to figure out what this is:
(defpart 2776
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -375,7 +361,6 @@
)
)
;; failed to figure out what this is:
(defpart 2777
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -397,14 +382,12 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-overhead-lights
:id 625
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 2778 :fade-after (meters 80) :flags (bit6)) (sp-item 2779 :fade-after (meters 100) :flags (bit6)))
)
;; failed to figure out what this is:
(defpart 2778
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -423,7 +406,6 @@
)
)
;; failed to figure out what this is:
(defpart 2779
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -442,14 +424,12 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-yellow-glows
:id 626
:bounds (static-bspherem 0 0 0 6)
:parts ((sp-item 2780 :fade-after (meters 80) :flags (bit6)) (sp-item 2781 :fade-after (meters 100) :flags (bit6)))
)
;; failed to figure out what this is:
(defpart 2780
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -468,7 +448,6 @@
)
)
;; failed to figure out what this is:
(defpart 2781
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -487,14 +466,12 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-red-glows
:id 627
:bounds (static-bspherem 0 0 0 6)
:parts ((sp-item 2782 :fade-after (meters 80) :flags (bit6)) (sp-item 2783 :fade-after (meters 100) :flags (bit6)))
)
;; failed to figure out what this is:
(defpart 2782
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -513,7 +490,6 @@
)
)
;; failed to figure out what this is:
(defpart 2783
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -532,7 +508,6 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-blue-lights
:id 628
:flags (unk-4)
@@ -544,7 +519,6 @@
)
)
;; failed to figure out what this is:
(defpart 2784
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -564,7 +538,6 @@
)
)
;; failed to figure out what this is:
(defpart 2785
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -585,7 +558,6 @@
)
)
;; failed to figure out what this is:
(defpart 2786
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -606,7 +578,6 @@
)
)
;; failed to figure out what this is:
(defpart 2787
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -626,14 +597,12 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-single-blue-lights-1
:id 629
:bounds (static-bspherem 0 0 0 1)
:parts ((sp-item 2788 :fade-after (meters 80) :flags (bit6) :period 300 :length 150 :offset 150))
)
;; failed to figure out what this is:
(defpart 2788
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -652,7 +621,6 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-l-upsideown-panel
:id 630
:flags (unk-4)
@@ -667,7 +635,6 @@
)
)
;; failed to figure out what this is:
(defpart 2789
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -689,7 +656,6 @@
)
)
;; failed to figure out what this is:
(defpart 2790
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -711,7 +677,6 @@
)
)
;; failed to figure out what this is:
(defpart 2791
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -733,7 +698,6 @@
)
)
;; failed to figure out what this is:
(defpart 2792
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -755,7 +719,6 @@
)
)
;; failed to figure out what this is:
(defpart 2793
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -777,7 +740,6 @@
)
)
;; failed to figure out what this is:
(defpart 2794
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -799,7 +761,6 @@
)
)
;; failed to figure out what this is:
(defpart 2795
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -821,7 +782,6 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-l-panel
:id 631
:flags (unk-4)
@@ -839,7 +799,6 @@
)
)
;; failed to figure out what this is:
(defpart 2796
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -861,7 +820,6 @@
)
)
;; failed to figure out what this is:
(defpart 2797
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -883,7 +841,6 @@
)
)
;; failed to figure out what this is:
(defpart 2798
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -905,7 +862,6 @@
)
)
;; failed to figure out what this is:
(defpart 2799
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -927,7 +883,6 @@
)
)
;; failed to figure out what this is:
(defpart 2800
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -949,7 +904,6 @@
)
)
;; failed to figure out what this is:
(defpart 2801
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -971,7 +925,6 @@
)
)
;; failed to figure out what this is:
(defpart 2802
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -993,7 +946,6 @@
)
)
;; failed to figure out what this is:
(defpart 2803
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -1015,7 +967,6 @@
)
)
;; failed to figure out what this is:
(defpart 2804
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -1037,7 +988,6 @@
)
)
;; failed to figure out what this is:
(defpart 2805
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -1059,7 +1009,6 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-pipe-drip
:id 632
:bounds (static-bspherem 0 0 0 64)
@@ -1071,7 +1020,6 @@
)
)
;; failed to figure out what this is:
(defpart 2806
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-flt spt-num 1.0)
@@ -1094,7 +1042,6 @@
)
)
;; failed to figure out what this is:
(defpart 2811
:init-specs ((sp-rnd-flt spt-fade-a 0.0 0.10666667 1.0)
(sp-int spt-next-time 280)
@@ -1102,7 +1049,6 @@
)
)
;; failed to figure out what this is:
(defpart 2812
:init-specs ((sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0)
(sp-flt spt-scalevel-x (meters -0.00033333333))
@@ -1113,7 +1059,6 @@
)
)
;; failed to figure out what this is:
(defpart 2808
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-flt spt-num 4.0)
@@ -1140,7 +1085,6 @@
)
)
;; failed to figure out what this is:
(defpart 2807
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-flt spt-num 1.0)
@@ -1170,7 +1114,6 @@
)
)
;; failed to figure out what this is:
(defpart 2813
:init-specs ((sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
@@ -1180,7 +1123,6 @@
)
)
;; failed to figure out what this is:
(defpart 2814
:init-specs ((sp-rnd-flt spt-r 32.0 16.0 1.0)
(sp-rnd-flt spt-g 64.0 32.0 1.0)
@@ -1190,7 +1132,6 @@
)
)
;; failed to figure out what this is:
(defpart 2809
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 0.3)
@@ -1219,7 +1160,6 @@
)
)
;; failed to figure out what this is:
(defpart 2810
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 0.3)
@@ -1248,14 +1188,12 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-ceiling-light-oneoff
:id 633
:bounds (static-bspherem 0 0 0 6)
:parts ((sp-item 2815 :fade-after (meters 80) :flags (bit6)) (sp-item 2816 :fade-after (meters 100) :flags (bit6)))
)
;; failed to figure out what this is:
(defpart 2815
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -1275,7 +1213,6 @@
)
)
;; failed to figure out what this is:
(defpart 2816
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
@@ -1295,7 +1232,6 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-ceiling-pipe-drip2
:id 634
:bounds (static-bspherem 0 -12 0 64)
@@ -1305,8 +1241,6 @@
)
)
;; definition for function check-drop-level-forexitb-drop-userdata
;; INFO: Used lq/sq
(defun check-drop-level-forexitb-drop-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
(when (< (-> arg2 vector 0 y) (-> arg1 user-float))
(let ((s3-0 (new 'stack-no-clear 'vector)))
@@ -1334,8 +1268,6 @@
(none)
)
;; definition for function check-drop-level-forexitb-drop-water-userdata
;; INFO: Used lq/sq
(defun check-drop-level-forexitb-drop-water-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
(when (< (-> arg2 vector 0 y) (-> arg1 user-float))
(let ((s3-0 (new 'stack-no-clear 'vector)))
@@ -1371,7 +1303,6 @@
(none)
)
;; failed to figure out what this is:
(defpart 2820
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-flt spt-num 1.0)
@@ -1398,7 +1329,6 @@
)
)
;; failed to figure out what this is:
(defpart 2821
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
@@ -1424,7 +1354,6 @@
)
)
;; failed to figure out what this is:
(defpart 2817
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 1.0 2.0 1.0)
@@ -1453,7 +1382,6 @@
)
)
;; failed to figure out what this is:
(defpart 2824
:init-specs ((sp-flt spt-a 128.0)
(sp-flt spt-omega 5.12)
@@ -1465,7 +1393,6 @@
)
)
;; failed to figure out what this is:
(defpart 2818
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
@@ -1495,7 +1422,6 @@
)
)
;; failed to figure out what this is:
(defpart 2819
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-flt spt-num 1.0)
@@ -1525,7 +1451,6 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-ceiling-pipe-drip1
:id 635
:bounds (static-bspherem 0 -12 0 64)
@@ -1537,7 +1462,6 @@
)
)
;; failed to figure out what this is:
(defpart 2823
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 2.0 2.0 1.0)
@@ -1561,7 +1485,6 @@
)
)
;; failed to figure out what this is:
(defpart 2829
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
@@ -1591,7 +1514,6 @@
)
)
;; failed to figure out what this is:
(defpart 2825
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 0.0 0.3 1.0)
@@ -1620,7 +1542,6 @@
)
)
;; failed to figure out what this is:
(defpart 2826
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 0.0 0.3 1.0)
@@ -1649,7 +1570,6 @@
)
)
;; failed to figure out what this is:
(defpart 2827
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 0.0 0.3 1.0)
@@ -1678,7 +1598,6 @@
)
)
;; failed to figure out what this is:
(defpart 2828
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 0.0 0.3 1.0)
@@ -1707,7 +1626,6 @@
)
)
;; failed to figure out what this is:
(defpart 2822
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
@@ -1733,7 +1651,6 @@
)
)
;; failed to figure out what this is:
(defpartgroup group-forexitb-random-drip-main
:id 636
:bounds (static-bspherem 0 -12 0 64)
@@ -1742,7 +1659,6 @@
)
)
;; failed to figure out what this is:
(defpart 2830
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 0.0 0.3 1.0)
@@ -1771,7 +1687,6 @@
)
)
;; failed to figure out what this is:
(defpart 2831
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 0.0 0.2 1.0)
@@ -1800,7 +1715,3 @@
(sp-flt spt-rotate-y (degrees 0.0))
)
)
@@ -7,8 +7,6 @@
;; DECOMP BEGINS
;; definition of type fort-trap-door
(deftype fort-trap-door (process-drawable)
((root-override collide-shape-moving :offset 128)
(notify-actor entity-actor :offset-assert 200)
@@ -23,30 +21,14 @@
)
)
;; definition for method 3 of type fort-trap-door
(defmethod inspect fort-trap-door ((obj fort-trap-door))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(format #t "~2Tnotify-actor: ~A~%" (-> obj notify-actor))
(label cfg-4)
obj
)
;; failed to figure out what this is:
(defskelgroup skel-fort-trap-door fort-trap-door 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 5))
;; failed to figure out what this is:
(defskelgroup skel-fort-trap-door-explode fort-trap-door 3 5
((4 (meters 999999)))
:bounds (static-spherem 0 0 0 15)
)
;; definition for symbol *fort-trap-door-exploder-params*, type joint-exploder-static-params
(define *fort-trap-door-exploder-params*
(new 'static 'joint-exploder-static-params
:joints (new 'static 'boxed-array :type joint-exploder-static-joint-params
@@ -72,7 +54,6 @@
)
)
;; failed to figure out what this is:
(defstate idle (fort-trap-door)
:virtual #t
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
@@ -91,7 +72,6 @@
:code (the-as (function none :behavior fort-trap-door) sleep-code)
)
;; failed to figure out what this is:
(defstate die (fort-trap-door)
:virtual #t
:enter (behavior ()
@@ -167,7 +147,6 @@
:post (the-as (function none :behavior fort-trap-door) ja-post)
)
;; definition for method 11 of type fort-trap-door
;; WARN: Return type mismatch object vs none.
(defmethod init-from-entity! fort-trap-door ((obj fort-trap-door) (arg0 entity-actor))
(let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))))
@@ -205,7 +184,6 @@
(none)
)
;; definition of type water-anim-fortress
(deftype water-anim-fortress (water-anim)
()
:heap-base #x80
@@ -214,20 +192,7 @@
:flag-assert #x1d00800100
)
;; definition for method 3 of type water-anim-fortress
(defmethod inspect water-anim-fortress ((obj water-anim-fortress))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(let ((t9-0 (method-of-type water-anim inspect)))
(t9-0 obj)
)
(label cfg-4)
obj
)
;; definition for symbol ripple-for-water-anim-fortress, type ripple-wave-set
(define ripple-for-water-anim-fortress (new 'static 'ripple-wave-set
:count 3
:converted #f
@@ -241,7 +206,6 @@
)
)
;; definition for method 24 of type water-anim-fortress
;; WARN: Return type mismatch ripple-wave-set vs none.
(defmethod art-init! water-anim-fortress ((obj water-anim-fortress))
"Initialize a [[water-anim]]'s [[skeleton-group]], joints and ambience."
@@ -258,5 +222,3 @@
)
(none)
)
+165
View File
@@ -7,3 +7,168 @@
;; DECOMP BEGINS
(defskelgroup skel-hide-door-b hide-door-b 0 2
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 5)
:origin-joint-index 3
)
(deftype hide-door-b (com-airlock)
()
:heap-base #x100
:method-count-assert 28
:size-assert #x174
:flag-assert #x1c01000174
)
;; WARN: Return type mismatch object vs none.
(defmethod init-from-entity! hide-door-b ((obj hide-door-b) (arg0 entity-actor))
(let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))))
(set! (-> s5-0 penetrated-by) (penetrate))
(let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0)))
(set! (-> s5-0 total-prims) (the-as uint 3))
(set! (-> s4-0 prim-core collide-as) (collide-spec obstacle))
(set! (-> s4-0 prim-core collide-with) (collide-spec jak bot player-list))
(set! (-> s4-0 prim-core action) (collide-action solid))
(set! (-> s4-0 transform-index) 3)
(set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 32768.0)
(set! (-> s5-0 root-prim) s4-0)
)
(let ((v1-9 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0))))
(set! (-> v1-9 prim-core collide-as) (collide-spec obstacle))
(set! (-> v1-9 prim-core collide-with) (collide-spec jak bot player-list))
(set! (-> v1-9 prim-core action) (collide-action solid))
(set! (-> v1-9 transform-index) 4)
(set-vector! (-> v1-9 local-sphere) 0.0 0.0 0.0 16384.0)
)
(let ((v1-11 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0))))
(set! (-> v1-11 prim-core collide-as) (collide-spec obstacle))
(set! (-> v1-11 prim-core collide-with) (collide-spec jak bot player-list))
(set! (-> v1-11 prim-core action) (collide-action solid))
(set! (-> v1-11 transform-index) 5)
(set-vector! (-> v1-11 local-sphere) 0.0 0.0 0.0 16384.0)
)
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
(let ((v1-14 (-> s5-0 root-prim)))
(set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as))
(set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with))
)
(set! (-> obj root-override) s5-0)
)
(initialize-skeleton
obj
(the-as skeleton-group (art-group-get-by-name *level* "skel-hide-door-b" (the-as (pointer uint32) #f)))
(the-as pair 0)
)
(init-airlock! obj)
(set! (-> obj sound-open-loop) (static-sound-spec "hide-door-open"))
(set! (-> obj sound-open-stop) (static-sound-spec "hide-door-hit"))
(set! (-> obj sound-close-loop) (static-sound-spec "hide-door-close"))
(set! (-> obj sound-close-stop) (static-sound-spec "hide-door-hit"))
(set! (-> obj door-radius) 12288.0)
(go (method-of-object obj close) #t)
(none)
)
(deftype hide-light (process-drawable)
()
:heap-base #x50
:method-count-assert 21
:size-assert #xc8
:flag-assert #x15005000c8
(:methods
(idle () _type_ :state 20)
)
)
(defskelgroup skel-hide-light hide-light 0 3
((1 (meters 999999)))
:bounds (static-spherem 0 -2.3 0 4.5)
:shadow 2
:origin-joint-index 3
:shadow-joint-index 3
)
(defskelgroup skel-hide-light-fog hide-light 5 7
((6 (meters 999999)))
:bounds (static-spherem 0 -2.5 0 3)
:origin-joint-index 3
)
(defun hide-light-spawn ((arg0 hide-light) (arg1 vector) (arg2 cspace))
(let ((v1-1
(process-spawn
manipy
:init manipy-init
(-> arg0 root trans)
(-> arg0 entity)
(art-group-get-by-name *level* "skel-hide-light-fog" (the-as (pointer uint32) #f))
#f
0
:to arg0
)
)
)
(send-event
(ppointer->process v1-1)
'eval
(lambda :behavior hide-light
()
(let ((v0-0 (-> self node-list data)))
(set! (-> v0-0 0 param0) (the-as (function cspace matrix none) cspace<-parent-joint!))
(set! (-> v0-0 0 param1) (the-as basic (-> self parent)))
(set! (-> v0-0 0 param2) (the-as basic 12))
v0-0
)
)
)
)
0
(none)
)
(defstate idle (hide-light)
:virtual #t
:code (behavior ()
(until #f
(ja-no-eval :group! (-> self draw art-group data 3)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
#f
(none)
)
:post (the-as (function none :behavior hide-light) ja-post)
)
;; WARN: Return type mismatch object vs none.
(defmethod init-from-entity! hide-light ((obj hide-light) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask ambient) (-> obj mask)))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(logclear! (-> obj mask) (process-mask actor-pause))
(initialize-skeleton
obj
(the-as skeleton-group (art-group-get-by-name *level* "skel-hide-light" (the-as (pointer uint32) #f)))
(the-as pair 0)
)
(let ((v1-9 (new 'process 'shadow-control -25088.0 0.0 -40960.0 (shadow-flags shdf03 shdf04) 163840.0)))
(set-vector! (-> v1-9 settings shadow-dir) 0.0 -1.0 0.0 13926.4)
(set-vector! (-> v1-9 settings bot-plane) 0.0 -1.0 0.0 58982.4)
(set-vector! (-> v1-9 settings top-plane) 0.0 -1.0 0.0 0.0)
(set! (-> v1-9 settings shadow-type) 1)
(set! (-> obj draw shadow-ctrl) v1-9)
)
(hide-light-spawn obj *zero-vector* (-> obj node-list data 12))
(set-setting! 'spotlight-color #f 0 (the-as uint #x80c0c0c0))
(ja-post)
(go (method-of-object obj idle))
(none)
)
@@ -5,5 +5,862 @@
;; name in dgo: hideout-part
;; dgos: HIDEOUT
;; og:ignore-from-loc
;; DECOMP BEGINS
(deftype hide-part (part-spawner)
()
:heap-base #x30
:method-count-assert 16
:size-assert #xb0
:flag-assert #x10003000b0
)
(defpartgroup group-hide-barrel-fire
:id 771
:bounds (static-bspherem 0 3 0 4)
:parts ((sp-item 3360 :fade-after (meters 50) :falloff-to (meters 80))
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period 100 :length 50)
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period 120 :length 55 :offset 20)
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period 160 :length 30 :offset 35)
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period 255 :length 60 :offset 65)
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period 375 :length 40 :offset 15)
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period 430 :length 50 :offset 85)
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period 600 :length 70 :offset 100)
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period 1250 :length 45 :offset 450)
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period 1500 :length 25 :offset 115)
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period 2100 :length 55 :offset 80)
(sp-item 3364 :fade-after (meters 40) :falloff-to (meters 40) :binding 3359)
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3365 :fade-after (meters 60) :falloff-to (meters 80))
(sp-item 3366 :fade-after (meters 50) :falloff-to (meters 50))
(sp-item 3367 :flags (bit6))
)
)
(defpart 3367
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-scale-x (meters 5) (meters 0.1) 1.0)
(sp-flt spt-rot-x 8192.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-rnd-flt spt-g 0.0 128.0 1.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 12.0)
(sp-flt spt-fade-a -0.4)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 10240.0)
)
)
(defpart 3364
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #xc))
(sp-rnd-flt spt-num 0.0 1.0 1.0)
(sp-sound (static-sound-spec "fire-pop" :volume 10000.0))
(sp-rnd-flt spt-x (meters -0.3) (meters 0.6) 1.0)
(sp-flt spt-scale-x (meters 0.1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 256.0)
(sp-flt spt-g 0.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.026666667) 1.0)
(sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0)
(sp-flt spt-friction 0.96)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-3)
(sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 40.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 3359
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-z (meters 0.1) (meters 0.3) 1.0)
(sp-flt spt-scale-x (meters 0.1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 256.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 96.0 32.0 1.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.053333335) 1.0)
(sp-flt spt-vel-y (meters 0))
(sp-rnd-flt spt-vel-z (meters -0.0013333333) (meters 0.0026666666) 1.0)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g -0.7111111)
(sp-flt spt-fade-b -0.7111111)
(sp-flt spt-fade-a -0.42666668)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch)
(sp-int spt-next-time 180)
(sp-launcher-by-id spt-next-launcher 3368)
)
)
(defpart 3368
:init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667))
)
(defpart 3361
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.8))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 79 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 3369)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 87.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 3362
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.8))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 79 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 3369)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 120.0) (degrees 90.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 3363
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.8))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 79 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 3369)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 240.0) (degrees 110.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 3369
:init-specs ((sp-flt spt-b 0.0)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g 0.0)
(sp-flt spt-fade-b 0.0)
(sp-rnd-flt spt-fade-a -0.4 -0.2 1.0)
(sp-int-plain-rnd spt-next-time 40 9 1)
(sp-launcher-by-id spt-next-launcher 3370)
)
)
(defpart 3370
:init-specs ((sp-flt spt-fade-r -0.125) (sp-flt spt-fade-g 0.4) (sp-flt spt-fade-b 0.4))
)
(defpart 3360
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 1.0 5.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.8))
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 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 32.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-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-a -0.16 -0.16 1.0)
(sp-flt spt-accel-y -0.4096)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-4)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 3365
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-flt spt-num 0.5)
(sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0)
(sp-rnd-flt spt-scale-x (meters 1) (meters 0.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 196.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 8.0 8.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0)
(sp-flt spt-scalevel-x (meters 0.006666667))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.64)
(sp-flt spt-fade-g -0.32)
(sp-flt spt-fade-b -0.32)
(sp-rnd-flt spt-fade-a -0.017777778 -0.026666667 1.0)
(sp-flt spt-accel-y -0.027306668)
(sp-flt spt-friction 0.99)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-int-plain-rnd spt-next-time 150 49 1)
(sp-launcher-by-id spt-next-launcher 3371)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 3371
:init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0))
)
(defpart 3366
:init-specs ((sp-flt spt-num 0.6)
(sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0)
(sp-int spt-rot-x 8)
(sp-flt spt-r 1638.4)
(sp-flt spt-g 1331.2)
(sp-flt spt-b 1433.6)
(sp-rnd-flt spt-vel-x (meters 0) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0)
(sp-flt spt-friction 0.96)
(sp-int spt-timer 300)
(sp-cpuinfo-flags distort)
(sp-int spt-next-time 150)
(sp-launcher-by-id spt-next-launcher 3372)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 3372
:init-specs ((sp-flt spt-fade-b -0.68266666))
)
(defpartgroup group-hide-moth
:id 772
:bounds (static-bspherem 0 0 0 3)
:parts ((sp-item 3375 :flags (bit1) :period 18000 :length 5 :binding 3373)
(sp-item 3373 :flags (start-dead launch-asap) :binding 3374)
(sp-item 3373 :flags (start-dead launch-asap) :binding 3374)
(sp-item 3374 :flags (is-3d start-dead))
(sp-item 3374 :flags (is-3d start-dead))
(sp-item 3376 :flags (bit6))
(sp-item 3377 :flags (bit6))
)
)
(defpart 3376
: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.1))
(sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.1) 1.0)
(sp-flt spt-rot-x 409.6)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 24.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 2048.0)
)
)
(defpart 3377
: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.1))
(sp-rnd-flt spt-scale-x (meters 3) (meters 0.1) 1.0)
(sp-flt spt-rot-x 409.6)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-rnd-flt spt-a 4.0 2.0 1.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 2048.0)
)
)
(defpart 3375
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-scale-x (meters 1.1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-a 0.0)
(sp-int spt-timer 18000)
(sp-cpuinfo-flags sp-cpuinfo-flag-3)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 3373
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
(sp-flt spt-z (meters 1.5))
(sp-flt spt-scale-x (meters 1.1))
(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-flt spt-a 0.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0)
(sp-flt spt-vel-z (meters 0))
(sp-int spt-timer 18000)
(sp-cpuinfo-flags sp-cpuinfo-flag-3 ready-to-launch)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 3378)
)
)
(defpart 3378
:init-specs ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 3378)
)
)
(defpart 3374
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x3e7))
(sp-func spt-birth-func 'birth-func-copy-rot-color)
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 0.2))
(sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0)
(sp-flt spt-scale-y (meters 0.2))
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 128.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 aux-list sp-cpuinfo-flag-12)
)
)
(defpartgroup group-hide-fireplace-sparks
:id 773
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 3379 :period 2400 :length 5)
(sp-item 3379 :period 3155 :length 10)
(sp-item 3379 :period 3815 :length 5)
(sp-item 3379 :period 4770 :length 10)
)
)
(defpart 3379
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0)
(sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-int spt-rot-x 4)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-flt spt-scale-y (meters 0.04))
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-flt spt-omega 0.4096)
(sp-rnd-flt spt-vel-y (meters 0.046666667) (meters 0.06666667) 1.0)
(sp-flt spt-scalevel-x (meters -0.00008333333))
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -0.4)
(sp-flt spt-fade-b -0.8)
(sp-flt spt-accel-y -12.288)
(sp-rnd-flt spt-friction 0.85 0.04 1.0)
(sp-int spt-timer 1200)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-flt spt-userdata -19660.8)
(sp-func spt-func 'check-drop-level-hide-fireplace-sparks)
(sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 40.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 80.0) (degrees 20.0) 1.0)
(sp-flt spt-rotate-y (degrees -90.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 3380
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.025) 1.0)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-flt spt-fade-g -0.4)
(sp-flt spt-fade-b -0.8)
(sp-rnd-flt spt-fade-a -0.42666668 -0.85333335 1.0)
(sp-rnd-flt spt-accel-y -1.024 -0.34133333 1.0)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-rnd-flt spt-conerot-x (degrees 10.0) (degrees 60.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 3381
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.025) 1.0)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-flt spt-fade-g -0.10666667)
(sp-flt spt-fade-b -0.8)
(sp-rnd-flt spt-friction 0.94 0.02 1.0)
(sp-int spt-timer 2400)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-int-plain-rnd spt-next-time 450 149 1)
(sp-launcher-by-id spt-next-launcher 3382)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 3382
:init-specs ((sp-flt spt-rotvel-z (degrees 0.0)) (sp-rnd-flt spt-fade-a -0.10666667 -0.10666667 1.0))
)
(defun check-drop-level-hide-fireplace-sparks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
(sparticle-motion-blur arg0 arg1 arg2)
(when (< (-> arg2 y) (-> arg1 user-float))
(let ((gp-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
(let ((t9-2 sp-launch-particles-var)
(a0-4 *sp-particle-system-2d*)
(a1-3 (-> *part-id-table* 3380))
(a2-2 *launch-matrix*)
)
(set! (-> a2-2 trans quad) (-> gp-0 quad))
(t9-2 a0-4 a1-3 a2-2 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
(let ((t9-3 sp-launch-particles-var)
(a0-5 *sp-particle-system-2d*)
(a1-4 (-> *part-id-table* 3381))
(a2-3 *launch-matrix*)
)
(set! (-> a2-3 trans quad) (-> gp-0 quad))
(t9-3 a0-5 a1-4 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
)
)
(none)
)
(defpartgroup group-hide-ceilingsmoke :id 774 :bounds (static-bspherem 0 0 0 12) :parts ((sp-item 3383)))
(defpart 3383
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-flt spt-num 0.4)
(sp-rnd-flt spt-y (meters -0.5) (meters -0.5) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 6) 1.0)
(sp-rnd-flt spt-scale-y (meters 1) (meters 0.5) 1.0)
(sp-rnd-flt spt-r 64.0 16.0 1.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 64.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.006666667) 1.0)
(sp-flt spt-fade-a 0.026666667)
(sp-flt spt-friction 0.99)
(sp-int spt-timer 4500)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-int-plain-rnd spt-next-time 300 299 1)
(sp-launcher-by-id spt-next-launcher 3384)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 10) 1.0)
)
)
(defpart 3384
:init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1500) (sp-launcher-by-id spt-next-launcher 3385))
)
(defpart 3385
:init-specs ((sp-flt spt-fade-a -0.026666667))
)
(defpartgroup group-hideout-pipe
:id 775
:duration (seconds 0.017)
:flags (use-local-clock unk-4)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 3386 :flags (bit7)))
)
(defpart 3386
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x49 :page #x3e7))
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 0.1) 1.0)
(sp-flt spt-z (meters -0.28))
(sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.05) 1.0)
(sp-int spt-rot-x 4)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-flt spt-omega 1.2288)
(sp-rnd-flt spt-vel-z (meters 0.016666668) (meters 0.0033333334) 1.0)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc)
(sp-func spt-func 'sparticle-motion-blur)
(sp-int-plain-rnd spt-next-time 30 4 1)
(sp-launcher-by-id spt-next-launcher 3387)
(sp-flt spt-rotate-y (degrees 0.0))
(sp-rnd-flt spt-rotate-z (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 3387
:init-specs ((sp-rnd-flt spt-scale-x (meters 0.005) (meters 0.04) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-vel-x (meters -0.01) (meters 0.02) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.02) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.01) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
)
)
(defpartgroup group-hideout-mouth
:id 776
:duration (seconds 0.017)
:flags (use-local-clock unk-4)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 3388 :flags (bit7))
(sp-item 3389 :flags (bit7))
(sp-item 3390 :flags (bit7))
(sp-item 3391 :flags (bit7))
)
)
(defpart 3388
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 4.0 2.0 1.0)
(sp-flt spt-x (meters -0.05))
(sp-rnd-flt spt-scale-x (meters 0.01) (meters 0.03) 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-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-a -0.85333335 -0.85333335 1.0)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
(sp-rnd-flt spt-friction 0.93 0.03 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 3389
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 4.0 2.0 1.0)
(sp-flt spt-x (meters -0.05))
(sp-rnd-flt spt-scale-x (meters 0.01) (meters 0.03) 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 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-a -0.85333335 -0.85333335 1.0)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
(sp-rnd-flt spt-friction 0.93 0.03 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 3390
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x49 :page #x3e7))
(sp-rnd-flt spt-num 32.0 8.0 1.0)
(sp-flt spt-x (meters -0.05))
(sp-rnd-flt spt-scale-x (meters 0.005) (meters 0.015) 1.0)
(sp-int spt-rot-x 4)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-flt spt-omega 0.12288)
(sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-fade-a -0.85333335)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
(sp-int spt-timer 75)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc)
(sp-func spt-func 'sparticle-motion-blur)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 3391
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 16.0 4.0 1.0)
(sp-flt spt-x (meters -0.05))
(sp-rnd-flt spt-scale-x (meters 0.01) (meters 0.005) 1.0)
(sp-int spt-rot-x 4)
(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-flt spt-omega 0.2048)
(sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-fade-a -0.85333335)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
(sp-int spt-timer 75)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc)
(sp-func spt-func 'sparticle-motion-blur)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpartgroup group-hideout-mud-drip
:id 777
:duration (seconds 0.017)
:flags (use-local-clock unk-4)
:bounds (static-bspherem 0 -2 0 3)
:parts ((sp-item 3392) (sp-item 3393 :flags (is-3d)))
)
(defpart 3393
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x49 :page #x3e7))
(sp-flt spt-num 2.0)
(sp-flt spt-y (meters -1.2))
(sp-flt spt-z (meters -0.35))
(sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.04) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.07) (meters 0.04) 1.0)
(sp-flt spt-r 128.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-rnd-flt spt-scalevel-x (meters -0.000008333333) (meters -0.000008333333) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -0.32)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-12)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-flt spt-rotate-y (degrees 0.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
(defpart 3392
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x49 :page #x3e7))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters -0.1))
(sp-flt spt-z (meters 0.35))
(sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.04) 1.0)
(sp-int spt-rot-x 4)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-flt spt-omega 3.2768)
(sp-flt spt-vel-z (meters -0.0033333334))
(sp-int spt-timer 650)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc)
(sp-func spt-func 'sparticle-motion-blur)
(sp-int-plain-rnd spt-next-time 100 -1 1)
(sp-launcher-by-id spt-next-launcher 3394)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 3394
:init-specs ((sp-rnd-flt spt-accel-y -1.9114667 -0.27306667 1.0)
(sp-flt spt-friction 0.92)
(sp-int-plain-rnd spt-next-time 245 -1 1)
(sp-launcher-by-id spt-next-launcher 3395)
)
)
(defpart 3395
:init-specs ((sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.00066666666) (meters 0.006) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-friction 0.95)
)
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -18,8 +18,8 @@
(away-from-rand-transv-xz-hi float :offset 68)
(away-from-rand-transv-y-lo float :offset 72)
(away-from-rand-transv-y-hi float :offset 76)
(hit-xz-reaction float :offset 80)
(hit-y-reaction float :offset 84)
(hit-xz-reaction float :offset-assert 80)
(hit-y-reaction float :offset-assert 84)
)
:method-count-assert 9
:size-assert #x58
@@ -171,7 +171,7 @@
((head int32 :offset-assert 0)
(pre-moved? symbol :offset-assert 4)
(bbox-valid? symbol :offset-assert 8)
(probeless? basic :offset-assert 12)
(probeless? symbol :offset-assert 12)
(bbox bounding-box :inline :offset-assert 16)
)
:method-count-assert 9
@@ -512,11 +512,11 @@
)
(while (>= s2-0 0)
(set! sv-80 (-> s3-0 joint s2-0))
(let ((s1-0 (new 'stack-no-clear 'matrix))
(let ((s1-0 (new 'stack-no-clear 'bounding-box))
(s0-0 (-> arg0 bbox-valid?))
)
(set! (-> s1-0 vector 0 quad) (-> arg0 bbox min quad))
(set! (-> s1-0 vector 1 quad) (-> arg0 bbox max quad))
(set! (-> s1-0 min quad) (-> arg0 bbox min quad))
(set! (-> s1-0 max quad) (-> arg0 bbox max quad))
(update-bbox-for-joint obj arg0 sv-80)
(let* ((v1-7 arg1)
(v1-8 (cond
@@ -539,8 +539,8 @@
(set! s2-0 sv-48)
(update-bbox-for-joint obj (the-as joint-exploder-list sv-64) sv-80)
(set! (-> arg0 bbox-valid?) s0-0)
(set! (-> arg0 bbox min quad) (-> s1-0 vector 0 quad))
(set! (-> arg0 bbox max quad) (-> s1-0 vector 1 quad))
(set! (-> arg0 bbox min quad) (-> s1-0 min quad))
(set! (-> arg0 bbox max quad) (-> s1-0 max quad))
)
)
)
@@ -871,7 +871,7 @@
)
)
(let ((v1-5 (-> self lists)))
(set! (-> v1-5 0 probeless?) (the-as basic #t))
(set! (-> v1-5 0 probeless?) #t)
)
(set! (-> self root) (new 'process 'trsqv))
(set! (-> self root trans quad) (-> (the-as process-drawable (-> self parent 0)) root trans quad))
+1 -1
View File
@@ -32,7 +32,7 @@
:heap-size #x4000
)
(new 'static 'entity-info
:ptype (type-ref ctyslumb-part :method-count 19)
:ptype (type-ref ctyslumb-part :method-count 16)
:package "game"
:art-group '()
:pool '*16k-dead-pool*
+507
View File
@@ -0,0 +1,507 @@
;;-*-Lisp-*-
(in-package goal)
;; failed to figure out what this is:
(defpart 915
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x45 :page #xc))
(sp-func spt-birth-func 'birth-func-set-quat)
(sp-flt spt-num 1.0)
(sp-flt spt-scale-x (meters 0.4))
(sp-flt spt-scale-y (meters 9))
(sp-flt spt-r 128.0)
(sp-rnd-flt spt-g 0.0 64.0 1.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 128.0)
(sp-flt spt-scalevel-x (meters 0.0016666667))
(sp-flt spt-fade-a -2.1333334)
(sp-int spt-timer 40)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-14 left-multiply-quat)
)
)
;; failed to figure out what this is:
(defpartgroup group-turret-shot-hit
:id 200
:duration (seconds 1)
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 916 :flags (bit6) :period 600 :length 5)
(sp-item 917 :flags (bit6) :period 600 :length 5)
(sp-item 918 :flags (bit6) :period 600 :length 5)
(sp-item 919 :period 600 :length 5)
)
)
;; failed to figure out what this is:
(defpart 917
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 1))
(sp-flt spt-rot-x 409.6)
(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 255.0)
(sp-flt spt-g 32.0)
(sp-rnd-flt spt-b 32.0 8.0 1.0)
(sp-flt spt-a 24.0)
(sp-flt spt-scalevel-x (meters 0.12857144))
(sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -3.6571429)
(sp-flt spt-fade-b -0.9142857)
(sp-int spt-timer 80)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 glow)
(sp-flt spt-userdata 4096.0)
(sp-int spt-next-time 35)
(sp-launcher-by-id spt-next-launcher 920)
)
)
;; failed to figure out what this is:
(defpart 920
:init-specs ((sp-flt spt-scale-x (meters 4.5))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.08888889))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -3.1111112)
(sp-flt spt-fade-b 0.0)
(sp-flt spt-fade-a -1.0666667)
)
)
;; failed to figure out what this is:
(defpart 916
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-scale-x (meters 0.5))
(sp-flt spt-rot-x 102.4)
(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 255.0)
(sp-flt spt-g 32.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 64.0)
(sp-flt spt-scalevel-x (meters 0.16666667))
(sp-flt spt-rotvel-z (degrees 0.3))
(sp-copy-from-other spt-scalevel-y -4)
(sp-int spt-timer 100)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 4096.0)
(sp-int spt-next-time 15)
(sp-launcher-by-id spt-next-launcher 921)
)
)
;; failed to figure out what this is:
(defpart 921
:init-specs ((sp-flt spt-scale-x (meters 3.5))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.025))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-b -6.375)
(sp-int spt-next-time 40)
(sp-launcher-by-id spt-next-launcher 922)
)
)
;; failed to figure out what this is:
(defpart 922
:init-specs ((sp-flt spt-scale-x (meters 2))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.025))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g -1.6)
(sp-flt spt-fade-b 0.0)
(sp-flt spt-fade-a -1.6)
)
)
;; failed to figure out what this is:
(defpart 918
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 3) (meters 0.4) 1.0)
(sp-flt spt-rot-x 204.8)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 0.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 64.0)
(sp-flt spt-scalevel-x (meters 0.075))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -1.8285714)
(sp-int spt-timer 40)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 4096.0)
)
)
;; failed to figure out what this is:
(defpart 919
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 6.0 6.0 1.0)
(sp-rnd-flt spt-scale-x (meters 1.25) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 0.0)
(sp-flt spt-b 0.0)
(sp-rnd-flt spt-a 16.0 48.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.30476192)
(sp-flt spt-fade-g 0.15238096)
(sp-flt spt-fade-b 0.30476192)
(sp-flt spt-fade-a -0.15238096)
(sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0)
(sp-flt spt-friction 0.9)
(sp-int spt-timer 420)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 923
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x14 :page #xc))
(sp-rnd-flt spt-num 4.0 4.0 1.0)
(sp-rnd-flt spt-z (meters 0) (meters -3) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.8) (meters 0.4) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.8) (meters 0.4) 1.0)
(sp-flt spt-r 192.0)
(sp-rnd-flt spt-g 64.0 128.0 1.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 64.0)
(sp-flt spt-scalevel-x (meters -0.00234375))
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-g -1.2 -2.4 1.0)
(sp-rnd-flt spt-fade-a -1.6 -6.4 1.0)
(sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0)
(sp-int spt-timer 240)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
;; definition of type turret-shot
(deftype turret-shot (guard-shot)
((hit-pos vector :inline :offset-assert 496)
)
:heap-base #x180
:method-count-assert 40
:size-assert #x200
:flag-assert #x2801800200
)
;; definition for method 3 of type turret-shot
(defmethod inspect turret-shot ((obj turret-shot))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(let ((t9-0 (method-of-type guard-shot inspect)))
(t9-0 obj)
)
(format #t "~2Thit-pos: #<vector @ #x~X>~%" (-> obj hit-pos))
(label cfg-4)
obj
)
;; failed to figure out what this is:
(defstate impact (turret-shot)
:virtual #t
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
(case event-type
(('touched)
(let* ((s4-0 proc)
(v1-1 (if (type? s4-0 process-drawable)
(the-as process-drawable s4-0)
)
)
)
(when v1-1
(-> v1-1 root)
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-2 from) (process->ppointer self))
(set! (-> a1-2 num-params) 2)
(set! (-> a1-2 message) 'attack)
(set! (-> a1-2 param 0) (-> event param 0))
(let ((v1-7 (new 'static 'attack-info :mask (attack-info-mask mode id damage))))
(set! (-> v1-7 id) (-> self attack-id))
(set! (-> v1-7 mode) 'explode)
(set! (-> v1-7 damage) (-> self damage))
(set! (-> a1-2 param 1) (the-as uint v1-7))
)
(send-event-function proc a1-2)
)
)
)
)
(else
(projectile-event-handler proc arg1 event-type event)
)
)
)
:code (behavior ()
(let ((v1-1 (-> self root-override root-prim)))
(set! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core world-sphere w) 4915.2)
)
(let ((a1-0 (new 'stack-no-clear 'overlaps-others-params)))
(set! (-> a1-0 options) (overlaps-others-options))
(set! (-> a1-0 collide-with-filter) (the-as collide-spec -1))
(set! (-> a1-0 tlist) *touching-list*)
(find-overlapping-shapes (-> self root-override) a1-0)
)
(suspend)
(go-virtual die)
(none)
)
)
;; definition for method 25 of type turret-shot
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod spawn-impact-particles turret-shot ((obj turret-shot))
"Spawns associated particles with the projectile if applicable"
(rlet ((acc :class vf)
(vf0 :class vf)
(vf4 :class vf)
(vf5 :class vf)
(vf6 :class vf)
(vf7 :class vf)
)
(init-vf0-vector)
(let* ((gp-0 (-> obj root-override trans))
(a1-0 (-> obj tail-pos))
(s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0))
(f30-0 (vector-length s5-1))
)
(let ((s4-0 (new 'stack-no-clear 'vector)))
(let ((v1-4 a1-0))
(let ((a0-2 s5-1))
(let ((a2-1 0.8))
(.mov vf7 a2-1)
)
(.lvf vf5 (&-> a0-2 quad))
)
(.lvf vf4 (&-> v1-4 quad))
)
(.add.x.vf vf6 vf0 vf0 :mask #b1000)
(.mul.x.vf acc vf5 vf7 :mask #b111)
(.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111)
(.svf (&-> s4-0 quad) vf6)
(let ((f28-0 (-> *part-id-table* 915 init-specs 4 initial-valuef)))
(set! (-> *part-id-table* 915 init-specs 4 initial-valuef) (vector-length s5-1))
(draw-beam (-> *part-id-table* 915) a1-0 s5-1 #f #t)
(set! (-> *part-id-table* 915 init-specs 4 initial-valuef) f28-0)
)
(vector-normalize! s5-1 1.0)
(let ((t9-2 sp-launch-particles-var)
(a0-5 *sp-particle-system-2d*)
(a1-2 (-> *part-id-table* 607))
(a2-3 *launch-matrix*)
)
(set! (-> a2-3 trans quad) (-> s4-0 quad))
(t9-2 a0-5 a1-2 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
(let ((t9-3 sp-launch-particles-var)
(a0-6 *sp-particle-system-2d*)
(a1-3 (-> *part-id-table* 608))
(a2-4 *launch-matrix*)
)
(set! (-> a2-4 trans quad) (-> s4-0 quad))
(t9-3 a0-6 a1-3 a2-4 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
)
(let ((s4-1 (new 'stack-no-clear 'matrix))
(f26-0 (* 0.000027126736 f30-0))
(f30-1 (-> *part-id-table* 923 init-specs 3 initial-valuef))
(f28-1 (-> *part-id-table* 923 init-specs 4 initial-valuef))
)
(forward-up->inv-matrix s4-1 s5-1 *up-vector*)
(set! (-> s4-1 trans quad) (-> gp-0 quad))
(set! (-> *part-id-table* 923 init-specs 3 initial-valuef) (* f26-0 f30-1))
(set! (-> *part-id-table* 923 init-specs 4 initial-valuef) (* f26-0 f28-1))
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 923)
s4-1
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
(set! (-> *part-id-table* 923 init-specs 3 initial-valuef) f30-1)
(set! (-> *part-id-table* 923 init-specs 4 initial-valuef) f28-1)
)
)
0
(none)
)
)
;; definition for method 26 of type turret-shot
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod spawn-shell-particles turret-shot ((obj turret-shot))
"TODO - confirm"
(let* ((s5-0 (-> obj root-override))
(v1-2 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s5-0 trans)) 2048.0))
(gp-0 (new 'stack-no-clear 'vector))
)
(set! (-> gp-0 quad) (-> s5-0 trans quad))
(vector+! gp-0 gp-0 v1-2)
(let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000)))
(when s5-1
(let ((t9-2 (method-of-type part-tracker activate)))
(t9-2
(the-as part-tracker s5-1)
*entity-pool*
(symbol->string (-> part-tracker symbol))
(the-as pointer #x70004000)
)
)
(let ((t9-3 run-function-in-process)
(a0-8 s5-1)
(a1-6 part-tracker-init)
(a2-4 (-> *part-group-id-table* 200))
(a3-1 0)
(t0-0 #f)
(t1-0 #f)
(t2-0 #f)
(t3-0 *launch-matrix*)
)
(set! (-> t3-0 trans quad) (-> gp-0 quad))
((the-as (function object object object object object object object object none) t9-3)
a0-8
a1-6
a2-4
a3-1
t0-0
t1-0
t2-0
t3-0
)
)
(-> s5-1 ppointer)
)
)
)
0
(none)
)
;; definition for method 28 of type turret-shot
;; WARN: Return type mismatch int vs sound-id.
(defmethod play-impact-sound turret-shot ((obj turret-shot) (arg0 projectile-options))
(let ((v1-0 arg0))
(cond
((zero? v1-0)
(sound-play "drl-turret-fire")
)
((= v1-0 (projectile-options lose-altitude))
(sound-play "drl-turret-hit")
)
)
)
(the-as sound-id 0)
)
;; definition for method 31 of type turret-shot
;; INFO: Used lq/sq
;; WARN: Return type mismatch projectile-options vs none.
(defmethod init-proj-settings! turret-shot ((obj turret-shot))
"Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc
:virtual"
(set! (-> obj tail-pos quad) (-> obj root-override trans quad))
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1))
(set! (-> obj attack-mode) 'turret)
(set! (-> obj max-speed) 1228800.0)
(set! (-> obj move) guard-shot-move)
(set! (-> obj damage) 1.0)
(logior! (-> obj options) (projectile-options deal-damage))
(none)
)
;; definition for method 30 of type turret-shot
;; WARN: Return type mismatch int vs none.
(defmethod init-collision! turret-shot ((obj turret-shot))
"Init the [[projectile]]'s [[collide-shape]]"
(let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
(set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
(set! (-> s5-0 reaction)
(the-as (function control-info collide-query vector vector collide-status) cshape-reaction-just-move)
)
(set! (-> s5-0 no-reaction)
(the-as (function collide-shape-moving collide-query vector vector object) nothing)
)
(set! (-> s5-0 penetrate-using) (penetrate enemy-dark-shot))
(let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0)))
(set! (-> s5-0 total-prims) (the-as uint 3))
(set! (-> s4-0 prim-core collide-as) (collide-spec projectile))
(set! (-> s4-0 prim-core collide-with)
(collide-spec
backgnd
jak
bot
crate
civilian
enemy
obstacle
vehicle-sphere
hit-by-others-list
player-list
obstacle-for-jak
)
)
(set! (-> s4-0 prim-core action) (collide-action solid))
(set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 4915.2)
(set! (-> s5-0 root-prim) s4-0)
)
(let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0))))
(set! (-> v1-13 prim-core collide-as) (collide-spec projectile))
(set! (-> v1-13 prim-core collide-with)
(collide-spec
backgnd
jak
bot
crate
civilian
enemy
obstacle
vehicle-sphere
hit-by-others-list
player-list
obstacle-for-jak
)
)
(set! (-> v1-13 prim-core action) (collide-action solid deadly))
(set-vector! (-> v1-13 local-sphere) 0.0 0.0 0.0 2048.0)
)
(let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0))))
(set! (-> v1-15 prim-core collide-as) (collide-spec projectile))
(set! (-> v1-15 prim-core collide-with)
(collide-spec jak bot crate civilian enemy vehicle-sphere hit-by-others-list player-list obstacle-for-jak)
)
(set! (-> v1-15 prim-core action) (collide-action deadly))
(set-vector! (-> v1-15 local-sphere) 0.0 0.0 0.0 4915.2)
)
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
(let ((v1-18 (-> s5-0 root-prim)))
(set! (-> s5-0 backup-collide-as) (-> v1-18 prim-core collide-as))
(set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with))
)
(set! (-> s5-0 max-iteration-count) (the-as uint 1))
(set! (-> s5-0 event-self) 'touched)
(set! (-> obj root-override) s5-0)
)
(set! (-> obj root-override pat-ignore-mask)
(new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1)
)
0
(none)
)
@@ -0,0 +1,631 @@
;;-*-Lisp-*-
(in-package goal)
;; definition of type kiosk-part
(deftype kiosk-part (part-spawner)
()
:heap-base #x30
:method-count-assert 16
:size-assert #xb0
:flag-assert #x10003000b0
)
;; definition for method 3 of type kiosk-part
(defmethod inspect kiosk-part ((obj kiosk-part))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(let ((t9-0 (method-of-type part-spawner inspect)))
(t9-0 obj)
)
(label cfg-4)
obj
)
;; failed to figure out what this is:
(defpartgroup group-kiosk-steamescape
:id 1047
:flags (unk-4)
:bounds (static-bspherem 0 0 0 3)
:parts ((sp-item 4553 :fade-after (meters 20) :falloff-to (meters 20) :flags (bit7))
(sp-item 4554 :fade-after (meters 100) :falloff-to (meters 140) :flags (bit7))
)
)
;; failed to figure out what this is:
(defpart 4553
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
(sp-rnd-flt spt-num 0.0 5.0 1.0)
(sp-flt spt-z (meters -0.2))
(sp-rnd-flt spt-scale-x (meters 0.025) (meters 0.01) 1.0)
(sp-int spt-rot-x 4)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-rnd-flt spt-omega 1.024 0.4096 1.0)
(sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.033333335) 1.0)
(sp-rnd-flt spt-fade-a -0.64 -0.64 1.0)
(sp-rnd-flt spt-friction 0.92 0.015 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-func spt-func 'sparticle-motion-blur)
(sp-rnd-flt spt-launchrot-x (degrees -7.5) (degrees 15.0) 1.0)
(sp-rnd-flt spt-launchrot-y (degrees -7.5) (degrees 15.0) 1.0)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
;; failed to figure out what this is:
(defpart 4554
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 1.0 3.0 1.0)
(sp-flt spt-z (meters -0.2))
(sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.05) 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 255.0)
(sp-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.033333335) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.005) (meters 0.008333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-r -0.256 -0.512 1.0)
(sp-copy-from-other spt-fade-g -1)
(sp-copy-from-other spt-fade-b -1)
(sp-flt spt-fade-a 0.96)
(sp-rnd-flt spt-friction 0.9 0.015 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-int-plain-rnd spt-next-time 25 24 1)
(sp-launcher-by-id spt-next-launcher 4555)
(sp-rnd-flt spt-launchrot-x (degrees -5.0) (degrees 10.0) 1.0)
(sp-rnd-flt spt-launchrot-y (degrees -5.0) (degrees 10.0) 1.0)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
;; failed to figure out what this is:
(defpart 4555
:init-specs ((sp-rnd-flt spt-fade-a -0.48 -0.48 1.0))
)
;; failed to figure out what this is:
(defpartgroup group-kiosk-fire
:id 1048
:bounds (static-bspherem 0 3 0 4)
:parts ((sp-item 4556 :fade-after (meters 50) :falloff-to (meters 80))
(sp-item 4557 :fade-after (meters 50) :falloff-to (meters 80) :period 100 :length 50)
(sp-item 4558 :fade-after (meters 50) :falloff-to (meters 80) :period 120 :length 55 :offset 20)
(sp-item 4559 :fade-after (meters 50) :falloff-to (meters 80) :period 160 :length 30 :offset 35)
(sp-item 4557 :fade-after (meters 50) :falloff-to (meters 80) :period 255 :length 60 :offset 65)
(sp-item 4558 :fade-after (meters 50) :falloff-to (meters 80) :period 375 :length 40 :offset 15)
(sp-item 4559 :fade-after (meters 50) :falloff-to (meters 80) :period 430 :length 50 :offset 85)
(sp-item 4557 :fade-after (meters 50) :falloff-to (meters 80) :period 600 :length 70 :offset 100)
(sp-item 4558 :fade-after (meters 50) :falloff-to (meters 80) :period 1250 :length 45 :offset 450)
(sp-item 4559 :fade-after (meters 50) :falloff-to (meters 80) :period 1500 :length 25 :offset 115)
(sp-item 4557 :fade-after (meters 50) :falloff-to (meters 80) :period 2100 :length 55 :offset 80)
(sp-item 4560 :flags (bit6))
(sp-item 4561 :period 2400 :length 5)
(sp-item 4561 :period 3155 :length 10)
(sp-item 4561 :period 3815 :length 5)
(sp-item 4561 :period 4770 :length 10)
)
)
;; failed to figure out what this is:
(defpart 4561
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-int spt-rot-x 4)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-flt spt-scale-y (meters 0.04))
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-flt spt-omega 0.6144)
(sp-rnd-flt spt-vel-y (meters 0.046666667) (meters 0.06666667) 1.0)
(sp-flt spt-scalevel-x (meters -0.00008333333))
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -0.4)
(sp-flt spt-fade-b -0.8)
(sp-flt spt-accel-y -12.288)
(sp-rnd-flt spt-friction 0.86 0.02 1.0)
(sp-int spt-timer 1200)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-flt spt-userdata 32768.0)
(sp-func spt-func 'check-drop-level-kiosk-fire-sparks)
(sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 10.0) 1.0)
(sp-rnd-int-flt spt-conerot-y (degrees 92.00001) 2 4369.067)
(sp-flt spt-rotate-y (degrees -90.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4562
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.025) 1.0)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-flt spt-fade-g -0.4)
(sp-flt spt-fade-b -0.8)
(sp-rnd-flt spt-fade-a -0.42666668 -0.85333335 1.0)
(sp-rnd-flt spt-accel-y -1.024 -0.34133333 1.0)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-rnd-flt spt-conerot-x (degrees 10.0) (degrees 60.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4563
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.025) 1.0)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-flt spt-fade-g -0.10666667)
(sp-flt spt-fade-b -0.8)
(sp-rnd-flt spt-friction 0.94 0.02 1.0)
(sp-int spt-timer 2400)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-int-plain-rnd spt-next-time 450 149 1)
(sp-launcher-by-id spt-next-launcher 4564)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4564
:init-specs ((sp-flt spt-rotvel-z (degrees 0.0)) (sp-rnd-flt spt-fade-a -0.10666667 -0.10666667 1.0))
)
;; definition for function check-drop-level-kiosk-fire-sparks
;; INFO: Used lq/sq
(defun check-drop-level-kiosk-fire-sparks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
(sparticle-motion-blur arg0 arg1 arg2)
(when (< (-> arg2 y) (-> arg1 user-float))
(let ((gp-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
(let ((t9-2 sp-launch-particles-var)
(a0-4 *sp-particle-system-2d*)
(a1-3 (-> *part-id-table* 4562))
(a2-2 *launch-matrix*)
)
(set! (-> a2-2 trans quad) (-> gp-0 quad))
(t9-2 a0-4 a1-3 a2-2 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
(let ((t9-3 sp-launch-particles-var)
(a0-5 *sp-particle-system-2d*)
(a1-4 (-> *part-id-table* 4563))
(a2-3 *launch-matrix*)
)
(set! (-> a2-3 trans quad) (-> gp-0 quad))
(t9-3 a0-5 a1-4 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
)
)
(none)
)
;; failed to figure out what this is:
(defpart 4560
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0)
(sp-flt spt-rot-x 819.2)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-rnd-flt spt-g 0.0 192.0 1.0)
(sp-flt spt-b 0.0)
(sp-rnd-flt spt-a 12.0 8.0 1.0)
(sp-flt spt-fade-g -3.2)
(sp-flt spt-fade-a -0.3)
(sp-int spt-timer 40)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 0.0)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4557
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters -0.1) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.4))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 39 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 4565)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 87.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4558
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters -0.1) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.4))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 39 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 4565)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 120.0) (degrees 90.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4559
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters -0.1) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.4))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 39 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 4565)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 240.0) (degrees 110.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4565
:init-specs ((sp-flt spt-b 0.0)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g 0.0)
(sp-flt spt-fade-b 0.0)
(sp-rnd-flt spt-fade-a -0.4 -0.2 1.0)
(sp-int-plain-rnd spt-next-time 40 9 1)
(sp-launcher-by-id spt-next-launcher 4566)
)
)
;; failed to figure out what this is:
(defpart 4566
:init-specs ((sp-flt spt-fade-r -0.125) (sp-flt spt-fade-g 0.4) (sp-flt spt-fade-b 0.4))
)
;; failed to figure out what this is:
(defpart 4556
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 1.0 5.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.4))
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 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 32.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-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-a -0.16 -0.16 1.0)
(sp-flt spt-accel-y -0.4096)
(sp-int spt-timer 275)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-4)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpartgroup group-kiosk-hotpot :id 1049 :bounds (static-bspherem 0 1 0 1) :parts ((sp-item 209)))
;; failed to figure out what this is:
(defpart 4567
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 0.3)
(sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0)
(sp-rnd-flt spt-y (meters 0.25) (meters 0.25) 1.0)
(sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0)
(sp-int spt-rot-x 5)
(sp-flt spt-r 1638.4)
(sp-flt spt-g 1392.64)
(sp-flt spt-b 1433.6)
(sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.0033333334) 1.0)
(sp-rnd-flt spt-accel-y -0.13653333 -0.13653333 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags distort)
(sp-int spt-next-time 75)
(sp-launcher-by-id spt-next-launcher 4568)
)
)
;; failed to figure out what this is:
(defpart 4568
:init-specs ((sp-flt spt-fade-b -0.54613334))
)
;; failed to figure out what this is:
(defpartgroup group-kiosk-boiling-fish
:id 1050
:bounds (static-bspherem 0 1 0 1)
:parts ((sp-item 4569 :fade-after (meters 60) :falloff-to (meters 60))
(sp-item 4570 :fade-after (meters 40) :falloff-to (meters 40))
)
)
;; failed to figure out what this is:
(defpart 4570
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 0.0 1.0 1.0)
(sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0)
(sp-flt spt-y (meters 0))
(sp-rnd-flt spt-scale-x (meters 0.04) (meters 0.01) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0)
(sp-flt spt-fade-a -0.32)
(sp-rnd-flt spt-accel-y -1.3653333 -0.13653333 1.0)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4569
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 0.25)
(sp-rnd-flt spt-x (meters -0.1) (meters 0.2) 1.0)
(sp-flt spt-y (meters 0.2))
(sp-int spt-rot-x 8)
(sp-flt spt-r 1638.4)
(sp-flt spt-g 1392.64)
(sp-flt spt-b 1433.6)
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0)
(sp-rnd-flt spt-accel-y -0.13653333 -0.13653333 1.0)
(sp-rnd-flt spt-friction 0.97 0.01 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags distort)
(sp-int spt-next-time 75)
(sp-launcher-by-id spt-next-launcher 4571)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 4571
:init-specs ((sp-flt spt-fade-b -0.54613334))
)
;; failed to figure out what this is:
(defpartgroup group-kiosk-chimney
:id 1051
:bounds (static-bspherem 0 0 -10 64)
:parts ((sp-item 4572 :fade-after (meters 600) :falloff-to (meters 700) :flags (bit7)))
)
;; failed to figure out what this is:
(defpart 4572
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 0.0 0.5 1.0)
(sp-flt spt-y (meters 0.4))
(sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 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 255.0)
(sp-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-rnd-flt spt-a 24.0 24.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.03) (meters 0.01) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-r -0.10666667 -0.21333334 1.0)
(sp-copy-from-other spt-fade-g -1)
(sp-copy-from-other spt-fade-b -1)
(sp-rnd-flt spt-fade-a -0.026666667 -0.026666667 1.0)
(sp-rnd-flt spt-accel-x -4.096 -1.3653333 1.0)
(sp-rnd-flt spt-accel-y 0.4096 0.4096 1.0)
(sp-flt spt-friction 0.96)
(sp-int spt-timer 1800)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-int-plain-rnd spt-next-time 75 4 1)
(sp-launcher-by-id spt-next-launcher 4573)
(sp-flt spt-rotate-x (degrees 22.0))
(sp-flt spt-rotate-y (degrees 45.0))
)
)
;; failed to figure out what this is:
(defpart 4573
:init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
)
)
;; failed to figure out what this is:
(defpart 4574
:init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
)
)
;; failed to figure out what this is:
(defpartgroup group-kiosk-neon-sign
:id 1052
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 4575 :fade-after (meters 350) :flags (is-3d bit6) :period 600 :length 300)
(sp-item 4576 :flags (is-3d bit6) :period 600 :length 300 :offset 300)
(sp-item 4577 :fade-after (meters 400) :flags (bit6) :period 600 :length 300 :offset 300)
)
)
;; failed to figure out what this is:
(defpart 4577
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-flt spt-z (meters 0.1))
(sp-rnd-flt spt-scale-x (meters 12) (meters 0.1) 1.0)
(sp-flt spt-rot-x 18432.0)
(sp-rnd-flt spt-scale-y (meters 24) (meters 0.1) 1.0)
(sp-flt spt-r 255.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 255.0)
(sp-rnd-flt spt-a 12.0 4.0 1.0)
(sp-flt spt-omega 1641676.8)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 2048.0)
)
)
;; failed to figure out what this is:
(defpart 4575
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x91e))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-flt spt-z (meters 0.1))
(sp-flt spt-scale-x (meters 12))
(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 6))
(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 127.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-flt spt-rotate-y (degrees 140.0))
)
)
;; failed to figure out what this is:
(defpart 4576
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x91e))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-flt spt-z (meters 0.1))
(sp-flt spt-scale-x (meters 12))
(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 6))
(sp-rnd-flt spt-r 100.0 128.0 1.0)
(sp-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 127.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-flt spt-rotate-y (degrees 140.0))
)
)
File diff suppressed because it is too large Load Diff
-4
View File
@@ -251,7 +251,3 @@
)
(none)
)
+202
View File
@@ -0,0 +1,202 @@
;;-*-Lisp-*-
(in-package goal)
;; failed to figure out what this is:
(defskelgroup skel-hide-door-b hide-door-b 0 2
((1 (meters 999999)))
:bounds (static-spherem 0 2 0 5)
:origin-joint-index 3
)
;; definition of type hide-door-b
(deftype hide-door-b (com-airlock)
()
:heap-base #x100
:method-count-assert 28
:size-assert #x174
:flag-assert #x1c01000174
)
;; definition for method 3 of type hide-door-b
(defmethod inspect hide-door-b ((obj hide-door-b))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(let ((t9-0 (method-of-type com-airlock inspect)))
(t9-0 obj)
)
(label cfg-4)
obj
)
;; definition for method 11 of type hide-door-b
;; WARN: Return type mismatch object vs none.
(defmethod init-from-entity! hide-door-b ((obj hide-door-b) (arg0 entity-actor))
(let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))))
(set! (-> s5-0 penetrated-by) (penetrate))
(let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0)))
(set! (-> s5-0 total-prims) (the-as uint 3))
(set! (-> s4-0 prim-core collide-as) (collide-spec obstacle))
(set! (-> s4-0 prim-core collide-with) (collide-spec jak bot player-list))
(set! (-> s4-0 prim-core action) (collide-action solid))
(set! (-> s4-0 transform-index) 3)
(set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 32768.0)
(set! (-> s5-0 root-prim) s4-0)
)
(let ((v1-9 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0))))
(set! (-> v1-9 prim-core collide-as) (collide-spec obstacle))
(set! (-> v1-9 prim-core collide-with) (collide-spec jak bot player-list))
(set! (-> v1-9 prim-core action) (collide-action solid))
(set! (-> v1-9 transform-index) 4)
(set-vector! (-> v1-9 local-sphere) 0.0 0.0 0.0 16384.0)
)
(let ((v1-11 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0))))
(set! (-> v1-11 prim-core collide-as) (collide-spec obstacle))
(set! (-> v1-11 prim-core collide-with) (collide-spec jak bot player-list))
(set! (-> v1-11 prim-core action) (collide-action solid))
(set! (-> v1-11 transform-index) 5)
(set-vector! (-> v1-11 local-sphere) 0.0 0.0 0.0 16384.0)
)
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
(let ((v1-14 (-> s5-0 root-prim)))
(set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as))
(set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with))
)
(set! (-> obj root-override) s5-0)
)
(initialize-skeleton
obj
(the-as skeleton-group (art-group-get-by-name *level* "skel-hide-door-b" (the-as (pointer uint32) #f)))
(the-as pair 0)
)
(init-airlock! obj)
(set! (-> obj sound-open-loop) (static-sound-spec "hide-door-open"))
(set! (-> obj sound-open-stop) (static-sound-spec "hide-door-hit"))
(set! (-> obj sound-close-loop) (static-sound-spec "hide-door-close"))
(set! (-> obj sound-close-stop) (static-sound-spec "hide-door-hit"))
(set! (-> obj door-radius) 12288.0)
(go (method-of-object obj close) #t)
(none)
)
;; definition of type hide-light
(deftype hide-light (process-drawable)
()
:heap-base #x50
:method-count-assert 21
:size-assert #xc8
:flag-assert #x15005000c8
(:methods
(idle () _type_ :state 20)
)
)
;; definition for method 3 of type hide-light
(defmethod inspect hide-light ((obj hide-light))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(label cfg-4)
obj
)
;; failed to figure out what this is:
(defskelgroup skel-hide-light hide-light 0 3
((1 (meters 999999)))
:bounds (static-spherem 0 -2.3 0 4.5)
:shadow 2
:origin-joint-index 3
:shadow-joint-index 3
)
;; failed to figure out what this is:
(defskelgroup skel-hide-light-fog hide-light 5 7
((6 (meters 999999)))
:bounds (static-spherem 0 -2.5 0 3)
:origin-joint-index 3
)
;; definition for function hide-light-spawn
;; WARN: Return type mismatch int vs none.
(defun hide-light-spawn ((arg0 hide-light) (arg1 vector) (arg2 cspace))
(let ((v1-1
(process-spawn
manipy
:init manipy-init
(-> arg0 root trans)
(-> arg0 entity)
(art-group-get-by-name *level* "skel-hide-light-fog" (the-as (pointer uint32) #f))
#f
0
:to arg0
)
)
)
(send-event
(ppointer->process v1-1)
'eval
(lambda :behavior hide-light
()
(let ((v0-0 (-> self node-list data)))
(set! (-> v0-0 0 param0) (the-as (function cspace matrix none) cspace<-parent-joint!))
(set! (-> v0-0 0 param1) (the-as basic (-> self parent)))
(set! (-> v0-0 0 param2) (the-as basic 12))
v0-0
)
)
)
)
0
(none)
)
;; failed to figure out what this is:
(defstate idle (hide-light)
:virtual #t
:code (behavior ()
(until #f
(ja-no-eval :group! (-> self draw art-group data 3)
:num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) frames num-frames) -1)))
:frame-num 0.0
)
(until (ja-done? 0)
(suspend)
(ja :num! (seek!))
)
)
#f
(none)
)
:post (the-as (function none :behavior hide-light) ja-post)
)
;; definition for method 11 of type hide-light
;; WARN: Return type mismatch object vs none.
(defmethod init-from-entity! hide-light ((obj hide-light) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask ambient) (-> obj mask)))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(logclear! (-> obj mask) (process-mask actor-pause))
(initialize-skeleton
obj
(the-as skeleton-group (art-group-get-by-name *level* "skel-hide-light" (the-as (pointer uint32) #f)))
(the-as pair 0)
)
(let ((v1-9 (new 'process 'shadow-control -25088.0 0.0 -40960.0 (shadow-flags shdf03 shdf04) 163840.0)))
(set-vector! (-> v1-9 settings shadow-dir) 0.0 -1.0 0.0 13926.4)
(set-vector! (-> v1-9 settings bot-plane) 0.0 -1.0 0.0 58982.4)
(set-vector! (-> v1-9 settings top-plane) 0.0 -1.0 0.0 0.0)
(set! (-> v1-9 settings shadow-type) 1)
(set! (-> obj draw shadow-ctrl) v1-9)
)
(hide-light-spawn obj *zero-vector* (-> obj node-list data 12))
(set-setting! 'spotlight-color #f 0 (the-as uint #x80c0c0c0))
(ja-post)
(go (method-of-object obj idle))
(none)
)
+921
View File
@@ -0,0 +1,921 @@
;;-*-Lisp-*-
(in-package goal)
;; definition of type hide-part
(deftype hide-part (part-spawner)
()
:heap-base #x30
:method-count-assert 16
:size-assert #xb0
:flag-assert #x10003000b0
)
;; definition for method 3 of type hide-part
(defmethod inspect hide-part ((obj hide-part))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(let ((t9-0 (method-of-type part-spawner inspect)))
(t9-0 obj)
)
(label cfg-4)
obj
)
;; failed to figure out what this is:
(defpartgroup group-hide-barrel-fire
:id 771
:bounds (static-bspherem 0 3 0 4)
:parts ((sp-item 3360 :fade-after (meters 50) :falloff-to (meters 80))
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period 100 :length 50)
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period 120 :length 55 :offset 20)
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period 160 :length 30 :offset 35)
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period 255 :length 60 :offset 65)
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period 375 :length 40 :offset 15)
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period 430 :length 50 :offset 85)
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period 600 :length 70 :offset 100)
(sp-item 3362 :fade-after (meters 50) :falloff-to (meters 80) :period 1250 :length 45 :offset 450)
(sp-item 3363 :fade-after (meters 50) :falloff-to (meters 80) :period 1500 :length 25 :offset 115)
(sp-item 3361 :fade-after (meters 50) :falloff-to (meters 80) :period 2100 :length 55 :offset 80)
(sp-item 3364 :fade-after (meters 40) :falloff-to (meters 40) :binding 3359)
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3359 :flags (bit1 start-dead launch-asap))
(sp-item 3365 :fade-after (meters 60) :falloff-to (meters 80))
(sp-item 3366 :fade-after (meters 50) :falloff-to (meters 50))
(sp-item 3367 :flags (bit6))
)
)
;; failed to figure out what this is:
(defpart 3367
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters 0.5))
(sp-rnd-flt spt-scale-x (meters 5) (meters 0.1) 1.0)
(sp-flt spt-rot-x 8192.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-rnd-flt spt-g 0.0 128.0 1.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 12.0)
(sp-flt spt-fade-a -0.4)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 10240.0)
)
)
;; failed to figure out what this is:
(defpart 3364
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #xc))
(sp-rnd-flt spt-num 0.0 1.0 1.0)
(sp-sound (static-sound-spec "fire-pop" :volume 10000.0))
(sp-rnd-flt spt-x (meters -0.3) (meters 0.6) 1.0)
(sp-flt spt-scale-x (meters 0.1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 256.0)
(sp-flt spt-g 0.0)
(sp-flt spt-b 0.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.026666667) 1.0)
(sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0)
(sp-flt spt-friction 0.96)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-3)
(sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 40.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3359
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-z (meters 0.1) (meters 0.3) 1.0)
(sp-flt spt-scale-x (meters 0.1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 256.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 96.0 32.0 1.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.053333335) 1.0)
(sp-flt spt-vel-y (meters 0))
(sp-rnd-flt spt-vel-z (meters -0.0013333333) (meters 0.0026666666) 1.0)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g -0.7111111)
(sp-flt spt-fade-b -0.7111111)
(sp-flt spt-fade-a -0.42666668)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch)
(sp-int spt-next-time 180)
(sp-launcher-by-id spt-next-launcher 3368)
)
)
;; failed to figure out what this is:
(defpart 3368
:init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667))
)
;; failed to figure out what this is:
(defpart 3361
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.8))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 79 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 3369)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 87.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3362
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.8))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 79 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 3369)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 120.0) (degrees 90.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3363
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.8))
(sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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-rnd-flt spt-r 240.0 15.0 1.0)
(sp-rnd-flt spt-g 200.0 16.0 1.0)
(sp-rnd-flt spt-b 160.0 16.0 1.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-flt spt-vel-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0)
(sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0)
(sp-flt spt-fade-b -5.3333335)
(sp-flt spt-accel-y -0.4096)
(sp-int-plain-rnd spt-timer 160 79 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-int-plain-rnd spt-next-time 30 9 1)
(sp-launcher-by-id spt-next-launcher 3369)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 240.0) (degrees 110.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3369
:init-specs ((sp-flt spt-b 0.0)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g 0.0)
(sp-flt spt-fade-b 0.0)
(sp-rnd-flt spt-fade-a -0.4 -0.2 1.0)
(sp-int-plain-rnd spt-next-time 40 9 1)
(sp-launcher-by-id spt-next-launcher 3370)
)
)
;; failed to figure out what this is:
(defpart 3370
:init-specs ((sp-flt spt-fade-r -0.125) (sp-flt spt-fade-g 0.4) (sp-flt spt-fade-b 0.4))
)
;; failed to figure out what this is:
(defpart 3360
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
(sp-func spt-birth-func 'birth-func-texture-group)
(sp-rnd-flt spt-num 1.0 5.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0)
(sp-flt spt-y (meters -0.8))
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 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 32.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-x (meters 0.00033333333))
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-rnd-flt spt-fade-a -0.16 -0.16 1.0)
(sp-flt spt-accel-y -0.4096)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-4)
(new 'static 'sp-field-init-spec
:field (sp-field-id spt-userdata)
:flags (sp-flag plain-v2)
:object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300)
)
(sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778)
(sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3365
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-flt spt-num 0.5)
(sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0)
(sp-rnd-flt spt-scale-x (meters 1) (meters 0.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 196.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 8.0 8.0 1.0)
(sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0)
(sp-flt spt-scalevel-x (meters 0.006666667))
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -0.64)
(sp-flt spt-fade-g -0.32)
(sp-flt spt-fade-b -0.32)
(sp-rnd-flt spt-fade-a -0.017777778 -0.026666667 1.0)
(sp-flt spt-accel-y -0.027306668)
(sp-flt spt-friction 0.99)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-int-plain-rnd spt-next-time 150 49 1)
(sp-launcher-by-id spt-next-launcher 3371)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3371
:init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0))
)
;; failed to figure out what this is:
(defpart 3366
:init-specs ((sp-flt spt-num 0.6)
(sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0)
(sp-int spt-rot-x 8)
(sp-flt spt-r 1638.4)
(sp-flt spt-g 1331.2)
(sp-flt spt-b 1433.6)
(sp-rnd-flt spt-vel-x (meters 0) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0)
(sp-flt spt-friction 0.96)
(sp-int spt-timer 300)
(sp-cpuinfo-flags distort)
(sp-int spt-next-time 150)
(sp-launcher-by-id spt-next-launcher 3372)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3372
:init-specs ((sp-flt spt-fade-b -0.68266666))
)
;; failed to figure out what this is:
(defpartgroup group-hide-moth
:id 772
:bounds (static-bspherem 0 0 0 3)
:parts ((sp-item 3375 :flags (bit1) :period 18000 :length 5 :binding 3373)
(sp-item 3373 :flags (start-dead launch-asap) :binding 3374)
(sp-item 3373 :flags (start-dead launch-asap) :binding 3374)
(sp-item 3374 :flags (is-3d start-dead))
(sp-item 3374 :flags (is-3d start-dead))
(sp-item 3376 :flags (bit6))
(sp-item 3377 :flags (bit6))
)
)
;; failed to figure out what this is:
(defpart 3376
: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.1))
(sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.1) 1.0)
(sp-flt spt-rot-x 409.6)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 24.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 2048.0)
)
)
;; failed to figure out what this is:
(defpart 3377
: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.1))
(sp-rnd-flt spt-scale-x (meters 3) (meters 0.1) 1.0)
(sp-flt spt-rot-x 409.6)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-rnd-flt spt-a 4.0 2.0 1.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
(sp-flt spt-userdata 2048.0)
)
)
;; failed to figure out what this is:
(defpart 3375
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-flt spt-scale-x (meters 1.1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-a 0.0)
(sp-int spt-timer 18000)
(sp-cpuinfo-flags sp-cpuinfo-flag-3)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3373
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
(sp-flt spt-z (meters 1.5))
(sp-flt spt-scale-x (meters 1.1))
(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-flt spt-a 0.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0)
(sp-flt spt-vel-z (meters 0))
(sp-int spt-timer 18000)
(sp-cpuinfo-flags sp-cpuinfo-flag-3 ready-to-launch)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 3378)
)
)
;; failed to figure out what this is:
(defpart 3378
:init-specs ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 3378)
)
)
;; failed to figure out what this is:
(defpart 3374
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x3e7))
(sp-func spt-birth-func 'birth-func-copy-rot-color)
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 0.2))
(sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0)
(sp-flt spt-scale-y (meters 0.2))
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 128.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 aux-list sp-cpuinfo-flag-12)
)
)
;; failed to figure out what this is:
(defpartgroup group-hide-fireplace-sparks
:id 773
:flags (use-local-clock)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 3379 :period 2400 :length 5)
(sp-item 3379 :period 3155 :length 10)
(sp-item 3379 :period 3815 :length 5)
(sp-item 3379 :period 4770 :length 10)
)
)
;; failed to figure out what this is:
(defpart 3379
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0)
(sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-int spt-rot-x 4)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-flt spt-scale-y (meters 0.04))
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-flt spt-omega 0.4096)
(sp-rnd-flt spt-vel-y (meters 0.046666667) (meters 0.06666667) 1.0)
(sp-flt spt-scalevel-x (meters -0.00008333333))
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g -0.4)
(sp-flt spt-fade-b -0.8)
(sp-flt spt-accel-y -12.288)
(sp-rnd-flt spt-friction 0.85 0.04 1.0)
(sp-int spt-timer 1200)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-flt spt-userdata -19660.8)
(sp-func spt-func 'check-drop-level-hide-fireplace-sparks)
(sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 40.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 80.0) (degrees 20.0) 1.0)
(sp-flt spt-rotate-y (degrees -90.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3380
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.025) 1.0)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-flt spt-fade-g -0.4)
(sp-flt spt-fade-b -0.8)
(sp-rnd-flt spt-fade-a -0.42666668 -0.85333335 1.0)
(sp-rnd-flt spt-accel-y -1.024 -0.34133333 1.0)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-rnd-flt spt-conerot-x (degrees 10.0) (degrees 60.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3381
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.025) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.025) 1.0)
(sp-rnd-flt spt-r 200.0 55.0 1.0)
(sp-rnd-flt spt-g 100.0 100.0 1.0)
(sp-copy-from-other spt-b -1)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
(sp-flt spt-fade-g -0.10666667)
(sp-flt spt-fade-b -0.8)
(sp-rnd-flt spt-friction 0.94 0.02 1.0)
(sp-int spt-timer 2400)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
(sp-int-plain-rnd spt-next-time 450 149 1)
(sp-launcher-by-id spt-next-launcher 3382)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3382
:init-specs ((sp-flt spt-rotvel-z (degrees 0.0)) (sp-rnd-flt spt-fade-a -0.10666667 -0.10666667 1.0))
)
;; definition for function check-drop-level-hide-fireplace-sparks
;; INFO: Used lq/sq
(defun check-drop-level-hide-fireplace-sparks ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
(sparticle-motion-blur arg0 arg1 arg2)
(when (< (-> arg2 y) (-> arg1 user-float))
(let ((gp-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
(let ((t9-2 sp-launch-particles-var)
(a0-4 *sp-particle-system-2d*)
(a1-3 (-> *part-id-table* 3380))
(a2-2 *launch-matrix*)
)
(set! (-> a2-2 trans quad) (-> gp-0 quad))
(t9-2 a0-4 a1-3 a2-2 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
(let ((t9-3 sp-launch-particles-var)
(a0-5 *sp-particle-system-2d*)
(a1-4 (-> *part-id-table* 3381))
(a2-3 *launch-matrix*)
)
(set! (-> a2-3 trans quad) (-> gp-0 quad))
(t9-3 a0-5 a1-4 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0)
)
)
)
(none)
)
;; failed to figure out what this is:
(defpartgroup group-hide-ceilingsmoke :id 774 :bounds (static-bspherem 0 0 0 12) :parts ((sp-item 3383)))
;; failed to figure out what this is:
(defpart 3383
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-flt spt-num 0.4)
(sp-rnd-flt spt-y (meters -0.5) (meters -0.5) 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 6) 1.0)
(sp-rnd-flt spt-scale-y (meters 1) (meters 0.5) 1.0)
(sp-rnd-flt spt-r 64.0 16.0 1.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 64.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.006666667) 1.0)
(sp-flt spt-fade-a 0.026666667)
(sp-flt spt-friction 0.99)
(sp-int spt-timer 4500)
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
(sp-int-plain-rnd spt-next-time 300 299 1)
(sp-launcher-by-id spt-next-launcher 3384)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 10) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3384
:init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1500) (sp-launcher-by-id spt-next-launcher 3385))
)
;; failed to figure out what this is:
(defpart 3385
:init-specs ((sp-flt spt-fade-a -0.026666667))
)
;; failed to figure out what this is:
(defpartgroup group-hideout-pipe
:id 775
:duration (seconds 0.017)
:flags (use-local-clock unk-4)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 3386 :flags (bit7)))
)
;; failed to figure out what this is:
(defpart 3386
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x49 :page #x3e7))
(sp-rnd-flt spt-num 8.0 8.0 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 0.1) 1.0)
(sp-flt spt-z (meters -0.28))
(sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.05) 1.0)
(sp-int spt-rot-x 4)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-flt spt-omega 1.2288)
(sp-rnd-flt spt-vel-z (meters 0.016666668) (meters 0.0033333334) 1.0)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc)
(sp-func spt-func 'sparticle-motion-blur)
(sp-int-plain-rnd spt-next-time 30 4 1)
(sp-launcher-by-id spt-next-launcher 3387)
(sp-flt spt-rotate-y (degrees 0.0))
(sp-rnd-flt spt-rotate-z (degrees 0.0) (degrees 360.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3387
:init-specs ((sp-rnd-flt spt-scale-x (meters 0.005) (meters 0.04) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-vel-x (meters -0.01) (meters 0.02) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.02) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.01) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
)
)
;; failed to figure out what this is:
(defpartgroup group-hideout-mouth
:id 776
:duration (seconds 0.017)
:flags (use-local-clock unk-4)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 3388 :flags (bit7))
(sp-item 3389 :flags (bit7))
(sp-item 3390 :flags (bit7))
(sp-item 3391 :flags (bit7))
)
)
;; failed to figure out what this is:
(defpart 3388
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 4.0 2.0 1.0)
(sp-flt spt-x (meters -0.05))
(sp-rnd-flt spt-scale-x (meters 0.01) (meters 0.03) 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-copy-from-other spt-g -1)
(sp-copy-from-other spt-b -1)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-a -0.85333335 -0.85333335 1.0)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
(sp-rnd-flt spt-friction 0.93 0.03 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
;; failed to figure out what this is:
(defpart 3389
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
(sp-rnd-flt spt-num 4.0 2.0 1.0)
(sp-flt spt-x (meters -0.05))
(sp-rnd-flt spt-scale-x (meters 0.01) (meters 0.03) 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 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 16.0 32.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-a -0.85333335 -0.85333335 1.0)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
(sp-rnd-flt spt-friction 0.93 0.03 1.0)
(sp-int spt-timer 150)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
;; failed to figure out what this is:
(defpart 3390
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x49 :page #x3e7))
(sp-rnd-flt spt-num 32.0 8.0 1.0)
(sp-flt spt-x (meters -0.05))
(sp-rnd-flt spt-scale-x (meters 0.005) (meters 0.015) 1.0)
(sp-int spt-rot-x 4)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-flt spt-omega 0.12288)
(sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-fade-a -0.85333335)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
(sp-int spt-timer 75)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc)
(sp-func spt-func 'sparticle-motion-blur)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
;; failed to figure out what this is:
(defpart 3391
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
(sp-rnd-flt spt-num 16.0 4.0 1.0)
(sp-flt spt-x (meters -0.05))
(sp-rnd-flt spt-scale-x (meters 0.01) (meters 0.005) 1.0)
(sp-int spt-rot-x 4)
(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-flt spt-omega 0.2048)
(sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-fade-a -0.85333335)
(sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0)
(sp-int spt-timer 75)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc)
(sp-func spt-func 'sparticle-motion-blur)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
;; failed to figure out what this is:
(defpartgroup group-hideout-mud-drip
:id 777
:duration (seconds 0.017)
:flags (use-local-clock unk-4)
:bounds (static-bspherem 0 -2 0 3)
:parts ((sp-item 3392) (sp-item 3393 :flags (is-3d)))
)
;; failed to figure out what this is:
(defpart 3393
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x49 :page #x3e7))
(sp-flt spt-num 2.0)
(sp-flt spt-y (meters -1.2))
(sp-flt spt-z (meters -0.35))
(sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.04) 1.0)
(sp-rnd-flt spt-scale-y (meters 0.07) (meters 0.04) 1.0)
(sp-flt spt-r 128.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-rnd-flt spt-scalevel-x (meters -0.000008333333) (meters -0.000008333333) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a -0.32)
(sp-int spt-timer 300)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-12)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-flt spt-rotate-y (degrees 0.0))
(sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
)
)
;; failed to figure out what this is:
(defpart 3392
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x49 :page #x3e7))
(sp-flt spt-num 1.0)
(sp-flt spt-y (meters -0.1))
(sp-flt spt-z (meters 0.35))
(sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.04) 1.0)
(sp-int spt-rot-x 4)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 64.0)
(sp-flt spt-b 32.0)
(sp-rnd-flt spt-a 64.0 32.0 1.0)
(sp-flt spt-omega 3.2768)
(sp-flt spt-vel-z (meters -0.0033333334))
(sp-int spt-timer 650)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12 use-global-acc)
(sp-func spt-func 'sparticle-motion-blur)
(sp-int-plain-rnd spt-next-time 100 -1 1)
(sp-launcher-by-id spt-next-launcher 3394)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
;; failed to figure out what this is:
(defpart 3394
:init-specs ((sp-rnd-flt spt-accel-y -1.9114667 -0.27306667 1.0)
(sp-flt spt-friction 0.92)
(sp-int-plain-rnd spt-next-time 245 -1 1)
(sp-launcher-by-id spt-next-launcher 3395)
)
)
;; failed to figure out what this is:
(defpart 3395
:init-specs ((sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.00066666666) (meters 0.006) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-friction 0.95)
)
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+6 -1
View File
@@ -11,7 +11,12 @@
"DGO/FOR.DGO",
"DGO/PRI.DGO",
"DGO/FEA.DGO",
"DGO/FEB.DGO"
"DGO/FEB.DGO",
"DGO/HIDEOUT.DGO",
"DGO/CTB.DGO",
"DGO/KIOSK.DGO",
"DGO/DMI.DGO",
"DGO/RUI.DGO"
],
"skip_compile_files": [],