hourglass, for sure, between title and game.
This commit is contained in:
@@ -54,3 +54,5 @@
|
|||||||
+Click on active item, move off, cursor is still active
|
+Click on active item, move off, cursor is still active
|
||||||
|
|
||||||
+ Click on cauldron should tell you what you need to add
|
+ Click on cauldron should tell you what you need to add
|
||||||
|
|
||||||
|
+can walk to top corner in house screen
|
||||||
|
|||||||
@@ -629,15 +629,16 @@ void main()
|
|||||||
entities))
|
entities))
|
||||||
|
|
||||||
(defn update-cursor [screen {{:keys [current override last active was-active]} :cursor :as entities}]
|
(defn update-cursor [screen {{:keys [current override last active was-active]} :cursor :as entities}]
|
||||||
|
|
||||||
|
(if (= 0.0 (get-in entities [:fade :opacity]))
|
||||||
(let [new-current (or override current)]
|
(let [new-current (or override current)]
|
||||||
(when-not (and (= new-current
|
(when-not (and (= new-current
|
||||||
last)
|
last)
|
||||||
(= active was-active))
|
(= active was-active))
|
||||||
(when (= :last :hourglass)
|
|
||||||
(println new-current))
|
|
||||||
(let [image-path (if active "cursor_light.png" "cursor.png")]
|
(let [image-path (if active "cursor_light.png" "cursor.png")]
|
||||||
(input! :set-cursor-image (utils/cursor image-path (or (:cursor new-current) new-current)) 0 0)))
|
(input! :set-cursor-image (utils/cursor image-path (or (:cursor new-current) new-current)) 0 0)))
|
||||||
(assoc-in entities [:cursor :last] new-current)))
|
(assoc-in entities [:cursor :last] new-current))
|
||||||
|
entities))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -795,8 +796,7 @@ void main()
|
|||||||
(let [screen (assoc screen :total-time 0)]
|
(let [screen (assoc screen :total-time 0)]
|
||||||
(let [[cam] (utils/setup-viewport screen 320 240)]
|
(let [[cam] (utils/setup-viewport screen 320 240)]
|
||||||
(set! (. cam zoom) 0.95)
|
(set! (. cam zoom) 0.95)
|
||||||
(let [_ (input! :set-cursor-image (utils/cursor "cursor.png" :main) 0 0)
|
(let [shader (ShaderProgram. v-shader pix-shader)
|
||||||
shader (ShaderProgram. v-shader pix-shader)
|
|
||||||
_ (update! screen :shader shader)
|
_ (update! screen :shader shader)
|
||||||
rooms {:inside-house (rooms.inside-house/make screen)
|
rooms {:inside-house (rooms.inside-house/make screen)
|
||||||
:inside-stash (rooms.inside-stash/make screen)
|
:inside-stash (rooms.inside-stash/make screen)
|
||||||
@@ -835,6 +835,8 @@ void main()
|
|||||||
:sprite utils/default-night-merge-sprite
|
:sprite utils/default-night-merge-sprite
|
||||||
:none {}}
|
:none {}}
|
||||||
|
|
||||||
|
:closing? {:object nil
|
||||||
|
:value false}
|
||||||
:sounds {:blink (sound "blink-other.ogg")
|
:sounds {:blink (sound "blink-other.ogg")
|
||||||
:object nil}
|
:object nil}
|
||||||
:fade {:object nil
|
:fade {:object nil
|
||||||
@@ -857,8 +859,8 @@ void main()
|
|||||||
:value nil}
|
:value nil}
|
||||||
:cursor {:id "cursor"
|
:cursor {:id "cursor"
|
||||||
:current :main
|
:current :main
|
||||||
:last :main
|
:last nil
|
||||||
:override nil
|
:override :hourglass
|
||||||
:last-pos [0 0]}
|
:last-pos [0 0]}
|
||||||
|
|
||||||
:all-items (assoc items/items :object nil)
|
:all-items (assoc items/items :object nil)
|
||||||
@@ -882,8 +884,17 @@ void main()
|
|||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [camera] :as screen} [entities]]
|
(fn [{:keys [camera] :as screen} [entities]]
|
||||||
(clear!)
|
|
||||||
|
|
||||||
|
(if (get-in entities [:closing? :value])
|
||||||
|
|
||||||
|
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||||
|
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)]))))
|
||||||
(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)
|
||||||
@@ -928,6 +939,7 @@ void main()
|
|||||||
layers (get-layers entities)
|
layers (get-layers entities)
|
||||||
|
|
||||||
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!)
|
||||||
(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))
|
||||||
(screen! fade-screen :update-fade :opacity (get-in entities [:fade :opacity]))
|
(screen! fade-screen :update-fade :opacity (get-in entities [:fade :opacity]))
|
||||||
(when true #_(not (get-in entities [:cam :paused?]))
|
(when true #_(not (get-in entities [:cam :paused?]))
|
||||||
@@ -948,7 +960,7 @@ void main()
|
|||||||
(render-parallax screen (get-rendered entities e))
|
(render-parallax screen (get-rendered entities e))
|
||||||
(render! screen [(get-rendered entities e)])))
|
(render! screen [(get-rendered entities e)])))
|
||||||
|
|
||||||
entities)))
|
entities))))
|
||||||
|
|
||||||
:on-resize (fn [{:keys [viewport width height]} [entities]]
|
:on-resize (fn [{:keys [viewport width height]} [entities]]
|
||||||
(.update viewport width height))
|
(.update viewport width height))
|
||||||
@@ -995,14 +1007,14 @@ void main()
|
|||||||
(click-inventory screen entities))
|
(click-inventory screen entities))
|
||||||
:on-menu (fn [screen [entities]]
|
:on-menu (fn [screen [entities]]
|
||||||
(when-not (get-in entities [:tweens :fade-out])
|
(when-not (get-in entities [:tweens :fade-out])
|
||||||
|
(input! :set-cursor-image (utils/cursor "cursor.png" :hourglass) 0 0)
|
||||||
(-> entities
|
(-> entities
|
||||||
(assoc-in [:cursor :override] nil)
|
(assoc-in [:closing? :value] true)
|
||||||
(assoc-in [:tweens :fade-out-music]
|
(assoc-in [:tweens :fade-out-music]
|
||||||
(tween/tween :fade-out-music screen [:volume :value] 1.0 0.0 1.0))
|
(tween/tween :fade-out-music screen [:volume :value] 1.0 0.0 1.0))
|
||||||
(assoc-in [:tweens :fade-out]
|
(assoc-in [:tweens :fade-out]
|
||||||
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
|
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
|
||||||
:finish #(do (.clear @(resolve 'advent.core/am))
|
:finish #(do (.clear @(resolve 'advent.core/am))
|
||||||
(input! :set-cursor-image (utils/cursor "cursor.png" :main) 0 0)
|
|
||||||
(set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.title/title-screen))
|
(set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.title/title-screen))
|
||||||
%))))))
|
%))))))
|
||||||
|
|
||||||
|
|||||||
@@ -92,6 +92,7 @@
|
|||||||
(label! start-playing :set-alignment Align/center)
|
(label! start-playing :set-alignment Align/center)
|
||||||
(label! quit :set-alignment Align/center)
|
(label! quit :set-alignment Align/center)
|
||||||
(label! fullscreen :set-alignment Align/center)
|
(label! fullscreen :set-alignment Align/center)
|
||||||
|
(input! :set-cursor-image (utils/cursor "cursor.png" :hourglass) 0 0)
|
||||||
|
|
||||||
{:background (assoc (texture "title/background.png" ) :x 0 :y 0 :scale-x 4 :scale-y 4 :origin-x 0 :origin-y 0)
|
{:background (assoc (texture "title/background.png" ) :x 0 :y 0 :scale-x 4 :scale-y 4 :origin-x 0 :origin-y 0)
|
||||||
:cloud-background (assoc (texture "title/clouds.png" ) :x 0 :y 0 :scale-x 4 :scale-y 4 :origin-x 0 :origin-y 0)
|
:cloud-background (assoc (texture "title/clouds.png" ) :x 0 :y 0 :scale-x 4 :scale-y 4 :origin-x 0 :origin-y 0)
|
||||||
@@ -148,7 +149,10 @@
|
|||||||
:fullscreen fullscreen
|
:fullscreen fullscreen
|
||||||
:copyright copyright
|
:copyright copyright
|
||||||
:tweens {:fade-in (tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 1.0
|
:tweens {:fade-in (tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 1.0
|
||||||
:finish #(do (utils/play-sound (:music %)) %)
|
:finish #(do
|
||||||
|
|
||||||
|
(input! :set-cursor-image (utils/cursor "cursor.png" :main) 0 0)
|
||||||
|
(utils/play-sound (:music %)) %)
|
||||||
:ease tween/ease-in-quadratic)}}))
|
:ease tween/ease-in-quadratic)}}))
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
@@ -188,6 +192,7 @@
|
|||||||
(let [[x y] (utils/unproject screen)]
|
(let [[x y] (utils/unproject screen)]
|
||||||
(cond
|
(cond
|
||||||
(utils/intersects? (:start-playing entities) [x y])
|
(utils/intersects? (:start-playing entities) [x y])
|
||||||
|
(do (input! :set-cursor-image (utils/cursor "cursor.png" :hourglass) 0 0)
|
||||||
(-> entities
|
(-> entities
|
||||||
(assoc-in [:tweens :fade-out]
|
(assoc-in [:tweens :fade-out]
|
||||||
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
|
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
|
||||||
@@ -197,15 +202,16 @@
|
|||||||
entities)
|
entities)
|
||||||
:ease tween/ease-in-cubic))
|
:ease tween/ease-in-cubic))
|
||||||
(assoc-in [:tweens :fade-out-music]
|
(assoc-in [:tweens :fade-out-music]
|
||||||
(tween/tween :fade-out-music screen [:volume] 1.0 0.0 1.0)))
|
(tween/tween :fade-out-music screen [:volume] 1.0 0.0 1.0))))
|
||||||
(utils/intersects? (:quit entities) [x y])
|
(utils/intersects? (:quit entities) [x y])
|
||||||
|
(do (input! :set-cursor-image (utils/cursor "cursor.png" :hourglass) 0 0)
|
||||||
(-> entities
|
(-> entities
|
||||||
(assoc-in [:tweens :fade-out]
|
(assoc-in [:tweens :fade-out]
|
||||||
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
|
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
|
||||||
:finish (fn [entities]
|
:finish (fn [entities]
|
||||||
(System/exit 0)
|
(System/exit 0)
|
||||||
entities)
|
entities)
|
||||||
:ease tween/ease-in-cubic)))
|
:ease tween/ease-in-cubic))))
|
||||||
|
|
||||||
(utils/intersects? (:fullscreen entities) [x y])
|
(utils/intersects? (:fullscreen entities) [x y])
|
||||||
(if (.isFullscreen Gdx/graphics)
|
(if (.isFullscreen Gdx/graphics)
|
||||||
|
|||||||
Reference in New Issue
Block a user