diff --git a/desktop/src-common/advent/screens/rooms/inside_house.clj b/desktop/src-common/advent/screens/rooms/inside_house.clj index d06feab6..121d6c3e 100644 --- a/desktop/src-common/advent/screens/rooms/inside_house.clj +++ b/desktop/src-common/advent/screens/rooms/inside_house.clj @@ -12,11 +12,14 @@ [play-clj.g2d :refer :all])) (defn open-safe [entities] + (actions/play-animation entities :ego :start-squat :stop? false) (screen! safe/safe-screen :show-screen :success (actions/get-script entities + (actions/play-animation entities :ego :end-squat) + (if (actions/has-item? entities :recipe) (do - (actions/play-animation entities :ego :squat) + (actions/talk entities :ego "I already took everything interesting from there.")) (do (actions/talk entities :ego "Yes! That worked.") @@ -33,6 +36,7 @@ (actions/give entities :mandrake) (actions/talk entities :ego "Weird. It's some kind of root.")))) :failure (actions/get-script entities + (actions/play-animation entities :ego :end-squat) (actions/talk entities :ego "I don't think that worked..."))) (actions/update-state entities #(assoc % :active? false))) diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 31022677..2bd0f5a5 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -937,10 +937,10 @@ void main() 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])) - #_(doseq [e (sort-by :baseline all-entities)] - (if (:parallax e) - (render-parallax screen (get-rendered entities e)) - (render! screen [(get-rendered entities e)])))) + (doseq [m (vals (get-in entities [:musics]))] + (when m + (music! m :set-volume (utils/current-music-volume (get-in entities [:volume :value]))))) + nil) (let [entities (fade-in-first-time-if-necessary screen entities) entities (utils/apply-tweens screen entities (:tweens entities)) entities (update-cursor screen entities) diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 740a9aa3..c83aaf83 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -256,7 +256,9 @@ (not (get-in entities [:state :active?])) - entities + (-> entities + (assoc-in [:cursor :override] nil) + (assoc-in [:cursor :active] false)) (is-unstoppable-script-running screen entities) (-> entities