:u-to :d-to :cant-go\r
:*intscope* :*outscope* :*location* :*trace-light* :*vowels*\r
:*score* :*gamestate* :*turns* :*dark*\r
- :add-to-scope :add-to-outscope :found-in :seen-from\r
+ :add-to-scope :add-to-outscope :found-in :seen-from :with-keys\r
:compass :dir-n :dir-ne :dir-e :dir-se :dir-s\r
:dir-sw :dir-w :dir-nw :dir-u :dir-d :dir-in :dir-out\r
:darkness :lit :transparent :passable\r
"Turns passed since beginning of the game")\r
\r
(defparameter *player* nil\r
- "Current player object (will be initialised later")\r
+ "Current player object (will be initialised later)")\r
\r
-(declare-predicate add-to-scope add-to-outscope found-in seen-from)\r
+(declare-predicate add-to-scope add-to-outscope found-in seen-from\r
+ with-keys)\r
+\r
+;;Library file names\r
+(defvar *library-file-if* "if.fas")\r
+(defvar *library-file-iflib* "iflib.fas")\r
+(defvar *library-file-verbs* "verbs.fas") \r
\r
;;SECTION 2: Library-defined classes and objects\r
\r
(defun lib (file dir)\r
"Reloads the IF library" \r
(format t "[DIRECTORY: ~a]~%" dir)\r
- (print-message "Loading if.fas...")\r
- (load (merge-pathnames dir "if.fas"))\r
- (print-message "Loading iflib.fas...") \r
- (load (merge-pathnames dir "iflib.fas"))\r
- (print-message "Loading verbs.fas...") \r
- (load (merge-pathnames dir "verbs.fas"))\r
+ (print-message "Loading if-basic-lib...")\r
+ (load (merge-pathnames dir *library-file-if*))\r
+ (print-message "Loading if-lib...") \r
+ (load (merge-pathnames dir *library-file-iflib*))\r
+ (print-message "Loading verbs...") \r
+ (load (merge-pathnames dir *library-file-verbs*))\r
(print-message "Loading game module...") \r
(load file)\r
(print-message "Module is successfully loaded."))\r
\r
-(defun test-seq (&optional (rm nil))\r
+(defun test-seq (&optional (rm *repl-mode*))\r
"Test sequence emulating interactive fiction interpreter"\r
- (load-cfg "iflib.cfg")\r
+ ;;(load-cfg "iflib.cfg")\r
(setf *score* 0 \r
*turns* 0\r
*gamestate* 0)\r
(defun interactive-start ()\r
"Function intended to be used by user"\r
(load-cfg "iflib.cfg")\r
- (run-console #'seq #'lib :interactive t)\r
- (when *hard-quit* (quit-lisp)))\r
+ (unless *repl-mode*\r
+ (run-console #'seq #'lib :interactive t)\r
+ (when *hard-quit* (quit-lisp))))\r
\r
;;SECTION 9: Other stuff\r
\r
`(defpackage ,name\r
(:use :common-lisp :if-basic-lib :if-lib :verb-lib ,@other-packages)\r
(:shadowing-import-from :if-lib :room)\r
- (:shadowing-import-from :verb-lib :listen)))\r
+ (:shadowing-import-from :verb-lib :listen :fill :open :close)))\r
\r
(defmacro free-symbol (id)\r
"Frees a symbol from current package using shadow"\r