progress on autosave

This commit is contained in:
Bryce Covert
2015-11-03 09:43:23 -08:00
parent bb30635c01
commit 19ac21fe0a
9 changed files with 103 additions and 79 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -703,9 +703,16 @@ castle-gate/coinflip
orig: 50, 10
offset: 0, 0
index: -1
castle-gate/goon-2
rotate: false
xy: 997, 742
size: 24, 32
orig: 24, 32
offset: 0, 0
index: -1
castle-gate/goon-2-flip
rotate: false
xy: 973, 873
xy: 973, 833
size: 48, 32
orig: 48, 32
offset: 0, 0
@@ -789,7 +796,7 @@ dream/background
index: -1
dream/case
rotate: false
xy: 1005, 741
xy: 729, 4
size: 15, 38
orig: 15, 38
offset: 0, 0
@@ -976,13 +983,6 @@ inside-cafeteria/ladder
orig: 29, 38
offset: 0, 0
index: -1
inside-cafeteria/ladder-guard-2
rotate: false
xy: 973, 741
size: 30, 73
orig: 30, 73
offset: 0, 0
index: -1
inside-cafeteria/warriors-stand
rotate: false
xy: 754, 83
@@ -1083,18 +1083,11 @@ outside-castle/note
index: -1
outside-jail/axe
rotate: false
xy: 729, 9
xy: 973, 741
size: 22, 33
orig: 22, 33
offset: 0, 0
index: -1
outside-jail/bent-bar-window
rotate: false
xy: 1005, 781
size: 17, 33
orig: 17, 33
offset: 0, 0
index: -1
outside-jail/candle-aura2
rotate: false
xy: 324, 453
@@ -1214,9 +1207,16 @@ talk-bg-2
orig: 21, 40
offset: 0, 0
index: -1
title/screenshot-backdrop
rotate: false
xy: 973, 867
size: 48, 38
orig: 48, 38
offset: 0, 0
index: -1
wizard/experiment-2
rotate: false
xy: 973, 816
xy: 973, 776
size: 45, 55
orig: 45, 55
offset: 0, 0
@@ -1241,13 +1241,6 @@ black
orig: 32, 24
offset: 0, 0
index: -1
castle-gate/goon-2
rotate: false
xy: 986, 81
size: 24, 32
orig: 24, 32
offset: 0, 0
index: -1
castle-gate/stash-closed
rotate: false
xy: 853, 192
@@ -1306,7 +1299,7 @@ dream/fairy-godfather-magic
index: -1
dream/island
rotate: false
xy: 986, 115
xy: 992, 492
size: 30, 20
orig: 30, 20
offset: 0, 0
@@ -1425,7 +1418,7 @@ held/bloodclot-head-6
index: -1
held/flesh
rotate: false
xy: 975, 11
xy: 986, 40
size: 20, 20
orig: 20, 20
offset: 0, 0
@@ -1451,6 +1444,13 @@ inside-cafeteria/ladder-guard
orig: 74, 87
offset: 0, 0
index: -1
inside-cafeteria/ladder-guard-2
rotate: false
xy: 986, 62
size: 30, 73
orig: 30, 73
offset: 0, 0
index: -1
inside-castle/background
rotate: false
xy: 2, 416
@@ -1458,13 +1458,6 @@ inside-castle/background
orig: 320, 240
offset: 0, 0
index: -1
inside-castle/magic
rotate: false
xy: 997, 11
size: 20, 20
orig: 20, 20
offset: 0, 0
index: -1
inside-house/background
rotate: false
xy: 646, 615
@@ -1486,13 +1479,6 @@ inside-jail/chest-top
orig: 44, 32
offset: 0, 0
index: -1
inside-jail/chest-top-open
rotate: false
xy: 973, 480
size: 44, 32
orig: 44, 32
offset: 0, 0
index: -1
inside-jail/moveable-bars
rotate: false
xy: 958, 861
@@ -1502,14 +1488,14 @@ inside-jail/moveable-bars
index: -1
inside-jail/window
rotate: false
xy: 935, 2
xy: 945, 82
size: 18, 29
orig: 18, 29
offset: 0, 0
index: -1
inside-jail/window-bent
rotate: false
xy: 955, 2
xy: 965, 82
size: 18, 29
orig: 18, 29
offset: 0, 0
@@ -1556,6 +1542,20 @@ outside-jail/background
orig: 320, 240
offset: 0, 0
index: -1
outside-jail/bent-bar-window
rotate: false
xy: 973, 479
size: 17, 33
orig: 17, 33
offset: 0, 0
index: -1
outside-jail/candle
rotate: false
xy: 935, 6
size: 80, 25
orig: 80, 25
offset: 0, 0
index: -1
outside-jail/closed-stash
rotate: false
xy: 968, 829
@@ -1654,20 +1654,6 @@ wizard/experiment-7
orig: 45, 55
offset: 0, 0
index: -1
wizard/stand
rotate: false
xy: 986, 33
size: 20, 46
orig: 20, 46
offset: 0, 0
index: -1
wizard
rotate: false
xy: 986, 33
size: 20, 46
orig: 20, 46
offset: 0, 0
index: -1
pack4.png
size: 1024,1024
@@ -1697,7 +1683,7 @@ castle-gate/goon-2-search
index: -1
castle-gate/goon-2-talk
rotate: false
xy: 598, 942
xy: 968, 2
size: 24, 32
orig: 24, 32
offset: 0, 0
@@ -1856,6 +1842,13 @@ inside-cafeteria/knights-stand
orig: 490, 80
offset: 0, 0
index: -1
inside-castle/magic
rotate: false
xy: 994, 14
size: 20, 20
orig: 20, 20
offset: 0, 0
index: -1
inside-house/candle
rotate: false
xy: 494, 942
@@ -1877,6 +1870,13 @@ inside-jail/bars-
orig: 320, 240
offset: 0, 0
index: -1
inside-jail/chest-top-open
rotate: false
xy: 598, 942
size: 44, 32
orig: 44, 32
offset: 0, 0
index: -1
outside-castle/blanket
rotate: false
xy: 876, 976
@@ -1886,7 +1886,7 @@ outside-castle/blanket
index: -1
outside-castle/peddler
rotate: false
xy: 623, 178
xy: 623, 130
size: 18, 36
orig: 18, 36
offset: 0, 0
@@ -1954,6 +1954,20 @@ wizard/magic-hands
orig: 40, 50
offset: 0, 0
index: -1
wizard/stand
rotate: false
xy: 623, 168
size: 20, 46
orig: 20, 46
offset: 0, 0
index: -1
wizard
rotate: false
xy: 623, 168
size: 20, 46
orig: 20, 46
offset: 0, 0
index: -1
pack5.png
size: 1024,1024
@@ -2121,13 +2135,6 @@ inside-jail/fg
orig: 320, 240
offset: 0, 0
index: -1
outside-jail/candle
rotate: false
xy: 202, 3
size: 80, 25
orig: 80, 25
offset: 0, 0
index: -1
outsidehouse/fence
rotate: false
xy: 2, 56

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 KiB

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -33,6 +33,13 @@
(label! e :set-style (style :label font (get-color e mouse-pos))))
e)
(defn sliding-window [i size xs]
(if (<= (count xs) size)
xs
(let [drop-count (min (max 0 (- i (/ size 2)))
(- (count xs) size))]
(take size (drop drop-count xs)))))
(defn style-slider [s mouse-pos]
(if (utils/intersects? s mouse-pos)
(slider! s :set-style (:hover s))
@@ -176,7 +183,8 @@
(defn saves-menu [entities [save screenshot]]
(let [last? (= save (-> (:saves-list entities) last first))
first? (= save (-> (:saves-list entities) first first))]
first? (= save (-> (:saves-list entities) first first))
window (sliding-window (:save-index entities) 5 (:saves-list entities))]
(into
{:back (-> (make-label "Back")
(stack-y 305 7)
@@ -186,8 +194,16 @@
(assoc :z 8
:interactable true
:save (saves/name->save save)))
:screenshot (-> (texture screenshot)
(assoc :z 8 :x (/ 1280 2) :y 214 :origin-y 60 :origin-x 80 :height 120 :width 160
:screenshot-backdrop (-> (utils/get-texture "title/screenshot-backdrop.png")
(assoc :x (/ 1280 2)
:y 214
:scale-x 4
:scale-y 4
:origin-y 19
:origin-x 24
:z 8))
:screenshot (-> (image (texture screenshot))
(assoc :z 9 :x (- (/ 1280 2) 80) :y (- 214 60) :height 120 :width 160
:save (saves/name->save save)))
:next (-> (make-label "Next >" (when last? (color :gray)))
@@ -196,14 +212,15 @@
:prev (as-> (make-label "< Prev" (when first? (color :gray))) prev
(assoc prev :x (- 500 (.getWidth (:object prev))) :y 203
:interactable (not first?)))}
(for [[[save-l] index] (map vector (:saves-list entities) (range))
(for [[[save-l] index] (map vector window (range))
:let [image (if (= save-l save)
(utils/get-texture "title/save-indicator-active.png")
(utils/get-texture "title/save-indicator.png"))]]
[[:save-indicator save-l] (assoc image
:y 124 :x (- (+ 640 (* index 7 4))
(/ (* (dec (count (:saves-list entities))) 7 4) 2)) :z 15 :scale-x 4 :scale-y 4)]))))
:y 116 :x (- (+ 640 (* index 7 4))
(/ (* (dec (count window)) 7 4) 2))
:z 8 :scale-x 4 :scale-y 4)]))))
(defn style-ui [entities]
(doseq [entity (vals entities)
@@ -353,20 +370,20 @@
(and (:back entities) (utils/intersects? (:back entities) [x y]))
(as-> entities entities
(dissoc entities :screenshot :back :title :prev :next)
(dissoc entities :screenshot :back :title :prev :next :screenshot-backdrop)
(apply dissoc entities (map #(vector :save-indicator (first %))
(:saves-list entities)))
(merge entities(:main-menu entities)))
(and next (:interactable next) (utils/intersects? next [x y]))
(-> entities
(update-in [:save-index] inc)
(merge (saves-menu entities (nth saves-list (inc save-index)))))
(as-> entities entities
(update-in entities [:save-index] inc)
(merge entities (saves-menu entities (nth saves-list (:save-index entities)))))
(and prev (:interactable prev) (utils/intersects? prev [x y]))
(-> entities
(update-in [:save-index] dec)
(merge (saves-menu entities (nth saves-list (dec save-index)))))
(as-> entities entities
(update-in entities [:save-index] dec)
(merge entities (saves-menu entities (nth saves-list (:save-index entities)))))
selected-save
(start-playing screen entities (:save selected-save))