summaryrefslogtreecommitdiff
path: root/sandbox.in
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox.in')
-rw-r--r--sandbox.in68
1 files changed, 68 insertions, 0 deletions
diff --git a/sandbox.in b/sandbox.in
new file mode 100644
index 0000000..40c92b5
--- /dev/null
+++ b/sandbox.in
@@ -0,0 +1,68 @@
+#!@GUILE@ \
+-L . -s
+!#
+
+;;; Sly
+;;; Copyright (C) 2014 David Thompson <dthompson2@worcester.edu>
+;;;
+;;; 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/>.
+
+;; Include almost every Sly module for convenience.
+(use-modules (sly audio)
+ (sly fps)
+ (sly game)
+ (sly signal)
+ (sly window)
+ (sly repl)
+ (sly utils)
+ (sly render color)
+ (sly render font)
+ (sly render sprite)
+ (sly render texture)
+ (sly render model)
+ (sly render camera)
+ (sly input keyboard)
+ (sly input mouse)
+ (sly math rect)
+ (sly math transform)
+ (sly math vector))
+
+(open-window)
+(start-sly-repl)
+
+(add-hook! window-close-hook stop-game-loop)
+
+(display "Welcome to the Sly sandbox. Happy hacking!\n")
+
+(define-signal scene null-model)
+
+(define-signal camera
+ (orthographic-camera 640 480))
+
+(define (draw-scene dt alpha)
+ (signal-let ((scene scene)
+ (camera camera))
+ (draw-model scene camera)))
+
+(add-hook! draw-hook (trampoline draw-scene))
+
+(with-window (make-window #:title "Sly Sandbox")
+ (start-game-loop))
+
+(display "Bye!\n")
+
+;;; Local Variables:
+;;; compile-command: "./pre-inst-env sandbox"
+;;; End: