;;-*-Lisp-*- (in-package goal) ;; 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 ) ;; definition for method 3 of type sculptor (defmethod inspect sculptor ((obj sculptor)) (let ((t9-0 (method-of-type process-taskable inspect))) (t9-0 obj) ) (format #t "~T~Tmuse: ~D~%" (-> obj muse)) obj ) ;; failed to figure out what this is: (defskelgroup *sculptor-muse-sg* sculptor-muse 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 2.5) :longest-edge (meters 0) ) ;; failed to figure out what this is: (defskelgroup *sculptor-sg* sculptor 0 4 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 2.5) :longest-edge (meters 0) :shadow 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-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) ) ;; definition for method 48 of type sculptor (defmethod draw-npc-shadow sculptor ((obj sculptor)) (-> obj draw shadow-ctrl) (cond ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) (draw-status was-drawn)) ) (let ((v1-9 (-> obj draw shadow-ctrl))) (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) ) 0 (update-direction-from-time-of-day (-> obj draw shadow-ctrl)) ) (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))) (set! (-> arg0 incomming-attack-id) (ppointer->handle (when s5-0 (let ((t9-1 (method-of-type manipy activate))) (t9-1 (the-as manipy s5-0) arg0 'manipy (the-as pointer #x70004000)) ) (run-now-in-process s5-0 manipy-init (-> arg0 collide-info trans) (-> arg0 entity) *sculptor-muse-sg* #f) (-> s5-0 ppointer) ) ) ) ) ) (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)) ) ) (send-event (handle->process (-> arg0 incomming-attack-id)) 'anim-mode 'loop) (send-event (handle->process (-> arg0 incomming-attack-id)) 'art-joint-anim "idle" 0) (send-event (handle->process (-> arg0 incomming-attack-id)) 'draw #t) (send-event (handle->process (-> arg0 incomming-attack-id)) 'origin-joint-index 26) ) ;; 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)) (case (current-status (-> obj tasks)) (((task-status need-hint) (task-status need-introduction)) (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") (285 joint "cameraB") (331 joint "camera") (614 joint "cameraB") (760 joint "camera") (1183 joint "cameraB") (1278 joint "camera") (1433 joint "cameraB") ) ) ) (((task-status need-reminder)) (set! (-> obj skippable) #t) (new 'static 'spool-anim :name "sculptor-reminder-1" :index 17 :parts 2 :command-list '()) ) (((task-status need-reward-speech)) (when arg0 (set! (-> obj cell-for-task) (current-task (-> obj tasks))) (close-current! (-> obj tasks)) (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) (set! (-> obj muse) (ppointer->handle (when s5-1 (let ((t9-5 (method-of-type manipy activate))) (t9-5 (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) *sculptor-muse-sg* #f) (-> s5-1 ppointer) ) ) ) ) (let ((v1-18 (handle->process (-> obj muse)))) (if v1-18 (set! (-> (the-as muse v1-18) draw light-index) (the-as uint 3)) ) ) (send-event (handle->process (-> obj muse)) 'center-joint 4) (send-event (handle->process (-> obj muse)) 'anim-mode 'clone-anim) ) (new 'static 'spool-anim :name "sculptor-resolution" :index 18 :parts 4 :command-list '((51 joint "cameraB") (87 joint "camera")) ) ) (else (if arg0 (format 0 "ERROR: : ~S playing anim for task status ~S~%" (-> obj name) (task-status->string (current-status (-> obj tasks))) ) ) (-> obj draw art-group data 4) ) ) ) ;; definition for method 31 of type sculptor (defmethod get-art-elem sculptor ((obj sculptor)) (case (current-status (-> obj tasks)) (((task-status invalid) (task-status need-resolution)) (-> obj draw art-group data 11) ) (else (-> 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) (seconds 30) 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) (play-ambient (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans)) ) ((< 0.71428573 f0-2) (play-ambient (-> obj ambient) "SCU-AM05" #f (-> obj root-override trans)) ) ((< 0.5714286 f0-2) (play-ambient (-> obj ambient) "SCU-AM06" #f (-> obj root-override trans)) ) ((< 0.42857143 f0-2) (play-ambient (-> obj ambient) "SCU-AM03" #f (-> obj root-override trans)) ) ((< 0.2857143 f0-2) (play-ambient (-> obj ambient) "SCU-AM04" #f (-> obj root-override trans)) ) ((< 0.14285715 f0-2) (play-ambient (-> obj ambient) "SCU-AM01" #f (-> obj root-override trans)) ) (else (play-ambient (-> obj ambient) "SCU-AM02" #f (-> obj root-override trans)) ) ) ) ) ) ;; 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) ) (case (current-status (-> self tasks)) (((task-status invalid) (task-status need-resolution)) (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 (= v1-43 (task-status invalid)) (= v1-43 (task-status need-resolution))) (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 init-from-entity! sculptor ((obj sculptor) (arg0 entity-actor)) (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) (music-flava sculptor)) (set! (-> obj draw light-index) (the-as uint 3)) (dummy-42 obj) (none) )