diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 65827fb6..daf452b9 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -1044,10 +1044,10 @@ (assoc room :current-layers (map (partial get-rendered entities) layers)) )))) -(defn add-georgia-to-all-rooms [screen rooms] - (let [georgia-talk (utils/make-anim "ego/georgia.png" [30 30] 0.15 [0 1 0 1 0 0 1 0 1 2]) - georgia-stand (utils/make-anim "ego/georgia.png" [30 30] 0.3 [0 0 0 0 0 0 0 2 0 0 0 0 2]) - georgia-love (utils/make-anim "ego/in-love.png" [30 30] 0.1 [0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 5 6 7 8 9 10 11 12 13 14 14 14 15 15 15 14 14 14 14 14 14 14 14 15 15 15 15 15 14 14 14 14 15 15 15 15 15 15 14 14 14 14 14]) +(defn add-georgia [room screen global-atlas] + (let [georgia-talk (utils/make-anim global-atlas "ego/georgia" [30 30] 0.15 [0 1 0 1 0 0 1 0 1 2]) + georgia-stand (utils/make-anim global-atlas "ego/georgia" [30 30] 0.3 [0 0 0 0 0 0 0 2 0 0 0 0 2]) + georgia-love (utils/make-anim global-atlas "ego/in-love" [30 30] 0.1 [0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 16 17 18 17 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 5 6 7 8 9 10 11 12 13 14 14 14 15 15 15 14 14 14 14 14 14 14 14 15 15 15 15 15 14 14 14 14 15 15 15 15 15 15 14 14 14 14 14]) georgia-face (rooms/make-entity :georgia-face (assoc (animation->texture screen georgia-stand) @@ -1061,13 +1061,9 @@ :x 100 :y 100 :baseline 242 :origin-x 15 :origin-y 15 :opacity 0.0)) georgia-cloud (assoc (particle-effect "particles/cloud-georgia") :x 100 :y 100 :baseline 241 :opacity 0.0)] - (reduce (fn [rooms room-key] - (update-in rooms [room-key :entities] - assoc - :georgia-face georgia-face - :georgia-cloud georgia-cloud)) - rooms - (keys rooms)))) + (-> room + (assoc-in [:entities :georgia-face ] georgia-face) + (assoc-in [:entities :georgia-cloud] georgia-cloud)))) (defn remove-cam-tweens [entities] (update-in entities [:tweens] dissoc :cam-x :cam-y :cam-zoom)) @@ -1208,24 +1204,26 @@ _ (update! screen :shader shader) log-assets (fn [r] r) - rooms {:inside-house rooms.inside-house/make - :inside-stash rooms.inside-stash/make - :outside-house rooms.outside-house/make - :behind-house rooms.behind-house/make - :cat-tree rooms.cat-tree/make - :inside-castle rooms.inside-castle/make - :space rooms.space/make - :held rooms.held/make - :inside-cafeteria rooms.inside-cafeteria/make - :inside-antique rooms.inside-antique/make - :inside-jail rooms.inside-jail/make - :dream rooms.dream/make - :ending rooms.ending/make - :castle-gate rooms.castle-gate/make - :outside-jail rooms.outside-jail/make - :outside-castle rooms.outside-castle/make } - ;; TODO RE ADD - #_#_rooms (add-georgia-to-all-rooms screen rooms) + wrap (fn [maker] + (fn [screen] + (-> (maker screen) + (add-georgia screen global-atlas)))) + rooms {:inside-house (wrap rooms.inside-house/make) + :inside-stash (wrap rooms.inside-stash/make) + :outside-house (wrap rooms.outside-house/make) + :behind-house (wrap rooms.behind-house/make) + :cat-tree (wrap rooms.cat-tree/make) + :inside-castle (wrap rooms.inside-castle/make) + :space (wrap rooms.space/make) + :held (wrap rooms.held/make) + :inside-cafeteria (wrap rooms.inside-cafeteria/make) + :inside-antique (wrap rooms.inside-antique/make) + :inside-jail (wrap rooms.inside-jail/make) + :dream (wrap rooms.dream/make) + :ending (wrap rooms.ending/make) + :castle-gate (wrap rooms.castle-gate/make) + :outside-jail (wrap rooms.outside-jail/make) + :outside-castle (wrap rooms.outside-castle/make) } entities {:rooms rooms :step-particles (assoc (particle-effect "particles/step") :x 100 :y 100 :baseline 241) :cam {:zoom utils/min-zoom