Optional Pyrex extension for the collision module. More than doubles its speed.
[python-bulletml.git] / bulletml-runner
index faaf9e0..7c262b0 100755 (executable)
@@ -8,6 +8,7 @@ import pygame
 
 import bulletml
 import bulletml.bulletyaml
+from bulletml.collision import collides_all
 
 try:
     import yaml
@@ -15,7 +16,7 @@ except ImportError:
     yaml = None
 
 try:
-    import psyco
+    import psycox
 except ImportError:
     pass
 else:
@@ -82,10 +83,10 @@ def main(argv):
             target.y /= 2
 
             if not paused or go:
-
+                lactive = list(active)
                 start = time.time()
                 count = len(active)
-                for obj in list(active):
+                for obj in lactive:
                     new = obj.step()
                     total += len(new)
                     active.update(new)
@@ -93,6 +94,8 @@ def main(argv):
                         or not (-50 < obj.x < 350)
                         or not (-50 < obj.y < 350)):
                         active.remove(obj)
+                if lactive:
+                    collides_all(lactive[0], lactive)
                 elapsed = time.time() - start
 
                 frames += 1