(ns advent.core.desktop-launcher (:require [advent.core :refer :all] [advent.utils :as utils] ) (:import [com.badlogic.gdx.backends.lwjgl LwjglApplication LwjglApplicationConfiguration] [org.lwjgl.input Keyboard] [com.badlogic.gdx Gdx]) (:gen-class)) (defn -main [& [port]] (when (System/getProperty "use-repl") (eval `(require 'clojure.tools.nrepl.server)) (eval `(try (when ~port (let [{port# :port} (clojure.tools.nrepl.server/start-server :port (Integer/parseInt ~port))] (doseq [port-file# ["target/repl-port" ".nrepl-port"]] (-> port-file# java.io.File. (doto .deleteOnExit) (spit port#))) (println "Started nREPL server on port" port#))) (catch Exception e#)))) (let [cfg (LwjglApplicationConfiguration.)] (if false (do (set! (.width cfg) (doto (.width (LwjglApplicationConfiguration/getDesktopDisplayMode)) println)) (set! (.height cfg) (doto (.height (LwjglApplicationConfiguration/getDesktopDisplayMode)) println)) (set! (.resizable cfg) true) (set! (.useHDPI cfg) false) (set! (.fullscreen cfg) true)) (do (set! (.width cfg) 1280) (set! (.height cfg) 960))) (set! (.title cfg) "Tick's Tales: Up All Knight") (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") (let [app (LwjglApplication. advent cfg)] (when (utils/has-saved-settings?) (utils/load-settings!)) (utils/set-fullscreen! (:fullscreen @utils/settings)) app)) (Keyboard/enableRepeatEvents true))