0.1.0 Release - Engine - Wolf sheep works
[clnl] / src / main / interface.lisp
index 931cede5143f633bf5a66bca3e891658dc23fb2d..88dfac51c42b16b38a3120714a80435dc9a31076 100644 (file)
@@ -6,6 +6,8 @@
 (defvar *glut-window-opened* nil)
 (defvar *dimensions* nil)
 
+(defvar *default-shapes* nil)
+
 ; For now, shapes can live in here
 ; header is
 ; * name <like default>
 (defun default-shapes ()
  (with-open-file (str "resources/defaultshapes") (parse-shapes str)))
 
+(eval-when (:load-toplevel)
+ (when (probe-file "resources/defaultshapes")
+  (setf *default-shapes* (default-shapes))))
+
 (defvar *colors*
  '((140 140 140) ; gray       (5)
    (215 48 39) ; red       (15)
       (gl:translate -150d0 -150d0 -0.0d0)
       (mapcar #'element->gl-list (getf shape :elements)))
      turtle-list))
-   (default-shapes))))
+   (or *default-shapes* (default-shapes)))))
 
 (defun set-patch-list ()
  (setf *patch-list* (gl:gen-lists 1))