more improvement

This commit is contained in:
Bryce Covert
2016-08-05 08:08:41 -07:00
parent 2724cd0a86
commit 4a2421f7b4

View File

@@ -1058,6 +1058,19 @@ void main ()
(defn mouse-moved [{:keys [input-x input-y viewport] :as screen} entities]
(utils/update-override screen (assoc-in entities [:cursor :last-pos] [input-x input-y])))
(defn grab-layers [entities]
(update-in entities [:room]
(fn [{:keys [layers current-layers] :as room}]
(cond current-layers
room
(map? layers)
(assoc room :current-layers (map (partial get-rendered entities) ((get-in entities [:state :time]) layers)))
:else
(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])
@@ -1232,7 +1245,14 @@ void main ()
(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)
get-rendered (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)
entities))
entities (grab-layers entities)
layers (get-in entities [:room :current-layers])
all-entities (concat (vals entities) 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]))]
@@ -1242,8 +1262,8 @@ void main ()
(clear!)
(doseq [e (sort-by :baseline all-entities)]
(if (:parallax e)
(render-parallax screen (get-rendered entities e))
(render! screen [(get-rendered entities e)]))))
(render-parallax screen e)
(render! screen [e]))))
(let [entities (fade-in-first-time-if-necessary screen entities)
entities (utils/apply-tweens screen entities (:tweens entities))
entities (update-cursor screen entities)
@@ -1289,8 +1309,14 @@ void main ()
entities)
layers (get-layers entities)
entities (grab-layers entities)
get-rendered (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)
entities))
layers (get-in entities [:room :current-layers])
all-entities (concat (vals entities) layers (vals (get-in entities [:room :entities])))]
(clear!)
(screen! talking-screen :on-update-camera { :scene-viewport (:viewport screen) :scene-camera (:camera screen)})
@@ -1299,17 +1325,17 @@ void main ()
(set! (. camera zoom) (:zoom (:cam entities)))
(set! (.. camera position x) (:x (:cam entities) 160.0))
(set! (.. camera position y) (:y (:cam entities) 120.0)))
(let [entities (utils/update-override screen entities)
(let [#_#_entities (utils/update-override screen entities)
entities (play-key-sounds screen entities)
entities (update-current-sound-vols! entities)
entities (remove-ended-sounds screen entities)]
(doseq [m (vals (get-in entities [:musics]))]
(when m
(music! m :set-volume (utils/current-music-volume (get-in entities [:volume :value])))))
(doseq [e (sort-by :baseline all-entities)]
(doseq [e (doall (sort-by :baseline all-entities))]
(if (:parallax e)
(render-parallax screen (get-rendered entities e))
(render! screen [(get-rendered entities e)])))
(render-parallax screen e)
(render! screen [e])))
entities))))
@@ -1470,7 +1496,6 @@ void main ()
(transition-done? [this screen entities]))
(defn accept-state [entities state state-data transitions]
(println "entering state" state)
(-> entities
(assoc-in [:inv-fsm :state] state)
(assoc-in [:inv-fsm :state-data] state-data)