;;;; Blackthorn -- Lisp Game Engine ;;;; ;;;; Copyright (c) 2007-2009, Elliott Slaughter ;;;; ;;;; Permission is hereby granted, free of charge, to any person ;;;; obtaining a copy of this software and associated documentation ;;;; files (the "Software"), to deal in the Software without ;;;; restriction, including without limitation the rights to use, copy, ;;;; modify, merge, publish, distribute, sublicense, and/or sell copies ;;;; of the Software, and to permit persons to whom the Software is ;;;; furnished to do so, subject to the following conditions: ;;;; ;;;; Except as contained in this notice, the name(s) of the above ;;;; copyright holders shall not be used in advertising or otherwise to ;;;; promote the sale, use or other dealings in this Software without ;;;; prior written authorization. ;;;; ;;;; The above copyright notice and this permission notice shall be ;;;; included in all copies or substantial portions of the Software. ;;;; ;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ;;;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ;;;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ;;;; DEALINGS IN THE SOFTWARE. ;;;; ;;; ;;; Forward declarartions ;;; (defpackage :blackthorn-user (:nicknames :bt-user)) ;;; ;;; Graphics autoloading ;;; (defpackage :blackthorn-asd (:use :cl :asdf) (:export :graphics-module)) (in-package :blackthorn-asd) (defclass graphics-module (module) ()) ;; Force ASDF to load the graphics module, as ASDF arbitrarily ignores ;; components without input or output files. (defmethod input-files ((operation operation) (c graphics-module)) (list (component-pathname c))) (defvar bt-user::*autoload-directories* nil) (defmethod perform ((o compile-op) (c graphics-module)) (pushnew (enough-namestring (component-pathname c)) bt-user::*autoload-directories* :test #'equal)) ;;; ;;; System definition ;;; (defsystem blackthorn :name "blackthorn" :author "Elliott Slaughter " :version "0.1" :components ((:module src :components ((:module blackthorn :components ((:file "package") (:file "utils") (:file "generics") (:file "streams") (:file "repl") (:file "history") (:file "event") (:file "input-mode") (:file "database") (:file "graphics") (:file "collision") (:file "game") (:file "component") (:file "graph") (:file "pathfinding") (:file "runtime") (:file "autoload") (:file "main")) :serial t)))) :depends-on (:trivial-features :closer-mop :moptilities :cl-store :archive :cl-fad :cl-containers :trivial-garbage :lispbuilder-sdl :lispbuilder-sdl-gfx :lispbuilder-sdl-image))