+(let ((ptitle "") (pwidth *width-screen*) (pheight *height-screen*) (pbpp *bpp-screen*) (pfps *frames-per-second*) (pmode '2d))
+ (defun set-game-properties (&key title width height bpp fps mode)
+ (init-video-mode)
+ (when title (progn (setq ptitle title) (SDL_WM_SetCaption title "")))
+ (when (or width height bpp)
+ (progn
+ (when width (setq pwidth width))
+ (when height (setq pheight height))
+ (when bpp (setq pbpp bpp))
+ (resize-screen pwidth pheight pbpp)))
+ (when fps (progn (setq pfps fps) (set-frames-per-second fps)))
+ (when mode (progn (setq pmode mode) (if (eq mode '3d) (set-3d-mode) (set-2d-mode))))
+ (get-game-properties))
+
+ (defun get-game-properties ()
+ (list :title ptitle :width pwidth :height pheight :bpp pbpp :fps pfps :mode pmode)))
+
+
+(defmacro run-game (&body code)