From 7c6b1d7d94f5f9851f3e209793653adf217cc19e Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Mon, 18 Jan 2021 08:23:13 -0800 Subject: [PATCH] moved to latest version. --- desktop/.lein-repl-history | 6 ++++ desktop/build-osx-steam.json | 2 +- desktop/build-osx.json | 2 +- desktop/project.clj | 14 ++++---- desktop/src-common/advent/screens/scene.clj | 7 ++-- desktop/src-common/advent/utils.clj | 8 +++-- desktop/src/advent/core/desktop_launcher.clj | 34 +++++++++++++------- 7 files changed, 46 insertions(+), 27 deletions(-) diff --git a/desktop/.lein-repl-history b/desktop/.lein-repl-history index a055e780..4a29f528 100644 --- a/desktop/.lein-repl-history +++ b/desktop/.lein-repl-history @@ -1 +1,7 @@  +(animation) +(play-clj.g2d.animation) +(play-clj.g2d/animation) +(play-clj.g2d/animation []) +(play-clj.g2d/animation 0.2 [] ) +(play-clj.g2d/animation 0.2 [] ) diff --git a/desktop/build-osx-steam.json b/desktop/build-osx-steam.json index ec160c5c..0c358c69 100644 --- a/desktop/build-osx-steam.json +++ b/desktop/build-osx-steam.json @@ -2,7 +2,7 @@ "platform": "mac", "jdk": "/Users/bryce/Documents/jdk8u202-b08/Contents/Home/", "executable": "Tick's Tales", - "vmargs": ["-Duse-repl=false", "-Dui_scale=1.0", "-Dclojure.compiler.direct-linking=true", "-Dis-desktop=true", "-Dplatform=desktop"], + "vmargs": ["-Duse-repl=false", "-Dui_scale=1.0", "-Dclojure.compiler.direct-linking=true", "-Dis-desktop=true", "-Dplatform=desktop", "-XstartOnFirstThread"], "classpath": ["target/advent-standalone.jar"], "mainclass": "advent.core.desktop_launcher", "resources": ["resources/icon", "steam_appid.txt"], diff --git a/desktop/build-osx.json b/desktop/build-osx.json index 30696c7c..dc3a9b26 100644 --- a/desktop/build-osx.json +++ b/desktop/build-osx.json @@ -2,7 +2,7 @@ "platform": "mac", "jdk": "./jvms/mac.gz", "executable": "Tick's Tales", - "vmargs": ["-Duse-repl=false", "-Dui_scale=1.0", "-Dno-steam=true", "-Dclojure.compiler.direct-linking=true", "-Dis-desktop=true", "-Dplatform=desktop"], + "vmargs": ["-Duse-repl=false", "-Dui_scale=1.0", "-Dno-steam=true", "-Dclojure.compiler.direct-linking=true", "-Dis-desktop=true", "-Dplatform=desktop", "-XstartOnFirstThread"], "classpath": ["target/advent-standalone.jar"], "mainclass": "advent.core.desktop_launcher", "resources": ["resources/icon", "steam_appid.txt"], diff --git a/desktop/project.clj b/desktop/project.clj index 5c498d24..c41ecf4f 100644 --- a/desktop/project.clj +++ b/desktop/project.clj @@ -16,9 +16,9 @@ :manifest {"Implementation-Version" ~version} :uberjar-name "advent-standalone.jar" - :dependencies [[com.badlogicgames.gdx/gdx "1.9.4"] - [com.badlogicgames.gdx/gdx-backend-lwjgl "1.9.4"] - [com.badlogicgames.gdx/gdx-platform "1.9.4" :classifier "natives-desktop"] + :dependencies [[com.badlogicgames.gdx/gdx "1.9.5"] + [com.badlogicgames.gdx/gdx-backend-lwjgl3 "1.9.5"] + [com.badlogicgames.gdx/gdx-platform "1.9.5" :classifier "natives-desktop"] [org.clojure/clojure "1.8.0"] [org.clojars.notid/tools.logging "0.3.2-SNAPSHOT"] [play-clj "0.4.6-BRYCE"] @@ -42,8 +42,8 @@ } :dev { :source-paths ["src" "src-common" "src-dev"] - :jvm-opts ["-Duse-repl=true" "-Dui_scale=1.0" "-Dno-steam=true" "-Dclojure.compiler.direct-linking=true" "-Dis-desktop=true" "-Dplatform=desktop"] - :dependencies [[com.badlogicgames.gdx/gdx-tools "1.9.4"] + :jvm-opts ["-Duse-repl=true" "-Dui_scale=1.0" "-Dno-steam=true" "-Dclojure.compiler.direct-linking=true" "-Dis-desktop=true" "-Dplatform=desktop" "-XstartOnFirstThread" #_"-Dorg.lwjgl.util.Debug=true"] + :dependencies [#_[com.badlogicgames.gdx/gdx-tools "1.9.5"] [org.clojure/tools.nrepl "0.2.12"] [play-clj-nrepl "0.1.0" :exclusions [play-clj]] [slamhound "1.5.5"] @@ -53,7 +53,7 @@ :mobile-dev { :source-paths ["src" "src-common" "src-dev"] :jvm-opts ["-Duse-repl=true" "-Dui_scale=1.5" "-Dno-steam=true" "-Dclojure.compiler.direct-linking=true" "-Dis-desktop=true" "-Dplatform=desktop"] - :dependencies [[com.badlogicgames.gdx/gdx-tools "1.9.4"] + :dependencies [[com.badlogicgames.gdx/gdx-tools "1.9.5"] [org.clojure/tools.nrepl "0.2.12"] [play-clj-nrepl "0.1.0" :exclusions [play-clj]] [slamhound "1.5.5"] @@ -73,7 +73,7 @@ :steam-dev { :source-paths ["src" "src-common" "src-dev"] :jvm-opts ["-Duse-repl=true" "-Dui_scale=1.0" "-Dis-desktop=true" "-Dplatform=desktop"] - :dependencies [[com.badlogicgames.gdx/gdx-tools "1.9.4"] + :dependencies [[com.badlogicgames.gdx/gdx-tools "1.9.5"] [org.clojure/tools.nrepl "0.2.7"] [play-clj-nrepl "0.1.0" :exclusions [play-clj]] [slamhound "1.5.5"] diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 374aba2c..ee4ec64a 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -46,6 +46,7 @@ [clojure.core.async :refer [put! poll! ! chan go thread take! alts!! dropping-buffer]]) (:import [com.badlogic.gdx.graphics Pixmap$Format Pixmap Pixmap$Filter Texture Texture$TextureFilter GL20 GL30] [com.badlogic.gdx.graphics.g2d TextureRegion Animation Batch] + [play_clj Animation2] [com.badlogic.gdx.math Vector3 Matrix4] [com.badlogic.gdx.utils.viewport FitViewport] @@ -869,12 +870,12 @@ anim-start (double anim-start) animated-time (unchecked-subtract total-time anim-start) last-animated-time (unchecked-subtract animated-time delta-time) - current-frame-index (animation! ^Animation anim :get-key-frame-index + current-frame-index (animation! ^Animation2 anim :get-key-frame-index (if anim-loop? (get-looped-animation-point anim animated-time) animated-time)) - previous-frame-index (animation! ^Animation anim :get-key-frame-index + previous-frame-index (animation! ^Animation2 anim :get-key-frame-index (if anim-loop? (get-looped-animation-point anim last-animated-time) last-animated-time))] @@ -883,7 +884,7 @@ (not (:force-rerender entity))) entity (merge (-> entity - (assoc :object (.getKeyFrame ^Animation anim (- total-time anim-start) anim-loop?)) + (assoc :object (.getKeyFrame ^Animation2 anim (- total-time anim-start) anim-loop?)) (assoc :force-rerender nil) (assoc :current-frame-index current-frame-index) (assoc :previous-frame-index previous-frame-index) diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 18b963d8..2c90e3a1 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -16,6 +16,7 @@ (:import [com.badlogic.gdx.graphics Pixmap Pixmap$Format Pixmap$Blending Pixmap$Filter Texture Texture$TextureFilter] [com.badlogic.gdx.graphics.g2d TextureRegion Animation ParticleEffect] [play_clj.entities ParticleEffectEntity] + [play_clj Animation2] [com.badlogic.gdx.utils.viewport FitViewport] [com.badlogic.gdx.utils ScreenUtils] [com.badlogic.gdx.assets.loaders ParticleEffectLoader$ParticleEffectParameter] @@ -357,9 +358,9 @@ (Math/sqrt (+ (* dx dx) (* dy dy))))) -(defn flip [^Animation anim] +(defn flip [^Animation2 anim] (animation (animation! anim :get-frame-duration) - (for [src-frame (animation! anim :get-key-frames) + (for [src-frame (.getRawKeyFrames ^Animation2 anim ) :let [frame (texture (texture! src-frame :get-texture))]] (do (texture! frame :set-region ^TextureRegion src-frame) @@ -656,7 +657,8 @@ (log/info "Making fullscreen " width "x" height " as true fullscreen") (.setFullscreenMode Gdx/graphics (.getDisplayMode Gdx/graphics)) - (set! (.foregroundFPS (-> (class Gdx/graphics) + ;; TODO not work lwjgl3 + #_(set! (.foregroundFPS (-> (class Gdx/graphics) (.getDeclaredField (name "config")) (doto (.setAccessible true)) (.get Gdx/graphics))) 60))) diff --git a/desktop/src/advent/core/desktop_launcher.clj b/desktop/src/advent/core/desktop_launcher.clj index e1ef4081..8afe9b86 100644 --- a/desktop/src/advent/core/desktop_launcher.clj +++ b/desktop/src/advent/core/desktop_launcher.clj @@ -3,9 +3,10 @@ [advent.utils :as utils] [play-clj.core :refer :all] [clojure.tools.logging :as log]) - (:import [com.badlogic.gdx.backends.lwjgl LwjglApplication LwjglApplicationConfiguration] - [org.lwjgl.input Keyboard] - [com.badlogic.gdx Gdx Files$FileType]) + (:import [com.badlogic.gdx.backends.lwjgl3 Lwjgl3Application Lwjgl3ApplicationConfiguration Lwjgl3ApplicationConfiguration$HdpiMode] + #_[org.lwjgl.input Keyboard] + [com.badlogic.gdx Gdx Files$FileType] + [com.badlogic.gdx.graphics.glutils ]) (:gen-class)) @@ -23,21 +24,30 @@ (eval `(play-clj-nrepl.core/start-nrepl advent.core/advent ~port))) - (let [cfg (LwjglApplicationConfiguration.)] - (.addIcon cfg "icon/icon_128x128.png" Files$FileType/Classpath) - (.addIcon cfg "icon/icon_32x32.png" Files$FileType/Classpath) - (.addIcon cfg "icon/icon_16x16.png" Files$FileType/Classpath) + (let [cfg (Lwjgl3ApplicationConfiguration.)] + #_(.addIcon cfg "icon/icon_128x128.png" Files$FileType/Classpath) + #_(.addIcon cfg "icon/icon_32x32.png" Files$FileType/Classpath) + #_(.addIcon cfg "icon/icon_16x16.png" Files$FileType/Classpath) - (set! (.title cfg) "Tick's Tales: Up All Knight") - (set! (.foregroundFPS cfg) 60) - (set! (.backgroundFPS cfg) 60) + + #_(set! (.title cfg) "Tick's Tales: Up All Knight") + (doto cfg + #_(.setBackgroundFPS 60) + #_(.setForegroundFPS 60) + (.setHdpiMode Lwjgl3ApplicationConfiguration$HdpiMode/Pixels) + (.setTitle "Tick's Tales: Up All Knight") + (.setWindowIcon (into-array ["icon/icon128x128.png" + "icon/icon32x32.png" + "icon/icon16x16.png"]))) + #_(set! (.foregroundFPS cfg) 60) + #_(set! (.backgroundFPS cfg) 60) (System/setProperty "org.lwjgl.opengl.Display.enableHighDPI" "false") (System/setProperty "org.lwjgl.opengl.Display.disableOSXFullscreenModeAPI" "true") #_(System/setProperty "org.lwjgl.opengl.Window.undecorated", "true") (log/info "Starting game") - (let [app (LwjglApplication. advent cfg)] + (let [app (Lwjgl3Application. advent cfg)] (when (utils/has-saved-settings?) (utils/load-settings!)) (utils/set-fullscreen! (:fullscreen @utils/settings)) @@ -46,4 +56,4 @@ - (Keyboard/enableRepeatEvents true)) + #_(Keyboard/enableRepeatEvents true))