main.ps
35 lines
| 912 B
| application/postscript
|
PostScriptLexer
/ src / main.ps
r6 | ||||
(in-package sugar-qsp) | ||||
r9 | (setf (root) | |||
r12 | (ps:create | |||
;;; Game session state | ||||
;; Variables | ||||
vars (ps:create) | ||||
;; Inventory (objects) | ||||
objs (list) | ||||
;;; Transient state | ||||
;; Savegame data | ||||
state-stash (ps:create) | ||||
;; List of audio files being played | ||||
playing (ps:create) | ||||
r14 | ;; Local variables stack (starts with an empty frame) | |||
locals (list) | ||||
r12 | ;;; Game data | |||
;; ACTions | ||||
acts (ps:create) | ||||
;; Locations | ||||
locs (ps:create))) | ||||
r6 | ||||
r11 | ;; Launch the game from the first location | |||
r9 | (setf window.onload | |||
(lambda () | ||||
r11 | (funcall (ps:getprop (root locs) | |||
r16 | (ps:chain *object (keys (root locs)) 0)) | |||
(list)) | ||||
r9 | (values))) | |||
r11 | ||||
;; Close the dropdown on any click | ||||
(setf window.onclick | ||||
(lambda (event) | ||||
(setf (ps:@ (api-call get-frame :dropdown) style display) "none"))) | ||||