progress on autosave
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 182 KiB |
|
Before Width: | Height: | Size: 245 KiB After Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 229 KiB After Width: | Height: | Size: 229 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
@@ -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))
|
||||
|
||||