(in-package cl-user) (defpackage :sugar-qsp.js) (defpackage :sugar-qsp.main (:use :cl :ps :sugar-qsp.js) (:export #:api-call #:by-id #:root #:in #:vars #:objs #:current-location #:started-at #:timer-interval #:timer-obj #:state-stash #:playing #:locals #:acts #:locs)) ;;; API functions (defpackage :sugar-qsp.api (:use :cl :ps :sugar-qsp.main :sugar-qsp.js) (:export #:with-frame #:with-call-args #:stash-state #:report-error #:sleep #:init-dom #:call-serv-loc #:newline #:clear-id #:prepare-contents #:get-id #:set-id #:append-id #:init-args #:get-result #:call-loc #:call-act #:get-frame #:add-text #:get-text #:clear-text #:enable-frame #:add-act #:del-act #:clear-act #:update-acts #:qspfor #:*var #:new-value #:index-num #:get #:set #:kill #:var-real-name #:ensure-var #:var-ref #:get-var #:set-var #:get-array #:set-array #:kill-var #:array-size #:push-local-frame #:pop-local-frame #:current-local-frame #:new-local #:update-objs #:menu #:clean-audio #:show-image #:opengame #:savegame )) ;;; QSP library functions and macros (defpackage :sugar-qsp.lib (:use :cl :ps :sugar-qsp.main :sugar-qsp.js) (:local-nicknames (#:api :sugar-qsp.api)) (:export #:str #:exec #:qspblock #:qspfor #:location #:qspcond #:qspvar #:set #:local #:jump #:killvar #:killall #:obj #:loc #:no #:qspver #:curloc #:rnd #:qspmax #:qspmin #:arrsize #:len #:mid #:ucase #:lcase #:trim #:replace #:val #:qspstr #:exit #:desc #:showstat #:msg #:showacts #:delact #:cla #:showobjs #:countobj #:getobj #:isplay #:view #:showinput #:wait #:settimer #:local #:opengame #:savegame #:goto #:xgoto #:rand #:copyarr #:arrpos #:arrcomp #:instr #:isnum #:strcomp #:strfind #:strpos #:iif #:gosub #:func #:dynamic #:dyneval #:main-p #:main-pl #:main-nl #:maintxt #:desc #:main-clear #:stat-p #:stat-pl #:stat-nl #:stattxt #:stat-clear #:cls #:curacts #:addobj #:delobj #:killobj #:menu #:play #:close #:closeall #:refint #:usertxt #:cmdclear #:input #:msecscount #:rgb #:openqst #:addqst #:killqst )) ;;; The compiler (defpackage :sugar-qsp (:use :cl) (:local-nicknames (#:p #:esrap) (#:lib :sugar-qsp.lib) (#:api :sugar-qsp.api) (#:main :sugar-qsp.main)) (:export #:parse-file #:entry-point)) (setf (ps:ps-package-prefix "SUGAR-QSP.MAIN") "qsp_") (setf (ps:ps-package-prefix "SUGAR-QSP.API") "qsp_api_") (setf (ps:ps-package-prefix "SUGAR-QSP.LIB") "qsp_lib_")