Files
gitea-docker/desktop/src/advent/core/desktop_launcher.clj
2015-11-27 10:56:45 -08:00

57 lines
2.0 KiB
Clojure

(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))