Merge branch 'amiga-followups' of https://github.com/ingpaschke/NetHack into NetHack-5.0
This commit is contained in:
@@ -159,6 +159,10 @@ static int optfn_##a(int, int, boolean, char *, char *);
|
|||||||
NHOPTB(altmeta, Advanced, 0, opt_out, set_in_game,
|
NHOPTB(altmeta, Advanced, 0, opt_out, set_in_game,
|
||||||
Off, Yes, No, No, NoAlias, &iflags.altmeta, Term_False,
|
Off, Yes, No, No, NoAlias, &iflags.altmeta, Term_False,
|
||||||
"treat \"ESC c\" as M-c (Meta+c, 8th bit set)")
|
"treat \"ESC c\" as M-c (Meta+c, 8th bit set)")
|
||||||
|
#elif defined(AMIGA_INTUITION)
|
||||||
|
NHOPTB(altmeta, Advanced, 0, opt_out, set_in_game,
|
||||||
|
On, Yes, No, No, NoAlias, &sysflags.altmeta, Term_False,
|
||||||
|
"treat ALT+c as M-c (Meta+c, 8th bit set)")
|
||||||
#else
|
#else
|
||||||
NHOPTB(altmeta, Advanced, 0, opt_out, set_in_config,
|
NHOPTB(altmeta, Advanced, 0, opt_out, set_in_config,
|
||||||
Off, Yes, No, No, NoAlias, (boolean *) 0, Term_False,
|
Off, Yes, No, No, NoAlias, (boolean *) 0, Term_False,
|
||||||
|
|||||||
+4
-3
@@ -142,6 +142,10 @@ static struct win_information window_opts[] = {
|
|||||||
#ifdef SHIM_GRAPHICS
|
#ifdef SHIM_GRAPHICS
|
||||||
{ "shim", "NetHack Library Windowing Shim", TRUE },
|
{ "shim", "NetHack Library Windowing Shim", TRUE },
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef AMIGA_INTUITION
|
||||||
|
{ "amii", "Amiga Intuition (text)", TRUE },
|
||||||
|
{ "amiv", "Amiga Intuition (tiles)", TRUE },
|
||||||
|
#endif
|
||||||
|
|
||||||
#if 0 /* remainder have been retired */
|
#if 0 /* remainder have been retired */
|
||||||
#ifdef GNOME_GRAPHICS /* unmaintained/defunct */
|
#ifdef GNOME_GRAPHICS /* unmaintained/defunct */
|
||||||
@@ -150,9 +154,6 @@ static struct win_information window_opts[] = {
|
|||||||
#ifdef MACOS9 /* defunct OS 9 interface */
|
#ifdef MACOS9 /* defunct OS 9 interface */
|
||||||
{ "mac", "Mac", TRUE },
|
{ "mac", "Mac", TRUE },
|
||||||
#endif
|
#endif
|
||||||
#ifdef AMIGA_INTUITION /* unmaintained/defunct */
|
|
||||||
{ "amii", "Amiga Intuition", TRUE },
|
|
||||||
#endif
|
|
||||||
#ifdef GEM_GRAPHICS /* defunct Atari interface */
|
#ifdef GEM_GRAPHICS /* defunct Atari interface */
|
||||||
{ "Gem", "Gem", TRUE },
|
{ "Gem", "Gem", TRUE },
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
begin 664 nethack.info
|
||||||
|
MXQ```0```````````"``(``$``,``0````$`````````````````````````
|
||||||
|
M`````P```````````````````````````````````(`````````@`"```@``
|
||||||
|
M``$#````````````````````````````#___\`]P'O`/(`3P"0``D`D!D-`/
|
||||||
|
M?_[P"!K\D`AJ_-`/'?[P#S?^\`\\_O`/;GSP#RN\\`^>_?`/AOGP#YOY\`Y)
|
||||||
|
M]O`,9>9P")?9,`F8N9`/G'G0"3[\4`A__A`/___P````````````````````
|
||||||
|
M`````````````````````````@```0=0``R?`2`-_T`@!8&00`?]W@`.FMP@
|
||||||
|
M#.K80`&=_@``M\H``+S:``'N<0``JYP``-[_```&^```.]P``.G=@`&UX,`#
|
||||||
|
GG_%@"<SAD`V'P-`-8H1``\`#0`,`````````````````````````
|
||||||
|
`
|
||||||
|
end
|
||||||
+50
-43
@@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
- AmigaOS 3.0 or later (Kickstart 39+)
|
- AmigaOS 3.0 or later (Kickstart 39+)
|
||||||
- 6 MB free RAM minimum (8 MB recommended)
|
- 6 MB free RAM minimum (8 MB recommended)
|
||||||
- Hard drive with ~5 MB free space
|
- Hard drive with ~5 MB free space
|
||||||
|
|
||||||
Recommended: RTG graphics card (Picasso96/CyberGraphX) for best
|
Recommended: RTG graphics card (Picasso96/CyberGraphX) for best
|
||||||
tile rendering. Native AGA/OCS/ECS chipsets are supported.
|
tile rendering. Native AGA/OCS/ECS chipsets are supported.
|
||||||
@@ -13,56 +13,62 @@ tile rendering. Native AGA/OCS/ECS chipsets are supported.
|
|||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
Extract NH370AMI.ZIP to a directory and assign it:
|
Extract NH500AMI.ZIP somewhere on your hard drive (e.g. into Work:).
|
||||||
|
You'll get a NetHack drawer with everything inside.
|
||||||
|
|
||||||
assign NetHack: <path>
|
To play from Workbench, open the NetHack drawer and double-click the
|
||||||
|
nethack icon.
|
||||||
|
|
||||||
The directory should contain:
|
To play from a Shell:
|
||||||
nethack - game binary
|
|
||||||
nhdat - data library
|
|
||||||
symbols - symbol set definitions
|
|
||||||
sysconf - system configuration
|
|
||||||
nethack.cnf - game options
|
|
||||||
hack.font - font descriptor
|
|
||||||
hack/8 - font bitmap (8pt)
|
|
||||||
tiles/tiles16.iff - 16-color tiles (OCS/ECS)
|
|
||||||
tiles/tiles32.iff - 32-color tiles (AGA/RTG)
|
|
||||||
tomb.iff - tombstone image
|
|
||||||
record - high score file
|
|
||||||
|
|
||||||
To play:
|
Work:NetHack/nethack
|
||||||
cd NetHack:
|
|
||||||
nethack
|
To redirect to a different install -- for example to test two versions
|
||||||
|
side by side -- set the NETHACKDIR (or HACKDIR) environment variable
|
||||||
|
before launching:
|
||||||
|
|
||||||
|
setenv NETHACKDIR Work:games/nethack-dev/
|
||||||
|
Work:games/nethack-dev/nethack
|
||||||
|
|
||||||
|
|
||||||
Display Modes
|
Display Modes
|
||||||
-------------
|
-------------
|
||||||
Two display modes are available, selected in nethack.cnf:
|
The shipped nethack.cnf selects tile mode (AMIV). AMIV needs a screen
|
||||||
|
with at least 4 bitplanes (16 colours) and ~384 KB free chip RAM; on
|
||||||
Text mode (AMII):
|
machines that don't qualify, the binary automatically falls back to
|
||||||
OPTIONS=symset:AmigaFont
|
text mode (AMII) at startup with a short note explaining why.
|
||||||
|
|
||||||
Tile mode (AMIV):
|
|
||||||
OPTIONS=windowtype:amiv
|
|
||||||
|
|
||||||
Tile mode auto-selects tiles32.iff (32 colors, 5 bitplanes) when the
|
Tile mode auto-selects tiles32.iff (32 colors, 5 bitplanes) when the
|
||||||
screen supports 32+ colors, otherwise tiles16.iff (16 colors, 4 planes).
|
screen supports 32+ colors, otherwise tiles16.iff (16 colors, 4 planes).
|
||||||
|
|
||||||
|
To force text mode unconditionally, edit nethack.cnf:
|
||||||
|
|
||||||
|
#OPTIONS=windowtype:amiv
|
||||||
|
OPTIONS=windowtype:amii
|
||||||
|
OPTIONS=symset:AmigaFont
|
||||||
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
Edit nethack.cnf for game options. Key settings:
|
Edit nethack.cnf for game options. Defaults shipped:
|
||||||
|
|
||||||
OPTIONS=windowtype:amiv - tile graphics (default)
|
OPTIONS=windowtype:amiv - tile graphics
|
||||||
OPTIONS=symset:AmigaFont - text mode with line-drawing chars
|
OPTIONS=number_pad:1 - numpad movement; '5' is run prefix
|
||||||
OPTIONS=menucolors - colored inventory items
|
OPTIONS=time,showexp - turn count, experience visible
|
||||||
OPTIONS=time,lit_corridor - show turn count, lit corridors
|
OPTIONS=lit_corridor - show lit corridors
|
||||||
OPTIONS=boulder:0 - display boulders as '0'
|
OPTIONS=menucolors - colored inventory items
|
||||||
|
|
||||||
Menu color examples (add after OPTIONS=menucolors):
|
ALT+letter shortcuts to extended commands (ALT+L for #loot, ALT+F for
|
||||||
MENUCOLOR=" blessed "=green
|
#force, etc.) are enabled by default. On keymaps that need ALT for
|
||||||
MENUCOLOR=" cursed "=red
|
typing characters (Scandinavian, German, French, ...) disable with:
|
||||||
MENUCOLOR=" uncursed "=cyan
|
|
||||||
|
OPTIONS=!altmeta
|
||||||
|
|
||||||
|
Menu color examples (after OPTIONS=menucolors):
|
||||||
|
|
||||||
|
MENUCOLOR=" blessed "=green
|
||||||
|
MENUCOLOR=" cursed "=red
|
||||||
|
MENUCOLOR=" uncursed "=cyan
|
||||||
|
|
||||||
|
|
||||||
Building from Source
|
Building from Source
|
||||||
@@ -79,18 +85,19 @@ Cross-compilation from Linux using bebbo's m68k-amigaos-gcc toolchain
|
|||||||
make CROSS_TO_AMIGA=1 all
|
make CROSS_TO_AMIGA=1 all
|
||||||
make CROSS_TO_AMIGA=1 package
|
make CROSS_TO_AMIGA=1 package
|
||||||
|
|
||||||
The distribution ZIP is created at targets/amiga/NH370AMI.ZIP.
|
The distribution ZIP is created at targets/amiga/NH500AMI.ZIP.
|
||||||
|
|
||||||
Toolchain requirements:
|
Toolchain requirements:
|
||||||
- m68k-amigaos-gcc (bebbo's amigaos-cross-toolchain in /opt/amiga)
|
|
||||||
- -noixemul (libnix) for linking
|
- m68k-amigaos-gcc (bebbo's amigaos-cross-toolchain in /opt/amiga)
|
||||||
- -m68000 for maximum compatibility (or -m68020/040/060)
|
- -noixemul (libnix) for linking
|
||||||
|
- -m68000 for maximum compatibility (or -m68020/040/060)
|
||||||
|
|
||||||
|
|
||||||
Known Issues
|
Known Issues
|
||||||
------------
|
------------
|
||||||
- Native Amiga compilation (SAS/C, DICE) is not supported;
|
- Native Amiga compilation (SAS/C, DICE) is not supported;
|
||||||
cross-compilation with GCC is required
|
cross-compilation with GCC is required
|
||||||
|
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
|
|||||||
@@ -30,6 +30,72 @@
|
|||||||
int getpid(void) { return (int)FindTask(NULL); }
|
int getpid(void) { return (int)FindTask(NULL); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Point NetHack: at the directory we were launched from. Works for both
|
||||||
|
CLI ("nethack") and Workbench (icon double-click) launches, since
|
||||||
|
GetProgramDir() (V37+) resolves both. Any existing assign is replaced;
|
||||||
|
it would just be stale state from a previous install or session. */
|
||||||
|
void
|
||||||
|
amiga_self_assign(void)
|
||||||
|
{
|
||||||
|
BPTR dup;
|
||||||
|
|
||||||
|
if (GetProgramDir() == 0)
|
||||||
|
return;
|
||||||
|
if ((dup = DupLock(GetProgramDir())) == 0)
|
||||||
|
return;
|
||||||
|
if (!AssignLock("NetHack", dup))
|
||||||
|
UnLock(dup);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Generate an RFC 4122 v4 UUID for this game. Entropy comes from
|
||||||
|
DateStamp + the running task's address mixed through a small LCG. */
|
||||||
|
void
|
||||||
|
get_nhuuid(void)
|
||||||
|
{
|
||||||
|
uchar bytes[16];
|
||||||
|
struct DateStamp ds;
|
||||||
|
unsigned long x;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (svn.nhuuid[0])
|
||||||
|
return;
|
||||||
|
|
||||||
|
DateStamp(&ds);
|
||||||
|
x = (unsigned long) ds.ds_Days
|
||||||
|
^ ((unsigned long) ds.ds_Minute << 16)
|
||||||
|
^ ((unsigned long) ds.ds_Tick << 8)
|
||||||
|
^ (unsigned long) FindTask(NULL);
|
||||||
|
/* Classic glibc/POSIX rand() LCG (Knuth, C99 7.22.2.1). Full period
|
||||||
|
2^32; we read bits 16-23 to skip the LCG's bad low bits. */
|
||||||
|
for (i = 0; i < 16; i++) {
|
||||||
|
x = x * 1103515245u + 12345u;
|
||||||
|
bytes[i] = (uchar) (x >> 16);
|
||||||
|
}
|
||||||
|
/* RFC 4122: version=4 (random), variant=10. */
|
||||||
|
bytes[6] = (bytes[6] & 0x0F) | 0x40;
|
||||||
|
bytes[8] = (bytes[8] & 0x3F) | 0x80;
|
||||||
|
|
||||||
|
Snprintf(svn.nhuuid, sizeof svn.nhuuid,
|
||||||
|
"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-"
|
||||||
|
"%02x%02x%02x%02x%02x%02x",
|
||||||
|
bytes[0], bytes[1], bytes[2], bytes[3],
|
||||||
|
bytes[4], bytes[5],
|
||||||
|
bytes[6], bytes[7],
|
||||||
|
bytes[8], bytes[9],
|
||||||
|
bytes[10], bytes[11], bytes[12], bytes[13],
|
||||||
|
bytes[14], bytes[15]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
free_nhuuid(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < SIZE(svn.nhuuid); i++) {
|
||||||
|
svn.nhuuid[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef AZTEC_50
|
#ifdef AZTEC_50
|
||||||
#include <functions.h>
|
#include <functions.h>
|
||||||
#undef strcmpi
|
#undef strcmpi
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ int abs(int );
|
|||||||
#endif
|
#endif
|
||||||
int tgetch (void);
|
int tgetch (void);
|
||||||
int dosh (void);
|
int dosh (void);
|
||||||
|
void amiga_self_assign (void);
|
||||||
long freediskspace(char *);
|
long freediskspace(char *);
|
||||||
long filesize(char *);
|
long filesize(char *);
|
||||||
void eraseall(const char * , const char *);
|
void eraseall(const char * , const char *);
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
begin 644 nethack.cnf.info
|
||||||
|
MXQ```0``````(``4`!X`'@`&``$``0?Z<1@'^I$H````````````````````
|
||||||
|
M```!!``'^J<X!X9\^````&\````&`````````````"`````````>`!X``T`)
|
||||||
|
M2*@'``````````````````````@'^``(````"`?`>`@````(!^``"`````@'
|
||||||
|
MP``(````"`>`?@@````(`^``"`````@!_^`(````"`'_``@````(`?Y_"```
|
||||||
|
M``@`__`(````"`#\``@````8`<!\*````%@```#X/___\```````````?___
|
||||||
|
M\%___]!]K__P7___T'[_W_!?___0?O__\%___]!^O__P7___T'W_[?!?___0
|
||||||
|
M?W__\%___]!_M7_P7___T']M__!?___0?ZWM\%___]!_M;_P7___T'^O__!?
|
||||||
|
M___@?[_W@%___\!___\((```$`````#____P@```"*```"2"4``$H```)($`
|
||||||
|
M(`2@```D@0``!*```"2!0``$H```)((`$@2@```D@(``!*```"2`2H`$H```
|
||||||
|
M)("2``2@```D@%(2!*```"2`2D`$H```)(!0``2@```4@$`(=*```"2```"$
|
||||||
|
M````#!____@``````!X`'@`#0`E*&`<`````````````````````"`?```@`
|
||||||
|
M```(!X!^"`````@#X``(````"`'_X`@````(`?\`"`````@!_G\(````"`#_
|
||||||
|
M\`@````(`/P`"`````@!P'P(````"`%8``@````(!```"````!@%P'XH````
|
||||||
|
M6````/@____P``````````!____P7___T'Z___!?___0??_M\%___]!_?__P
|
||||||
|
M7___T'^U?_!?___0?VW_\%___]!_K>WP7___T'^UO_!?___0?Z__\%___]!_
|
||||||
|
MO_?P7___T'____!?___0?___\%___^!__]>`7___P'___P@@```0`````/__
|
||||||
|
M__"````(H```((%```"@```@@@`2`*```""`@```H```((!*@`"@```@@)(`
|
||||||
|
M`*```""`4A(`H```((!*0`"@```@@%```*```""`0`@`H```((````"@```@
|
||||||
|
M@````*```!"``"APH```((```(`````(`````````!)$2#`Z5&]O;',O161I
|
||||||
|
.=%!A9``````(`````0``
|
||||||
|
`
|
||||||
|
end
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
begin 644 NetHack.info
|
||||||
|
MXQ```0`````!HP`/`#D`#@`&``$``0`SE&``-K,H````````````````````
|
||||||
|
M```!`@```````````(````"``````#!?4````````!```+@`30%R`$K__P``
|
||||||
|
M```"`!!_`#:X9@``````+N.D````````````7@!!_____P`!````````````
|
||||||
|
M`````#D`#@`"``%O4`,`````````````````#_______Y``,```````$``@`
|
||||||
|
M`````"0`"``)_R``)``(``G5(``D``@`"``@`"0`"``'_\``)``(```````D
|
||||||
|
M``G______^0`````````!``/_______\```````````````````````_____
|
||||||
|
M___X`#```````!@`,_______^``W_______8`#?_]@#?_]@`-__V*M__V``W
|
||||||
|
M__?_W__8`#?_^``__]@`-_______V``V```````8`#________@`````````
|
||||||
|
M```````````````````````````````Y``X``@`!<#`#````````````````
|
||||||
|
M``_______^0`&JJJJJJJM``U5555555<`'________P`0```````!`!`````
|
||||||
|
M```&`$``"?\@``8`0``)U2``!H!```@`(``&@$``!__```:`0```````!H!_
|
||||||
|
M_______^@`*JJJJJJJJ`/_______^``P```````8`"*JJJJJJJ@`!5555555
|
||||||
|
M4````````````#________@`/_______^``___8`W__X`#__]BK?__@`/__W
|
||||||
|
K_]__^``___@`/__X`#________@```````````````````````````$`````
|
||||||
|
`
|
||||||
|
end
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
begin 644 license.info
|
||||||
|
MXQ```0``````(``4`!X`'@`&``$``0?ZD2@'^J<X````````````````````
|
||||||
|
M```!!``'_0+`!X9\^````#D````&`````````````"`````````>`!X``T`)
|
||||||
|
M1X`'``````````````````````@'^``(````"`?`>`@````(!^``"`````@'
|
||||||
|
MP``(````"`>`?@@````(`^``"`````@!_^`(````"`'_``@````(`?Y_"```
|
||||||
|
M``@`__`(````"`#\``@````8`<!\*````%@```#X/___\```````````?___
|
||||||
|
M\%___]!]K__P7___T'[_W_!?___0?O__\%___]!^O__P7___T'W_[?!?___0
|
||||||
|
M?W__\%___]!_M7_P7___T']M__!?___0?ZWM\%___]!_M;_P7___T'^O__!?
|
||||||
|
M___@?[_W@%___\!___\((```$`````#____P@```"*```"2"4``$H```)($`
|
||||||
|
M(`2@```D@0``!*```"2!0``$H```)((`$@2@```D@(``!*```"2`2H`$H```
|
||||||
|
M)("2``2@```D@%(2!*```"2`2D`$H```)(!0``2@```4@$`(=*```"2```"$
|
||||||
|
M````#!____@``````!X`'@`#0`E(\`<`````````````````````"`?```@`
|
||||||
|
M```(!X!^"`````@#X``(````"`'_X`@````(`?\`"`````@!_G\(````"`#_
|
||||||
|
M\`@````(`/P`"`````@!P'P(````"`%8``@````(!```"````!@%P'XH````
|
||||||
|
M6````/@____P``````````!____P7___T'Z___!?___0??_M\%___]!_?__P
|
||||||
|
M7___T'^U?_!?___0?VW_\%___]!_K>WP7___T'^UO_!?___0?Z__\%___]!_
|
||||||
|
MO_?P7___T'____!?___0?___\%___^!__]>`7___P'___P@@```0`````/__
|
||||||
|
M__"````(H```((%```"@```@@@`2`*```""`@```H```((!*@`"@```@@)(`
|
||||||
|
M`*```""`4A(`H```((!*0`"@```@@%```*```""`0`@`H```((````"@```@
|
||||||
|
M@````*```!"``"APH```((```(`````(`````````!)$2#`Z5&]O;',O161I
|
||||||
|
.=%!A9``````(`````0``
|
||||||
|
`
|
||||||
|
end
|
||||||
@@ -20,6 +20,8 @@ OPTIONS=time,showexp,lit_corridor
|
|||||||
OPTIONS=boulder:0
|
OPTIONS=boulder:0
|
||||||
OPTIONS=autopickup,pickup_types:$"=/!?+
|
OPTIONS=autopickup,pickup_types:$"=/!?+
|
||||||
OPTIONS=catname:Kaori
|
OPTIONS=catname:Kaori
|
||||||
|
# Numpad for movement; '5' is the run prefix, ALT+5 the rush prefix.
|
||||||
|
OPTIONS=number_pad:1
|
||||||
|
|
||||||
# *** MENU COLORS ***
|
# *** MENU COLORS ***
|
||||||
# Colour-code inventory items by BUC status and value.
|
# Colour-code inventory items by BUC status and value.
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
begin 644 README.amiga.info
|
||||||
|
MXQ```0``````#P!(`"<`(P`&``$``4`&_1A`!QW@````````````````````
|
||||||
|
M```!!`!`!QWX!X8V<(````"``````````````````!`````````G`",``T`'
|
||||||
|
M(S`'```````````$```````%````'``$@```.``$0```\``$(```8``$$```
|
||||||
|
M0``'^``````![```````#@`!___`!@``````!@`!____A@`0````!@`!___^
|
||||||
|
M!@``````!@`!_\``!@``````!@``````!@`!____A@``````!@`!___\!@`0
|
||||||
|
M````!@`!____!@``````!@`!___P!@``````!@`!___^!@``````!@``````
|
||||||
|
M!@`!_```!@``````!@``````!@``````!@#______@#______@#____X``#_
|
||||||
|
M___[``#_[__[@`#_W__[P`#^/__[X`#_?__[\`#____[^`#____^"`#_____
|
||||||
|
M\@#_I*J_^@#_____^@#_BPBB>@#O____^@#_(DBE^@#_____^@#_2G__^@#_
|
||||||
|
M____^@#_____^@#_B2J*>@#_____^@#_(E$3^@#O____^@#_F15$^@#_____
|
||||||
|
M^@#_(DBO^@#_____^@#_-(15^@#_____^@#_____^@#^D___^@#_____^@#_
|
||||||
|
M____^@#_____^@```````@#______@`````&```````$@```&``$0```,``$
|
||||||
|
M(``!X``$$```P``$"``````$```````!\```````"```6U5`````````````
|
||||||
|
M=/==@```````````W;=:````````````M8``````````````````````=M5U
|
||||||
|
M@```````````W:[L````````````9NJ[````````````W;=0````````````
|
||||||
|
MRWNJ```````````````````!;`````````````````````````````"`````
|
||||||
|
M`````````````````"<`(P`#0`<EL`<````````````````````"```````"
|
||||||
|
M```.```"```<```"``!X```"```P```"```@```"```````"```````"``#_
|
||||||
|
M_^`"```````"``#____"``@````"``#___\"```````"``#_X``"```````"
|
||||||
|
M```````"``#____"```````"``#___X"``@````"``#___^"```````"``#_
|
||||||
|
M__@"```````"``#___\"```````"```````"``#^```"```````"```````"
|
||||||
|
M```````"`'_____^`````````'_____\`'_____\`'_W___\`'_O___\`'\?
|
||||||
|
M___\`'^____\`'_____\`'_____\`'_____\`'_255_\`'_____\`'_%A%$\
|
||||||
|
M`'?____\`'^1)%+\`'_____\`'^E/__\`'_____\`'_____\`'_$E44\`'__
|
||||||
|
M___\`'^1*(G\`'?____\`'_,BJ)\`'_____\`'^1)%?\`'_____\`'^:0BK\
|
||||||
|
M`'_____\`'_____\`'])___\`'_____\`'_____\`'_____\`````````/__
|
||||||
|
M___^`(`````"`(```````(`,`````(`8`````(#P`````(!@`````(``````
|
||||||
|
M`(```````(```````(`MJJ```(```````(`Z>Z[``(```````(!NVZT``(``
|
||||||
|
M`````(!:P````(```````(```````(`[:KK``(```````(!NUW8``(``````
|
||||||
|
M`(`S=5V``(```````(!NVZ@``(```````(!EO=4``(```````(```````("V
|
||||||
|
M`````(```````(```````(```````,```````````!)365,Z5&]O;',O161I
|
||||||
|
.=%!A9``````(`````0``
|
||||||
|
`
|
||||||
|
end
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
begin 644 nethack.txt.info
|
||||||
|
MXQ```0``````(``4`!X`'@`&``$``4`)%KA`"1E8````````````````````
|
||||||
|
M```!!`!`"3\8!X9\*````+(````&`````````````"`````````>`!X``T`)
|
||||||
|
M1$`'``````````````````````@'^``(````"`?`>`@````(!^``"`````@'
|
||||||
|
MP``(````"`>`?@@````(`^``"`````@!_^`(````"`'_``@````(`?Y_"```
|
||||||
|
M``@`__`(````"`#\``@````8`<!\*````%@```#X/___\```````````?___
|
||||||
|
M\%___]!]K__P7___T'[_W_!?___0?O__\%___]!^O__P7___T'W_[?!?___0
|
||||||
|
M?W__\%___]!_M7_P7___T']M__!?___0?ZWM\%___]!_M;_P7___T'^O__!?
|
||||||
|
M___@?[_W@%___\!___\((```$`````#____P@```"*```"2"4``$H```)($`
|
||||||
|
M(`2@```D@0``!*```"2!0``$H```)((`$@2@```D@(``!*```"2`2H`$H```
|
||||||
|
M)("2``2@```D@%(2!*```"2`2D`$H```)(!0``2@```4@$`(=*```"2```"$
|
||||||
|
M````#!____@``````!X`'@`#0`E%L`<`````````````````````"`?```@`
|
||||||
|
M```(!X!^"`````@#X``(````"`'_X`@````(`?\`"`````@!_G\(````"`#_
|
||||||
|
M\`@````(`/P`"`````@!P'P(````"`%8``@````(!```"````!@%P'XH````
|
||||||
|
M6````/@____P``````````!____P7___T'Z___!?___0??_M\%___]!_?__P
|
||||||
|
M7___T'^U?_!?___0?VW_\%___]!_K>WP7___T'^UO_!?___0?Z__\%___]!_
|
||||||
|
MO_?P7___T'____!?___0?___\%___^!__]>`7___P'___P@@```0`````/__
|
||||||
|
M__"````(H```((%```"@```@@@`2`*```""`@```H```((!*@`"@```@@)(`
|
||||||
|
M`*```""`4A(`H```((!*0`"@```@@%```*```""`0`@`H```((````"@```@
|
||||||
|
M@````*```!"``"APH```((```(`````(`````````!)$2#`Z5&]O;',O161I
|
||||||
|
.=%!A9``````(`````0``
|
||||||
|
`
|
||||||
|
end
|
||||||
+5
-2
@@ -837,11 +837,14 @@ static char amii_glyph_buffer[GLYPH_BUFFER_SIZE];
|
|||||||
* See winami.c for the amiga specific colormap.
|
* See winami.c for the amiga specific colormap.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* CLR_BLACK (slot 0) renders as the dim blue pen on black background,
|
||||||
|
CLR_WHITE (slot 15) uses white on black. Slots 9-14 use the inverse-
|
||||||
|
video trick (fg=black, bg=color) to fit 16 logical colors into 8 pens. */
|
||||||
int foreg[AMII_MAXCOLORS] = {
|
int foreg[AMII_MAXCOLORS] = {
|
||||||
0, 7, 4, 2, 6, 5, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0
|
6, 7, 4, 2, 6, 5, 3, 1, 1, 0, 0, 0, 0, 0, 0, 1
|
||||||
};
|
};
|
||||||
int backg[AMII_MAXCOLORS] = {
|
int backg[AMII_MAXCOLORS] = {
|
||||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 4, 1, 6, 5, 3, 1
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 4, 1, 6, 5, 3, 0
|
||||||
};
|
};
|
||||||
#if 0
|
#if 0
|
||||||
#define CLR_BLACK 0
|
#define CLR_BLACK 0
|
||||||
|
|||||||
@@ -886,8 +886,7 @@ int
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fall back from AMIV (tile) to AMII (text) if this machine can't
|
/* Switch from AMIV (tile) to AMII (text) and tell the player why. */
|
||||||
* run tile mode. Probes in order of reliability. */
|
|
||||||
static void
|
static void
|
||||||
amii_fall_back(const char *why1, const char *why2)
|
amii_fall_back(const char *why1, const char *why2)
|
||||||
{
|
{
|
||||||
@@ -895,8 +894,8 @@ amii_fall_back(const char *why1, const char *why2)
|
|||||||
|
|
||||||
raw_print(why1);
|
raw_print(why1);
|
||||||
raw_print(why2);
|
raw_print(why2);
|
||||||
raw_print("Falling back to text mode. Set windowtype:amiv in");
|
raw_print("Falling back to text mode. Set windowtype:amii in");
|
||||||
raw_print("nethack.cnf to override.");
|
raw_print("nethack.cnf to suppress this warning.");
|
||||||
windowprocs = amii_procs;
|
windowprocs = amii_procs;
|
||||||
ami_wininit_data(WININIT);
|
ami_wininit_data(WININIT);
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-1
@@ -35,6 +35,7 @@ long _stksize = 16 * 1024;
|
|||||||
#ifdef AMIGA
|
#ifdef AMIGA
|
||||||
extern int bigscreen;
|
extern int bigscreen;
|
||||||
void preserve_icon(void);
|
void preserve_icon(void);
|
||||||
|
void amiga_self_assign(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void process_options(int argc, char **argv);
|
static void process_options(int argc, char **argv);
|
||||||
@@ -255,6 +256,8 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef AMIGA
|
#ifdef AMIGA
|
||||||
|
/* Point NetHack: at our program directory; covers CLI and WB launch. */
|
||||||
|
amiga_self_assign();
|
||||||
#ifdef CHDIR
|
#ifdef CHDIR
|
||||||
/*
|
/*
|
||||||
* If we're dealing with workbench, change the directory. Otherwise
|
* If we're dealing with workbench, change the directory. Otherwise
|
||||||
@@ -749,7 +752,7 @@ exepath(char *str)
|
|||||||
}
|
}
|
||||||
#endif /* EXEPATH */
|
#endif /* EXEPATH */
|
||||||
|
|
||||||
#if defined(CROSS_TO_AMIGA) || defined(CROSS_TO_MSDOS)
|
#if defined(CROSS_TO_MSDOS)
|
||||||
|
|
||||||
void
|
void
|
||||||
get_nhuuid(void)
|
get_nhuuid(void)
|
||||||
|
|||||||
@@ -310,28 +310,27 @@ UUDECODE = ../util/uudecode
|
|||||||
$(CC) $(CFLAGS) -o $@ $<
|
$(CC) $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
amigapkg: $(AMITILES) ../util/uudecode
|
amigapkg: $(AMITILES) ../util/uudecode
|
||||||
mkdir -p $(TARGETPFX)pkg/tiles $(TARGETPFX)pkg/hack
|
mkdir -p $(TARGETPFX)pkg/NetHack/tiles $(TARGETPFX)pkg/NetHack/hack
|
||||||
cp $(GAMEBIN) $(TARGETPFX)pkg/nethack
|
cp $(GAMEBIN) $(TARGETPFX)pkg/NetHack/nethack
|
||||||
cp ../dat/nhdat $(TARGETPFX)pkg/nhdat
|
cp ../dat/nhdat $(TARGETPFX)pkg/NetHack/nhdat
|
||||||
cp ../dat/license $(TARGETPFX)pkg/license
|
cp ../dat/license $(TARGETPFX)pkg/NetHack/license
|
||||||
cp ../dat/symbols $(TARGETPFX)pkg/symbols
|
cp ../dat/symbols $(TARGETPFX)pkg/NetHack/symbols
|
||||||
cp $(TARGETPFX)tiles16.iff $(TARGETPFX)pkg/tiles/tiles16.iff
|
cp $(TARGETPFX)tiles16.iff $(TARGETPFX)pkg/NetHack/tiles/tiles16.iff
|
||||||
cp $(TARGETPFX)tiles32.iff $(TARGETPFX)pkg/tiles/tiles32.iff
|
cp $(TARGETPFX)tiles32.iff $(TARGETPFX)pkg/NetHack/tiles/tiles32.iff
|
||||||
cp $(TARGETPFX)tomb.iff $(TARGETPFX)pkg/tomb.iff
|
cp $(TARGETPFX)tomb.iff $(TARGETPFX)pkg/NetHack/tomb.iff
|
||||||
cp ../doc/nethack.txt $(TARGETPFX)pkg/nethack.txt
|
cp ../doc/nethack.txt $(TARGETPFX)pkg/NetHack/nethack.txt
|
||||||
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/amifont8.uu && mv 8 hack/8 )
|
( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/amifont8.uu && mv 8 hack/8 )
|
||||||
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/amifont.uu )
|
( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/amifont.uu )
|
||||||
cp $(AMISRC)/nethack.cnf $(TARGETPFX)pkg/nethack.cnf
|
cp $(AMISRC)/nethack.cnf $(TARGETPFX)pkg/NetHack/nethack.cnf
|
||||||
-( cd $(TARGETPFX)pkg && test -f ../../../sys/amiga/dflticon.uu && \
|
cp $(AMISRC)/README.amiga $(TARGETPFX)pkg/NetHack/README.amiga
|
||||||
../../../util/uudecode ../../../sys/amiga/dflticon.uu )
|
( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/NHinfo.uu )
|
||||||
-( cd $(TARGETPFX)pkg && test -f ../../../sys/amiga/NHinfo.uu && \
|
( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/cnf-info.uu )
|
||||||
../../../util/uudecode ../../../sys/amiga/NHinfo.uu )
|
( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/license-info.uu )
|
||||||
-( cd $(TARGETPFX)pkg && test -f ../../../sys/amiga/NewGame.uu && \
|
( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/txt-info.uu )
|
||||||
../../../util/uudecode ../../../sys/amiga/NewGame.uu )
|
( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/readme-info.uu )
|
||||||
-( cd $(TARGETPFX)pkg && test -f ../../../sys/amiga/HackWB.uu && \
|
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/drawer-info.uu )
|
||||||
../../../util/uudecode ../../../sys/amiga/HackWB.uu )
|
touch $(TARGETPFX)pkg/NetHack/record
|
||||||
touch $(TARGETPFX)pkg/record
|
( cd $(TARGETPFX)pkg && zip -9r ../NH$(NHV)AMI.ZIP NetHack NetHack.info )
|
||||||
( cd $(TARGETPFX)pkg && zip -9r ../NH$(NHV)AMI.ZIP * )
|
|
||||||
@echo amiga package zip file $(TARGETPFX)NH$(NHV)AMI.ZIP
|
@echo amiga package zip file $(TARGETPFX)NH$(NHV)AMI.ZIP
|
||||||
endif # CROSS_TO_AMIGA
|
endif # CROSS_TO_AMIGA
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ ifdef CROSS_TO_AMIGA
|
|||||||
CROSS=1
|
CROSS=1
|
||||||
BUILD_TARGET_LUA=1
|
BUILD_TARGET_LUA=1
|
||||||
CROSS_SHARED=1
|
CROSS_SHARED=1
|
||||||
|
HACKDIR=NetHack:
|
||||||
override TARGET = amiga
|
override TARGET = amiga
|
||||||
override TARGETDIR=../targets/$(TARGET)
|
override TARGETDIR=../targets/$(TARGET)
|
||||||
override TARGETPFX = $(TARGETDIR)/
|
override TARGETPFX = $(TARGETDIR)/
|
||||||
|
|||||||
Reference in New Issue
Block a user