sound progress.

This commit is contained in:
Bryce Covert
2015-10-07 18:04:13 -07:00
parent b87b8aa171
commit 7423f991b0
4 changed files with 38 additions and 45 deletions

View File

@@ -46,9 +46,7 @@
(actions/has-obtained? entities :sword)
0.0
:else
(* (max 0.0 (- 1.0 (/ (utils/dist 45 97 (:x ego) (:y ego)) 50.0)))
(- 1.0 (get-in entities [:fade :opacity]))
(get-in entities [:volume :value] 1.0)))))
(max 0.0 (- 1.0 (/ (utils/dist 45 97 (:x ego) (:y ego)) 50.0))))))
(defn bloodclot-appear [entities]
(actions/run-action entities
@@ -626,9 +624,14 @@
:chorus {:sound (utils/load-sound "inside-castle/chorus.ogg")}
:collision "inside-castle/collision.png"
:scale-fn (utils/scaler-fn-from-image "inside-castle/scale.png" 0.25 1.00)
:apply-state (fn [_ entities]
:apply-state (fn [screen entities]
(utils/fast-forward-particle (get-in entities [:room :entities :outside-particles]))
(as-> entities entities
(utils/play-sound! screen entities
(get-in entities [:room :chorus :sound])
get-chorus-volume
0.5
:loop)
(if (actions/has-obtained? entities :trophy)
(update-in entities [:room :entities] #(dissoc % :trophy))
entities)
@@ -642,23 +645,5 @@
(if (#{:night :sunrise} (get-in entities [:state :time]))
(make-night entities)
entities)))
:update-fn (fn [screen entities]
#_(when (and (actions/has-obtained? entities :sword)
(get-in entities [:room :entities :magic])
(particle-effect! (get-in entities [:room :entities :magic]) :is-complete))
)
(let [chorus-volume (get-chorus-volume entities)]
(if (= 0.0 chorus-volume)
(if (get-in entities [:room :chorus :instance])
(do (sound! (get-in entities [:room :chorus :sound]) :stop)
(update-in entities [:room :chorus] dissoc :instance))
entities)
(let [chorus (get-in entities [:room :chorus])]
(if (:instance chorus)
(do (sound! (:sound chorus) :set-volume
(:instance chorus)
(utils/current-sound-volume chorus-volume))
entities)
(assoc-in entities [:room :chorus :instance] (sound! (:sound chorus) :loop
(utils/current-sound-volume chorus-volume))))))))
:start-pos [245 90])))

View File

@@ -283,7 +283,9 @@
(as-> entities entities
(utils/play-sound! screen entities (get-in entities [:room :fountain-sound :sound])
:fountain 0.5 [172 120] :loop)
(utils/sourced-volume-fn :fountain 0.5 [172 120])
(utils/get-sound-pan 172)
:loop)
(if (= :night (get-in entities [:state :time]))
(make-night entities)

View File

@@ -805,9 +805,8 @@ void main()
(if-let [[snd vol-scale] (get-in anim-sound-frames [anim current-frame-index])]
(utils/play-sound! screen entities
(or (snd e) (snd (:sounds entities)))
target
vol-scale
[x y])
(utils/sourced-volume-fn target vol-scale [x y])
(utils/get-sound-pan x))
entities)
entities))
@@ -822,10 +821,10 @@ void main()
(defn update-current-sound-vols! [entities]
(loop [entities entities
[{:keys [id sound duration loc vol-scale target loc]} & rest] (get-in entities [:current-sounds :value])]
[{:keys [id sound volume-fn]} & rest] (get-in entities [:current-sounds :value])]
(if id
(do
(sound! sound :set-volume id (utils/get-sound-volume entities target vol-scale loc))
(sound! sound :set-volume id (volume-fn entities))
(recur entities rest))
entities)))
@@ -1027,6 +1026,8 @@ void main()
(if (get-in entities [:closing? :value])
(let [entities (utils/apply-tweens screen entities (:tweens entities))
entities (update-current-sound-vols! entities)
entities (remove-ended-sounds screen entities)
layers (get-layers entities)
all-entities (concat (vals entities) layers (vals (get-in entities [:room :entities])))]
(screen! fade-screen :update-fade :opacity (get-in entities [:fade :opacity]))