(in-package :uxul-world)
-(defconstant +screen-width+ 1024)
-(defconstant +screen-height+ 768)
+(defmacro mydefconst (x y)
+ `(eval-when (:compile-toplevel :load-toplevel)
+ (when (or (not (boundp ',x))
+ (not (equal ,y
+ (symbol-value ',x))))
+ (defconstant ,x ,y))))
-(defconstant +class-indices+ '(t uxul-world::animation
+
+(mydefconst +screen-width+ 1024)
+(mydefconst +screen-height+ 768)
+
+(mydefconst +class-indices+ '(t uxul-world::animation
uxul-world::collision uxul-world::game-object uxul-world::player
uxul-world::room uxul-world::stone uxul-world::xy-coordinates
uxul-world::bottom uxul-world::moving-enemy