jak-project/goal_src/levels/beach/mayor.gc
water111 8846968963
[Debugger] windows debugger and process drawable (#953)
* 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>
2021-10-31 11:01:15 -04:00

2200 lines
37 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: mayor.gc
;; name in dgo: mayor
;; dgos: BEA, L1
(define-extern *mayor-sg* skeleton-group)
;; DECOMP BEGINS
(deftype mayor (process-taskable)
()
:heap-base #x110
:method-count-assert 53
:size-assert #x17c
:flag-assert #x350110017c
)
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "mayor"
:bounds (new 'static 'vector :w 10240.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! *mayor-sg* v1-1)
)
(defmethod dummy-52 mayor ((obj mayor))
(let ((v1-1 (-> obj draw shadow-ctrl)))
(when v1-1
(let ((f0-0 (-> obj root-override 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)
)
(defmethod draw-npc-shadow mayor ((obj mayor))
(-> obj draw shadow-ctrl)
(cond
((and
(-> obj draw shadow)
(zero? (-> obj draw cur-lod))
(logtest? (-> obj draw status) 8)
)
(let ((v1-9 (-> obj draw shadow-ctrl)))
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
)
0
(dummy-14 (-> obj draw shadow-ctrl))
)
(else
(let ((v1-14 (-> obj draw shadow-ctrl)))
(set!
(-> v1-14 settings flags)
(logior (the-as int (-> v1-14 settings flags)) 32)
)
)
0
)
)
(none)
)
(defun mayor-lurkerm-reward-speech ((arg0 mayor) (arg1 symbol))
(when arg1
(set! (-> arg0 cell-for-task) (game-task jungle-lurkerm))
(close-specific-task!
(game-task jungle-lurkerm)
(task-status need-reward-speech)
)
(first-any (-> arg0 tasks) #t)
)
(new 'static 'spool-anim
:name "mayor-resolution-beams"
:index 7
:parts 6
:command-list '()
)
)
(defmethod play-anim! mayor ((obj mayor) (arg0 symbol))
(set! (-> obj talk-message) (the-as uint 260))
(case (current-status (-> obj tasks))
(((task-status need-hint) (task-status need-introduction))
(when arg0
(close-specific-task!
(game-task jungle-lurkerm)
(task-status need-introduction)
)
(close-specific-task!
(game-task village1-mayor-money)
(task-status need-introduction)
)
)
(cond
((closed?
(-> obj tasks)
(game-task jungle-lurkerm)
(task-status need-reminder)
)
(mayor-lurkerm-reward-speech obj arg0)
)
(else
(new 'static 'spool-anim
:name "mayor-introduction"
:index 4
:parts 16
:command-list '()
)
(new 'static 'spool-anim
:name "mayor-introduction"
:index 4
:parts 16
:command-list
'(
(0
kill
"villagea-part-65"
)
(0
kill
"villagea-part-70"
)
(0
kill
"med-res-level-2"
)
(0
kill
"med-res-level-3"
)
(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
"fishermans-boat-2"
)
(0
kill
"windspinner-9"
)
(0
kill
"sagesail-6"
)
(0
kill
"sharkey-12"
)
(0
kill
"windmill-sail-4"
)
(0
kill
"water-vol-7"
)
(0
kill
"windspinner-8"
)
(0
kill
"villagea-part-32"
)
(0
kill
"water-vol-10"
)
(0
kill
"ropebridge-4"
)
(0
kill
"ropebridge-5"
)
(0
kill
"reflector-end-1"
)
(0
kill
"eco-10"
)
(0
kill
"eco-11"
)
(0
kill
"warp-gate-switch-3"
)
(0
kill
"reflector-middle-2"
)
(0
kill
"evilplant-2"
)
(0
kill
"crate-3147"
)
(0
kill
"villagea-water-2"
)
(0
kill
"med-res-level-22"
)
(0
kill
"med-res-level-23"
)
(0
kill
"villagea-part-50"
)
(0
kill
"water-vol-9"
)
(0
kill
"crate-3144"
)
(0
kill
"orb-cache-top-4"
)
(0
kill
"village-cam-2"
)
(0
kill
"villagea-part-18"
)
(0
kill
"villagea-part-24"
)
(0
kill
"money-2676"
)
(0
kill
"villagea-part-64"
)
(0
kill
"villagea-part-13"
)
(0
kill
"villagea-part-17"
)
(0
kill
"money-2689"
)
(0
kill
"money-2690"
)
(0
kill
"farmer-3"
)
(0
kill
"villagea-part-26"
)
(0
kill
"money-2692"
)
(0
kill
"villagea-part-37"
)
(0
kill
"villagea-part-38"
)
(0
kill
"villagea-part-64"
)
(0
kill
"crate-3142"
)
(0
kill
"crate-3143"
)
(0
kill
"money-2688"
)
(0
kill
"villagea-part-14"
)
(0
kill
"money-2691"
)
(0
kill
"villagea-part-62"
)
(0
kill
"villagea-part-63"
)
(0
kill
"sharkey-1"
)
(0
kill
"eco-82"
)
(0
kill
"eco-83"
)
(0
kill
"crate-2470"
)
(0
kill
"villagea-part-3"
)
(0
kill
"villagea-part-15"
)
(0
kill
"villagea-part-22"
)
(0
kill
"villagea-part-28"
)
(0
kill
"explorer-4"
)
(0
kill
"oracle-1"
)
(0
kill
"crate-3141"
)
(0
kill
"crate-3145"
)
(0
kill
"water-vol-8"
)
(0
kill
"water-vol-63"
)
(0
kill
"lrocklrg-1"
)
(0
kill
"crate-2469"
)
(0
kill
"villagea-part-69"
)
(0
display-level
beach
special
)
((the binteger 565)
joint
"cameraB"
)
((the binteger 850)
joint
"camera"
)
((the binteger 915) joint "cameraB")
)
)
)
)
)
(((task-status need-reminder-a) (task-status need-reminder))
(set! (-> obj skippable) #t)
(cond
((closed?
(-> obj tasks)
(game-task jungle-lurkerm)
(task-status need-reward-speech)
)
(new 'static 'spool-anim
:name "mayor-reminder-donation"
:index 6
:parts 3
:command-list
'(
(0
kill
"villagea-part-65"
)
(0
kill
"villagea-part-70"
)
(0
kill
"med-res-level-2"
)
(0
kill
"med-res-level-3"
)
(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
"fishermans-boat-2"
)
(0
kill
"windspinner-9"
)
(0
kill
"sagesail-6"
)
(0
kill
"sharkey-12"
)
(0
kill
"windmill-sail-4"
)
(0
kill
"water-vol-7"
)
(0
kill
"windspinner-8"
)
(0
kill
"villagea-part-32"
)
(0
kill
"water-vol-10"
)
(0
kill
"ropebridge-4"
)
(0
kill
"ropebridge-5"
)
(0
kill
"reflector-end-1"
)
(0
kill
"eco-10"
)
(0
kill
"eco-11"
)
(0
kill
"warp-gate-switch-3"
)
(0
kill
"reflector-middle-2"
)
(0
kill
"evilplant-2"
)
(0
kill
"crate-3147"
)
(0
kill
"villagea-water-2"
)
(0
kill
"med-res-level-22"
)
(0
kill
"med-res-level-23"
)
(0
kill
"villagea-part-50"
)
(0
kill
"water-vol-9"
)
(0
kill
"crate-3144"
)
(0
kill
"orb-cache-top-4"
)
(0
kill
"village-cam-2"
)
(0
kill
"villagea-part-18"
)
(0
kill
"villagea-part-24"
)
(0
kill
"money-2676"
)
(0
kill
"villagea-part-64"
)
(0
kill
"villagea-part-13"
)
(0
kill
"villagea-part-17"
)
(0
kill
"money-2689"
)
(0
kill
"money-2690"
)
(0
kill
"farmer-3"
)
(0
kill
"villagea-part-26"
)
(0
kill
"money-2692"
)
(0
kill
"villagea-part-37"
)
(0
kill
"villagea-part-38"
)
(0
kill
"villagea-part-64"
)
(0
kill
"crate-3142"
)
(0
kill
"crate-3143"
)
(0
kill
"money-2688"
)
(0
kill
"villagea-part-14"
)
(0
kill
"money-2691"
)
(0
kill
"villagea-part-62"
)
(0
kill
"villagea-part-63"
)
(0
kill
"sharkey-1"
)
(0
kill
"eco-82"
)
(0
kill
"eco-83"
)
(0
kill
"crate-2470"
)
(0
kill
"villagea-part-3"
)
(0
kill
"villagea-part-15"
)
(0
kill
"villagea-part-22"
)
(0
kill
"villagea-part-28"
)
(0
kill
"explorer-4"
)
(0
kill
"oracle-1"
)
(0
kill
"crate-3141"
)
(0
kill
"crate-3145"
)
(0
kill
"water-vol-8"
)
(0
kill
"water-vol-63"
)
(0
kill
"lrocklrg-1"
)
(0
kill
"crate-2469"
)
(0 kill "villagea-part-69") (0 display-level beach special)
)
)
)
((closed?
(-> obj tasks)
(game-task village1-mayor-money)
(task-status need-reward-speech)
)
(new 'static 'spool-anim
:name "mayor-reminder-beams"
:index 5
:parts 3
:command-list
'(
(0
kill
"villagea-part-65"
)
(0
kill
"villagea-part-70"
)
(0
kill
"med-res-level-2"
)
(0
kill
"med-res-level-3"
)
(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
"fishermans-boat-2"
)
(0
kill
"windspinner-9"
)
(0
kill
"sagesail-6"
)
(0
kill
"sharkey-12"
)
(0
kill
"windmill-sail-4"
)
(0
kill
"water-vol-7"
)
(0
kill
"windspinner-8"
)
(0
kill
"villagea-part-32"
)
(0
kill
"water-vol-10"
)
(0
kill
"ropebridge-4"
)
(0
kill
"ropebridge-5"
)
(0
kill
"reflector-end-1"
)
(0
kill
"eco-10"
)
(0
kill
"eco-11"
)
(0
kill
"warp-gate-switch-3"
)
(0
kill
"reflector-middle-2"
)
(0
kill
"evilplant-2"
)
(0
kill
"crate-3147"
)
(0
kill
"villagea-water-2"
)
(0
kill
"med-res-level-22"
)
(0
kill
"med-res-level-23"
)
(0
kill
"villagea-part-50"
)
(0
kill
"water-vol-9"
)
(0
kill
"crate-3144"
)
(0
kill
"orb-cache-top-4"
)
(0
kill
"village-cam-2"
)
(0
kill
"villagea-part-18"
)
(0
kill
"villagea-part-24"
)
(0
kill
"money-2676"
)
(0
kill
"villagea-part-64"
)
(0
kill
"villagea-part-13"
)
(0
kill
"villagea-part-17"
)
(0
kill
"money-2689"
)
(0
kill
"money-2690"
)
(0
kill
"farmer-3"
)
(0
kill
"villagea-part-26"
)
(0
kill
"money-2692"
)
(0
kill
"villagea-part-37"
)
(0
kill
"villagea-part-38"
)
(0
kill
"villagea-part-64"
)
(0
kill
"crate-3142"
)
(0
kill
"crate-3143"
)
(0
kill
"money-2688"
)
(0
kill
"villagea-part-14"
)
(0
kill
"money-2691"
)
(0
kill
"villagea-part-62"
)
(0
kill
"villagea-part-63"
)
(0
kill
"sharkey-1"
)
(0
kill
"eco-82"
)
(0
kill
"eco-83"
)
(0
kill
"crate-2470"
)
(0
kill
"villagea-part-3"
)
(0
kill
"villagea-part-15"
)
(0
kill
"villagea-part-22"
)
(0
kill
"villagea-part-28"
)
(0
kill
"explorer-4"
)
(0
kill
"oracle-1"
)
(0
kill
"crate-3141"
)
(0
kill
"crate-3145"
)
(0
kill
"water-vol-8"
)
(0
kill
"water-vol-63"
)
(0
kill
"lrocklrg-1"
)
(0
kill
"crate-2469"
)
(0 kill "villagea-part-69") (0 display-level beach special)
)
)
)
((zero? (get-reminder (-> obj tasks) 0))
(if arg0
(save-reminder (-> obj tasks) 1 0)
)
(new 'static 'spool-anim
:name "mayor-reminder-beams"
:index 5
:parts 3
:command-list
'(
(0
kill
"villagea-part-65"
)
(0
kill
"villagea-part-70"
)
(0
kill
"med-res-level-2"
)
(0
kill
"med-res-level-3"
)
(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
"fishermans-boat-2"
)
(0
kill
"windspinner-9"
)
(0
kill
"sagesail-6"
)
(0
kill
"sharkey-12"
)
(0
kill
"windmill-sail-4"
)
(0
kill
"water-vol-7"
)
(0
kill
"windspinner-8"
)
(0
kill
"villagea-part-32"
)
(0
kill
"water-vol-10"
)
(0
kill
"ropebridge-4"
)
(0
kill
"ropebridge-5"
)
(0
kill
"reflector-end-1"
)
(0
kill
"eco-10"
)
(0
kill
"eco-11"
)
(0
kill
"warp-gate-switch-3"
)
(0
kill
"reflector-middle-2"
)
(0
kill
"evilplant-2"
)
(0
kill
"crate-3147"
)
(0
kill
"villagea-water-2"
)
(0
kill
"med-res-level-22"
)
(0
kill
"med-res-level-23"
)
(0
kill
"villagea-part-50"
)
(0
kill
"water-vol-9"
)
(0
kill
"crate-3144"
)
(0
kill
"orb-cache-top-4"
)
(0
kill
"village-cam-2"
)
(0
kill
"villagea-part-18"
)
(0
kill
"villagea-part-24"
)
(0
kill
"money-2676"
)
(0
kill
"villagea-part-64"
)
(0
kill
"villagea-part-13"
)
(0
kill
"villagea-part-17"
)
(0
kill
"money-2689"
)
(0
kill
"money-2690"
)
(0
kill
"farmer-3"
)
(0
kill
"villagea-part-26"
)
(0
kill
"money-2692"
)
(0
kill
"villagea-part-37"
)
(0
kill
"villagea-part-38"
)
(0
kill
"villagea-part-64"
)
(0
kill
"crate-3142"
)
(0
kill
"crate-3143"
)
(0
kill
"money-2688"
)
(0
kill
"villagea-part-14"
)
(0
kill
"money-2691"
)
(0
kill
"villagea-part-62"
)
(0
kill
"villagea-part-63"
)
(0
kill
"sharkey-1"
)
(0
kill
"eco-82"
)
(0
kill
"eco-83"
)
(0
kill
"crate-2470"
)
(0
kill
"villagea-part-3"
)
(0
kill
"villagea-part-15"
)
(0
kill
"villagea-part-22"
)
(0
kill
"villagea-part-28"
)
(0
kill
"explorer-4"
)
(0
kill
"oracle-1"
)
(0
kill
"crate-3141"
)
(0
kill
"crate-3145"
)
(0
kill
"water-vol-8"
)
(0
kill
"water-vol-63"
)
(0
kill
"lrocklrg-1"
)
(0
kill
"crate-2469"
)
(0 kill "villagea-part-69") (0 display-level beach special)
)
)
)
(else
(if arg0
(save-reminder (-> obj tasks) 0 0)
)
(new 'static 'spool-anim
:name "mayor-reminder-donation"
:index 6
:parts 3
:command-list
'(
(0
kill
"villagea-part-65"
)
(0
kill
"villagea-part-70"
)
(0
kill
"med-res-level-2"
)
(0
kill
"med-res-level-3"
)
(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
"fishermans-boat-2"
)
(0
kill
"windspinner-9"
)
(0
kill
"sagesail-6"
)
(0
kill
"sharkey-12"
)
(0
kill
"windmill-sail-4"
)
(0
kill
"water-vol-7"
)
(0
kill
"windspinner-8"
)
(0
kill
"villagea-part-32"
)
(0
kill
"water-vol-10"
)
(0
kill
"ropebridge-4"
)
(0
kill
"ropebridge-5"
)
(0
kill
"reflector-end-1"
)
(0
kill
"eco-10"
)
(0
kill
"eco-11"
)
(0
kill
"warp-gate-switch-3"
)
(0
kill
"reflector-middle-2"
)
(0
kill
"evilplant-2"
)
(0
kill
"crate-3147"
)
(0
kill
"villagea-water-2"
)
(0
kill
"med-res-level-22"
)
(0
kill
"med-res-level-23"
)
(0
kill
"villagea-part-50"
)
(0
kill
"water-vol-9"
)
(0
kill
"crate-3144"
)
(0
kill
"orb-cache-top-4"
)
(0
kill
"village-cam-2"
)
(0
kill
"villagea-part-18"
)
(0
kill
"villagea-part-24"
)
(0
kill
"money-2676"
)
(0
kill
"villagea-part-64"
)
(0
kill
"villagea-part-13"
)
(0
kill
"villagea-part-17"
)
(0
kill
"money-2689"
)
(0
kill
"money-2690"
)
(0
kill
"farmer-3"
)
(0
kill
"villagea-part-26"
)
(0
kill
"money-2692"
)
(0
kill
"villagea-part-37"
)
(0
kill
"villagea-part-38"
)
(0
kill
"villagea-part-64"
)
(0
kill
"crate-3142"
)
(0
kill
"crate-3143"
)
(0
kill
"money-2688"
)
(0
kill
"villagea-part-14"
)
(0
kill
"money-2691"
)
(0
kill
"villagea-part-62"
)
(0
kill
"villagea-part-63"
)
(0
kill
"sharkey-1"
)
(0
kill
"eco-82"
)
(0
kill
"eco-83"
)
(0
kill
"crate-2470"
)
(0
kill
"villagea-part-3"
)
(0
kill
"villagea-part-15"
)
(0
kill
"villagea-part-22"
)
(0
kill
"villagea-part-28"
)
(0
kill
"explorer-4"
)
(0
kill
"oracle-1"
)
(0
kill
"crate-3141"
)
(0
kill
"crate-3145"
)
(0
kill
"water-vol-8"
)
(0
kill
"water-vol-63"
)
(0
kill
"lrocklrg-1"
)
(0
kill
"crate-2469"
)
(0 kill "villagea-part-69") (0 display-level beach special)
)
)
)
)
)
(((task-status need-reward-speech))
(if (not arg0)
(set! (-> obj will-talk) #t)
)
(case (current-task (-> obj tasks))
(((game-task jungle-lurkerm))
(mayor-lurkerm-reward-speech obj arg0)
)
(else
(cond
(arg0
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc)))
)
(else
(set! (-> obj talk-message) (the-as uint 282))
)
)
(new 'static 'spool-anim
:name "mayor-resolution-donation"
:index 8
:parts 5
:command-list
'(
(0
kill
"villagea-part-65"
)
(0
kill
"villagea-part-70"
)
(0
kill
"med-res-level-2"
)
(0
kill
"med-res-level-3"
)
(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
"fishermans-boat-2"
)
(0
kill
"windspinner-9"
)
(0
kill
"sagesail-6"
)
(0
kill
"sharkey-12"
)
(0
kill
"windmill-sail-4"
)
(0
kill
"water-vol-7"
)
(0
kill
"windspinner-8"
)
(0
kill
"villagea-part-32"
)
(0
kill
"water-vol-10"
)
(0
kill
"ropebridge-4"
)
(0
kill
"ropebridge-5"
)
(0
kill
"reflector-end-1"
)
(0
kill
"eco-10"
)
(0
kill
"eco-11"
)
(0
kill
"warp-gate-switch-3"
)
(0
kill
"reflector-middle-2"
)
(0
kill
"evilplant-2"
)
(0
kill
"crate-3147"
)
(0
kill
"villagea-water-2"
)
(0
kill
"med-res-level-22"
)
(0
kill
"med-res-level-23"
)
(0
kill
"villagea-part-50"
)
(0
kill
"water-vol-9"
)
(0
kill
"crate-3144"
)
(0
kill
"orb-cache-top-4"
)
(0
kill
"village-cam-2"
)
(0
kill
"villagea-part-18"
)
(0
kill
"villagea-part-24"
)
(0
kill
"money-2676"
)
(0
kill
"villagea-part-64"
)
(0
kill
"villagea-part-13"
)
(0
kill
"villagea-part-17"
)
(0
kill
"money-2689"
)
(0
kill
"money-2690"
)
(0
kill
"farmer-3"
)
(0
kill
"villagea-part-26"
)
(0
kill
"money-2692"
)
(0
kill
"villagea-part-37"
)
(0
kill
"villagea-part-38"
)
(0
kill
"villagea-part-64"
)
(0
kill
"crate-3142"
)
(0
kill
"crate-3143"
)
(0
kill
"money-2688"
)
(0
kill
"villagea-part-14"
)
(0
kill
"money-2691"
)
(0
kill
"villagea-part-62"
)
(0
kill
"villagea-part-63"
)
(0
kill
"sharkey-1"
)
(0
kill
"eco-82"
)
(0
kill
"eco-83"
)
(0
kill
"crate-2470"
)
(0
kill
"villagea-part-3"
)
(0
kill
"villagea-part-15"
)
(0
kill
"villagea-part-22"
)
(0
kill
"villagea-part-28"
)
(0
kill
"explorer-4"
)
(0
kill
"oracle-1"
)
(0
kill
"crate-3141"
)
(0
kill
"crate-3145"
)
(0
kill
"water-vol-8"
)
(0
kill
"water-vol-63"
)
(0
kill
"lrocklrg-1"
)
(0
kill
"crate-2469"
)
(0 kill "villagea-part-69") (0 display-level beach special)
)
)
)
)
)
(else
(if arg0
(format
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
)
)
)
(defmethod get-art-elem mayor ((obj mayor))
(-> obj draw art-group data 3)
)
(defmethod should-display? mayor ((obj mayor))
(if *target*
(< (- (-> (target-pos 0) z) (-> obj root-override trans z)) 57344.0)
(< (- (-> (camera-pos) z) (-> obj root-override trans z)) 57344.0)
)
)
(defmethod TODO-RENAME-43 mayor ((obj mayor))
(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.8888889 f0-2)
(if
(not
(closed?
(-> obj tasks)
(game-task jungle-lurkerm)
(task-status need-reminder)
)
)
(play-ambient
(-> obj ambient)
"CHI-LO01"
#f
(-> obj root-override trans)
)
)
)
((< 0.7777778 f0-2)
(if
(not
(closed?
(-> obj tasks)
(game-task jungle-lurkerm)
(task-status need-reminder)
)
)
(play-ambient
(-> obj ambient)
"CHI-LO02"
#f
(-> obj root-override trans)
)
)
)
((< 0.6666667 f0-2)
(if
(not
(closed?
(-> obj tasks)
(game-task jungle-lurkerm)
(task-status need-reminder)
)
)
(play-ambient
(-> obj ambient)
"CHI-AM07"
#f
(-> obj root-override trans)
)
)
)
((< 0.5555556 f0-2)
(play-ambient (-> obj ambient) "CHI-AM06" #f (-> obj root-override trans))
)
((< 0.44444445 f0-2)
(play-ambient (-> obj ambient) "CHI-AM05" #f (-> obj root-override trans))
)
((< 0.33333334 f0-2)
(play-ambient (-> obj ambient) "CHI-AM04" #f (-> obj root-override trans))
)
((< 0.22222222 f0-2)
(if
(not
(closed?
(-> obj tasks)
(game-task jungle-lurkerm)
(task-status need-reminder)
)
)
(play-ambient
(-> obj ambient)
"CHI-AM03"
#f
(-> obj root-override trans)
)
)
)
((< 0.11111111 f0-2)
(if
(not
(closed?
(-> obj tasks)
(game-task jungle-lurkerm)
(task-status need-reminder)
)
)
(play-ambient
(-> obj ambient)
"CHI-AM02"
#f
(-> obj root-override trans)
)
)
)
(else
(if
(not
(closed?
(-> obj tasks)
(game-task jungle-lurkerm)
(task-status need-reminder)
)
)
(play-ambient
(-> obj ambient)
"CHI-AM01"
#f
(-> obj root-override trans)
)
)
)
)
)
)
)
(defstate idle (mayor)
:virtual #t
:trans
(behavior ()
(if (not (should-display? self))
(go-virtual hidden)
)
((-> (method-of-type process-taskable idle) trans))
(none)
)
:post
(behavior ()
(let ((t9-0 (-> (method-of-type process-taskable idle) post)))
(if t9-0
((the-as (function none) t9-0))
)
)
(dummy-45 (-> self root-override))
(none)
)
)
(defmethod copy-defaults! mayor ((obj mayor) (arg0 res-lump))
(dummy-40
obj
arg0
*mayor-sg*
3
51
(new 'static 'vector :y 4096.0 :w 4096.0)
5
)
(set! (-> obj bounce-away) #f)
(set! (-> obj tasks) (get-task-control (game-task jungle-lurkerm)))
(set! (-> obj sound-flava) (the-as uint 8))
(set! (-> obj draw light-index) (the-as uint 2))
(dummy-42 obj)
(none)
)