intrudoced sub directory for non-steam saves.

This commit is contained in:
Bryce Covert
2016-01-29 16:43:32 -08:00
parent 31420115a9
commit c328fe847d
5 changed files with 27 additions and 15 deletions

1
desktop/.gitignore vendored
View File

@@ -7,3 +7,4 @@ screenshot*
\#*# \#*#
/content-builder/output/ /content-builder/output/
ticks_tales.log ticks_tales.log
saves

View File

@@ -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)

View File

@@ -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")

View File

@@ -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")))

View File

@@ -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! []