getting closer on checkouts.
This commit is contained in:
@@ -53,17 +53,35 @@
|
|||||||
(defn clear-all-achievements []
|
(defn clear-all-achievements []
|
||||||
(doall (map clear-achievement all-achievements)))
|
(doall (map clear-achievement all-achievements)))
|
||||||
|
|
||||||
(defn write-file [filename edn]
|
(defn get-bytes [filename]
|
||||||
(let [edn (pr-str edn)]
|
(steamify
|
||||||
(steamify
|
(let [rs (SteamRemoteStorage. nil)
|
||||||
(let [rs (SteamRemoteStorage. nil)
|
len (.getFileSize rs filename)
|
||||||
v edn
|
bb (ByteBuffer/allocateDirect len)
|
||||||
bb (ByteBuffer/allocateDirect (* 2 (count v)))]
|
bytes (make-array Byte/TYPE len)]
|
||||||
(-> bb .asCharBuffer (.put v) )
|
(.fileRead rs filename bb len)
|
||||||
|
(.get bb bytes)
|
||||||
(.fileWrite rs filename bb (* 2 (count v))))
|
bytes)
|
||||||
(let [f (files! :local filename)]
|
(.readBytes (files! :local filename))))
|
||||||
(.writeString f edn false)))))
|
|
||||||
|
(defn write-bytes [filename bytes]
|
||||||
|
(steamify
|
||||||
|
(let [rs (SteamRemoteStorage. nil)
|
||||||
|
bb (ByteBuffer/allocateDirect (* 2 (count bytes)))]
|
||||||
|
(-> bb (.put bytes) )
|
||||||
|
(.fileWrite rs filename bb (* 2 (count bytes))))
|
||||||
|
(let [f (files! :local filename)]
|
||||||
|
(.write f bytes false))))
|
||||||
|
|
||||||
|
(defn list-edn-files []
|
||||||
|
(steamify
|
||||||
|
(let [rs (SteamRemoteStorage. nil)]
|
||||||
|
(for [i (range (.getFileCount rs))
|
||||||
|
:let [n (.getFileNameAndSize rs i (make-array Integer/TYPE 1))]
|
||||||
|
:when (.endsWith n ".edn")]
|
||||||
|
n))
|
||||||
|
(for [save-file (.list (files! :local ".") ".edn")]
|
||||||
|
(.name save-file))))
|
||||||
|
|
||||||
(defn snapshot-list []
|
(defn snapshot-list []
|
||||||
(steamify
|
(steamify
|
||||||
@@ -79,28 +97,6 @@
|
|||||||
(for [save-file (.list (files! :local ".") ".edn")]
|
(for [save-file (.list (files! :local ".") ".edn")]
|
||||||
(edn/read-string (.readString save-file)))))
|
(edn/read-string (.readString save-file)))))
|
||||||
|
|
||||||
|
|
||||||
(defn add-screenshot [filename]
|
|
||||||
(steamify
|
|
||||||
(let [rs (SteamRemoteStorage. nil)
|
|
||||||
bytes (.readBytes (files! :local filename))
|
|
||||||
bb (ByteBuffer/allocateDirect (count bytes))]
|
|
||||||
|
|
||||||
(.put bb bytes)
|
|
||||||
(.fileWrite rs filename bb (count bytes)))))
|
|
||||||
|
|
||||||
(defn get-screenshot-bytes [filename]
|
|
||||||
(steamify
|
|
||||||
(let [rs (SteamRemoteStorage. nil)
|
|
||||||
len (.getFileSize rs filename)
|
|
||||||
bb (ByteBuffer/allocateDirect len)
|
|
||||||
bytes (make-array Byte/TYPE len)]
|
|
||||||
(.fileRead rs filename bb len)
|
|
||||||
(.get bb bytes)
|
|
||||||
bytes)
|
|
||||||
(.readBytes (files! :local filename))))
|
|
||||||
|
|
||||||
|
|
||||||
(defn save-screenshot [pm filename]
|
(defn save-screenshot [pm filename]
|
||||||
(steamify
|
(steamify
|
||||||
(let [rs (SteamRemoteStorage. nil)
|
(let [rs (SteamRemoteStorage. nil)
|
||||||
|
|||||||
@@ -66,16 +66,20 @@
|
|||||||
(str "screenshot-" (clojure.core/name name) ".png" ))
|
(str "screenshot-" (clojure.core/name name) ".png" ))
|
||||||
|
|
||||||
(defn snapshot-list []
|
(defn snapshot-list []
|
||||||
(sort-by (fn [s]
|
(->> (for [filename (steam/list-edn-files)]
|
||||||
(if (= "Autosave" (:name s))
|
(try
|
||||||
(Long/MIN_VALUE)
|
(edn/read-string (String. (steam/get-bytes filename) "UTF-8"))
|
||||||
(- (Long/parseLong (:id s)))))
|
(catch Exception _ nil)))
|
||||||
(steam/snapshot-list)))
|
(filter (every-pred identity :name :id))
|
||||||
|
(sort-by (fn [s]
|
||||||
|
(if (= "Autosave" (:name s))
|
||||||
|
(Long/MIN_VALUE)
|
||||||
|
(- (Long/parseLong (:id s))))))))
|
||||||
|
|
||||||
(defn snapshot-screenshots []
|
(defn snapshot-screenshots []
|
||||||
(doall (for [snapshot (snapshot-list)]
|
(doall (for [snapshot (snapshot-list)]
|
||||||
(assoc-in snapshot [:screenshot]
|
(assoc-in snapshot [:screenshot]
|
||||||
(try (let [bytes (steam/get-screenshot-bytes (:screenshot snapshot))]
|
(try (let [bytes (steam/get-bytes (:screenshot snapshot))]
|
||||||
(Pixmap. bytes 0 (count bytes)))
|
(Pixmap. bytes 0 (count bytes)))
|
||||||
(catch Exception e
|
(catch Exception e
|
||||||
(Pixmap. 160 120 Pixmap$Format/RGB888)))))))
|
(Pixmap. 160 120 Pixmap$Format/RGB888)))))))
|
||||||
@@ -97,11 +101,6 @@
|
|||||||
(edn/read-string (.getString prefs "chapters"))
|
(edn/read-string (.getString prefs "chapters"))
|
||||||
saves/chapters)))
|
saves/chapters)))
|
||||||
|
|
||||||
(defn write-file [filename edn]
|
|
||||||
(steam/write-file filename edn)
|
|
||||||
#_(let [f (files! :local filename)]
|
|
||||||
(.writeString f (pr-str edn) false)))
|
|
||||||
|
|
||||||
(defn save-file-name [id]
|
(defn save-file-name [id]
|
||||||
(str id ".edn"))
|
(str id ".edn"))
|
||||||
|
|
||||||
@@ -113,7 +112,8 @@
|
|||||||
: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)}]
|
||||||
(write-file (save-file-name id) save)
|
|
||||||
|
(steam/write-bytes (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)]
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
|
|
||||||
(defn remove-save [id]
|
(defn remove-save [id]
|
||||||
(doseq [f [(save-screenshot-file-name id)
|
(doseq [f [(save-screenshot-file-name id)
|
||||||
(save-file-name id)]]
|
(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