plomrogue
=========
-plomlompom tries to build his own roguelike. Currently, it doesn't do
-much interesting, apart from managing some ncurses windows in a bizarre
-fashion. You can move around a player and meet nine enemies; they will
-occasionally hit you (and each other) on contact, but without
-consequences (no hitpoints implemented yet). The map gets generated
-randomly. There is only one save file (named "savefile"), and it gets
-overwritten each new turn. To start over with a new world, delete it.
+plomlompom tries to build his own roguelike. Currently, it doesn't do much
+interesting, apart from managing keybindings and some ncurses windows in a
+bizarre fashion.
+
+You can move around a player and meet a number of different enemies. They move
+randomly and will only accidentally hit you. You have 5 hitpoints to lose before
+death; they have either 1, 3 or 9. Your score grows by killing enemies, to the
+amount of hitpoints each killed enemy started with.
+
+The map gets generated randomly, too.
+
+There is only one save file (named "savefile"), and it gets overwritten each new
+turn. To start over with a new world, delete it.
Install/run
-----------
make
./roguelike
-Default keybindings
--------------------
-
-Q quit
-F1 toggle keybinding editing window
-F2 toggle map window
-F3 toggle info window
-F4 toggle log window
-
-LEFT scroll windows pad left
-RIGHT scroll windows pad right
-> cycle window selection forwards
-< cycle window selection backwards
-y shift window forwards
-Y shift window backwards
-* grow window horizontally
-_ shrink window horizontally
-+ grow window vertically
-- shrink window vertically
-
-w scroll map up
-x scroll map down
-a scroll map left
-d scroll map right
-t move player up
-b move player down
-f move player left
-h move player rifght
-. next turn / wait
-
-S save current keybindings
-UP navigate selection upwards in keybinding editing window
-DOWN navigate selection downwards in keybinding editing window
-RETURN modify keybinding selected in keybinding editing window
+Keybindings and window configuration
+------------------------------------
+
+In the default window configuration, the window appearing on the left sports a
+list of keybindings available globally and additionally via the window currently
+selected as active.
+
+Hit "w" (per default keybindings) to switch the "active" window to a view that
+allows changing its geometry. One further hit on "w" switches the window to a
+view that allows changing its window-specific keybindings. The global
+keybindings may be changed in the "Global keys" window, those of the window
+geometry configuration in the "Window geometry keys" window" and those of the
+window-specific keybindings configuration in the "Window keybinding keys"
+window; by default, these three windows are not visible, but may be turned on by
+hitting the "F5", "F6" and "F7" keys.
+
+What actions are available globally or only in specific windows can be further
+manipulated by editing the files config/keybindings_global and
+config/windows/Win_* that map keycodes to commands to the respective keybinding
+repositories. While keybindings_global contains merely a list of keycode command
+mappings, the Win_* files start with the name of the windows to be configured,
+followed by a one-character line for internal use (mapping the window to one of
+several internally available window content drawing functions), followed by two
+lines describing the window's designated height and width, and only then an
+optional list of keybindings specific to that window.
Replay game recording
---------------------