jak-project/goal_src/levels/beach/sculptor.gc
Tyler Wilding 253d7996e8
decomp: almost all of the NPCs! (#748)
* all-types: add all missing `:heap-base`s

* decomp: error encountered when compiling `mayor`

`IR_StoreConstOffset::do_codegen can't handle this` for method `play-anim!`

* decomp: finalize `mayor`

* decomp: finish `bird-lady`

* decomp: finish `bird-lady-beach`

* decomp: finish `sculptor`

* decomp: finish `geologist`

* decomp: finish `oracle`

* decomp: finish `farmer` | `explorer` | almost `assistant`

blocked on sparticle-launch-group

* decomp: finish `sage`

* decomp: finish `gambler`

* decomp: finish `warrior`

* decomp: mostly finish `miners`, blocked by sp-launch-group

* fix issue in `sage`

* fix all the reference tests to use the new state stuff

* fix all of goal_src

* address feedback

* re-gen with `until` fixes
2021-08-18 21:33:31 -04:00

1233 lines
33 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: sculptor.gc
;; name in dgo: sculptor
;; dgos: BEA, L1
(define-extern *sculptor-sg* skeleton-group)
(define-extern *sculptor-muse-sg* skeleton-group)
;; TODO - for sculptor
(deftype muse (nav-enemy)
((current-path-index float :offset-assert 400)
(prev-path-index float :offset-assert 404)
(dest-path-index float :offset-assert 408)
(player-path-index float :offset-assert 412)
(max-path-index float :offset-assert 416)
(sprint-distance float :offset-assert 420)
(dest-point vector :inline :offset-assert 432)
(anim spool-anim :offset-assert 448) ; TODO - guess
(victory-anim spool-anim :offset-assert 452) ; TODO - guess
(old-target-pos transformq :inline :offset-assert 464)
)
:method-count-assert 76
:size-assert #x200
:heap-base #x190
:flag-assert #x4c01900200
)
(deftype point-on-path-segment-info (structure)
((point vector :inline :offset-assert 0)
(segment vector 2 :inline :offset-assert 16) ;; TODO - guess
(dir vector :inline :offset-assert 48)
(nearest-point vector :inline :offset-assert 64)
(segment-length float :offset-assert 80)
(distance-to-segment float :offset-assert 84)
(parametric-index float :offset-assert 88)
)
:method-count-assert 9
:size-assert #x5c
:flag-assert #x90000005c
)
;; definition of type sculptor
(deftype sculptor (process-taskable)
((muse handle :offset-assert 384)
)
:heap-base #x120
:method-count-assert 53
:size-assert #x188
:flag-assert #x3501200188
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "sculptor-muse"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) (the-as uint 1))
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *sculptor-muse-sg* v1-1)
)
;; failed to figure out what this is:
(let
((v1-2
(new 'static 'skeleton-group
:art-group-name "sculptor"
:bounds (new 'static 'vector :w 10240.0)
:version #x6
:shadow 2
)
)
)
(set! (-> v1-2 jgeo) 0)
(set! (-> v1-2 janim) 4)
(set! (-> v1-2 mgeo 0) (the-as uint 1))
(set! (-> v1-2 lod-dist 0) 4095996000.0)
(set! *sculptor-sg* v1-2)
)
;; definition for method 52 of type sculptor
;; INFO: Return type mismatch int vs none.
(defmethod dummy-52 sculptor ((obj sculptor))
(let ((v1-1 (-> obj draw shadow-ctrl)))
(when v1-1
(let ((f0-0 (-> obj root trans y)))
(let ((a0-2 v1-1))
(set! (-> a0-2 settings bot-plane w) (- (+ -2048.0 f0-0)))
)
0
(set! (-> v1-1 settings top-plane w) (- (+ 2048.0 f0-0)))
)
0
)
)
(none)
)
;; definition for method 48 of type sculptor
(defmethod draw-shadow sculptor ((obj sculptor))
(-> obj draw shadow-ctrl)
(cond
((and
(-> obj draw shadow)
(zero? (-> obj draw cur-lod))
(nonzero? (logand (-> obj draw status) 8))
)
(let ((v1-9 (-> obj draw shadow-ctrl)))
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
)
0
((method-of-object (-> obj draw shadow-ctrl) dummy-14))
)
(else
(let ((v1-14 (-> obj draw shadow-ctrl)))
(logior! (-> v1-14 settings flags) 32)
)
0
)
)
(none)
)
;; definition for function muse-to-idle
(defbehavior muse-to-idle sculptor ((arg0 muse))
(when (not (handle->process (-> arg0 incomming-attack-id)))
(let* ((s5-0 (get-process *default-dead-pool* manipy #x4000))
(v1-5 (when s5-0
(let ((t9-1 (method-of-type manipy activate)))
(t9-1
(the-as manipy s5-0)
arg0
'manipy
(the-as pointer #x70004000)
)
)
((the-as
(function process function object object object object object)
run-function-in-process
)
s5-0
manipy-init
(-> arg0 collide-info trans)
(-> arg0 entity)
*sculptor-muse-sg*
#f
)
(-> s5-0 ppointer)
)
)
)
(set!
(-> arg0 incomming-attack-id)
(new 'static 'handle :process v1-5 :pid (-> v1-5 0 pid))
)
)
)
(let ((v1-11 (handle->process (-> arg0 incomming-attack-id))))
(if v1-11
(set! (-> (the-as muse v1-11) draw light-index) (the-as uint 3))
)
)
(let ((a1-5 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-5 from) self)
(set! (-> a1-5 num-params) 1)
(set! (-> a1-5 message) 'anim-mode)
(set! (-> a1-5 param 0) (the-as uint 'loop))
(send-event-function (handle->process (-> arg0 incomming-attack-id)) a1-5)
)
(let ((a1-6 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-6 from) self)
(set! (-> a1-6 num-params) 2)
(set! (-> a1-6 message) 'art-joint-anim)
(set! (-> a1-6 param 0) (the-as uint "idle"))
(set! (-> a1-6 param 1) (the-as uint 0))
(send-event-function (handle->process (-> arg0 incomming-attack-id)) a1-6)
)
(let ((a1-7 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-7 from) self)
(set! (-> a1-7 num-params) 1)
(set! (-> a1-7 message) 'draw)
(set! (-> a1-7 param 0) (the-as uint #t))
(send-event-function (handle->process (-> arg0 incomming-attack-id)) a1-7)
)
(let ((a1-8 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-8 from) self)
(set! (-> a1-8 num-params) 1)
(set! (-> a1-8 message) 'origin-joint-index)
(set! (-> a1-8 param 0) (the-as uint 26))
(send-event-function (handle->process (-> arg0 incomming-attack-id)) a1-8)
)
)
;; failed to figure out what this is:
(defstate give-cell (sculptor)
:virtual #t
:enter
(behavior ()
(muse-to-idle (the-as muse self))
(none)
)
)
;; definition for method 32 of type sculptor
(defmethod play-anim! sculptor ((obj sculptor) (arg0 symbol))
(with-pp
(case (current-status (-> obj tasks))
((2 3)
(if arg0
(close-status! (-> obj tasks) (task-status need-introduction))
)
(new 'static 'spool-anim
:name "sculptor-introduction"
:index 16
:parts 14
:command-list
'(
(0
display-level
beach
special
)
(0
kill
"med-res-level-2"
)
(0
kill
"med-res-level-4"
)
(0
kill
"med-res-level-6"
)
(0
kill
"med-res-level-7"
)
(0
kill
"med-res-level-8"
)
(0
kill
"med-res-level-11"
)
(0
kill
"med-res-level-14"
)
(0
kill
"med-res-level-22"
)
(0
kill
"med-res-level-23"
)
((the binteger 285)
joint
"cameraB"
)
((the binteger 331)
joint
"camera"
)
((the binteger 614)
joint
"cameraB"
)
((the binteger 760)
joint
"camera"
)
((the binteger 1183)
joint
"cameraB"
)
((the binteger 1278)
joint
"camera"
)
((the binteger 1433) joint "cameraB")
)
)
)
((5)
(set! (-> obj skippable) #t)
(new 'static 'spool-anim
:name "sculptor-reminder-1"
:index 17
:parts 2
:command-list '()
)
)
((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))
(v1-12 (when s5-1
(let ((t9-5 (method-of-type manipy activate)))
(t9-5
(the-as manipy s5-1)
obj
'manipy
(the-as pointer #x70004000)
)
)
((the-as
(function process function object object object object object)
run-function-in-process
)
s5-1
manipy-init
(-> obj root trans)
(-> obj entity)
*sculptor-muse-sg*
#f
)
(-> s5-1 ppointer)
)
)
)
(set!
(-> obj muse)
(new 'static 'handle :process v1-12 :pid (-> v1-12 0 pid))
)
)
(let ((v1-18 (handle->process (-> obj muse))))
(if v1-18
(set! (-> (the-as muse v1-18) draw light-index) (the-as uint 3))
)
)
(let ((a1-8 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-8 from) pp)
(set! (-> a1-8 num-params) 1)
(set! (-> a1-8 message) 'center-joint)
(set! (-> a1-8 param 0) (the-as uint 4))
(send-event-function (handle->process (-> obj muse)) a1-8)
)
(let ((a1-9 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-9 from) pp)
(set! (-> a1-9 num-params) 1)
(set! (-> a1-9 message) 'anim-mode)
(set! (-> a1-9 param 0) (the-as uint 'clone-anim))
(send-event-function (handle->process (-> obj muse)) a1-9)
)
)
(new 'static 'spool-anim
:name "sculptor-resolution"
:index 18
:parts 4
:command-list
'(
((the binteger 51) joint "cameraB") ((the binteger 87) joint "camera")
)
)
)
(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 4)
)
)
)
)
;; definition for method 31 of type sculptor
(defmethod get-art-elem sculptor ((obj sculptor))
(let ((v1-1 (current-status (-> obj tasks))))
(if (or (zero? v1-1) (= v1-1 7))
(-> obj draw art-group data 11)
(-> obj draw art-group data 3)
)
)
)
;; definition for method 43 of type sculptor
(defmethod TODO-RENAME-43 sculptor ((obj sculptor))
(when
(TODO-RENAME-10
(-> obj ambient)
(new 'stack-no-clear 'vector)
9000
122880.0
obj
)
(let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256))
(v1-4 (the-as number (logior #x3f800000 v1-3)))
(f0-2 (+ -1.0 (the-as float v1-4)))
)
(cond
((< 0.85714287 f0-2)
(dummy-11 (-> obj ambient) "SCU-LO01" #f (-> obj root trans))
)
((< 0.71428573 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM05" #f (-> obj root trans))
)
((< 0.5714286 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM06" #f (-> obj root trans))
)
((< 0.42857143 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM03" #f (-> obj root trans))
)
((< 0.2857143 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM04" #f (-> obj root trans))
)
((< 0.14285715 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM01" #f (-> obj root trans))
)
(else
(dummy-11 (-> obj ambient) "SCU-AM02" #f (-> obj root trans))
)
)
)
)
(none)
)
;; failed to figure out what this is:
(defstate idle (sculptor)
:virtual #t
:code
(behavior ()
(when (!= (if (> (-> self skel active-channels) 0)
(-> self skel root-channel 0 frame-group)
)
(get-art-elem self)
)
(ja-channel-push! 1 60)
(let ((gp-0 (-> self skel root-channel 0)))
(set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self)))
)
)
(let ((a0-8 (-> self skel root-channel 0)))
(set!
(-> a0-8 param 0)
(the float (+ (-> a0-8 frame-group data 0 length) -1))
)
(set! (-> a0-8 param 1) 1.0)
(joint-control-channel-group!
a0-8
(the-as art-joint-anim #f)
num-func-seek!
)
)
(while (not (ja-done? 0))
(suspend)
(ja-eval)
)
(let ((v1-16 (current-status (-> self tasks))))
(when (or (zero? v1-16) (= v1-16 7))
(let ((a0-12 (-> self skel root-channel 0)))
(set!
(-> a0-12 frame-group)
(the-as art-joint-anim (-> self draw art-group data 12))
)
(set!
(-> a0-12 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 12))
data
0
length
)
-1
)
)
)
(set! (-> a0-12 param 1) 1.0)
(set! (-> a0-12 frame-num) 0.0)
(joint-control-channel-group!
a0-12
(the-as art-joint-anim (-> self draw art-group data 12))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-13 (-> self skel root-channel 0)))
(set!
(-> a0-13 param 0)
(the float (+ (-> a0-13 frame-group data 0 length) -1))
)
(set! (-> a0-13 param 1) 1.0)
(joint-control-channel-group-eval!
a0-13
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(muse-to-idle (the-as muse self))
)
)
(while #t
(let ((v1-43 (current-status (-> self tasks))))
(cond
((or (zero? v1-43) (= v1-43 7))
(let ((a0-18 (-> self skel root-channel 0)))
(set!
(-> a0-18 frame-group)
(the-as art-joint-anim (-> self draw art-group data 8))
)
(set!
(-> a0-18 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 8))
data
0
length
)
-1
)
)
)
(set! (-> a0-18 param 1) 1.0)
(set! (-> a0-18 frame-num) 0.0)
(joint-control-channel-group!
a0-18
(the-as art-joint-anim (-> self draw art-group data 8))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-19 (-> self skel root-channel 0)))
(set!
(-> a0-19 param 0)
(the float (+ (-> a0-19 frame-group data 0 length) -1))
)
(set! (-> a0-19 param 1) 1.0)
(joint-control-channel-group-eval!
a0-19
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(let* ((f30-0 4.0)
(v1-68 (/ (the-as int (rand-uint31-gen *random-generator*)) 256))
(v1-69 (the-as number (logior #x3f800000 v1-68)))
)
(countdown
(gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-69)))) 4))
(let ((a0-23 (-> self skel root-channel 0)))
(set!
(-> a0-23 frame-group)
(the-as art-joint-anim (-> self draw art-group data 9))
)
(set!
(-> a0-23 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 9))
data
0
length
)
-1
)
)
)
(set! (-> a0-23 param 1) 1.0)
(set! (-> a0-23 frame-num) 0.0)
(joint-control-channel-group!
a0-23
(the-as art-joint-anim (-> self draw art-group data 9))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-24 (-> self skel root-channel 0)))
(set!
(-> a0-24 param 0)
(the float (+ (-> a0-24 frame-group data 0 length) -1))
)
(set! (-> a0-24 param 1) 1.0)
(joint-control-channel-group-eval!
a0-24
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
)
)
(let* ((v1-97 (/ (the-as int (rand-uint31-gen *random-generator*)) 256))
(v1-98 (the-as number (logior #x3f800000 v1-97)))
(f30-1 (+ -1.0 (the-as float v1-98)))
)
(let ((a0-28 (-> self skel root-channel 0)))
(set!
(-> a0-28 frame-group)
(the-as art-joint-anim (-> self draw art-group data 10))
)
(set!
(-> a0-28 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 10))
data
0
length
)
-1
)
)
)
(set! (-> a0-28 param 1) 1.0)
(set! (-> a0-28 frame-num) 0.0)
(joint-control-channel-group!
a0-28
(the-as art-joint-anim (-> self draw art-group data 10))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-29 (-> self skel root-channel 0)))
(set!
(-> a0-29 param 0)
(the float (+ (-> a0-29 frame-group data 0 length) -1))
)
(set! (-> a0-29 param 1) 1.0)
(joint-control-channel-group-eval!
a0-29
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(let ((a0-31 (-> self skel root-channel 0)))
(set!
(-> a0-31 frame-group)
(the-as art-joint-anim (-> self draw art-group data 11))
)
(set!
(-> a0-31 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 11))
data
0
length
)
-1
)
)
)
(set! (-> a0-31 param 1) 1.0)
(set! (-> a0-31 frame-num) 0.0)
(joint-control-channel-group!
a0-31
(the-as art-joint-anim (-> self draw art-group data 11))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-32 (-> self skel root-channel 0)))
(set!
(-> a0-32 param 0)
(the float (+ (-> a0-32 frame-group data 0 length) -1))
)
(set! (-> a0-32 param 1) 1.0)
(joint-control-channel-group-eval!
a0-32
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(let ((a0-34 (-> self skel root-channel 0)))
(set!
(-> a0-34 frame-group)
(the-as art-joint-anim (-> self draw art-group data 12))
)
(set!
(-> a0-34 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 12))
data
0
length
)
-1
)
)
)
(set! (-> a0-34 param 1) 1.0)
(set! (-> a0-34 frame-num) 0.0)
(joint-control-channel-group!
a0-34
(the-as art-joint-anim (-> self draw art-group data 12))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-35 (-> self skel root-channel 0)))
(set!
(-> a0-35 param 0)
(the float (+ (-> a0-35 frame-group data 0 length) -1))
)
(set! (-> a0-35 param 1) 1.0)
(joint-control-channel-group-eval!
a0-35
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(when (< f30-1 0.5)
(let ((a0-37 (-> self skel root-channel 0)))
(set!
(-> a0-37 frame-group)
(the-as art-joint-anim (-> self draw art-group data 13))
)
(set!
(-> a0-37 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 13))
data
0
length
)
-1
)
)
)
(set! (-> a0-37 param 1) 1.0)
(set! (-> a0-37 frame-num) 0.0)
(joint-control-channel-group!
a0-37
(the-as art-joint-anim (-> self draw art-group data 13))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-38 (-> self skel root-channel 0)))
(set!
(-> a0-38 param 0)
(the float (+ (-> a0-38 frame-group data 0 length) -1))
)
(set! (-> a0-38 param 1) 1.0)
(joint-control-channel-group-eval!
a0-38
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(let* ((f30-2 2.0)
(v1-190
(/ (the-as int (rand-uint31-gen *random-generator*)) 256)
)
(v1-191 (the-as number (logior #x3f800000 v1-190)))
)
(countdown
(gp-2 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-191)))) 2))
(let ((a0-42 (-> self skel root-channel 0)))
(set!
(-> a0-42 frame-group)
(the-as art-joint-anim (-> self draw art-group data 14))
)
(set!
(-> a0-42 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 14))
data
0
length
)
-1
)
)
)
(set! (-> a0-42 param 1) 1.0)
(set! (-> a0-42 frame-num) 0.0)
(joint-control-channel-group!
a0-42
(the-as art-joint-anim (-> self draw art-group data 14))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-43 (-> self skel root-channel 0)))
(set!
(-> a0-43 param 0)
(the float (+ (-> a0-43 frame-group data 0 length) -1))
)
(set! (-> a0-43 param 1) 1.0)
(joint-control-channel-group-eval!
a0-43
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
)
)
(let ((a0-45 (-> self skel root-channel 0)))
(set!
(-> a0-45 frame-group)
(the-as art-joint-anim (-> self draw art-group data 15))
)
(set!
(-> a0-45 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 15))
data
0
length
)
-1
)
)
)
(set! (-> a0-45 param 1) 1.0)
(set! (-> a0-45 frame-num) 0.0)
(joint-control-channel-group!
a0-45
(the-as art-joint-anim (-> self draw art-group data 15))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-46 (-> self skel root-channel 0)))
(set!
(-> a0-46 param 0)
(the float (+ (-> a0-46 frame-group data 0 length) -1))
)
(set! (-> a0-46 param 1) 1.0)
(joint-control-channel-group-eval!
a0-46
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(let ((a0-48 (-> self skel root-channel 0)))
(set!
(-> a0-48 frame-group)
(the-as art-joint-anim (-> self draw art-group data 11))
)
(set!
(-> a0-48 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 11))
data
0
length
)
-1
)
)
)
(set! (-> a0-48 param 1) 1.0)
(set! (-> a0-48 frame-num) 0.0)
(joint-control-channel-group!
a0-48
(the-as art-joint-anim (-> self draw art-group data 11))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-49 (-> self skel root-channel 0)))
(set!
(-> a0-49 param 0)
(the float (+ (-> a0-49 frame-group data 0 length) -1))
)
(set! (-> a0-49 param 1) 1.0)
(joint-control-channel-group-eval!
a0-49
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(let ((a0-51 (-> self skel root-channel 0)))
(set!
(-> a0-51 frame-group)
(the-as art-joint-anim (-> self draw art-group data 12))
)
(set!
(-> a0-51 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 12))
data
0
length
)
-1
)
)
)
(set! (-> a0-51 param 1) 1.0)
(set! (-> a0-51 frame-num) 0.0)
(joint-control-channel-group!
a0-51
(the-as art-joint-anim (-> self draw art-group data 12))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-52 (-> self skel root-channel 0)))
(set!
(-> a0-52 param 0)
(the float (+ (-> a0-52 frame-group data 0 length) -1))
)
(set! (-> a0-52 param 1) 1.0)
(joint-control-channel-group-eval!
a0-52
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
)
)
)
((begin
(TODO-RENAME-43 self)
(let* ((f30-3 4.0)
(v1-287
(/ (the-as int (rand-uint31-gen *random-generator*)) 256)
)
(v1-288 (the-as number (logior #x3f800000 v1-287)))
)
(countdown
(gp-3 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-288)))) 4))
(let ((a0-57 (-> self skel root-channel 0)))
(set!
(-> a0-57 frame-group)
(the-as art-joint-anim (-> self draw art-group data 3))
)
(set!
(-> a0-57 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 3))
data
0
length
)
-1
)
)
)
(set! (-> a0-57 param 1) 1.0)
(set! (-> a0-57 frame-num) 0.0)
(joint-control-channel-group!
a0-57
(the-as art-joint-anim (-> self draw art-group data 3))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-58 (-> self skel root-channel 0)))
(set!
(-> a0-58 param 0)
(the float (+ (-> a0-58 frame-group data 0 length) -1))
)
(set! (-> a0-58 param 1) 1.0)
(joint-control-channel-group-eval!
a0-58
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
)
)
(let*
((v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256))
(v1-317 (the-as number (logior #x3f800000 v1-316)))
)
(< (+ -1.0 (the-as float v1-317)) 0.5)
)
)
(let ((a0-62 (-> self skel root-channel 0)))
(set!
(-> a0-62 frame-group)
(the-as art-joint-anim (-> self draw art-group data 4))
)
(set!
(-> a0-62 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 4))
data
0
length
)
-1
)
)
)
(set! (-> a0-62 param 1) 1.0)
(set! (-> a0-62 frame-num) 0.0)
(joint-control-channel-group!
a0-62
(the-as art-joint-anim (-> self draw art-group data 4))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-63 (-> self skel root-channel 0)))
(set!
(-> a0-63 param 0)
(the float (+ (-> a0-63 frame-group data 0 length) -1))
)
(set! (-> a0-63 param 1) 1.0)
(joint-control-channel-group-eval!
a0-63
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
)
(else
(let ((a0-65 (-> self skel root-channel 0)))
(set!
(-> a0-65 frame-group)
(the-as art-joint-anim (-> self draw art-group data 5))
)
(set!
(-> a0-65 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 5))
data
0
length
)
-1
)
)
)
(set! (-> a0-65 param 1) 1.0)
(set! (-> a0-65 frame-num) 0.0)
(joint-control-channel-group!
a0-65
(the-as art-joint-anim (-> self draw art-group data 5))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-66 (-> self skel root-channel 0)))
(set!
(-> a0-66 param 0)
(the float (+ (-> a0-66 frame-group data 0 length) -1))
)
(set! (-> a0-66 param 1) 1.0)
(joint-control-channel-group-eval!
a0-66
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(let ((a0-68 (-> self skel root-channel 0)))
(set!
(-> a0-68 frame-group)
(the-as art-joint-anim (-> self draw art-group data 6))
)
(set!
(-> a0-68 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 6))
data
0
length
)
-1
)
)
)
(set! (-> a0-68 param 1) 1.0)
(set! (-> a0-68 frame-num) 0.0)
(joint-control-channel-group!
a0-68
(the-as art-joint-anim (-> self draw art-group data 6))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-69 (-> self skel root-channel 0)))
(set!
(-> a0-69 param 0)
(the float (+ (-> a0-69 frame-group data 0 length) -1))
)
(set! (-> a0-69 param 1) 1.0)
(joint-control-channel-group-eval!
a0-69
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(let ((a0-71 (-> self skel root-channel 0)))
(set!
(-> a0-71 frame-group)
(the-as art-joint-anim (-> self draw art-group data 7))
)
(set!
(-> a0-71 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 7))
data
0
length
)
-1
)
)
)
(set! (-> a0-71 param 1) 1.0)
(set! (-> a0-71 frame-num) 0.0)
(joint-control-channel-group!
a0-71
(the-as art-joint-anim (-> self draw art-group data 7))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-72 (-> self skel root-channel 0)))
(set!
(-> a0-72 param 0)
(the float (+ (-> a0-72 frame-group data 0 length) -1))
)
(set! (-> a0-72 param 1) 1.0)
(joint-control-channel-group-eval!
a0-72
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
)
)
)
)
(none)
)
)
;; definition for method 11 of type sculptor
(defmethod copy-defaults! sculptor ((obj sculptor) (arg0 res-lump))
(dummy-40 obj arg0 *sculptor-sg* 3 40 (new 'static 'vector :w 4096.0) 5)
(set! (-> obj tasks) (get-task-control (game-task misty-muse)))
(set! (-> obj muse) (the-as handle #f))
(set! (-> obj sound-flava) (the-as uint 9))
(set! (-> obj draw light-index) (the-as uint 3))
(dummy-42 obj)
(none)
)