From c8b539d5132394232f3b9d2a3f8362505cdb688f Mon Sep 17 00:00:00 2001 From: oakes Date: Wed, 1 Jan 2014 03:19:20 -0500 Subject: [PATCH] Use defonce and add other fixes --- src/play_clj/core.clj | 8 ++++---- src/play_clj/core_global.clj | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/play_clj/core.clj b/src/play_clj/core.clj index 16c7e94..22ebc15 100644 --- a/src/play_clj/core.clj +++ b/src/play_clj/core.clj @@ -18,7 +18,7 @@ (load "core_render") (defn defscreen* - [{:keys [on-show on-render on-dispose on-hide on-pause on-resize on-resume] + [{:keys [on-show on-render on-hide on-pause on-resize on-resume] :as options}] (let [screen (atom {}) dummy-fn (fn [s]) @@ -51,16 +51,16 @@ (defmacro defscreen [name & {:keys [] :as options}] - `(def ~name (defscreen* ~options))) + `(defonce ~name (defscreen* ~options))) (defn defgame* [{:keys [on-create]}] (proxy [Game] [] - (create [] (on-create this)))) + (create [] (when on-create (on-create this))))) (defmacro defgame [name & {:keys [] :as options}] - `(def ~name (defgame* ~options))) + `(defonce ~name (defgame* ~options))) (defn set-screen! [^Game game ^Screen screen] diff --git a/src/play_clj/core_global.clj b/src/play_clj/core_global.clj index 7918ca1..261542a 100644 --- a/src/play_clj/core_global.clj +++ b/src/play_clj/core_global.clj @@ -7,7 +7,7 @@ (clear! 0 0 0 0)) ([r g b a] (doto (Gdx/gl) - (.glClearColor r g b a) + (.glClearColor (float r) (float g) (float b) (float a)) (.glClear GL20/GL_COLOR_BUFFER_BIT)))) (defn game*