jak-project/goal_src/jak3/levels/desert/wvehicle/wcar-fox.gc
Hat Kid 36f1592b90
decomp3: lightning renderer, nav code, texture remap, fix progress menu crash (#3461)
Also adds:

- BLERC
- Minimap (with missing texture for the map, sprites work)
- Eco Mine files
- Precursor robot boss files
- Sewer files
- Vehicle files
2024-04-12 18:44:38 -04:00

122 lines
4.6 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: wcar-fox.gc
;; name in dgo: wcar-fox
;; dgos: LPATK, LFACCAR, WASALL
;; DECOMP BEGINS
(deftype v-fox (wcar-snake-base)
()
)
(defmethod vehicle-method-62 ((this v-fox))
(let ((s5-0 (-> this root root-prim)))
(mem-copy!
(the-as pointer (-> (the-as collide-shape-prim-group s5-0) child 0 local-sphere))
(the-as pointer (new 'static 'vector :x 8192.0 :y 1638.4 :z 7864.32 :w 3276.8))
16
)
(mem-copy!
(the-as pointer (-> (the-as collide-shape-prim-group s5-0) child 1 local-sphere))
(the-as pointer (new 'static 'vector :x -8192.0 :y 1638.4 :z 7864.32 :w 3276.8))
16
)
(mem-copy!
(the-as pointer (-> (the-as collide-shape-prim-group s5-0) child 2 local-sphere))
(the-as pointer (new 'static 'vector :x 9011.2 :y 2048.0 :z -11878.4 :w 4915.2))
16
)
(mem-copy!
(the-as pointer (-> (the-as collide-shape-prim-group s5-0) child 3 local-sphere))
(the-as pointer (new 'static 'vector :x -9011.2 :y 2048.0 :z -11878.4 :w 4915.2))
16
)
(mem-copy!
(the-as pointer (-> (the-as collide-shape-prim-group s5-0) child 4 local-sphere))
(the-as pointer (new 'static 'vector :y 3317.76 :z 9011.2 :w 4915.2))
16
)
(mem-copy!
(the-as pointer (-> (the-as collide-shape-prim-group s5-0) child 5 local-sphere))
(the-as pointer (new 'static 'vector :y 3686.4 :z -1638.4 :w 6144.0))
16
)
(mem-copy!
(the-as pointer (-> (the-as collide-shape-prim-group s5-0) child 6 local-sphere))
(the-as pointer (new 'static 'vector :y 3276.8 :z -14336.0 :w 6144.0))
16
)
(set! (-> (the-as collide-shape-prim-group s5-0) child 7 local-sphere w) 20889.6)
)
((method-of-type wcar-base vehicle-method-62) this)
0
(none)
)
(defmethod init-rbody-control! ((this v-fox))
(initialize-skeleton
this
(the-as skeleton-group (art-group-get-by-name *level* "skel-v-fox" (the-as (pointer level) #f)))
(the-as pair 0)
)
(alloc-rbody-control! this *v-fox-constants*)
(setup-masks (-> this draw) 0 -1)
(setup-masks (-> this draw) 1 0)
(setup-masks (-> this draw) 2 0)
(set! (-> this shoot-delay) (the-as uint 18))
(set! (-> this local-gun-pos 0 quad) (-> (new 'static 'vector :x 2048.0 :y 3686.4 :z 14336.0 :w 1.0) quad))
(set! (-> this local-gun-pos 1 quad) (-> (new 'static 'vector :x -2048.0 :y 3686.4 :z 14336.0 :w 1.0) quad))
(set! (-> this rider-hand-joint-array 0) 8)
((method-of-type joint-mod-rotate-local init)
(the-as joint-mod-rotate-local (-> this jmod-axles))
this
(the-as uint 5)
(joint-mod-base-flags attached)
)
(init (-> this jmod-axles 1) this (the-as uint 6) (joint-mod-base-flags attached))
(init (-> this jmod-axles 2) this (the-as uint 4) (joint-mod-base-flags attached))
(init (-> this jmod-axles 3) this (the-as uint 7) (joint-mod-base-flags attached))
((method-of-type joint-mod-rotate-local init)
(the-as joint-mod-rotate-local (-> this jmod-shock-tops))
this
(the-as uint 11)
(joint-mod-base-flags attached)
)
(init (-> this jmod-shock-tops 1) this (the-as uint 15) (joint-mod-base-flags attached))
(init (-> this jmod-shock-tops 2) this (the-as uint 9) (joint-mod-base-flags attached))
(init (-> this jmod-shock-tops 3) this (the-as uint 13) (joint-mod-base-flags attached))
((method-of-type joint-mod-set-local init)
(the-as joint-mod-set-local (-> this jmod-shock-mids))
this
(the-as uint 12)
(joint-mod-base-flags attached trans)
)
(init (-> this jmod-shock-mids 1) this (the-as uint 16) (joint-mod-base-flags attached trans))
(init (-> this jmod-shock-mids 2) this (the-as uint 10) (joint-mod-base-flags attached trans))
(init (-> this jmod-shock-mids 3) this (the-as uint 14) (joint-mod-base-flags attached trans))
((method-of-type joint-mod-add-local init)
(the-as joint-mod-add-local (-> this jmod-guns))
this
(the-as uint 17)
(joint-mod-base-flags attached trans)
)
((method-of-type joint-mod-add-local init)
(the-as joint-mod-add-local (-> this jmod-guns 1))
this
(the-as uint 18)
(joint-mod-base-flags attached trans)
)
(spawn-wheels!
this
(the-as skeleton-group (art-group-get-by-name *level* "skel-v-toad-wheel" (the-as (pointer level) #f)))
(the-as skeleton-group (art-group-get-by-name *level* "skel-v-toad-wheel-blur" (the-as (pointer level) #f)))
(the-as skeleton-group (art-group-get-by-name *level* "skel-v-toad-wheel" (the-as (pointer level) #f)))
(the-as skeleton-group (art-group-get-by-name *level* "skel-v-toad-wheel-blur" (the-as (pointer level) #f)))
)
0
(none)
)