diff --git a/desktop/gametodos.txt b/desktop/gametodos.txt index fb0d257e..70c98746 100644 --- a/desktop/gametodos.txt +++ b/desktop/gametodos.txt @@ -1,11 +1,11 @@ ART + Update all collisions -+ Have georgia mcgorgeous talk to you PROGRAMMING + try to have dialogue for every wrong interaction + preload all sounds + behind house left direction not great ++ IOS + all mp3s @@ -34,9 +34,7 @@ AUDIO + antique sigh + bloodclot grunt + bloodclot explode - + fountain + crowbar - + door + ambient forest + get sick + sigh diff --git a/desktop/src-common/advent/actions.clj b/desktop/src-common/advent/actions.clj index 62a0d086..7aca8076 100644 --- a/desktop/src-common/advent/actions.clj +++ b/desktop/src-common/advent/actions.clj @@ -514,8 +514,11 @@ :none))) (defn play-sound - ([entities sound-file vol] - (let [s (sound sound-file)] + ([entities sound-file vol & [wait?]] + (let [wait? (if (nil? wait?) true wait?) + s (if (string? sound-file) + (sound sound-file) + sound-file)] (run-action entities (begin [this screen entities] (utils/play-sound! screen entities s (constantly vol))) @@ -523,9 +526,11 @@ (continue [this screen entities] entities) (done? [this screen entities] - (not (seq (filter - #(= s (:sound %)) - (get-in entities [:current-sounds :value]))))) + (if wait? + (not (seq (filter + #(= s (:sound %)) + (get-in entities [:current-sounds :value])))) + true)) (terminate [this screen entities] entities) diff --git a/desktop/src-common/advent/screens/rooms/dream.clj b/desktop/src-common/advent/screens/rooms/dream.clj index c8778d25..bd83c5f7 100644 --- a/desktop/src-common/advent/screens/rooms/dream.clj +++ b/desktop/src-common/advent/screens/rooms/dream.clj @@ -398,6 +398,10 @@ (actions/do-dialogue entities :ego "Yes! Now, before he gets back!") (actions/pause-camera entities) (actions/walk-straight-to entities :ego [173 51] :anim :jump :update-baseline? false :speed 2.0) + (actions/play-sound entities + (get-in @entities [:room :entities :ego :drop-sound]) + 0.2 + false) (actions/walk-straight-to entities :ego [200 -80] :anim :stand :update-baseline? false :speed 3.0) (actions/remove-item entities :dream-sword) (actions/remove-item entities :broom) diff --git a/desktop/src-common/advent/screens/rooms/inside_jail.clj b/desktop/src-common/advent/screens/rooms/inside_jail.clj index 3f3cff7f..20abdced 100644 --- a/desktop/src-common/advent/screens/rooms/inside_jail.clj +++ b/desktop/src-common/advent/screens/rooms/inside_jail.clj @@ -251,9 +251,14 @@ :ball-n-chain (actions/get-script entities (if (get-in @entities [:state :bent-bars?]) (do (actions/walk-to entities :ego [102 88] :face :right) (actions/play-animation entities :ego :reach) + (actions/play-sound entities + (get-in @entities [:room :entities :ego :drop-sound]) + 0.2) (actions/update-state entities #(assoc % :dropped-ball? true)) - (actions/do-dialogue entities :ego "Geronimo!!" - :ego "*crash*!") + (actions/do-dialogue entities :ego "Geronimo!!") + (actions/play-sound entities + (get-in @entities [:room :entities :ego :breakglass-sound]) + 0.2) (Thread/sleep 200) (actions/begin-animation entities :warden :stand) (Thread/sleep 300) diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 7d8fb777..a54f3ccf 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -629,6 +629,7 @@ void main() :origin-x 9 :origin-y 0 :scaled true + :drop-sound (utils/load-sound "ego/drop.ogg") :milk-sound (utils/load-sound "outsidehouse/milk.ogg") :step-sound-1 (utils/load-sound "ego/step-1.ogg") :step-sound-2 (utils/load-sound "ego/step-2.ogg")