diff --git a/console.lisp b/console.lisp index 0c2721d..2c607b8 100644 --- a/console.lisp +++ b/console.lisp @@ -782,22 +782,24 @@ resource is stored; see also `find-resource'." *resource-table*) val))) +(defvar *executable* nil) + (defvar *module-directories* - (list (make-pathname :directory - (pathname-directory - (make-pathname - :host (pathname-host #.(or *compile-file-truename* - *load-truename*)) - :device (pathname-device #.(or *compile-file-truename* + (list (if *executable* + (make-pathname :directory (pathname-directory (car sb-ext:*posix-argv*))) + (make-pathname :directory + (pathname-directory + (make-pathname + :host (pathname-host #.(or *compile-file-truename* *load-truename*)) - :directory (pathname-directory #.(or *compile-file-truename* - *load-truename*)))))) - ;; (load-time-value - ;; (or #.*compile-file-truename* *load-truename*)))) - ;; ;; auto-config via sb-ext - ;; (make-pathname :directory (pathname-directory (car sb-ext:*posix-argv*)))) + :device (pathname-device #.(or *compile-file-truename* + *load-truename*)) + :directory (pathname-directory #.(or *compile-file-truename* + *load-truename*))))))) "List of directories where XE2 will search for modules. Directories are searched in list order.") +;; (load-time-value +;; (or #.*compile-file-truename* *load-truename*)))) (defun find-module-path (module-name) "Search the `*module-directories*' path for a directory with the diff --git a/forest/ascent-gateway.png b/forest/ascent-gateway.png index 7b48e4b..eb786b8 100644 Binary files a/forest/ascent-gateway.png and b/forest/ascent-gateway.png differ diff --git a/forest/forest.org b/forest/forest.org index 3f44b81..562c3c7 100644 --- a/forest/forest.org +++ b/forest/forest.org @@ -1,9 +1,16 @@ * Essential -** TODO more stuff to look at on sanctuary level... sheep or something +** TODO more story stuff +** TODO forest exits should be able to be in any column +** TODO stop spamming with multiple narrator messages (2x) +** TODO move lich a little more quickly? +** TODO lich incantation distance attackk? +** TODO teleporting lich * Polish ** TODO edible fruits to find ** TODO rose found in the forest +** TODO fix bubbles to stay onscreen, Lothaine etc + ** TODO [#A] fix 100% cpu usage *** WAITING talk to luke diff --git a/make-forest-image.lisp b/make-forest-image.lisp index 6604351..a3dcf95 100644 --- a/make-forest-image.lisp +++ b/make-forest-image.lisp @@ -15,7 +15,8 @@ (sb-posix:putenv (format nil "SBCL_HOME=~A" #.(sb-ext:posix-getenv "SBCL_HOME"))) - (xe2:play "forest") + (let ((xe2:*executable* t)) + (xe2:play "forest")) 0) :executable t) diff --git a/xe2.lisp b/xe2.lisp index 1808c8b..d1e91a2 100644 --- a/xe2.lisp +++ b/xe2.lisp @@ -77,7 +77,7 @@ formatted-string-width get-color create-image draw-image play define-prototype has-field defcell *choose-direction-menu* set-field-options field-option-value index-resource find-module-path - index-module load-image-resource load-lisp-resource + index-module load-image-resource load-lisp-resource *executable* *resource-handlers* load-resource find-resource find-resource-object *colors* *world* load-user-init-file *module-directories* resource-to-plist make-event =widget= *active-widgets*