From 8dd00098ad89a3b730d9cbfda9074501b2539f92 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Fri, 5 Aug 2016 08:47:09 -0700 Subject: [PATCH] more trimming of stuff. --- desktop/src-common/advent/screens/scene.clj | 30 +++++++++------------ 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 61da0553..dffac1d2 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -1253,7 +1253,7 @@ void main () entities)) entities (grab-layers entities) layers (get-in entities [:room :current-layers]) - all-entities (concat (vals entities) layers (vals (get-in entities [:room :entities])))] + all-entities (concat layers (vals (get-in entities [:room :entities])))] (screen! fade-screen :update-fade {:opacity (get-in entities [:fade :opacity])}) (doseq [m (vals (get-in entities [:musics]))] (when m @@ -1274,18 +1274,6 @@ void main () entities (update-from-room screen entities) entities (update-from-hotspots screen entities) - entities (update-in entities [:room :entities] (fn [entities] - (into entities - (for [[id entity] entities] - (if (:anim entity) - [id (animate entity screen)] - [id entity]))))) - entities (update-in entities [:room :entities] (fn [entities] - (into entities - (for [[id entity] entities] - (if (:update-fn entity) - [id ((:update-fn entity) screen entities entity)] - [id entity]))))) entities (if (and (@utils/settings :camera-man? true) (not (get-in entities [:cam :paused?])) @@ -1310,14 +1298,22 @@ void main () entities (grab-layers entities) - get-rendered (partial get-rendered entities) + update-room (comp + #(if (:anim %) + (animate % screen) + %) + #(if (:update-fn %) + ((:update-fn %) screen entities %) + %) + (partial get-rendered entities)) entities (loop [entities entities [[k e] & rest] (seq (get-in entities [:room :entities]))] (if k - (recur (update-in entities [:room :entities k] get-rendered) rest) + (recur (update-in entities [:room :entities k] update-room) + rest) entities)) layers (get-in entities [:room :current-layers]) - all-entities (concat (vals entities) layers (vals (get-in entities [:room :entities])))] + all-entities (concat layers (vals (get-in entities [:room :entities])))] (clear!) (screen! talking-screen :on-update-camera { :scene-viewport (:viewport screen) :scene-camera (:camera screen)}) (screen! fade-screen :update-fade { :opacity (get-in entities [:fade :opacity])}) @@ -1332,7 +1328,7 @@ void main () (doseq [m (vals (get-in entities [:musics]))] (when m (music! m :set-volume (utils/current-music-volume (get-in entities [:volume :value]))))) - (doseq [e (doall (sort-by :baseline all-entities))] + (doseq [e (sort-by :baseline all-entities)] (if (:parallax e) (render-parallax screen e) (render! screen [e])))