intrudoced sub directory for non-steam saves.
This commit is contained in:
1
desktop/.gitignore
vendored
1
desktop/.gitignore
vendored
@@ -7,3 +7,4 @@ screenshot*
|
|||||||
\#*#
|
\#*#
|
||||||
/content-builder/output/
|
/content-builder/output/
|
||||||
ticks_tales.log
|
ticks_tales.log
|
||||||
|
saves
|
||||||
|
|||||||
@@ -1032,6 +1032,7 @@ void main ()
|
|||||||
|
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities]
|
||||||
|
(log/info "Initializing scene.")
|
||||||
|
|
||||||
(let [screen (assoc screen :total-time 0)]
|
(let [screen (assoc screen :total-time 0)]
|
||||||
(let [[^OrthographicCamera cam] (utils/setup-viewport screen 320 240)]
|
(let [[^OrthographicCamera cam] (utils/setup-viewport screen 320 240)]
|
||||||
@@ -1142,7 +1143,7 @@ void main ()
|
|||||||
(doseq [[k [start time fn]] (get-in entities [:room :timers])]
|
(doseq [[k [start time fn]] (get-in entities [:room :timers])]
|
||||||
(add-timer! screen k start time))
|
(add-timer! screen k start time))
|
||||||
|
|
||||||
|
(log/info "[done] Initializing scene.")
|
||||||
|
|
||||||
(if-let [apply-state (get-in entities [:room :apply-state])]
|
(if-let [apply-state (get-in entities [:room :apply-state])]
|
||||||
(apply-state screen entities)
|
(apply-state screen entities)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
[advent.tween :as tween]
|
[advent.tween :as tween]
|
||||||
[advent.screens.scene :as scene]
|
[advent.screens.scene :as scene]
|
||||||
[advent.screens.dialogue :as dialogue]
|
[advent.screens.dialogue :as dialogue]
|
||||||
|
[clojure.tools.logging :as log]
|
||||||
[advent.screens.title :as title]
|
[advent.screens.title :as title]
|
||||||
[advent.screens.inventory :as inventory]
|
[advent.screens.inventory :as inventory]
|
||||||
[advent.screens.safe :as safe]
|
[advent.screens.safe :as safe]
|
||||||
@@ -65,7 +66,8 @@
|
|||||||
(def do-once (atom false))
|
(def do-once (atom false))
|
||||||
|
|
||||||
(defn quit [screen entities]
|
(defn quit [screen entities]
|
||||||
(do (input! :set-cursor-image (utils/cursor "cursor.png" :hourglass) 0 0)
|
(do (log/info "Quitting.")
|
||||||
|
(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
|
||||||
@@ -110,7 +112,8 @@
|
|||||||
"Begin quest"))
|
"Begin quest"))
|
||||||
|
|
||||||
(defn start-playing [screen entities save]
|
(defn start-playing [screen entities save]
|
||||||
(do (input! :set-cursor-image (utils/cursor "cursor.png" :hourglass) 0 0)
|
(do (log/info "Starting/Continuing quest.")
|
||||||
|
(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
|
||||||
@@ -305,6 +308,7 @@
|
|||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities]
|
||||||
(utils/setup-viewport screen 1280 960)
|
(utils/setup-viewport screen 1280 960)
|
||||||
|
(log/info "Starting title screen.")
|
||||||
|
|
||||||
(let [font (utils/get-font "ego/font.fnt")
|
(let [font (utils/get-font "ego/font.fnt")
|
||||||
music (utils/make-music "music/intro.ogg")
|
music (utils/make-music "music/intro.ogg")
|
||||||
|
|||||||
@@ -83,8 +83,8 @@
|
|||||||
:let [n (.getFileNameAndSize rs i (make-array Integer/TYPE 1))]
|
:let [n (.getFileNameAndSize rs i (make-array Integer/TYPE 1))]
|
||||||
:when (.endsWith n ".edn")]
|
:when (.endsWith n ".edn")]
|
||||||
n))
|
n))
|
||||||
(for [save-file (.list (files! :local ".") ".edn")]
|
(for [save-file (.list (files! :local "saves/") ".edn")]
|
||||||
(.name save-file))))
|
(str "saves/" (.name save-file)))))
|
||||||
|
|
||||||
(defn save-screenshot [pm filename]
|
(defn save-screenshot [pm filename]
|
||||||
(steamify
|
(steamify
|
||||||
@@ -106,3 +106,13 @@
|
|||||||
(steamify
|
(steamify
|
||||||
(.fileDelete (SteamRemoteStorage. nil) filename)
|
(.fileDelete (SteamRemoteStorage. nil) filename)
|
||||||
(.delete (files! :local filename))))
|
(.delete (files! :local filename))))
|
||||||
|
|
||||||
|
(defn save-screenshot-file-name [name]
|
||||||
|
(steamify
|
||||||
|
(str "screenshot-" (clojure.core/name name) ".png" )
|
||||||
|
(str "saves/screenshot-" (clojure.core/name name) ".png" )))
|
||||||
|
|
||||||
|
(defn save-file-name [id]
|
||||||
|
(steamify
|
||||||
|
(str id ".edn")
|
||||||
|
(str "saves/" id ".edn")))
|
||||||
|
|||||||
@@ -63,8 +63,6 @@
|
|||||||
atlas (texture-atlas "packed/pack.atlas")]
|
atlas (texture-atlas "packed/pack.atlas")]
|
||||||
(texture (texture-atlas! atlas :find-region atlas-name))))
|
(texture (texture-atlas! atlas :find-region atlas-name))))
|
||||||
|
|
||||||
(defn save-screenshot-file-name [name]
|
|
||||||
(str "screenshot-" (clojure.core/name name) ".png" ))
|
|
||||||
|
|
||||||
(defn snapshot-list []
|
(defn snapshot-list []
|
||||||
(->> (for [filename (steam/list-edn-files)]
|
(->> (for [filename (steam/list-edn-files)]
|
||||||
@@ -102,30 +100,28 @@
|
|||||||
(edn/read-string (.getString prefs "chapters"))
|
(edn/read-string (.getString prefs "chapters"))
|
||||||
saves/chapters)))
|
saves/chapters)))
|
||||||
|
|
||||||
(defn save-file-name [id]
|
|
||||||
(str id ".edn"))
|
|
||||||
|
|
||||||
(defn save [entities id name & [blurb]]
|
(defn save [entities id name & [blurb]]
|
||||||
|
(log/info "Saving " id name)
|
||||||
(let [save {:name name
|
(let [save {:name name
|
||||||
:id id
|
:id id
|
||||||
:screenshot (save-screenshot-file-name id)
|
:screenshot (steam/save-screenshot-file-name id)
|
||||||
:state (assoc (entities :state)
|
:state (assoc (entities :state)
|
||||||
:x (get-in entities [:room :entities :ego :x])
|
:x (get-in entities [:room :entities :ego :x])
|
||||||
:y (get-in entities [:room :entities :ego :y]))
|
:y (get-in entities [:room :entities :ego :y]))
|
||||||
:blurb (or blurb name)}]
|
:blurb (or blurb name)}]
|
||||||
|
|
||||||
(steam/write-bytes (save-file-name id) (.getBytes (pr-str save) "UTF-8"))
|
(steam/write-bytes (steam/save-file-name id) (.getBytes (pr-str save) "UTF-8"))
|
||||||
(on-gl (let [_ (Pixmap/setFilter Pixmap$Filter/BiLinear)
|
(on-gl (let [_ (Pixmap/setFilter Pixmap$Filter/BiLinear)
|
||||||
viewport (-> @ (resolve 'advent.screens.scene/scene) :screen deref :viewport)
|
viewport (-> @ (resolve 'advent.screens.scene/scene) :screen deref :viewport)
|
||||||
[x y w h g-l g-r] [(.getScreenX viewport) (.getScreenY viewport) (.getScreenWidth viewport) (.getScreenHeight viewport)]
|
[x y w h g-l g-r] [(.getScreenX viewport) (.getScreenY viewport) (.getScreenWidth viewport) (.getScreenHeight viewport)]
|
||||||
pm (ScreenUtils/getFrameBufferPixmap x y w h)
|
pm (ScreenUtils/getFrameBufferPixmap x y w h)
|
||||||
resized (Pixmap. 160 120 Pixmap$Format/RGB888)
|
resized (Pixmap. 160 120 Pixmap$Format/RGB888)
|
||||||
_ (.drawPixmap resized pm 0 0 w h 0 0 160 120)]
|
_ (.drawPixmap resized pm 0 0 w h 0 0 160 120)]
|
||||||
(steam/save-screenshot resized (save-screenshot-file-name id))))))
|
(steam/save-screenshot resized (steam/save-screenshot-file-name id))))))
|
||||||
|
|
||||||
(defn remove-save [id]
|
(defn remove-save [id]
|
||||||
(doseq [f [(save-screenshot-file-name id)
|
(doseq [f [(steam/save-screenshot-file-name id)
|
||||||
(save-file-name id)]]
|
(steam/save-file-name id)]]
|
||||||
(steam/delete-file f) ))
|
(steam/delete-file f) ))
|
||||||
|
|
||||||
(defn save-settings! []
|
(defn save-settings! []
|
||||||
|
|||||||
Reference in New Issue
Block a user