[corman-sdl-cvs] CVS update: corman-sdl/engine/use-engine.lisp corman-sdl/engine/engine.lisp

Luke J Crook lcrook at common-lisp.net
Thu Jul 8 09:00:13 UTC 2004


Update of /project/corman-sdl/cvsroot/corman-sdl/engine
In directory common-lisp.net:/tmp/cvs-serv2445/engine

Modified Files:
	engine.lisp 
Added Files:
	use-engine.lisp 
Log Message:

Date: Thu Jul  8 02:00:13 2004
Author: lcrook



Index: corman-sdl/engine/engine.lisp
diff -u corman-sdl/engine/engine.lisp:1.8 corman-sdl/engine/engine.lisp:1.9
--- corman-sdl/engine/engine.lisp:1.8	Mon May  3 23:00:53 2004
+++ corman-sdl/engine/engine.lisp	Thu Jul  8 02:00:12 2004
@@ -95,9 +95,6 @@
         start
         end)
 
-
-
-
 (let ((bitplanes nil))
     (defun bitplanes ()
         bitplanes)
@@ -115,6 +112,9 @@
         (y :accessor sprite-y :initform 0 :initarg :y)
         (zorder :accessor sprite-zorder :initform 0 :initarg :zorder)))
 
+(defun new-bitplane (zorder)
+    (make-bitplane :zorder zorder))
+
 (defun addto-bitplane (bitplane obj)
     (cond 
         ((null (bitplane-end bitplane))
@@ -123,15 +123,23 @@
         (t
             (setf (bitplane-end bitplane) (dl-append obj (bitplane-end bitplane))))))
 
-(defun removefrom-bitplane (bitplane obj)
+;Removes a node from the bitplane.
+(defun remove-node-from-bitplane (bitplane obj)
     (when (null (dl-next obj))
         (setf (bitplane-end bitplane) (dl-prev obj)))
     (when (null (dl-prev obj))
         (setf (bitplane-start bitplane) (dl-next obj)))
     (dl-remove obj))
 
-(defun new-bitplane (zorder)
-    (make-bitplane :zorder zorder))
+;Finds the node containing object, then calls remove-node-from-bitplane
+(defun remove-from-bitplane (bitplane object)
+    (let ((obj (dl-find (bitplane-start bitplane) 
+        #'(lambda (node)
+            (if (equal (dl-data node) object)
+                node
+                nil)))))
+        (when obj
+            (remove-node-from-bitplane bitplane obj))))
 
 (defun get-zorder (obj)
     (cond 





More information about the Corman-sdl-cvs mailing list