finish up some functions in mood (#875)

This commit is contained in:
water111 2021-10-02 12:47:39 -04:00 committed by GitHub
parent f40b95ae1c
commit 184720b7ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 3602 additions and 3018 deletions

View File

@ -682,6 +682,17 @@ std::unique_ptr<AtomicOp> convert_sw_1(const Instruction& i0, int idx) {
}
}
std::unique_ptr<AtomicOp> convert_swc1_1(const Instruction& i0, int idx) {
if (i0.get_src(1).is_sym() && i0.get_src(2).is_reg(rs7())) {
// storing a float in the symbol table. It's very rare, but possible
return std::make_unique<StoreOp>(4, StoreOp::Kind::FLOAT,
SimpleAtom::make_sym_val(i0.get_src(1).get_sym()).as_expr(),
make_src_atom(i0.get_src(0).get_reg(), idx), idx);
} else {
return make_standard_store(i0, idx, 4, StoreOp::Kind::FLOAT);
}
}
std::unique_ptr<AtomicOp> convert_sd_1(const Instruction& i0, int idx) {
if (i0.get_src(0).is_reg(rr0()) && i0.get_src(1).is_imm(2) && i0.get_src(2).is_reg(rr0())) {
return std::make_unique<SpecialOp>(SpecialOp::Kind::CRASH, idx);
@ -901,7 +912,7 @@ std::unique_ptr<AtomicOp> convert_1(const Instruction& i0,
case InstructionKind::SQC2:
return make_standard_store(i0, idx, 16, StoreOp::Kind::VECTOR_FLOAT);
case InstructionKind::SWC1:
return make_standard_store(i0, idx, 4, StoreOp::Kind::FLOAT);
return convert_swc1_1(i0, idx);
case InstructionKind::CVTWS: // float to int
return make_2reg_op(i0, SimpleExpression::Kind::FLOAT_TO_INT, idx);
case InstructionKind::CVTSW: // int to float

View File

@ -17445,7 +17445,7 @@
(define-extern update-mood-palette (function mood-context float int float))
(define-extern update-mood-interp (function mood-context mood-context mood-context float none))
(define-extern update-mood-lightning (function mood-context int int int int float symbol none)) ;; TODO - asm - ret not verified
(define-extern update-mood-lava (function mood-context float int symbol none))
(define-extern update-mood-lava (function mood-context int int symbol none))
(define-extern update-light-kit (function light-group light float float))
(define-extern set-target-light-index (function int int))
(define-extern update-mood-caustics (function mood-context int int float)) ;; TODO - double check
@ -17475,7 +17475,7 @@
;; - Symbols
(define-extern *time-of-day-proc* (pointer time-of-day-proc))
(define-extern *lightning-time2* float) ;; TODO - guess
(define-extern *lightning-time2* int)
(define-extern *rolling-spheres-on* (inline-array vector)) ;; 11 vectors
(define-extern *rolling-spheres-light0* vector) ;; TODO - what is going on here...
(define-extern *rolling-spheres-light1* (inline-array vector)) ; TODO - what is going on here...
@ -17491,7 +17491,7 @@
(define-extern *flash6* (array float))
(define-extern *flash7* (array float))
(define-extern *lightning-index* int)
(define-extern *lightning-time* float) ;; a guess, might be uint (useconds)
(define-extern *lightning-time* int)
(define-extern *lightning-frame-done* symbol)
(define-extern *lightning-realtime-done* symbol)
(define-extern *thunder-id0* sound-id)
@ -17499,7 +17499,7 @@
(define-extern *thunder-id2* sound-id)
(define-extern *thunder-id* sound-id)
(define-extern *thunder-count* int)
(define-extern *lava-time* int) ;; TODO - guess
(define-extern *lava-time* float) ;; TODO - guess
;; ----------------------

View File

@ -219,11 +219,6 @@
"particle-adgif",
"sp-init-fields!",
// mood BUG
"update-mood-lava", // BUG:
"update-mood-lightning",
// time-of-day
"time-of-day-interp-colors-scratch",
"time-of-day-interp-colors",

View File

@ -3871,5 +3871,14 @@
[59, "v1", "dma-packet"]
],
"update-mood-lightning": [
[[255, 259], "s5", "process-drawable"],
[[293, 297], "s5", "process-drawable"],
[[331, 336], "s5", "process-drawable"],
[235, "v0", "sound-rpc-set-param"],
[273, "v0", "sound-rpc-set-param"],
[311, "v0", "sound-rpc-set-param"]
],
"placeholder-do-not-add-below": []
}

File diff suppressed because it is too large Load Diff

View File

@ -5,10 +5,6 @@
;; name in dgo: mood
;; dgos: GAME, ENGINE
;; TODO
(define-extern update-mood-lightning (function mood-context int int int int float symbol none))
(define-extern update-mood-lava (function mood-context float int symbol none))
;; definition for function clear-mood-times
(defun clear-mood-times ((arg0 mood-context))
(dotimes (v1-0 8)
@ -138,13 +134,13 @@
(.ppach v1-2 a1-1 v1-1)
(.mov r0-2 f31-0)
(.ppach a1-2 a3-1 a2-1)
(set! (-> arg0 itimes 0 quad) (the-as uint128 v1-2))
(set! (-> arg0 itimes 0 quad) v1-2)
(.ppach v1-3 t1-1 t0-1)
(set! (-> arg0 itimes 1 quad) (the-as uint128 a1-2))
(set! (-> arg0 itimes 1 quad) a1-2)
(.ppach a1-3 t3-1 t2-1)
(set! (-> arg0 itimes 2 quad) (the-as uint128 v1-3))
(set! (-> arg0 itimes 2 quad) v1-3)
(nop!)
(set! (-> arg0 itimes 3 quad) (the-as uint128 a1-3))
(set! (-> arg0 itimes 3 quad) a1-3)
0
(none)
)
@ -966,11 +962,11 @@
;; definition for symbol *lightning-index*, type int
(define *lightning-index* 0)
;; definition for symbol *lightning-time*, type float
(define *lightning-time* (the-as float 0))
;; definition for symbol *lightning-time*, type int
(define *lightning-time* 0)
;; definition for symbol *lightning-time2*, type float
(define *lightning-time2* (the-as float 0))
;; definition for symbol *lightning-time2*, type int
(define *lightning-time2* 0)
;; definition for symbol *lightning-frame-done*, type symbol
(define *lightning-frame-done* #f)
@ -1011,7 +1007,219 @@
)
;; definition for function update-mood-lightning
;; ERROR: function was not converted to expressions. Cannot decompile.
;; INFO: Return type mismatch symbol vs none.
;; Used lq/sq
(defun
update-mood-lightning
((arg0 mood-context)
(arg1 int)
(arg2 int)
(arg3 int)
(arg4 int)
(arg5 float)
(arg6 symbol)
)
(local-vars (a3-2 (array float)))
(with-pp
(set! (-> arg0 light-group 0 dir2 levels x) 0.0)
(let* ((s4-0 (&-> arg0 state arg3))
(a1-1 (+ *lightning-index* arg1))
(v1-3 (+ *lightning-index* arg4))
(a3-1 (-> s4-0 0))
(a2-2 (/ *lightning-time* 2))
)
(cond
((zero? *lightning-time2*)
(cond
((zero? a3-1)
(set! a3-2 *flash0*)
)
((= a3-1 1)
(set! a3-2 *flash1*)
)
((= a3-1 2)
(set! a3-2 *flash2*)
)
((= a3-1 3)
(set! a3-2 *flash3*)
)
((= a3-1 4)
(set! a3-2 *flash4*)
)
((= a3-1 5)
(set! a3-2 *flash5*)
)
((= a3-1 6)
(set! a3-2 *flash6*)
)
(else
(set! a3-2 *flash7*)
)
)
(cond
((< a2-2 (-> a3-2 length))
(let ((f0-1 (-> a3-2 a2-2)))
(set! (-> arg0 sky-times a1-1) f0-1)
(when (not arg6)
(set! (-> arg0 times v1-3 w) f0-1)
(when (not *lightning-realtime-done*)
(let* ((a1-11 (-> arg0 mood-lights-table data v1-3))
(v1-6 (-> arg0 light-group 0 dir2))
(f1-4
(*
(+
(* 2.0 (-> a1-11 lgt-color x))
(* 4.0 (-> a1-11 lgt-color y))
(-> a1-11 lgt-color z)
)
f0-1
)
)
)
(set! (-> v1-6 direction quad) (-> a1-11 direction quad))
(set! (-> v1-6 color quad) (-> a1-11 lgt-color quad))
(set! (-> v1-6 levels x) f0-1)
(set! (-> v1-6 levels y) f1-4)
)
(set! *lightning-realtime-done* #t)
)
)
)
(if (not (or (paused?) *lightning-frame-done*))
(set! *lightning-time* (+ *lightning-time* 1))
)
)
(arg6
(set! *lightning-time2* (the int (rand-vu-float-range 360.0 960.0)))
)
(else
(set! *lightning-time2* (the int (rand-vu-float-range 180.0 480.0)))
)
)
)
(else
(when (not (or (paused?) *lightning-frame-done*))
(set! *lightning-time2* (+ *lightning-time2* -1))
(when (zero? *lightning-time2*)
(set! *lightning-index* (mod (+ *lightning-index* 1) arg2))
(set! (-> s4-0 0) (logand (rand-uint31-gen *random-generator*) 7))
(set! *lightning-time* 0)
(let ((v1-24 *thunder-count*))
(cond
((zero? v1-24)
(set! *thunder-id* *thunder-id0*)
(set! *thunder-count* 1)
)
((= v1-24 1)
(set! *thunder-id* *thunder-id1*)
(set! *thunder-count* 2)
)
(else
(set! *thunder-id* *thunder-id2*)
(set! *thunder-count* 0)
0
)
)
)
(when (>= (-> *math-camera* trans y) -81920.0)
(if arg6
(sound-play-by-name
(static-sound-name "thunder")
*thunder-id*
(the int (* 10.24 (rand-vu-float-range 25.0 75.0)))
(the int (* 1524.0 (rand-vu-float-range -1.0 1.0)))
0
(the-as uint 1)
(the-as vector #t)
)
(sound-play-by-name
(static-sound-name "thunder")
*thunder-id*
(the int (* 10.24 (rand-vu-float-range 200.0 400.0)))
(the int (* 1524.0 (rand-vu-float-range -1.0 1.0)))
0
(the-as uint 1)
(the-as vector #t)
)
)
)
)
)
)
)
)
(when (not *lightning-frame-done*)
(let ((gp-3 (the-as sound-rpc-set-param (get-sound-buffer-entry))))
(set! (-> gp-3 command) (sound-command set-param))
(set! (-> gp-3 id) *thunder-id0*)
(let ((a1-23 (camera-pos)))
(let ((s5-3 pp))
(when (= a1-23 #t)
(if
(and
s5-3
(type-type? (-> s5-3 type) process-drawable)
(nonzero? (-> (the-as process-drawable s5-3) root))
)
(set! a1-23 (-> (the-as process-drawable s5-3) root trans))
(set! a1-23 (the-as vector #f))
)
)
)
(sound-trans-convert (-> gp-3 parms trans) a1-23)
)
(set! (-> gp-3 parms mask) (the-as uint 32))
(-> gp-3 id)
)
(let ((gp-4 (the-as sound-rpc-set-param (get-sound-buffer-entry))))
(set! (-> gp-4 command) (sound-command set-param))
(set! (-> gp-4 id) *thunder-id1*)
(let ((a1-25 (camera-pos)))
(let ((s5-4 pp))
(when (= a1-25 #t)
(if
(and
s5-4
(type-type? (-> s5-4 type) process-drawable)
(nonzero? (-> (the-as process-drawable s5-4) root))
)
(set! a1-25 (-> (the-as process-drawable s5-4) root trans))
(set! a1-25 (the-as vector #f))
)
)
)
(sound-trans-convert (-> gp-4 parms trans) a1-25)
)
(set! (-> gp-4 parms mask) (the-as uint 32))
(-> gp-4 id)
)
(let ((gp-5 (the-as sound-rpc-set-param (get-sound-buffer-entry))))
(set! (-> gp-5 command) (sound-command set-param))
(set! (-> gp-5 id) *thunder-id2*)
(let ((a1-27 (camera-pos)))
(let ((s5-5 pp))
(when (= a1-27 #t)
(if
(and
s5-5
(type-type? (-> s5-5 type) process-drawable)
(nonzero? (-> (the-as process-drawable s5-5) root))
)
(set! a1-27 (-> (the-as process-drawable s5-5) root trans))
(set! a1-27 (the-as vector #f))
)
)
)
(sound-trans-convert (-> gp-5 parms trans) a1-27)
)
(set! (-> gp-5 parms mask) (the-as uint 32))
(-> gp-5 id)
)
)
(set! *lightning-frame-done* #t)
(none)
)
)
;; definition of type light-time-state
(deftype light-time-state (structure)
@ -1127,11 +1335,60 @@
obj
)
;; definition for symbol *lava-time*, type int
(define *lava-time* 0)
;; definition for symbol *lava-time*, type float
(define *lava-time* (the-as float 0))
;; definition for function update-mood-lava
;; ERROR: function was not converted to expressions. Cannot decompile.
;; INFO: Return type mismatch float vs none.
(defun update-mood-lava ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 symbol))
(let* ((s4-0 (&-> arg0 state arg2))
(s1-0 (-> s4-0 16))
(s2-0 (-> s4-0 17))
)
(when (not (paused?))
(set! (-> s4-0 16) (+ s1-0 4))
(set! *lava-time* (+ *lava-time* (rand-vu-float-range 64.0 2048.0)))
)
(let ((s0-0 (-> arg0 light-group 0 dir2))
(f0-4 (+ 0.875 (* 0.125 (sin *lava-time*))))
)
(set-vector! (-> s0-0 direction) 0.0 -1.0 0.0 0.0)
(set-vector! (-> s0-0 color) 1.0 0.364 0.0 1.0)
(set! (-> s0-0 levels x) f0-4)
)
(let ((s0-1 (shr s1-0 6))
(f30-2 (* 0.015625 (the float (logand s1-0 63))))
)
(when (!= s0-1 s2-0)
(set!
(-> (the-as (pointer float) (+ (* s0-1 4) (the-as uint s4-0))))
(the float (the int (rand-vu-float-range 128.0 255.0)))
)
(set! (-> s4-0 17) s0-1)
)
(when arg3
(let* ((v1-14 (logand (+ s0-1 -1) 3))
(f1-11
(*
0.0078125
(-> (the-as (pointer float) (+ (* s0-1 4) (the-as uint s4-0))))
)
)
(f0-11
(*
0.0078125
(-> (the-as (pointer float) (+ (* v1-14 4) (the-as uint s4-0))))
)
)
)
(set! (-> arg0 times (+ arg1 s0-1) w) (* f30-2 f1-11))
(set! (-> arg0 times (+ arg1 v1-14) w) (* (- 1.0 f30-2) f0-11))
)
)
)
)
(none)
)
;; definition for function update-mood-caustics
(defun update-mood-caustics ((arg0 mood-context) (arg1 int) (arg2 int))
@ -2305,7 +2562,7 @@
(clear-mood-times arg0)
(update-mood-palette arg0 arg1 arg2)
(if *time-of-day-effects*
(update-mood-lava arg0 (the-as float 4) 0 #t)
(update-mood-lava arg0 4 0 #t)
)
(update-mood-itimes arg0)
0
@ -2909,7 +3166,7 @@
(if (not (paused?))
(+! (-> arg0 some-byte) 1)
)
(update-mood-lava arg0 (the-as float 4) 0 #t)
(update-mood-lava arg0 4 0 #t)
)
(update-mood-quick arg0 0 0 0 arg2)
(update-mood-itimes arg0)
@ -3760,4 +4017,8 @@
)
(update-mood-itimes arg0)
(none)
)
)

View File

@ -4332,3 +4332,7 @@
;; failed to figure out what this is:
(set! (-> *citadel-mood* num-stars) 0.0)

View File

@ -958,11 +958,11 @@
;; definition for symbol *lightning-index*, type int
(define *lightning-index* 0)
;; definition for symbol *lightning-time*, type float
(define *lightning-time* (the-as float 0))
;; definition for symbol *lightning-time*, type int
(define *lightning-time* 0)
;; definition for symbol *lightning-time2*, type float
(define *lightning-time2* (the-as float 0))
;; definition for symbol *lightning-time2*, type int
(define *lightning-time2* 0)
;; definition for symbol *lightning-frame-done*, type symbol
(define *lightning-frame-done* #f)
@ -1003,7 +1003,219 @@
)
;; definition for function update-mood-lightning
;; ERROR: function was not converted to expressions. Cannot decompile.
;; INFO: Return type mismatch symbol vs none.
;; Used lq/sq
(defun
update-mood-lightning
((arg0 mood-context)
(arg1 int)
(arg2 int)
(arg3 int)
(arg4 int)
(arg5 float)
(arg6 symbol)
)
(local-vars (a3-2 (array float)))
(with-pp
(set! (-> arg0 light-group 0 dir2 levels x) 0.0)
(let* ((s4-0 (&-> arg0 state arg3))
(a1-1 (+ *lightning-index* arg1))
(v1-3 (+ *lightning-index* arg4))
(a3-1 (-> s4-0 0))
(a2-2 (/ *lightning-time* 2))
)
(cond
((zero? *lightning-time2*)
(cond
((zero? a3-1)
(set! a3-2 *flash0*)
)
((= a3-1 1)
(set! a3-2 *flash1*)
)
((= a3-1 2)
(set! a3-2 *flash2*)
)
((= a3-1 3)
(set! a3-2 *flash3*)
)
((= a3-1 4)
(set! a3-2 *flash4*)
)
((= a3-1 5)
(set! a3-2 *flash5*)
)
((= a3-1 6)
(set! a3-2 *flash6*)
)
(else
(set! a3-2 *flash7*)
)
)
(cond
((< a2-2 (-> a3-2 length))
(let ((f0-1 (-> a3-2 a2-2)))
(set! (-> arg0 sky-times a1-1) f0-1)
(when (not arg6)
(set! (-> arg0 times v1-3 w) f0-1)
(when (not *lightning-realtime-done*)
(let* ((a1-11 (-> arg0 mood-lights-table data v1-3))
(v1-6 (-> arg0 light-group 0 dir2))
(f1-4
(*
(+
(* 2.0 (-> a1-11 lgt-color x))
(* 4.0 (-> a1-11 lgt-color y))
(-> a1-11 lgt-color z)
)
f0-1
)
)
)
(set! (-> v1-6 direction quad) (-> a1-11 direction quad))
(set! (-> v1-6 color quad) (-> a1-11 lgt-color quad))
(set! (-> v1-6 levels x) f0-1)
(set! (-> v1-6 levels y) f1-4)
)
(set! *lightning-realtime-done* #t)
)
)
)
(if (not (or (paused?) *lightning-frame-done*))
(set! *lightning-time* (+ *lightning-time* 1))
)
)
(arg6
(set! *lightning-time2* (the int (rand-vu-float-range 360.0 960.0)))
)
(else
(set! *lightning-time2* (the int (rand-vu-float-range 180.0 480.0)))
)
)
)
(else
(when (not (or (paused?) *lightning-frame-done*))
(set! *lightning-time2* (+ *lightning-time2* -1))
(when (zero? *lightning-time2*)
(set! *lightning-index* (mod (+ *lightning-index* 1) arg2))
(set! (-> s4-0 0) (logand (rand-uint31-gen *random-generator*) 7))
(set! *lightning-time* 0)
(let ((v1-24 *thunder-count*))
(cond
((zero? v1-24)
(set! *thunder-id* *thunder-id0*)
(set! *thunder-count* 1)
)
((= v1-24 1)
(set! *thunder-id* *thunder-id1*)
(set! *thunder-count* 2)
)
(else
(set! *thunder-id* *thunder-id2*)
(set! *thunder-count* 0)
0
)
)
)
(when (>= (-> *math-camera* trans y) -81920.0)
(if arg6
(sound-play-by-name
(static-sound-name "thunder")
*thunder-id*
(the int (* 10.24 (rand-vu-float-range 25.0 75.0)))
(the int (* 1524.0 (rand-vu-float-range -1.0 1.0)))
0
(the-as uint 1)
(the-as vector #t)
)
(sound-play-by-name
(static-sound-name "thunder")
*thunder-id*
(the int (* 10.24 (rand-vu-float-range 200.0 400.0)))
(the int (* 1524.0 (rand-vu-float-range -1.0 1.0)))
0
(the-as uint 1)
(the-as vector #t)
)
)
)
)
)
)
)
)
(when (not *lightning-frame-done*)
(let ((gp-3 (the-as sound-rpc-set-param (get-sound-buffer-entry))))
(set! (-> gp-3 command) (sound-command set-param))
(set! (-> gp-3 id) *thunder-id0*)
(let ((a1-23 (camera-pos)))
(let ((s5-3 pp))
(when (= a1-23 #t)
(if
(and
s5-3
(type-type? (-> s5-3 type) process-drawable)
(nonzero? (-> (the-as process-drawable s5-3) root))
)
(set! a1-23 (-> (the-as process-drawable s5-3) root trans))
(set! a1-23 (the-as vector #f))
)
)
)
(sound-trans-convert (-> gp-3 parms trans) a1-23)
)
(set! (-> gp-3 parms mask) (the-as uint 32))
(-> gp-3 id)
)
(let ((gp-4 (the-as sound-rpc-set-param (get-sound-buffer-entry))))
(set! (-> gp-4 command) (sound-command set-param))
(set! (-> gp-4 id) *thunder-id1*)
(let ((a1-25 (camera-pos)))
(let ((s5-4 pp))
(when (= a1-25 #t)
(if
(and
s5-4
(type-type? (-> s5-4 type) process-drawable)
(nonzero? (-> (the-as process-drawable s5-4) root))
)
(set! a1-25 (-> (the-as process-drawable s5-4) root trans))
(set! a1-25 (the-as vector #f))
)
)
)
(sound-trans-convert (-> gp-4 parms trans) a1-25)
)
(set! (-> gp-4 parms mask) (the-as uint 32))
(-> gp-4 id)
)
(let ((gp-5 (the-as sound-rpc-set-param (get-sound-buffer-entry))))
(set! (-> gp-5 command) (sound-command set-param))
(set! (-> gp-5 id) *thunder-id2*)
(let ((a1-27 (camera-pos)))
(let ((s5-5 pp))
(when (= a1-27 #t)
(if
(and
s5-5
(type-type? (-> s5-5 type) process-drawable)
(nonzero? (-> (the-as process-drawable s5-5) root))
)
(set! a1-27 (-> (the-as process-drawable s5-5) root trans))
(set! a1-27 (the-as vector #f))
)
)
)
(sound-trans-convert (-> gp-5 parms trans) a1-27)
)
(set! (-> gp-5 parms mask) (the-as uint 32))
(-> gp-5 id)
)
)
(set! *lightning-frame-done* #t)
(none)
)
)
;; definition of type light-time-state
(deftype light-time-state (structure)
@ -1119,11 +1331,60 @@
obj
)
;; definition for symbol *lava-time*, type int
(define *lava-time* 0)
;; definition for symbol *lava-time*, type float
(define *lava-time* (the-as float 0))
;; definition for function update-mood-lava
;; ERROR: function was not converted to expressions. Cannot decompile.
;; INFO: Return type mismatch float vs none.
(defun update-mood-lava ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 symbol))
(let* ((s4-0 (&-> arg0 state arg2))
(s1-0 (-> s4-0 16))
(s2-0 (-> s4-0 17))
)
(when (not (paused?))
(set! (-> s4-0 16) (+ s1-0 4))
(set! *lava-time* (+ *lava-time* (rand-vu-float-range 64.0 2048.0)))
)
(let ((s0-0 (-> arg0 light-group 0 dir2))
(f0-4 (+ 0.875 (* 0.125 (sin *lava-time*))))
)
(set-vector! (-> s0-0 direction) 0.0 -1.0 0.0 0.0)
(set-vector! (-> s0-0 color) 1.0 0.364 0.0 1.0)
(set! (-> s0-0 levels x) f0-4)
)
(let ((s0-1 (shr s1-0 6))
(f30-2 (* 0.015625 (the float (logand s1-0 63))))
)
(when (!= s0-1 s2-0)
(set!
(-> (the-as (pointer float) (+ (* s0-1 4) (the-as uint s4-0))))
(the float (the int (rand-vu-float-range 128.0 255.0)))
)
(set! (-> s4-0 17) s0-1)
)
(when arg3
(let* ((v1-14 (logand (+ s0-1 -1) 3))
(f1-11
(*
0.0078125
(-> (the-as (pointer float) (+ (* s0-1 4) (the-as uint s4-0))))
)
)
(f0-11
(*
0.0078125
(-> (the-as (pointer float) (+ (* v1-14 4) (the-as uint s4-0))))
)
)
)
(set! (-> arg0 times (+ arg1 s0-1) w) (* f30-2 f1-11))
(set! (-> arg0 times (+ arg1 v1-14) w) (* (- 1.0 f30-2) f0-11))
)
)
)
)
(none)
)
;; definition for function update-mood-caustics
(defun update-mood-caustics ((arg0 mood-context) (arg1 int) (arg2 int))
@ -2297,7 +2558,7 @@
(clear-mood-times arg0)
(update-mood-palette arg0 arg1 arg2)
(if *time-of-day-effects*
(update-mood-lava arg0 (the-as float 4) 0 #t)
(update-mood-lava arg0 4 0 #t)
)
(update-mood-itimes arg0)
0
@ -2901,7 +3162,7 @@
(if (not (paused?))
(+! (-> arg0 some-byte) 1)
)
(update-mood-lava arg0 (the-as float 4) 0 #t)
(update-mood-lava arg0 4 0 #t)
)
(update-mood-quick arg0 0 0 0 arg2)
(update-mood-itimes arg0)
@ -3753,3 +4014,7 @@
(update-mood-itimes arg0)
(none)
)