supports ios special logic

This commit is contained in:
Bryce Covert
2017-02-25 09:27:01 -08:00
parent 90d22ae981
commit b378376dbc
5 changed files with 34 additions and 16 deletions

View File

@@ -26,7 +26,7 @@
:profiles { :profiles {
:dev { :dev {
:source-paths ["src" "src-common" "src-dev"] :source-paths ["src" "src-common" "src-dev"]
:jvm-opts ["-Duse-repl=true" "-Dno-steam=true" #_"-Dclojure.compiler.direct-linking=true"] :jvm-opts ["-Duse-repl=true" "-Dno-steam=true" #_"-Dclojure.compiler.direct-linking=true" "-Dis-desktop=true"]
:dependencies [[com.badlogicgames.gdx/gdx-tools "1.5.3"] :dependencies [[com.badlogicgames.gdx/gdx-tools "1.5.3"]
[org.clojure/tools.nrepl "0.2.12"] [org.clojure/tools.nrepl "0.2.12"]
[play-clj-nrepl "0.1.0" :exclusions [play-clj]] [play-clj-nrepl "0.1.0" :exclusions [play-clj]]
@@ -36,7 +36,7 @@
#_#_:warn-on-reflection true} #_#_:warn-on-reflection true}
:mobile-dev { :mobile-dev {
:source-paths ["src" "src-common" "src-dev"] :source-paths ["src" "src-common" "src-dev"]
:jvm-opts ["-Duse-repl=true" "-Dno-steam=true" "-Dui_scale=1.5" #_"-Dclojure.compiler.direct-linking=true"] :jvm-opts ["-Duse-repl=true" "-Dno-steam=true" "-Dui_scale=1.5" #_"-Dclojure.compiler.direct-linking=true" "-Dis-desktop=true"]
:dependencies [[com.badlogicgames.gdx/gdx-tools "1.5.3"] :dependencies [[com.badlogicgames.gdx/gdx-tools "1.5.3"]
[org.clojure/tools.nrepl "0.2.12"] [org.clojure/tools.nrepl "0.2.12"]
[play-clj-nrepl "0.1.0" :exclusions [play-clj]] [play-clj-nrepl "0.1.0" :exclusions [play-clj]]
@@ -46,14 +46,15 @@
#_#_:warn-on-reflection true} #_#_:warn-on-reflection true}
:app-store { :app-store {
:source-paths ["src" "src-common" "src-dev"] :source-paths ["src" "src-common" "src-dev"]
:jvm-opts ["-Dapp-store=true" "-Dno-steam=true"] :jvm-opts ["-Dapp-store=true" "-Dno-steam=true" "-Dis-desktop=true"]
:dependencies [[org.clojure/data.csv "0.1.3"]] :dependencies [[org.clojure/data.csv "0.1.3"]]
:warn-on-reflection true} :warn-on-reflection true}
:steam {:dependencies [[com.code-disaster.steamworks4j/steamworks4j "1.2.2"]]} :steam {:dependencies [[com.code-disaster.steamworks4j/steamworks4j "1.2.2"]]
:jvm-opts ["-Dis-desktop=true"]}
:steam-dev { :steam-dev {
:source-paths ["src" "src-common" "src-dev"] :source-paths ["src" "src-common" "src-dev"]
:jvm-opts ["-Duse-repl=true"] :jvm-opts ["-Duse-repl=true" "-Dis-desktop=true"]
:dependencies [[com.badlogicgames.gdx/gdx-tools "1.5.3"] :dependencies [[com.badlogicgames.gdx/gdx-tools "1.5.3"]
[org.clojure/tools.nrepl "0.2.7"] [org.clojure/tools.nrepl "0.2.7"]
[play-clj-nrepl "0.1.0" :exclusions [play-clj]] [play-clj-nrepl "0.1.0" :exclusions [play-clj]]

View File

@@ -2014,7 +2014,7 @@
(utils/intersects? (:close entities) [x y]) (utils/intersects? (:close entities) [x y])
(screen! scene :on-menu {}) (screen! scene :on-menu {})
(and (not (:already-saved? entities)) (utils/intersects? (:save entities) [x y]) (hud-interactable?)) (and #_(not (:already-saved? entities)) (utils/intersects? (:save entities) [x y]) (hud-interactable?))
(do (do
(screen! scene :on-save {}) (screen! scene :on-save {})
(assoc entities :already-saved? true)) (assoc entities :already-saved? true))

View File

@@ -202,6 +202,22 @@
(log/error "Could not save!" e) (log/error "Could not save!" e)
:fail)))))) :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]] (defn save [entities id name & [blurb]]
(let [save-fn (fn [] (let [save-fn (fn []
(log/info "Saving " id name) (log/info "Saving " id name)
@@ -215,13 +231,12 @@
(steam/write-bytes (steam/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 [gl-func (fn [] (on-gl (let [gl-func (fn []
(let [_ (Pixmap/setFilter Pixmap$Filter/BiLinear) (let [pm (get-screenshot-pm)
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)
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 1280 960 0 0 160 120)]
(steam/save-screenshot resized (steam/save-screenshot-file-name id))))] (steam/save-screenshot resized (steam/save-screenshot-file-name id))
(.dispose resized)
(.dispose pm)))]
(try-times gl-func 3)))))] (try-times gl-func 3)))))]
(try-times save-fn 3))) (try-times save-fn 3)))
@@ -397,9 +412,10 @@
(defn load-sound [f] (defn load-sound [f]
(try (try
(if mobile? (iosify
(sound (str f ".mp3")) (sound (str f ".mp3"))
(sound f)) (sound f)
)
(catch Exception e (catch Exception e
(log/info e) (log/info e)
(sound (str f ".mp3"))))) (sound (str f ".mp3")))))

View File

@@ -21,7 +21,7 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>93</string> <string>94</string>
<key>MinimumOSVersion</key> <key>MinimumOSVersion</key>
<string>8.0</string> <string>8.0</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>

View File

@@ -17,6 +17,7 @@
:java-source-paths ["src/java"] :java-source-paths ["src/java"]
:plugins [[lein-fruit "0.2.4-SNAPSHOT"]] :plugins [[lein-fruit "0.2.4-SNAPSHOT"]]
:javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"] :javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"]
:jvm-opts ["-Dis-desktop=false"]
:ios {:robovm-opts ["-config" "robovm.xml"] :ios {:robovm-opts ["-config" "robovm.xml"]
:robovm-path "/Users/brycecovert/.robovm-sdks/robovm-2.2.1-SNAPSHOT" :robovm-path "/Users/brycecovert/.robovm-sdks/robovm-2.2.1-SNAPSHOT"
:version 2.1} :version 2.1}