more improvement
This commit is contained in:
@@ -1058,6 +1058,19 @@ void main ()
|
|||||||
(defn mouse-moved [{:keys [input-x input-y viewport] :as screen} entities]
|
(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])))
|
(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]
|
(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])
|
(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-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))
|
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||||
entities (update-current-sound-vols! entities)
|
entities (update-current-sound-vols! entities)
|
||||||
entities (remove-ended-sounds screen 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])))]
|
all-entities (concat (vals entities) layers (vals (get-in entities [:room :entities])))]
|
||||||
(screen! fade-screen :update-fade {:opacity (get-in entities [:fade :opacity])})
|
(screen! fade-screen :update-fade {:opacity (get-in entities [:fade :opacity])})
|
||||||
(doseq [m (vals (get-in entities [:musics]))]
|
(doseq [m (vals (get-in entities [:musics]))]
|
||||||
@@ -1242,8 +1262,8 @@ void main ()
|
|||||||
(clear!)
|
(clear!)
|
||||||
(doseq [e (sort-by :baseline all-entities)]
|
(doseq [e (sort-by :baseline all-entities)]
|
||||||
(if (:parallax e)
|
(if (:parallax e)
|
||||||
(render-parallax screen (get-rendered entities e))
|
(render-parallax screen e)
|
||||||
(render! screen [(get-rendered entities e)]))))
|
(render! screen [e]))))
|
||||||
(let [entities (fade-in-first-time-if-necessary screen entities)
|
(let [entities (fade-in-first-time-if-necessary screen entities)
|
||||||
entities (utils/apply-tweens screen entities (:tweens entities))
|
entities (utils/apply-tweens screen entities (:tweens entities))
|
||||||
entities (update-cursor screen entities)
|
entities (update-cursor screen entities)
|
||||||
@@ -1289,8 +1309,14 @@ void main ()
|
|||||||
entities)
|
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])))]
|
all-entities (concat (vals entities) layers (vals (get-in entities [:room :entities])))]
|
||||||
(clear!)
|
(clear!)
|
||||||
(screen! talking-screen :on-update-camera { :scene-viewport (:viewport screen) :scene-camera (:camera screen)})
|
(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 zoom) (:zoom (:cam entities)))
|
||||||
(set! (.. camera position x) (:x (:cam entities) 160.0))
|
(set! (.. camera position x) (:x (:cam entities) 160.0))
|
||||||
(set! (.. camera position y) (:y (:cam entities) 120.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 (play-key-sounds screen entities)
|
||||||
entities (update-current-sound-vols! entities)
|
entities (update-current-sound-vols! entities)
|
||||||
entities (remove-ended-sounds screen entities)]
|
entities (remove-ended-sounds screen entities)]
|
||||||
(doseq [m (vals (get-in entities [:musics]))]
|
(doseq [m (vals (get-in entities [:musics]))]
|
||||||
(when m
|
(when m
|
||||||
(music! m :set-volume (utils/current-music-volume (get-in entities [:volume :value])))))
|
(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)
|
(if (:parallax e)
|
||||||
(render-parallax screen (get-rendered entities e))
|
(render-parallax screen e)
|
||||||
(render! screen [(get-rendered entities e)])))
|
(render! screen [e])))
|
||||||
|
|
||||||
entities))))
|
entities))))
|
||||||
|
|
||||||
@@ -1470,7 +1496,6 @@ void main ()
|
|||||||
(transition-done? [this screen entities]))
|
(transition-done? [this screen entities]))
|
||||||
|
|
||||||
(defn accept-state [entities state state-data transitions]
|
(defn accept-state [entities state state-data transitions]
|
||||||
(println "entering state" state)
|
|
||||||
(-> entities
|
(-> entities
|
||||||
(assoc-in [:inv-fsm :state] state)
|
(assoc-in [:inv-fsm :state] state)
|
||||||
(assoc-in [:inv-fsm :state-data] state-data)
|
(assoc-in [:inv-fsm :state-data] state-data)
|
||||||
|
|||||||
Reference in New Issue
Block a user