prepping for inventory rehash.
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-1.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-10.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-11.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-12.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-13.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-2.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-3.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
desktop/asset-work/open-inventory-4.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
desktop/asset-work/open-inventory-5.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-6.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
desktop/asset-work/open-inventory-7.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
desktop/asset-work/open-inventory-8.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
desktop/asset-work/open-inventory-9.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
desktop/asset-work/open-inventory.pxa/0.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/1.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/10.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/11.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/12.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/2.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/3.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/4.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/5.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/6.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/7.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/8.pxi
Normal file
BIN
desktop/asset-work/open-inventory.pxa/9.pxi
Normal file
58
desktop/asset-work/open-inventory.pxa/CelData.plist
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>duration</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
</plist>
|
||||||
|
Before Width: | Height: | Size: 674 KiB After Width: | Height: | Size: 676 KiB |
|
Before Width: | Height: | Size: 608 KiB After Width: | Height: | Size: 608 KiB |
|
Before Width: | Height: | Size: 406 KiB After Width: | Height: | Size: 414 KiB |
@@ -1354,6 +1354,7 @@ void main ()
|
|||||||
|
|
||||||
:on-reactivate (fn [screen [entities]]
|
:on-reactivate (fn [screen [entities]]
|
||||||
|
|
||||||
|
(screen! hud :on-reactivate)
|
||||||
(-> entities
|
(-> entities
|
||||||
(assoc-in [:state :active?] true)
|
(assoc-in [:state :active?] true)
|
||||||
(assoc-in [:cursor :override] nil)))
|
(assoc-in [:cursor :override] nil)))
|
||||||
@@ -1366,6 +1367,7 @@ void main ()
|
|||||||
(assoc-in [:cursor :override] nil)))
|
(assoc-in [:cursor :override] nil)))
|
||||||
|
|
||||||
:on-chose-item (fn [{:keys [item]} [entities]]
|
:on-chose-item (fn [{:keys [item]} [entities]]
|
||||||
|
(screen! hud :on-chose-item :item item)
|
||||||
(assoc-in entities [:cursor :current] item))
|
(assoc-in entities [:cursor :current] item))
|
||||||
|
|
||||||
:on-show-inventory (fn [screen [entities]]
|
:on-show-inventory (fn [screen [entities]]
|
||||||
@@ -1453,6 +1455,7 @@ void main ()
|
|||||||
(utils/setup-viewport screen 320 240)
|
(utils/setup-viewport screen 320 240)
|
||||||
|
|
||||||
{:already-saved? false
|
{:already-saved? false
|
||||||
|
:opening-inventory? false
|
||||||
:close (assoc (utils/get-texture "close.png")
|
:close (assoc (utils/get-texture "close.png")
|
||||||
:x 304 :y 224
|
:x 304 :y 224
|
||||||
:width 16 :height 16
|
:width 16 :height 16
|
||||||
@@ -1464,14 +1467,22 @@ void main ()
|
|||||||
:baseline 9000
|
:baseline 9000
|
||||||
:opacity 0.8)
|
:opacity 0.8)
|
||||||
:inventory (assoc (utils/get-texture "inventory.png") :x 278 :y 0 :baseline 9000
|
:inventory (assoc (utils/get-texture "inventory.png") :x 278 :y 0 :baseline 9000
|
||||||
|
:open (utils/make-anim-seq "open-inventory" [42 56] 0.055 (flatten [(range 6) 6 7 8 7 ]))
|
||||||
|
:anim (utils/make-anim "inventory.png" [42 56] 0.1 [0])
|
||||||
|
:default (utils/make-anim "inventory.png" [42 56] 0.1 [0])
|
||||||
|
:opened (utils/make-anim-seq "open-inventory" [42 56] 0.1 [7])
|
||||||
|
:closing (utils/make-anim-seq "open-inventory" [42 56] 0.055 [9 10 11 12 0])
|
||||||
|
:anim-start 0
|
||||||
:mouse-in? (zone/box 278 0 320 42)
|
:mouse-in? (zone/box 278 0 320 42)
|
||||||
:opacity 0.8)
|
:opacity 0.8)
|
||||||
|
:all-items (texture! (texture (pixmap "cursor.png")) :split 18 16)
|
||||||
#_#_:fps (assoc (label "" (color :white) ) :x 5 :baseline 0 :opacity 0.1)}))
|
#_#_:fps (assoc (label "" (color :white) ) :x 5 :baseline 0 :opacity 0.1)}))
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^FitViewport viewport] :as screen} [entities]]
|
(fn [{:keys [^FitViewport viewport] :as screen} [entities]]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||||
|
entities (update-in entities [:inventory] animate screen )
|
||||||
hud-interactable? (hud-interactable?)
|
hud-interactable? (hud-interactable?)
|
||||||
entities (if hud-interactable?
|
entities (if hud-interactable?
|
||||||
(as-> entities entities
|
(as-> entities entities
|
||||||
@@ -1484,14 +1495,35 @@ void main ()
|
|||||||
(update-in entities [:save] assoc :r 1.0 :g 1.0 :b 1.0 ))
|
(update-in entities [:save] assoc :r 1.0 :g 1.0 :b 1.0 ))
|
||||||
(as-> entities entities
|
(as-> entities entities
|
||||||
(update-in entities [:save] assoc :r 0.75 :g 0.75 :b 0.75)
|
(update-in entities [:save] assoc :r 0.75 :g 0.75 :b 0.75)
|
||||||
(grow-hud screen entities :save false)))]
|
(grow-hud screen entities :save false)))
|
||||||
|
entities (if (and (= (get-in entities [:inventory :anim])
|
||||||
|
(get-in entities [:inventory :closing]))
|
||||||
|
(animation! (get-in entities [:inventory :closing])
|
||||||
|
:is-animation-finished
|
||||||
|
(- (+ (:delta-time screen) (:total-time screen)) (get-in entities [:inventory :anim-start]))))
|
||||||
|
(-> entities
|
||||||
|
(update-in [:inventory] #(actions/start-animation screen % :default)))
|
||||||
|
entities)
|
||||||
|
entities (if (and (:opening-inventory? entities)
|
||||||
|
(animation! (get-in entities [:inventory :open])
|
||||||
|
:is-animation-finished
|
||||||
|
(- (+ (:delta-time screen) (:total-time screen)) (get-in entities [:inventory :anim-start]))))
|
||||||
|
(do
|
||||||
|
(screen! scene :on-show-inventory)
|
||||||
|
(-> entities
|
||||||
|
(assoc :opening-inventory? false)
|
||||||
|
(assoc-in [:inventory :anim] (get-in entities [:inventory :opened]))))
|
||||||
|
entities)]
|
||||||
#_(label! (:fps entities) :set-text (str (game :fps)))
|
#_(label! (:fps entities) :set-text (str (game :fps)))
|
||||||
|
|
||||||
|
|
||||||
(render! screen [ (if (and hud-interactable? (not (:already-saved? entities)))
|
(render! screen [ (if (and hud-interactable? (not (:already-saved? entities)))
|
||||||
(:save entities)
|
(:save entities)
|
||||||
(assoc (:save entities) :opacity 0.5))
|
(assoc (:save entities) :opacity 0.5))
|
||||||
(if hud-interactable?
|
(if hud-interactable?
|
||||||
(:inventory entities)
|
(:inventory entities)
|
||||||
(assoc (:inventory entities) :opacity 0.5))
|
(assoc (:inventory entities) :opacity 0.5))
|
||||||
|
(:selected-item entities)
|
||||||
(:close entities)])
|
(:close entities)])
|
||||||
entities))
|
entities))
|
||||||
|
|
||||||
@@ -1503,6 +1535,18 @@ void main ()
|
|||||||
(fn [_ [entities]]
|
(fn [_ [entities]]
|
||||||
(assoc-in entities [:already-saved?] false))
|
(assoc-in entities [:already-saved?] false))
|
||||||
|
|
||||||
|
:on-chose-item
|
||||||
|
(fn [{:keys [item]} [entities]]
|
||||||
|
(println utils/+all-cursors+ (.indexOf utils/+all-cursors+ :ball-n-chain) (.indexOf utils/+all-cursors+ (:cursor item) ) (:all-items entities))
|
||||||
|
(assoc entities :selected-item
|
||||||
|
(doto (assoc (texture (aget (get-in entities [:all-items ]) 0 (.indexOf utils/+all-cursors+ (:cursor item))))
|
||||||
|
:x 295 :y 40 :baseline 9000 :opacity 1.0) println)
|
||||||
|
))
|
||||||
|
|
||||||
|
:on-reactivate
|
||||||
|
(fn [screen [entities]]
|
||||||
|
(update-in entities [:inventory] #(actions/start-animation screen % :closing)))
|
||||||
|
|
||||||
:on-mouse-moved
|
:on-mouse-moved
|
||||||
(fn [screen [entities]]
|
(fn [screen [entities]]
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen)
|
||||||
@@ -1532,16 +1576,23 @@ void main ()
|
|||||||
(fn [screen [entities]]
|
(fn [screen [entities]]
|
||||||
(if (= (button-code :left) (:button screen))
|
(if (= (button-code :left) (:button screen))
|
||||||
(let [[x y] (utils/unproject screen)]
|
(let [[x y] (utils/unproject screen)]
|
||||||
(cond ((:mouse-in? (:inventory entities)) x y)
|
(cond
|
||||||
(screen! scene :on-show-inventory)
|
(not (hud-interactable?))
|
||||||
|
nil
|
||||||
|
|
||||||
(utils/intersects? (:close entities) [x y])
|
((:mouse-in? (:inventory entities)) x y)
|
||||||
(screen! scene :on-menu)
|
(-> entities
|
||||||
|
(update-in [:inventory] #(actions/start-animation screen % :open))
|
||||||
|
(assoc :opening-inventory? true))
|
||||||
|
|
||||||
|
|
||||||
(and (not (:already-saved? entities)) (utils/intersects? (:save entities) [x y]) (hud-interactable?))
|
(utils/intersects? (:close entities) [x y])
|
||||||
(do
|
(screen! scene :on-menu)
|
||||||
(screen! scene :on-save)
|
|
||||||
(assoc entities :already-saved? true))
|
|
||||||
|
|
||||||
:else
|
(and (not (:already-saved? entities)) (utils/intersects? (:save entities) [x y]) (hud-interactable?))
|
||||||
nil)))))
|
(do
|
||||||
|
(screen! scene :on-save)
|
||||||
|
(assoc entities :already-saved? true))
|
||||||
|
|
||||||
|
:else
|
||||||
|
nil)))))
|
||||||
|
|||||||
@@ -451,29 +451,26 @@
|
|||||||
(do
|
(do
|
||||||
(log/info "Making windowed 800x600 decorated window")
|
(log/info "Making windowed 800x600 decorated window")
|
||||||
(System/setProperty "org.lwjgl.opengl.Window.undecorated", "false")
|
(System/setProperty "org.lwjgl.opengl.Window.undecorated", "false")
|
||||||
(.setDisplayMode Gdx/graphics 800 600 false)))
|
(.setFullscreenMode Gdx/graphics 800 600)))
|
||||||
|
|
||||||
(defmethod make-fullscreen :linux []
|
(defmethod make-fullscreen :linux []
|
||||||
(let [width (-> Gdx/graphics .getDesktopDisplayMode .width)
|
(let [width (-> Gdx/graphics .getDisplayMode .width)
|
||||||
height (-> Gdx/graphics .getDesktopDisplayMode .height)]
|
height (-> Gdx/graphics .getDisplayMode .height)]
|
||||||
(log/info "Making fullscreen " width "x" height " as undecorated window")
|
(log/info "Making fullscreen " width "x" height " as undecorated window")
|
||||||
(System/setProperty "org.lwjgl.opengl.Window.undecorated", "true")
|
(System/setProperty "org.lwjgl.opengl.Window.undecorated", "true")
|
||||||
(.setDisplayMode Gdx/graphics
|
(.setFullscreenMode Gdx/graphics
|
||||||
width
|
width
|
||||||
height
|
height)))
|
||||||
false)))
|
|
||||||
|
|
||||||
(defmethod is-fullscreen? :linux []
|
(defmethod is-fullscreen? :linux []
|
||||||
(= "true" (System/getProperty "org.lwjgl.opengl.Window.undecorated")))
|
(= "true" (System/getProperty "org.lwjgl.opengl.Window.undecorated")))
|
||||||
|
|
||||||
(defn make-fullscreen-normal []
|
(defn make-fullscreen-normal []
|
||||||
(let [width (-> Gdx/graphics .getDesktopDisplayMode .width)
|
(let [width (-> Gdx/graphics .getDisplayMode .width)
|
||||||
height (-> Gdx/graphics .getDesktopDisplayMode .height)]
|
height (-> Gdx/graphics .getDisplayMode .height)]
|
||||||
(log/info "Making fullscreen " width "x" height " as true fullscreen")
|
(log/info "Making fullscreen " width "x" height " as true fullscreen")
|
||||||
(.setDisplayMode Gdx/graphics
|
(.setFullscreenMode Gdx/graphics
|
||||||
width
|
(.getDisplayMode Gdx/graphics))
|
||||||
height
|
|
||||||
true)
|
|
||||||
(set! (.foregroundFPS (-> (class Gdx/graphics)
|
(set! (.foregroundFPS (-> (class Gdx/graphics)
|
||||||
(.getDeclaredField (name "config"))
|
(.getDeclaredField (name "config"))
|
||||||
(doto (.setAccessible true))
|
(doto (.setAccessible true))
|
||||||
|
|||||||