X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/e98b059d1f6bbd6ac8ca06de152959536e4b98b0..c5df9b21d316da6e6a82feff54be042f503f381d:/nethack.plp
diff --git a/nethack.plp b/nethack.plp
index 8a73a6c..7a317a8 100644
--- a/nethack.plp
+++ b/nethack.plp
@@ -1,98 +1,48 @@
-<:
-use utf8;
-use strict;
-use warnings;
-no warnings 'qw'; # you know what you doing
-no warnings 'uninitialized'; # save some useless checks for more legible code
-
-use Shiar_Sheet::KeySigns qw(%sign);
-
-our $VERSION = 'v1.0';
-
-$header{content_type} = "text/html; charset=$sign{charset}";
-
-:>
-
-
-
-
-nethack cheat sheet
-
-
-<:
- my %styles = map {$_ => $_} qw(dark circus mono red terse);
- our $style = exists $get{style} && $styles{$get{style}} || 'light';
- printf(qq{\n},
- $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "$_.css", $_
- ) for keys %styles;
+<(common.inc.plp)><:
+
+Html({
+ title => 'nethack cheat sheet',
+ version => 'v1.1',
+ description => [
+ "Keyboard overview sheet for the Nethack console RPG game,",
+ "describing the default controls.",
+ ],
+ keywords => [qw'
+ nethack rogue game control controls sheet reference overview keyboard
+ '],
+ stylesheet => [qw'light dark circus mono red terse'],
+ keys => 1,
+});
- our $showkeys = exists $get{keys} && $get{keys} ne '0';
- print "\n".'' unless $showkeys;
- print "\n".''
- if $showkeys and $get{keys} eq 'ghost';
:>
-
-
-
-
NetHack cheat sheet
normal gameplay
-
-
-
-
-
Esc
-
-
-
-
<:
-use Shiar_Sheet::Keyboard;
-my $keys = Shiar_Sheet::Keyboard->new({do 'nethack.inc.pl'});
+use Shiar_Sheet::Keyboard 2;
+my $info = do 'nethack.eng.inc.pl' or die $@;
+$info->{def} = do 'nethack.inc.pl';
+my $keys = Shiar_Sheet::Keyboard->new($info);
+$_->{"\e"} = ['me mode'] for values %{ $info->{def} };
+ # static reset button, even though it's not (officially) in the game
$keys->map($get{map}) or undef $get{map};
$keys->print_rows($get{rows} || '4321-421', [3,2,1,0]);
:>
-
-
-
direction
-
Direction to move to or target a command (<:= $sign{motion} :>).
-
move
-
Other character movement.
-
act
-
Direct action command: takes a turn.
-
info
-
Informational command: shows/does something without ending the turn.
-
invertory
-
Display invertory menu.
-
menu
-
Enters some other menu.
-
+<: $keys->print_legend('legend-types', [qw( pm po co mi mo mv )]) :>
-
-
key<:= $sign{arg} :>
-
Commands with a dot need at least one argument afterwards.
-
key<:= $sign{argi} :>
-
Asks for an inventory item.
-
key<:= $sign{argm} :>
-
Requires a direction afterwards.
-
+<: $keys->print_legend('legend-options', [qw( arg argi argm )]) :>
keyboard map is
<:= $get{map} ? 'set to ' : '' :><:= $keys->{map} :>
-
ascii mode is
- <:= defined $sign{-ascii} && 'forced ' :><:=
- $sign{-ascii} ? 'on' : 'off' :>
keys are
<:= $showkeys ? 'always shown' : 'hidden if unassigned' :><:=
!exists $get{keys} && ' by default' :>
@@ -102,12 +52,3 @@ $keys->print_rows($get{rows} || '4321-421', [3,2,1,0]);