X-Git-Url: http://uxul.de/gitweb/?a=blobdiff_plain;f=game.lisp;h=cc389c253fb21f76880d0df8de97af2df89cf206;hb=ce717bf849f95f3de30061b413c9c196b60b2363;hp=49e4e968321325f1aea332b6c58a62b8490cf86e;hpb=3520f2248cddebdc3c03a080047d76fdf1f6c382;p=uxul-world.git diff --git a/game.lisp b/game.lisp index 49e4e96..cc389c2 100755 --- a/game.lisp +++ b/game.lisp @@ -4,24 +4,30 @@ (defparameter *cfont* nil) -(defun start-game (&key (music nil) room-function (15-fps nil)) +(defun run-testing-room () + (start-game :room-function #'make-testing-room)) + +(defun run-room (item-list) + (start-game :room-function + #'(lambda () (create-room-from-item-list item-list)))) + +(defun start-game (&key (music nil) + (room-function #'make-additional-testing-room) + (15-fps nil)) "Start the Game: Call room-function for getting the room-object to run. Music is ignored so far. 15-fps makes only every second frame be drawn (for very slow computers)" + (sdl:set-video-driver "directx") (sdl:with-init (sdl:sdl-init-video sdl:sdl-init-audio) (sdl:window +screen-width+ +screen-height+ :title-caption "Uxul World" :icon-caption "Uxul World" + ;:opengl T :flags (logior sdl:sdl-hw-accel sdl:sdl-hw-surface) - ;:flags (logior sdl:sdl-hw-surface) #| sdl:sdl-fullscreen )|# + :flags (logior sdl:sdl-hw-surface) #| sdl:sdl-fullscreen )|# ) ;;(if music (sdl-mixer:OPEN-AUDIO :frequency 44100)) - (let ((*graphics-table* - #-ecl (trivial-garbage:make-weak-hash-table - :weakness :value - :test #'equal) - #+ecl (make-hash-table :test #'equal) - )) + (let ((*graphics-table* (make-hash-table :test #'equal))) (if 15-fps (setf (sdl:frame-rate) 15) (setf (sdl:frame-rate) 30)) @@ -45,6 +51,12 @@ drawn (for very slow computers)" (cond ((sdl:key= key :SDL-KEY-ESCAPE) (sdl:push-quit-event)) + ((sdl:key= key :SDL-KEY-O) + (setf *zoom-ash* + (max -3 (1- *zoom-ash*)))) + ((sdl:key= key :SDL-KEY-I) + (setf *zoom-ash* + (min 0 (1+ *zoom-ash*)))) (T (on-key-down *current-room* key)))) (:key-up-event (:key key) @@ -96,4 +108,4 @@ drawn (for very slow computers)" (draw my-anim) (sdl:update-display) - )))))) \ No newline at end of file + ))))))