(sdl2:hide-window! %sdl-window)
(sdl2:sdl-quit))
-(define (play-game scene)
+(define (play-game scene . args)
(init-window)
- (open-window)
+ (apply open-window args)
(run-game-loop scene)
(close-window))
(define (display-scene scene . args)
(apply (scene-procedure scene) args))
-(define (run-scene scene)
- (play-game
- (scene-procedure scene)))
+(define (run-scene scene . args)
+ (apply play-game
+ (cons (scene-procedure scene) args)))
--- /dev/null
+;;; Gacela, a GNU Guile extension for fast games development
+;;; Copyright (C) 2016 by Javier Sancho Fernandez <jsf at jsancho dot org>
+;;;
+;;; This program is free software: you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation, either version 3 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+(define-module (gacela window)
+ #:use-module (gacela scene)
+ #:export (window))
+
+
+(define* (window window-properties #:optional scene)
+ (make-scene
+ "window"
+ (lambda ()
+ (apply run-scene (cons scene window-properties)))))