mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-21 07:37:45 -04:00
8846968963
* Update assert.h * stuff for `process-drawable` to work * add windows code for debugger * debugger attaches * something works * remove bad ideas * `(:break)` works * connection fixes * fixes + update docs * crates & `defskelgroup` macro * clang * update tests and a few types * temp * temp * fix files * game builds * reverse TypeConsistency operation * add eye stuff for merc art login * add `(:sym-name)` * oops * add `--auto-dbg` option to gc args * codacy * improve robustness of dgo unpacker and objectfiledb reading * `cavegeyserrock` * hopefully fix linux * windows FormatMessage weirdness? * mutex fixes * fix merge conflicts Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
195 lines
6 KiB
Common Lisp
195 lines
6 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: bird-lady-beach.gc
|
|
;; name in dgo: bird-lady-beach
|
|
;; dgos: BEA, L1
|
|
|
|
(define-extern *bird-lady-beach-sg* skeleton-group)
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype bird-lady-beach (process-taskable)
|
|
((flutflut handle :offset-assert 384)
|
|
(egg handle :offset-assert 392)
|
|
)
|
|
:heap-base #x120
|
|
:method-count-assert 53
|
|
:size-assert #x190
|
|
:flag-assert #x3501200190
|
|
)
|
|
|
|
|
|
(let
|
|
((v1-1
|
|
(new 'static 'skeleton-group
|
|
:art-group-name "bird-lady-beach"
|
|
:bounds (new 'static 'vector :w 16384.0)
|
|
:version #x6
|
|
:shadow 2
|
|
)
|
|
)
|
|
)
|
|
(set! (-> v1-1 jgeo) 0)
|
|
(set! (-> v1-1 janim) 3)
|
|
(set! (-> v1-1 mgeo 0) 1)
|
|
(set! (-> v1-1 lod-dist 0) 4095996000.0)
|
|
(set! *bird-lady-beach-sg* v1-1)
|
|
)
|
|
|
|
(defstate idle (bird-lady-beach)
|
|
:virtual #t
|
|
:enter
|
|
(behavior ()
|
|
(when (not (should-display? self))
|
|
(let ((a0-2 (handle->process (-> self flutflut))))
|
|
(if a0-2
|
|
(deactivate a0-2)
|
|
)
|
|
)
|
|
(let ((a0-6 (handle->process (-> self egg))))
|
|
(if a0-6
|
|
(deactivate a0-6)
|
|
)
|
|
)
|
|
(go-virtual hidden)
|
|
)
|
|
((-> (method-of-type process-taskable idle) enter))
|
|
(none)
|
|
)
|
|
)
|
|
|
|
(defmethod play-anim! bird-lady-beach ((obj bird-lady-beach) (arg0 symbol))
|
|
(case (current-status (-> obj tasks))
|
|
((6)
|
|
(when arg0
|
|
(set!
|
|
(-> obj cell-for-task)
|
|
(the-as game-task (current-task (-> obj tasks)))
|
|
)
|
|
(close-current! (-> obj tasks))
|
|
(let ((s5-1 (get-process *default-dead-pool* manipy #x4000)))
|
|
(set! (-> obj flutflut) (ppointer->handle (when s5-1
|
|
(let
|
|
((t9-4
|
|
(method-of-type
|
|
manipy
|
|
activate
|
|
)
|
|
)
|
|
)
|
|
(t9-4
|
|
(the-as manipy s5-1)
|
|
obj
|
|
'manipy
|
|
(the-as pointer #x70004000)
|
|
)
|
|
)
|
|
(run-now-in-process
|
|
s5-1
|
|
manipy-init
|
|
(-> obj root-override trans)
|
|
(-> obj entity)
|
|
*flutflut-naked-sg*
|
|
#f
|
|
)
|
|
(-> s5-1 ppointer)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(send-event (handle->process (-> obj flutflut)) 'anim-mode 'clone-anim)
|
|
(send-event (handle->process (-> obj flutflut)) 'blend-shape #t)
|
|
(let ((s5-2 (get-process *default-dead-pool* manipy #x4000)))
|
|
(set! (-> obj egg) (ppointer->handle (when s5-2
|
|
(let
|
|
((t9-9
|
|
(method-of-type manipy activate)
|
|
)
|
|
)
|
|
(t9-9
|
|
(the-as manipy s5-2)
|
|
obj
|
|
'manipy
|
|
(the-as pointer #x70004000)
|
|
)
|
|
)
|
|
(run-now-in-process
|
|
s5-2
|
|
manipy-init
|
|
(-> obj root-override trans)
|
|
(-> obj entity)
|
|
*flutflutegg-sg*
|
|
#f
|
|
)
|
|
(-> s5-2 ppointer)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(send-event (handle->process (-> obj egg)) 'anim-mode 'clone-anim)
|
|
)
|
|
(new 'static 'spool-anim
|
|
:name "bird-lady-beach-resolution"
|
|
:index 4
|
|
:parts 10
|
|
:command-list
|
|
'(
|
|
((the binteger 141)
|
|
joint
|
|
"cameraB"
|
|
)
|
|
((the binteger 535)
|
|
joint
|
|
"camera"
|
|
)
|
|
((the binteger 696)
|
|
joint
|
|
"cameraB"
|
|
)
|
|
((the binteger 758) joint "camera") ((the binteger 813) joint "cameraB")
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(if arg0
|
|
(format
|
|
0
|
|
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
|
|
(-> obj name)
|
|
(task-status->string (the-as task-status (current-status (-> obj tasks))))
|
|
)
|
|
)
|
|
(-> obj draw art-group data 3)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defmethod get-art-elem bird-lady-beach ((obj bird-lady-beach))
|
|
(-> obj draw art-group data 3)
|
|
)
|
|
|
|
(defmethod should-display? bird-lady-beach ((obj bird-lady-beach))
|
|
(= (current-status (-> obj tasks)) 6)
|
|
)
|
|
|
|
(defmethod copy-defaults! bird-lady-beach ((obj bird-lady-beach) (arg0 res-lump))
|
|
(dummy-40
|
|
obj
|
|
arg0
|
|
*bird-lady-beach-sg*
|
|
3
|
|
51
|
|
(new 'static 'vector :y 4096.0 :w 4096.0)
|
|
5
|
|
)
|
|
(set! (-> obj tasks) (get-task-control (game-task beach-flutflut)))
|
|
(set! (-> obj sound-flava) (the-as uint 7))
|
|
(dummy-42 obj)
|
|
(none)
|
|
)
|
|
|
|
|
|
|
|
|