From f984e201e5b8f341a3735d5104fcfa1a9d4a98da Mon Sep 17 00:00:00 2001 From: David O'Toole Date: Tue, 22 Dec 2009 05:21:57 -0500 Subject: [PATCH] french keys --- INSTALL | 4 ++++ forest/README | 7 ++++--- forest/forest.org | 7 +++++++ forest/player.lisp | 2 +- forest/startup.lisp | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 48 insertions(+), 4 deletions(-) diff --git a/INSTALL b/INSTALL index 9d6dd66..80d15a2 100644 --- a/INSTALL +++ b/INSTALL @@ -19,6 +19,8 @@ Installation and basic playing instructions are provided. 3. Then link the xe2.asd file into your ~/.sbcl/systems directory: + mkdir ~/.sbcl + mkdir ~/.sbcl/systems ln -s ~/src/xe2/xe2.asd ~/.sbcl/systems 4. Download and install a required library called CLON. Example @@ -34,6 +36,8 @@ Installation and basic playing instructions are provided. 5a. Install some prerequisites for LISPBUILDER-SDL. This should be quick. + First enter the SBCL prompt by running "sbcl" in a terminal or shell. + (require :asdf) (require :asdf-install) (asdf-install:install :cffi) diff --git a/forest/README b/forest/README index 66417aa..5b7a961 100644 --- a/forest/README +++ b/forest/README @@ -34,15 +34,16 @@ options below: / | \ / | \ | Z X C 1 2 3 South -Other keyboard layouts are supported, including QWERTZ and -DVORAK. Nethack compatibility keys (HJKL for orthogonal, YUBN for -diagonal) are also available. +Other keyboard layouts are supported, including German QWERTZ, French +AZERTY, and DVORAK. Nethack compatibility keys (HJKL for orthogonal, +YUBN for diagonal) are also available. Putting a line like one of these in a file called ~/.xe2rc will configure your layout: (setf xe2:*user-keyboard-layout* :qwerty) (setf xe2:*user-keyboard-layout* :qwertz) + (setf xe2:*user-keyboard-layout* :azerty) (setf xe2:*user-keyboard-layout* :dvorak) (setf xe2:*user-keyboard-layout* :roguelike) diff --git a/forest/forest.org b/forest/forest.org index 93c21d1..0839442 100644 --- a/forest/forest.org +++ b/forest/forest.org @@ -1,8 +1,15 @@ +** TODO PGUP/PGDOWN for scrolling in help +** TODO dry self immediately on setting fire +** TODO fire damage +** TODO BEFORE THINGS GET ANY HAIRIER: overworld-mapify and non-script the game +** TODO map memory w/darkened squares ** TODO dolmens night road ** TODO voyages to go out and collect books and information about the lost world ** TODO amber treasure ** TODO cremation ** TODO Hand power +** TODO titles on balloons +** TODO archaeological society ** TODO plains and mountains people ** TODO ensure lich spawn ** TODO tutorial/backstory introduction. diff --git a/forest/player.lisp b/forest/player.lisp index 68f0904..0317eba 100644 --- a/forest/player.lisp +++ b/forest/player.lisp @@ -86,7 +86,7 @@ (let* ((r2 (field-value :row user)) (c2 (field-value :column user)) (dir (direction-to r2 c2 gateway-row gateway-column))) - (list (list (list (format nil "Your destination is to the ~A." + (list (list (list (format nil "My destination is to the ~A." (string-capitalize (symbol-name dir)))))))))) [emote user (append compass-text map-text)]))) diff --git a/forest/startup.lisp b/forest/startup.lisp index 83014aa..bb072fe 100644 --- a/forest/startup.lisp +++ b/forest/startup.lisp @@ -118,6 +118,37 @@ ("X" (:shift) "fire :south .") ("C" (:shift) "fire :southeast .")))) +(defparameter *azerty-keybindings* + (append *numpad-keybindings* + '(("A" nil "move :northwest .") + ("Z" nil "move :north .") + ("E" nil "move :northeast .") + ("Q" nil "move :west .") + ("D" nil "move :east .") + ("W" nil "move :southwest .") + ("X" nil "move :south .") + ("C" nil "move :southeast .") + ;; + ("A" (:shift) "fire :northwest .") + ("Z" (:shift) "fire :north .") + ("E" (:shift) "fire :northeast .") + ("Q" (:shift) "fire :west .") + ("D" (:shift) "fire :east .") + ("W" (:shift) "fire :southwest .") + ("X" (:shift) "fire :south .") + ("C" (:shift) "fire :southeast .") + ;; + ;; thanks to DarkGod! + ("AMPERSAND" nil "use-item 0 .") + ("WORLD-73" nil "use-item 1 .") + ("AMPERSAND" (:control) "drop-item 0 .") + ("WORLD-73" (:control) "drop-item 1 .") + ("QUOTEDBL" nil "use-item 2 .") + ("QUOTE" nil "use-item 3 .") + ("QUOTEDBL" (:control) "drop-item 2 .") + ("QUOTE" (:control) "drop-item 3 .")))) + + (defparameter *qwerty-keybindings* (append *numpad-keybindings* '(("Q" nil "move :northwest .") @@ -161,6 +192,7 @@ (define-method install-keybindings room-prompt () (dolist (k (append *numpad-keybindings* (ecase *user-keyboard-layout* (:qwerty *qwerty-keybindings*) + (:azerty *azerty-keybindings*) (:qwertz *qwertz-keybindings*) (:dvorak *dvorak-keybindings*) (:roguelike *roguelike-keybindings*))))