mirror of
https://github.com/open-goal/jak-project
synced 2026-07-10 23:22:17 -04:00
d/jak2: finish consite-obs and get almost all side-missions working (#2143)
Some side missions require cars, they don't work yet. Also the ring-races and collection ones do not grant orbs. The hoaming beacon collection one causes a `hud` crash
This commit is contained in:
@@ -13206,7 +13206,7 @@
|
||||
(delay uint16 :offset-assert 14)
|
||||
(pos uint16 :offset-assert 16)
|
||||
(neg uint16 :offset-assert 18)
|
||||
(on-close basic :offset-assert 20)
|
||||
(on-close pair :offset-assert 20)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 14
|
||||
@@ -43906,8 +43906,8 @@
|
||||
;; consite-texture ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (define-extern *kor-transform-texture-anim-array* texture-anim-array)
|
||||
;; (define-extern set-kor-texture-morph! function)
|
||||
(define-extern *kor-transform-texture-anim-array* texture-anim-array)
|
||||
(define-extern set-kor-texture-morph! (function float symbol))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; consite-part ;;
|
||||
@@ -43936,7 +43936,6 @@
|
||||
;; consite-obs ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype consite-break-scaffold (process-drawable)
|
||||
()
|
||||
:method-count-assert 21
|
||||
@@ -43946,9 +43945,7 @@
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype consite-bomb-elevator-hinges (process-drawable)
|
||||
()
|
||||
:method-count-assert 21
|
||||
@@ -43958,9 +43955,7 @@
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype consite-bomb-elevator (process-drawable)
|
||||
()
|
||||
:method-count-assert 21
|
||||
@@ -43970,9 +43965,7 @@
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype consite-silo-doors (process-drawable)
|
||||
()
|
||||
:method-count-assert 21
|
||||
@@ -43982,9 +43975,7 @@
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype baron-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -43993,10 +43984,9 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern consite-bomb-elevator-hinges-init-by-other function)
|
||||
;; (define-extern consite-activate function)
|
||||
(define-extern consite-bomb-elevator-hinges-init-by-other (function consite-bomb-elevator entity-actor none :behavior consite-bomb-elevator-hinges))
|
||||
(define-extern consite-activate (function none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; target-indax ;;
|
||||
@@ -46560,13 +46550,12 @@
|
||||
;; ctywide-bbush ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype race-ring (process-drawable)
|
||||
((last-target-pos vector :inline :offset-assert 204)
|
||||
(keep-part-track-alive symbol :offset-assert 220) ;; guessed by decompiler
|
||||
(part-track uint64 :offset-assert 228) ;; handle
|
||||
(rot-y float :offset-assert 236)
|
||||
(cyl cylinder-flat :inline :offset-assert 252)
|
||||
((last-target-pos vector :inline :offset-assert 208)
|
||||
(keep-part-track-alive symbol :offset-assert 224) ;; guessed by decompiler
|
||||
(part-track handle :offset-assert 232) ;; handle
|
||||
(rot-y float :offset-assert 240)
|
||||
(cyl cylinder-flat :inline :offset-assert 256)
|
||||
)
|
||||
:method-count-assert 24
|
||||
:size-assert #x128
|
||||
@@ -46574,30 +46563,27 @@
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
(die () _type_ :state 21)
|
||||
(race-ring-method-22 () none 22)
|
||||
(race-ring-method-23 () none 23)
|
||||
(race-ring-method-22 (_type_) none 22)
|
||||
(race-ring-method-23 (_type_) none 23)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(declare-type city-race-ring-info structure)
|
||||
(deftype bb-ring-info (structure)
|
||||
((time time-frame :offset-assert 0)
|
||||
(start-pos vector :inline :offset-assert 16)
|
||||
(rotation float :offset-assert 32)
|
||||
(rings basic :offset-assert 36)
|
||||
(rings (array city-race-ring-info) :offset-assert 36)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x28
|
||||
:flag-assert #x900000028
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype bush-collect (process-drawable)
|
||||
((minimap connection-minimap :offset-assert 196)
|
||||
(trans-y float :offset-assert 200)
|
||||
(beep-time float :offset-assert 204)
|
||||
((minimap connection-minimap :offset-assert 200)
|
||||
(trans-y float :offset-assert 204)
|
||||
(beep-time float :offset-assert 208)
|
||||
)
|
||||
:method-count-assert 24
|
||||
:size-assert #xd4
|
||||
@@ -46605,67 +46591,60 @@
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
(die () _type_ :state 21)
|
||||
(bush-collect-method-22 () none 22)
|
||||
(bush-collect-method-23 () none 23)
|
||||
(bush-collect-method-22 (_type_) none 22)
|
||||
(bush-collect-method-23 (_type_) none 23)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype burning-bush-collection-info (structure)
|
||||
((pos vector :inline :offset-assert 0)
|
||||
(handle uint64 :offset-assert 16)
|
||||
(handle handle :offset-assert 16)
|
||||
(minimap connection-minimap :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 10
|
||||
:size-assert #x1c
|
||||
:flag-assert #xa0000001c
|
||||
(:methods
|
||||
(burning-bush-collection-info-method-9 () none 9)
|
||||
(burning-bush-collection-info-method-9 (_type_ object) none 9)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype bb-collection-info (structure)
|
||||
((user-data uint32 :offset-assert 0)
|
||||
(time time-frame :offset-assert 8)
|
||||
(colls basic :offset-assert 16)
|
||||
(colls (array burning-bush-collection-info) :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x14
|
||||
:flag-assert #x900000014
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype burning-bush-get-on-info (structure)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(quat quaternion :inline :offset-assert 16)
|
||||
(camera-trans vector :inline :offset-assert 32)
|
||||
(camera-rot UNKNOWN 9 :offset-assert 48)
|
||||
(camera-rot float 9 :offset-assert 48)
|
||||
(time float :offset-assert 84)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x58
|
||||
:flag-assert #x900000058
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern race-ring-set-particle-rotation-callback function) ;; (function part-tracker none)
|
||||
;; (define-extern race-ring-init-by-other function)
|
||||
;; (define-extern race-ring-spawn function)
|
||||
;; (define-extern *bb-ring-info* array)
|
||||
;; (define-extern *city-race-ring-edit-info* object)
|
||||
;; (define-extern bush-collect-init-by-other function)
|
||||
;; (define-extern bush-collect-dark-eco-init-by-other function)
|
||||
;; (define-extern bush-collect-homing-beacon-init-by-other function)
|
||||
;; (define-extern bush-collect-spawn function)
|
||||
;; (define-extern bush-collect-homing-beacon-spawn function)
|
||||
;; (define-extern bush-collect-dark-eco-spawn function)
|
||||
;; (define-extern *bb-collection-info* array)
|
||||
;; (define-extern *city-bb-collection-edit-info* object)
|
||||
;; (define-extern *burning-bush-get-on-info* array)
|
||||
(define-extern race-ring-set-particle-rotation-callback (function part-tracker none))
|
||||
(define-extern race-ring-init-by-other (function city-race-ring-info none :behavior race-ring))
|
||||
(define-extern race-ring-spawn (function task-manager city-race-ring-info process))
|
||||
(define-extern *bb-ring-info* (array bb-ring-info))
|
||||
(define-extern *city-race-ring-edit-info* (pointer int32))
|
||||
(define-extern bush-collect-init-by-other (function vector none :behavior bush-collect))
|
||||
(define-extern bush-collect-dark-eco-init-by-other (function vector none :behavior bush-collect))
|
||||
(define-extern bush-collect-homing-beacon-init-by-other (function vector none :behavior bush-collect))
|
||||
(define-extern bush-collect-spawn (function task-manager vector (pointer bush-collect)))
|
||||
(define-extern bush-collect-homing-beacon-spawn (function task-manager vector (pointer bush-collect)))
|
||||
(define-extern bush-collect-dark-eco-spawn (function task-manager vector (pointer bush-collect)))
|
||||
(define-extern *bb-collection-info* (array bb-collection-info))
|
||||
(define-extern *city-bb-collection-edit-info* (pointer int32))
|
||||
(define-extern *burning-bush-get-on-info* (array burning-bush-get-on-info))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; delivery-task ;;
|
||||
|
||||
@@ -927,5 +927,26 @@
|
||||
[0, "(function none :behavior scene-player)"],
|
||||
[1, "(function none :behavior scene-player)"],
|
||||
[2, "(function none :behavior scene-player)"]
|
||||
],
|
||||
"ctywide-bbush": [
|
||||
[
|
||||
9,
|
||||
"(function process int symbol event-message-block none :behavior task-manager)"
|
||||
],
|
||||
[10, "(function symbol :behavior task-manager)"],
|
||||
[11, "(function none :behavior task-manager)"],
|
||||
[12, "(function none :behavior task-manager)"],
|
||||
[13, "(function none :behavior task-manager)"],
|
||||
[14, "(function none :behavior task-manager)"],
|
||||
[15, "(function none :behavior task-manager)"],
|
||||
[16, "(function none :behavior task-manager)"],
|
||||
[17, "(function none :behavior task-manager)"],
|
||||
[18, "(function none :behavior task-manager)"],
|
||||
[19, "(function none :behavior task-manager)"],
|
||||
[36, "(function none :behavior task-manager)"],
|
||||
[37, "(function none :behavior task-manager)"],
|
||||
[38, "(function none :behavior task-manager)"],
|
||||
[39, "(function none :behavior task-manager)"],
|
||||
[40, "(function none :behavior task-manager)"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
// "DGO/HALFPIPE.DGO",
|
||||
// "DGO/LSAMERGD.DGO",
|
||||
"DGO/PAS.DGO",
|
||||
// "DGO/LBBUSH.DGO",
|
||||
"DGO/LBBUSH.DGO",
|
||||
"DGO/LPACKAGE.DGO",
|
||||
"DGO/LINTCSTB.DGO",
|
||||
// "DGO/LPORTRUN.DGO",
|
||||
@@ -190,8 +190,15 @@
|
||||
"CAP.DGO",
|
||||
"CGA.DGO",
|
||||
"CGB.DGO",
|
||||
"CGC.DGO",
|
||||
"CFA.DGO",
|
||||
"CFB.DGO",
|
||||
"CIA.DGO",
|
||||
"CIB.DGO",
|
||||
"CMA.DGO",
|
||||
"CMB.DGO",
|
||||
"COA.DGO",
|
||||
"COB.DGO",
|
||||
"CPA.DGO",
|
||||
"CPO.DGO",
|
||||
"CTA.DGO",
|
||||
@@ -216,6 +223,7 @@
|
||||
"HIPHOG.DGO",
|
||||
"INTROCST.DGO",
|
||||
"KIOSK.DGO",
|
||||
"LBBUSH.DGO",
|
||||
"LCGUARD.DGO",
|
||||
"LCITYLOW.DGO",
|
||||
"LDJAKBRN.DGO",
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
["L19", "(pointer float)", 28]
|
||||
],
|
||||
"ocean-frames": [["L1", "(pointer uint32)", 16384]],
|
||||
"ambient-h": [["L1", "(inline-array talker-speech-class)", 188]],
|
||||
"ambient-h": [["L1", "(inline-array talker-speech-class)", 465]],
|
||||
"pat-h": [["L1", "(inline-array pat-mode-info)", 4]],
|
||||
"joint-mod-h": [["L43", "(inline-array vector)", 6]],
|
||||
"rigid-body": [["L163", "rigid-body-object-constants"]],
|
||||
@@ -1156,5 +1156,9 @@
|
||||
"fortress-scenes": [
|
||||
["L60", "vector"],
|
||||
["L69", "sprite-vec-data-2d"]
|
||||
],
|
||||
"ctywide-bbush": [
|
||||
["L186", "(pointer int32)", 512],
|
||||
["L330", "(pointer int32)", 512]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1734,5 +1734,10 @@
|
||||
"(trans idle vehicle-turret)": [[16, "vector"]],
|
||||
"(anon-function 9 hal3-course)": [[96, "transport-params"]],
|
||||
"(method 17 turret-control)": [[16, "attack-info"]],
|
||||
"(code active lightning-tracker)": [[16, "vector"]]
|
||||
"(code active lightning-tracker)": [[16, "vector"]],
|
||||
"title-plug-lightning": [[16, "vector"]],
|
||||
"(anon-function 18 ctywide-bbush)": [
|
||||
[64, "vector"],
|
||||
[128, "vector"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7946,5 +7946,10 @@
|
||||
"(anon-function 16 hal3-course)": [[32, "v1", "halt-wait-spot"]],
|
||||
"(anon-function 14 hal3-course)": [[32, "v1", "halt-wait-spot"]],
|
||||
"(anon-function 17 hal3-course)": [[55, "v1", "task-manager"]],
|
||||
"title-plug-lightning": [[99, "v1", "title-control"]]
|
||||
"title-plug-lightning": [[99, "v1", "title-control"]],
|
||||
"(trans idle race-ring)": [
|
||||
[96, "a1", "process-focusable"],
|
||||
[19, "a0", "part-tracker"]
|
||||
],
|
||||
"race-ring-set-particle-rotation-callback": [[1, "v1", "(pointer race-ring)"]]
|
||||
}
|
||||
|
||||
@@ -4037,5 +4037,12 @@
|
||||
"sv-16": "data",
|
||||
"v1-15": "_data"
|
||||
}
|
||||
},
|
||||
"set-kor-texture-morph!": {
|
||||
"vars": {
|
||||
"v1-0": "tex-arr",
|
||||
"a1-0": "tex-idx"
|
||||
},
|
||||
"args": ["time"]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,6 +129,7 @@ void OpenGLRenderer::init_bucket_renderers_jak2() {
|
||||
init_bucket_renderer<TFragment>("tfrag-l4-tfrag", BucketCategory::TFRAG, BucketId::TFRAG_L4_TFRAG,
|
||||
std::vector{tfrag3::TFragmentTreeKind::NORMAL}, false, 4);
|
||||
init_bucket_renderer<Tie3>("tie-l4-tfrag", BucketCategory::TIE, BucketId::TIE_L4_TFRAG, 4);
|
||||
init_bucket_renderer<Merc2>("merc-l4-tfrag", BucketCategory::MERC, BucketId::MERC_L4_TFRAG);
|
||||
// 60
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l5-tfrag", BucketCategory::TEX,
|
||||
BucketId::TEX_L5_TFRAG);
|
||||
@@ -180,7 +181,17 @@ void OpenGLRenderer::init_bucket_renderers_jak2() {
|
||||
std::vector{tfrag3::TFragmentTreeKind::TRANS}, false, 2);
|
||||
// 150
|
||||
init_bucket_renderer<Merc2>("merc-l2-alpha", BucketCategory::MERC, BucketId::MERC_L2_ALPHA);
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l3-alpha", BucketCategory::TEX,
|
||||
BucketId::TEX_L3_ALPHA);
|
||||
init_bucket_renderer<TFragment>("tfrag-t-l3-alpha", BucketCategory::TFRAG,
|
||||
BucketId::TFRAG_T_L3_ALPHA,
|
||||
std::vector{tfrag3::TFragmentTreeKind::TRANS}, false, 3);
|
||||
// 160
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l4-alpha", BucketCategory::TEX,
|
||||
BucketId::TEX_L4_ALPHA);
|
||||
init_bucket_renderer<TFragment>("tfrag-t-l4-alpha", BucketCategory::TFRAG,
|
||||
BucketId::TFRAG_T_L4_ALPHA,
|
||||
std::vector{tfrag3::TFragmentTreeKind::TRANS}, false, 4);
|
||||
// 170
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l5-alpha", BucketCategory::TEX,
|
||||
BucketId::TEX_L5_ALPHA);
|
||||
|
||||
@@ -104,6 +104,7 @@ enum class BucketId {
|
||||
TEX_L4_TFRAG = 51,
|
||||
TFRAG_L4_TFRAG = 52,
|
||||
TIE_L4_TFRAG = 53,
|
||||
MERC_L4_TFRAG = 58,
|
||||
TEX_L5_TFRAG = 62,
|
||||
TFRAG_L5_TFRAG = 63,
|
||||
TIE_L5_TFRAG = 64,
|
||||
@@ -128,6 +129,10 @@ enum class BucketId {
|
||||
TEX_L2_ALPHA = 147,
|
||||
TFRAG_T_L2_ALPHA = 148,
|
||||
MERC_L2_ALPHA = 151,
|
||||
TEX_L3_ALPHA = 157,
|
||||
TFRAG_T_L3_ALPHA = 158,
|
||||
TEX_L4_ALPHA = 167,
|
||||
TFRAG_T_L4_ALPHA = 168,
|
||||
TEX_L5_ALPHA = 177,
|
||||
TEX_LCOM_TFRAG = 187,
|
||||
MERC_LCOM_TFRAG = 188,
|
||||
|
||||
+3471
-1604
File diff suppressed because it is too large
Load Diff
+25
-30
@@ -1534,8 +1534,6 @@
|
||||
"baron-consite+0-ag"
|
||||
"consite-break-scaffold-a-ag"
|
||||
"consite-break-scaffold-ag"
|
||||
;; "daxter-highres-ag"
|
||||
;; "jak-highres-ag"
|
||||
"baron-highres-ag"
|
||||
"crimson-guard-highres-ag"
|
||||
"consite-bomb-elevator-ag"
|
||||
@@ -1550,25 +1548,22 @@
|
||||
;; ;; COB
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (cgo "COB.DGO" "cob.gd")
|
||||
(cgo "COB.DGO" "cob.gd")
|
||||
|
||||
;; (goal-src-sequence
|
||||
;; ""
|
||||
;; :deps ("$OUT/obj/los-control.o")
|
||||
;; "levels/consite/consiteb-part.gc"
|
||||
;; )
|
||||
(goal-src-sequence
|
||||
""
|
||||
:deps ("$OUT/obj/los-control.o")
|
||||
"levels/consite/consiteb-part.gc"
|
||||
)
|
||||
|
||||
;; (copy-textures 3032 3033 3142 3180 3239)
|
||||
(copy-textures 3032 3033 3142 3180 3239)
|
||||
|
||||
;; (copy-gos
|
||||
;; "kor-transform-ag"
|
||||
;; "kor-break-ag"
|
||||
;; "metalkor-highres-ag"
|
||||
;; "com-airlock-inner-ag"
|
||||
;; "door-ctyinda-ag"
|
||||
;; "kor-break-ray-ag"
|
||||
;; "consiteb-vis"
|
||||
;; )
|
||||
(copy-gos
|
||||
"kor-transform-ag"
|
||||
"kor-break-ag"
|
||||
"kor-break-ray-ag"
|
||||
"consiteb-vis"
|
||||
)
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;; CPA
|
||||
@@ -2471,21 +2466,21 @@
|
||||
;; ;; LBBUSH
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (cgo "LBBUSH.DGO" "lbbush.gd")
|
||||
(cgo "LBBUSH.DGO" "lbbush.gd")
|
||||
|
||||
;; (goal-src-sequence
|
||||
;; ""
|
||||
;; :deps ("$OUT/obj/los-control.o")
|
||||
;; "levels/city/side_missions/ctywide-bbush.gc"
|
||||
;; )
|
||||
(goal-src-sequence
|
||||
""
|
||||
:deps ("$OUT/obj/los-control.o")
|
||||
"levels/city/side_missions/ctywide-bbush.gc"
|
||||
)
|
||||
|
||||
;; (copy-textures 3336 3465)
|
||||
(copy-textures 3336 3465)
|
||||
|
||||
;; (copy-gos
|
||||
;; "hovering-mine-ag"
|
||||
;; "homing-beacon-ag"
|
||||
;; "lbbush"
|
||||
;; )
|
||||
(copy-gos
|
||||
"hovering-mine-ag"
|
||||
"homing-beacon-ag"
|
||||
"lbbush"
|
||||
)
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;; LBOMBBOT
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1259,6 +1259,7 @@ This commonly includes things such as:
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(stack-size-set! (-> obj main-thread) 1024)
|
||||
(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)))
|
||||
|
||||
@@ -5,5 +5,343 @@
|
||||
;; name in dgo: consite-obs
|
||||
;; dgos: COA
|
||||
|
||||
(declare-type consite-bomb-elevator process-drawable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defskelgroup skel-consite-break-piece-break-d consite-break-scaffold consite-break-scaffold-break-d-lod0-jg consite-break-scaffold-break-d-idle-ja
|
||||
((consite-break-scaffold-break-d-lod0-mg (meters 999999)))
|
||||
:bounds (static-spherem 25 17 -25 45)
|
||||
)
|
||||
|
||||
(deftype consite-break-scaffold (process-drawable)
|
||||
()
|
||||
:heap-base #x50
|
||||
:method-count-assert 21
|
||||
:size-assert #xc8
|
||||
:flag-assert #x15005000c8
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defstate idle (consite-break-scaffold)
|
||||
:virtual #t
|
||||
:code (the-as (function none :behavior consite-break-scaffold) sleep-code)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! consite-break-scaffold ((obj consite-break-scaffold) (arg0 entity-actor))
|
||||
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
||||
This commonly includes things such as:
|
||||
- stack size
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(set! (-> obj root) (new 'process 'trsqv))
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-consite-break-piece-break-d" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(ja-post)
|
||||
(cond
|
||||
((task-node-closed? (game-task-node consite-find-baron-resolution))
|
||||
(cleanup-for-death obj)
|
||||
(logclear! (-> obj mask) (process-mask actor-pause))
|
||||
(go empty-state)
|
||||
)
|
||||
(else
|
||||
(go (method-of-object obj idle))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(deftype consite-bomb-elevator-hinges (process-drawable)
|
||||
()
|
||||
:heap-base #x50
|
||||
:method-count-assert 21
|
||||
:size-assert #xc8
|
||||
:flag-assert #x15005000c8
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defskelgroup skel-consite-bomb-elevator-hinges consite-bomb-elevator consite-bomb-elevator-hinges-lod0-jg consite-bomb-elevator-hinges-idle-ja
|
||||
((consite-bomb-elevator-hinges-lod0-mg (meters 999999)))
|
||||
:bounds (static-spherem 0 -25 0 45)
|
||||
:origin-joint-index 3
|
||||
)
|
||||
|
||||
(defstate idle (consite-bomb-elevator-hinges)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(ja-no-eval :group! (ja-group)
|
||||
:num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior consite-bomb-elevator-hinges) ja-post)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! consite-bomb-elevator-hinges ((obj consite-bomb-elevator-hinges) (arg0 entity-actor))
|
||||
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
||||
This commonly includes things such as:
|
||||
- stack size
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(set! (-> obj root) (new 'process 'trsqv))
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-consite-bomb-elevator-hinges" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(go (method-of-object obj idle))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior consite-bomb-elevator-hinges-init-by-other consite-bomb-elevator-hinges ((arg0 consite-bomb-elevator) (arg1 entity-actor))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(process-drawable-from-entity! self arg1)
|
||||
(initialize-skeleton
|
||||
self
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-consite-bomb-elevator-hinges" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(go-virtual idle)
|
||||
(none)
|
||||
)
|
||||
|
||||
(deftype consite-bomb-elevator (process-drawable)
|
||||
()
|
||||
:heap-base #x50
|
||||
:method-count-assert 21
|
||||
:size-assert #xc8
|
||||
:flag-assert #x15005000c8
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defskelgroup skel-consite-bomb-elevator consite-bomb-elevator consite-bomb-elevator-lod0-jg consite-bomb-elevator-idle-ja
|
||||
((consite-bomb-elevator-lod0-mg (meters 999999)))
|
||||
:bounds (static-spherem 0 -25 0 45)
|
||||
:origin-joint-index 3
|
||||
)
|
||||
|
||||
(defstate idle (consite-bomb-elevator)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(ja-no-eval :group! (ja-group)
|
||||
:num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior consite-bomb-elevator) ja-post)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! consite-bomb-elevator ((obj consite-bomb-elevator) (arg0 entity-actor))
|
||||
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
||||
This commonly includes things such as:
|
||||
- stack size
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))))
|
||||
(let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0)))
|
||||
(set! (-> s4-0 total-prims) (the-as uint 2))
|
||||
(set! (-> s3-0 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> s3-0 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> s3-0 prim-core action) (collide-action solid))
|
||||
(set-vector! (-> s3-0 local-sphere) 0.0 -102400.0 0.0 184320.0)
|
||||
(set! (-> s4-0 root-prim) s3-0)
|
||||
)
|
||||
(let ((v1-8 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0))))
|
||||
(set! (-> v1-8 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> v1-8 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> v1-8 prim-core action) (collide-action solid))
|
||||
(set! (-> v1-8 transform-index) 3)
|
||||
(set-vector! (-> v1-8 local-sphere) 0.0 0.0 0.0 61440.0)
|
||||
)
|
||||
(set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
|
||||
(let ((v1-11 (-> s4-0 root-prim)))
|
||||
(set! (-> s4-0 backup-collide-as) (-> v1-11 prim-core collide-as))
|
||||
(set! (-> s4-0 backup-collide-with) (-> v1-11 prim-core collide-with))
|
||||
)
|
||||
(set! (-> obj root) s4-0)
|
||||
)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-consite-bomb-elevator" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(process-spawn consite-bomb-elevator-hinges obj arg0 :to obj)
|
||||
(go (method-of-object obj idle))
|
||||
(none)
|
||||
)
|
||||
|
||||
(deftype consite-silo-doors (process-drawable)
|
||||
()
|
||||
:heap-base #x50
|
||||
:method-count-assert 21
|
||||
:size-assert #xc8
|
||||
:flag-assert #x15005000c8
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defskelgroup skel-consite-silo-doors consite-silo-doors consite-silo-doors-lod0-jg consite-silo-doors-idle-ja
|
||||
((consite-silo-doors-lod0-mg (meters 999999)))
|
||||
:bounds (static-spherem 0 10 0 40)
|
||||
:origin-joint-index 3
|
||||
)
|
||||
|
||||
(defstate idle (consite-silo-doors)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(ja-no-eval :group! (ja-group)
|
||||
:num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior consite-silo-doors) ja-post)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! consite-silo-doors ((obj consite-silo-doors) (arg0 entity-actor))
|
||||
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
||||
This commonly includes things such as:
|
||||
- stack size
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
|
||||
(let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0)))
|
||||
(set! (-> s4-0 total-prims) (the-as uint 3))
|
||||
(set! (-> s3-0 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> s3-0 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> s3-0 prim-core action) (collide-action solid))
|
||||
(set-vector! (-> s3-0 local-sphere) 0.0 40960.0 0.0 163840.0)
|
||||
(set! (-> s4-0 root-prim) s3-0)
|
||||
)
|
||||
(let ((v1-8 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0))))
|
||||
(set! (-> v1-8 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> v1-8 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> v1-8 prim-core action) (collide-action solid))
|
||||
(set! (-> v1-8 transform-index) 4)
|
||||
(set-vector! (-> v1-8 local-sphere) -40960.0 0.0 0.0 61440.0)
|
||||
)
|
||||
(let ((v1-10 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0))))
|
||||
(set! (-> v1-10 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> v1-10 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> v1-10 prim-core action) (collide-action solid))
|
||||
(set! (-> v1-10 transform-index) 5)
|
||||
(set-vector! (-> v1-10 local-sphere) 40960.0 0.0 0.0 61440.0)
|
||||
)
|
||||
(set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
|
||||
(let ((v1-13 (-> s4-0 root-prim)))
|
||||
(set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as))
|
||||
(set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with))
|
||||
)
|
||||
(set! (-> obj root) s4-0)
|
||||
)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as skeleton-group (art-group-get-by-name *level* "skel-consite-silo-doors" (the-as (pointer uint32) #f)))
|
||||
(the-as pair 0)
|
||||
)
|
||||
(go (method-of-object obj idle))
|
||||
(none)
|
||||
)
|
||||
|
||||
(defun consite-activate ()
|
||||
(update-mood-weather! *mood-control* 1.0 1.0 30.0 30.0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(deftype baron-npc (process-taskable)
|
||||
()
|
||||
:heap-base #xa0
|
||||
:method-count-assert 38
|
||||
:size-assert #x120
|
||||
:flag-assert #x2600a00120
|
||||
)
|
||||
|
||||
|
||||
(defmethod get-art-elem baron-npc ((obj baron-npc))
|
||||
"Checks various things such the current actor, task status, etc to determine the right art-group data to use
|
||||
@returns the appropriate [[art-element]] for the given NPC"
|
||||
(case (-> obj task actor)
|
||||
(((game-task-actor baron-consite))
|
||||
(-> obj draw art-group data 4)
|
||||
)
|
||||
(else
|
||||
(-> obj draw art-group data 3)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod init-art! baron-npc ((obj baron-npc))
|
||||
"@see [[initialize-skeleton]]"
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as skeleton-group (art-group-get-by-name *level* "skel-baron-highres" (the-as (pointer uint32) #f)))
|
||||
(the-as pair 0)
|
||||
)
|
||||
(set! (-> obj draw light-index) (the-as uint 10))
|
||||
(set! (-> obj draw shadow) #f)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
@@ -32,6 +32,7 @@ This commonly includes things such as:
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(stack-size-set! (-> obj main-thread) 1024)
|
||||
(let ((cshape (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))))
|
||||
(set! (-> cshape penetrated-by) (penetrate))
|
||||
(let ((cshape-group (new 'process 'collide-shape-prim-group cshape (the-as uint 2) 0)))
|
||||
|
||||
+3471
-1604
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -439,7 +439,7 @@
|
||||
(-> v1-5 root trans)
|
||||
)
|
||||
)
|
||||
(the-as pair gp-0)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+3315
File diff suppressed because it is too large
Load Diff
+426
@@ -0,0 +1,426 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup skel-consite-break-piece-break-d consite-break-scaffold consite-break-scaffold-break-d-lod0-jg consite-break-scaffold-break-d-idle-ja
|
||||
((consite-break-scaffold-break-d-lod0-mg (meters 999999)))
|
||||
:bounds (static-spherem 25 17 -25 45)
|
||||
)
|
||||
|
||||
;; definition of type consite-break-scaffold
|
||||
(deftype consite-break-scaffold (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 consite-break-scaffold
|
||||
(defmethod inspect consite-break-scaffold ((obj consite-break-scaffold))
|
||||
(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:
|
||||
(defstate idle (consite-break-scaffold)
|
||||
:virtual #t
|
||||
:code (the-as (function none :behavior consite-break-scaffold) sleep-code)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type consite-break-scaffold
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! consite-break-scaffold ((obj consite-break-scaffold) (arg0 entity-actor))
|
||||
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
||||
This commonly includes things such as:
|
||||
- stack size
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(set! (-> obj root) (new 'process 'trsqv))
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-consite-break-piece-break-d" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(ja-post)
|
||||
(cond
|
||||
((task-node-closed? (game-task-node consite-find-baron-resolution))
|
||||
(cleanup-for-death obj)
|
||||
(logclear! (-> obj mask) (process-mask actor-pause))
|
||||
(go empty-state)
|
||||
)
|
||||
(else
|
||||
(go (method-of-object obj idle))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type consite-bomb-elevator-hinges
|
||||
(deftype consite-bomb-elevator-hinges (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 consite-bomb-elevator-hinges
|
||||
(defmethod inspect consite-bomb-elevator-hinges ((obj consite-bomb-elevator-hinges))
|
||||
(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-consite-bomb-elevator-hinges consite-bomb-elevator consite-bomb-elevator-hinges-lod0-jg consite-bomb-elevator-hinges-idle-ja
|
||||
((consite-bomb-elevator-hinges-lod0-mg (meters 999999)))
|
||||
:bounds (static-spherem 0 -25 0 45)
|
||||
:origin-joint-index 3
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (consite-bomb-elevator-hinges)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(ja-no-eval :group! (ja-group)
|
||||
:num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior consite-bomb-elevator-hinges) ja-post)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type consite-bomb-elevator-hinges
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! consite-bomb-elevator-hinges ((obj consite-bomb-elevator-hinges) (arg0 entity-actor))
|
||||
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
||||
This commonly includes things such as:
|
||||
- stack size
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(set! (-> obj root) (new 'process 'trsqv))
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-consite-bomb-elevator-hinges" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(go (method-of-object obj idle))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function consite-bomb-elevator-hinges-init-by-other
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior consite-bomb-elevator-hinges-init-by-other consite-bomb-elevator-hinges ((arg0 consite-bomb-elevator) (arg1 entity-actor))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(process-drawable-from-entity! self arg1)
|
||||
(initialize-skeleton
|
||||
self
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-consite-bomb-elevator-hinges" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(go-virtual idle)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type consite-bomb-elevator
|
||||
(deftype consite-bomb-elevator (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 consite-bomb-elevator
|
||||
(defmethod inspect consite-bomb-elevator ((obj consite-bomb-elevator))
|
||||
(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-consite-bomb-elevator consite-bomb-elevator consite-bomb-elevator-lod0-jg consite-bomb-elevator-idle-ja
|
||||
((consite-bomb-elevator-lod0-mg (meters 999999)))
|
||||
:bounds (static-spherem 0 -25 0 45)
|
||||
:origin-joint-index 3
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (consite-bomb-elevator)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(ja-no-eval :group! (ja-group)
|
||||
:num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior consite-bomb-elevator) ja-post)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type consite-bomb-elevator
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! consite-bomb-elevator ((obj consite-bomb-elevator) (arg0 entity-actor))
|
||||
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
||||
This commonly includes things such as:
|
||||
- stack size
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))))
|
||||
(let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0)))
|
||||
(set! (-> s4-0 total-prims) (the-as uint 2))
|
||||
(set! (-> s3-0 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> s3-0 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> s3-0 prim-core action) (collide-action solid))
|
||||
(set-vector! (-> s3-0 local-sphere) 0.0 -102400.0 0.0 184320.0)
|
||||
(set! (-> s4-0 root-prim) s3-0)
|
||||
)
|
||||
(let ((v1-8 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0))))
|
||||
(set! (-> v1-8 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> v1-8 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> v1-8 prim-core action) (collide-action solid))
|
||||
(set! (-> v1-8 transform-index) 3)
|
||||
(set-vector! (-> v1-8 local-sphere) 0.0 0.0 0.0 61440.0)
|
||||
)
|
||||
(set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
|
||||
(let ((v1-11 (-> s4-0 root-prim)))
|
||||
(set! (-> s4-0 backup-collide-as) (-> v1-11 prim-core collide-as))
|
||||
(set! (-> s4-0 backup-collide-with) (-> v1-11 prim-core collide-with))
|
||||
)
|
||||
(set! (-> obj root) s4-0)
|
||||
)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-consite-bomb-elevator" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(process-spawn consite-bomb-elevator-hinges obj arg0 :to obj)
|
||||
(go (method-of-object obj idle))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type consite-silo-doors
|
||||
(deftype consite-silo-doors (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 consite-silo-doors
|
||||
(defmethod inspect consite-silo-doors ((obj consite-silo-doors))
|
||||
(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-consite-silo-doors consite-silo-doors consite-silo-doors-lod0-jg consite-silo-doors-idle-ja
|
||||
((consite-silo-doors-lod0-mg (meters 999999)))
|
||||
:bounds (static-spherem 0 10 0 40)
|
||||
:origin-joint-index 3
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (consite-silo-doors)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
(ja-no-eval :group! (ja-group)
|
||||
:num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior consite-silo-doors) ja-post)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type consite-silo-doors
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! consite-silo-doors ((obj consite-silo-doors) (arg0 entity-actor))
|
||||
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
||||
This commonly includes things such as:
|
||||
- stack size
|
||||
- collision information
|
||||
- loading the skeleton group / bones
|
||||
- sounds"
|
||||
(let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
|
||||
(let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0)))
|
||||
(set! (-> s4-0 total-prims) (the-as uint 3))
|
||||
(set! (-> s3-0 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> s3-0 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> s3-0 prim-core action) (collide-action solid))
|
||||
(set-vector! (-> s3-0 local-sphere) 0.0 40960.0 0.0 163840.0)
|
||||
(set! (-> s4-0 root-prim) s3-0)
|
||||
)
|
||||
(let ((v1-8 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0))))
|
||||
(set! (-> v1-8 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> v1-8 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> v1-8 prim-core action) (collide-action solid))
|
||||
(set! (-> v1-8 transform-index) 4)
|
||||
(set-vector! (-> v1-8 local-sphere) -40960.0 0.0 0.0 61440.0)
|
||||
)
|
||||
(let ((v1-10 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0))))
|
||||
(set! (-> v1-10 prim-core collide-as) (collide-spec obstacle))
|
||||
(set! (-> v1-10 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> v1-10 prim-core action) (collide-action solid))
|
||||
(set! (-> v1-10 transform-index) 5)
|
||||
(set-vector! (-> v1-10 local-sphere) 40960.0 0.0 0.0 61440.0)
|
||||
)
|
||||
(set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
|
||||
(let ((v1-13 (-> s4-0 root-prim)))
|
||||
(set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as))
|
||||
(set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with))
|
||||
)
|
||||
(set! (-> obj root) s4-0)
|
||||
)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as skeleton-group (art-group-get-by-name *level* "skel-consite-silo-doors" (the-as (pointer uint32) #f)))
|
||||
(the-as pair 0)
|
||||
)
|
||||
(go (method-of-object obj idle))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function consite-activate
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun consite-activate ()
|
||||
(update-mood-weather! *mood-control* 1.0 1.0 30.0 30.0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type baron-npc
|
||||
(deftype baron-npc (process-taskable)
|
||||
()
|
||||
:heap-base #xa0
|
||||
:method-count-assert 38
|
||||
:size-assert #x120
|
||||
:flag-assert #x2600a00120
|
||||
)
|
||||
|
||||
;; definition for method 3 of type baron-npc
|
||||
(defmethod inspect baron-npc ((obj baron-npc))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(let ((t9-0 (method-of-type process-taskable inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 35 of type baron-npc
|
||||
(defmethod get-art-elem baron-npc ((obj baron-npc))
|
||||
"Checks various things such the current actor, task status, etc to determine the right art-group data to use
|
||||
@returns the appropriate [[art-element]] for the given NPC"
|
||||
(case (-> obj task actor)
|
||||
(((game-task-actor baron-consite))
|
||||
(-> obj draw art-group data 4)
|
||||
)
|
||||
(else
|
||||
(-> obj draw art-group data 3)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 33 of type baron-npc
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init-art! baron-npc ((obj baron-npc))
|
||||
"@see [[initialize-skeleton]]"
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as skeleton-group (art-group-get-by-name *level* "skel-baron-highres" (the-as (pointer uint32) #f)))
|
||||
(the-as pair 0)
|
||||
)
|
||||
(set! (-> obj draw light-index) (the-as uint 10))
|
||||
(set! (-> obj draw shadow) #f)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
"DGO/HIPHOG.DGO",
|
||||
"DGO/INTROCST.DGO",
|
||||
"DGO/KIOSK.DGO",
|
||||
"DGO/LBBUSH.DGO",
|
||||
"DGO/LBOMBBOT.DGO",
|
||||
"DGO/LERLCHAL.DGO",
|
||||
"DGO/LKIDDOGE.DGO",
|
||||
|
||||
Reference in New Issue
Block a user