supports ios special logic
This commit is contained in:
@@ -202,6 +202,22 @@
|
||||
(log/error "Could not save!" e)
|
||||
:fail))))))
|
||||
|
||||
(defmacro iosify [mobile-version & [regular-version]]
|
||||
(if (= true (System/getProperty "is-desktop"))
|
||||
mobile-version
|
||||
regular-version))
|
||||
|
||||
(defn get-screenshot-pm []
|
||||
(iosify
|
||||
(do
|
||||
(import '[advent.core Saver])
|
||||
(Saver/takeScreenshot))
|
||||
(do
|
||||
(Pixmap/setFilter Pixmap$Filter/BiLinear)
|
||||
(let [viewport (-> @ (resolve 'advent.screens.scene/scene) :screen deref :viewport)
|
||||
[x y w h g-l g-r] [(.getScreenX ^FitViewport viewport) (.getScreenY ^FitViewport viewport) (.getScreenWidth ^FitViewport viewport) (.getScreenHeight ^FitViewport viewport)]]
|
||||
(ScreenUtils/getFrameBufferPixmap x y w h)))))
|
||||
|
||||
(defn save [entities id name & [blurb]]
|
||||
(let [save-fn (fn []
|
||||
(log/info "Saving " id name)
|
||||
@@ -215,13 +231,12 @@
|
||||
|
||||
(steam/write-bytes (steam/save-file-name id) (.getBytes (pr-str save) "UTF-8"))
|
||||
(on-gl (let [gl-func (fn []
|
||||
(let [_ (Pixmap/setFilter Pixmap$Filter/BiLinear)
|
||||
viewport (-> @ (resolve 'advent.screens.scene/scene) :screen deref :viewport)
|
||||
[x y w h g-l g-r] [(.getScreenX ^FitViewport viewport) (.getScreenY ^FitViewport viewport) (.getScreenWidth ^FitViewport viewport) (.getScreenHeight ^FitViewport viewport)]
|
||||
pm (ScreenUtils/getFrameBufferPixmap x y w h)
|
||||
(let [pm (get-screenshot-pm)
|
||||
resized (Pixmap. 160 120 Pixmap$Format/RGB888)
|
||||
_ (.drawPixmap resized pm 0 0 w h 0 0 160 120)]
|
||||
(steam/save-screenshot resized (steam/save-screenshot-file-name id))))]
|
||||
_ (.drawPixmap resized pm 0 0 1280 960 0 0 160 120)]
|
||||
(steam/save-screenshot resized (steam/save-screenshot-file-name id))
|
||||
(.dispose resized)
|
||||
(.dispose pm)))]
|
||||
(try-times gl-func 3)))))]
|
||||
(try-times save-fn 3)))
|
||||
|
||||
@@ -397,9 +412,10 @@
|
||||
|
||||
(defn load-sound [f]
|
||||
(try
|
||||
(if mobile?
|
||||
(sound (str f ".mp3"))
|
||||
(sound f))
|
||||
(iosify
|
||||
(sound (str f ".mp3"))
|
||||
(sound f)
|
||||
)
|
||||
(catch Exception e
|
||||
(log/info e)
|
||||
(sound (str f ".mp3")))))
|
||||
|
||||
Reference in New Issue
Block a user