diff --git a/include/optlist.h b/include/optlist.h index 9cba2107c..c723e4981 100644 --- a/include/optlist.h +++ b/include/optlist.h @@ -159,6 +159,10 @@ static int optfn_##a(int, int, boolean, char *, char *); NHOPTB(altmeta, Advanced, 0, opt_out, set_in_game, Off, Yes, No, No, NoAlias, &iflags.altmeta, Term_False, "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 NHOPTB(altmeta, Advanced, 0, opt_out, set_in_config, Off, Yes, No, No, NoAlias, (boolean *) 0, Term_False, diff --git a/src/mdlib.c b/src/mdlib.c index ebc3630be..b7e0810c6 100644 --- a/src/mdlib.c +++ b/src/mdlib.c @@ -142,6 +142,10 @@ static struct win_information window_opts[] = { #ifdef SHIM_GRAPHICS { "shim", "NetHack Library Windowing Shim", TRUE }, #endif +#ifdef AMIGA_INTUITION + { "amii", "Amiga Intuition (text)", TRUE }, + { "amiv", "Amiga Intuition (tiles)", TRUE }, +#endif #if 0 /* remainder have been retired */ #ifdef GNOME_GRAPHICS /* unmaintained/defunct */ @@ -150,9 +154,6 @@ static struct win_information window_opts[] = { #ifdef MACOS9 /* defunct OS 9 interface */ { "mac", "Mac", TRUE }, #endif -#ifdef AMIGA_INTUITION /* unmaintained/defunct */ - { "amii", "Amiga Intuition", TRUE }, -#endif #ifdef GEM_GRAPHICS /* defunct Atari interface */ { "Gem", "Gem", TRUE }, #endif diff --git a/sys/amiga/NHinfo.uu b/sys/amiga/NHinfo.uu new file mode 100644 index 000000000..4659aa02f --- /dev/null +++ b/sys/amiga/NHinfo.uu @@ -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_%@" +To play from Workbench, open the NetHack drawer and double-click the +nethack icon. -The directory should contain: - 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 from a Shell: -To play: - cd NetHack: - nethack + Work: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 ------------- -Two display modes are available, selected in nethack.cnf: - - Text mode (AMII): - OPTIONS=symset:AmigaFont - - Tile mode (AMIV): - OPTIONS=windowtype:amiv +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 +machines that don't qualify, the binary automatically falls back to +text mode (AMII) at startup with a short note explaining why. Tile mode auto-selects tiles32.iff (32 colors, 5 bitplanes) when the 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 ------------- -Edit nethack.cnf for game options. Key settings: +Edit nethack.cnf for game options. Defaults shipped: - OPTIONS=windowtype:amiv - tile graphics (default) - OPTIONS=symset:AmigaFont - text mode with line-drawing chars - OPTIONS=menucolors - colored inventory items - OPTIONS=time,lit_corridor - show turn count, lit corridors - OPTIONS=boulder:0 - display boulders as '0' + OPTIONS=windowtype:amiv - tile graphics + OPTIONS=number_pad:1 - numpad movement; '5' is run prefix + OPTIONS=time,showexp - turn count, experience visible + OPTIONS=lit_corridor - show lit corridors + OPTIONS=menucolors - colored inventory items -Menu color examples (add after OPTIONS=menucolors): - MENUCOLOR=" blessed "=green - MENUCOLOR=" cursed "=red - MENUCOLOR=" uncursed "=cyan +ALT+letter shortcuts to extended commands (ALT+L for #loot, ALT+F for +#force, etc.) are enabled by default. On keymaps that need ALT for +typing characters (Scandinavian, German, French, ...) disable with: + + OPTIONS=!altmeta + +Menu color examples (after OPTIONS=menucolors): + + MENUCOLOR=" blessed "=green + MENUCOLOR=" cursed "=red + MENUCOLOR=" uncursed "=cyan 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 package -The distribution ZIP is created at targets/amiga/NH370AMI.ZIP. +The distribution ZIP is created at targets/amiga/NH500AMI.ZIP. Toolchain requirements: - - m68k-amigaos-gcc (bebbo's amigaos-cross-toolchain in /opt/amiga) - - -noixemul (libnix) for linking - - -m68000 for maximum compatibility (or -m68020/040/060) + + - m68k-amigaos-gcc (bebbo's amigaos-cross-toolchain in /opt/amiga) + - -noixemul (libnix) for linking + - -m68000 for maximum compatibility (or -m68020/040/060) Known Issues ------------ - - Native Amiga compilation (SAS/C, DICE) is not supported; - cross-compilation with GCC is required + - Native Amiga compilation (SAS/C, DICE) is not supported; + cross-compilation with GCC is required Credits diff --git a/sys/amiga/amidos.c b/sys/amiga/amidos.c index 01d33343f..c06fc1b1c 100644 --- a/sys/amiga/amidos.c +++ b/sys/amiga/amidos.c @@ -30,6 +30,72 @@ int getpid(void) { return (int)FindTask(NULL); } #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 #include #undef strcmpi diff --git a/sys/amiga/amidos.p b/sys/amiga/amidos.p index ed669f563..83decbc17 100644 --- a/sys/amiga/amidos.p +++ b/sys/amiga/amidos.p @@ -18,6 +18,7 @@ int abs(int ); #endif int tgetch (void); int dosh (void); +void amiga_self_assign (void); long freediskspace(char *); long filesize(char *); void eraseall(const char * , const char *); diff --git a/sys/amiga/cnf-info.uu b/sys/amiga/cnf-info.uu new file mode 100644 index 000000000..f9b9f0887 --- /dev/null +++ b/sys/amiga/cnf-info.uu @@ -0,0 +1,23 @@ +begin 644 nethack.cnf.info +MXQ```0``````(``4`!X`'@`&``$``0?Z<1@'^I$H```````````````````` +M```!!``'^J`!X``T`) +M2*@'``````````````````````@'^``(````"`?`>`@````(!^``"`````@' +MP``(````"`>`?@@````(`^``"`````@!_^`(````"`'_``@````(`?Y_"``` +M``@`__`(````"`#\``@````8`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 diff --git a/sys/amiga/drawer-info.uu b/sys/amiga/drawer-info.uu new file mode 100644 index 000000000..cddf5a258 --- /dev/null +++ b/sys/amiga/drawer-info.uu @@ -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 diff --git a/sys/amiga/license-info.uu b/sys/amiga/license-info.uu new file mode 100644 index 000000000..398d9aed5 --- /dev/null +++ b/sys/amiga/license-info.uu @@ -0,0 +1,23 @@ +begin 644 license.info +MXQ```0``````(``4`!X`'@`&``$``0?ZD2@'^J`!X``T`) +M1X`'``````````````````````@'^``(````"`?`>`@````(!^``"`````@' +MP``(````"`>`?@@````(`^``"`````@!_^`(````"`'_``@````(`?Y_"``` +M``@`__`(````"`#\``@````8`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 diff --git a/sys/amiga/nethack.cnf b/sys/amiga/nethack.cnf index b594c3d99..95952d6a6 100644 --- a/sys/amiga/nethack.cnf +++ b/sys/amiga/nethack.cnf @@ -20,6 +20,8 @@ OPTIONS=time,showexp,lit_corridor OPTIONS=boulder:0 OPTIONS=autopickup,pickup_types:$"=/!?+ OPTIONS=catname:Kaori +# Numpad for movement; '5' is the run prefix, ALT+5 the rush prefix. +OPTIONS=number_pad:1 # *** MENU COLORS *** # Colour-code inventory items by BUC status and value. diff --git a/sys/amiga/readme-info.uu b/sys/amiga/readme-info.uu new file mode 100644 index 000000000..9b819be15 --- /dev/null +++ b/sys/amiga/readme-info.uu @@ -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`Z[``(```````(!NVZT``(`` +M`````(!:P````(```````(```````(`[:KK``(```````(!NUW8``(`````` +M`(`S=5V``(```````(!NVZ@``(```````(!EO=4``(```````(```````("V +M`````(```````(```````(```````,```````````!)365,Z5&]O;',O161I +.=%!A9``````(`````0`` +` +end diff --git a/sys/amiga/txt-info.uu b/sys/amiga/txt-info.uu new file mode 100644 index 000000000..d898dec9d --- /dev/null +++ b/sys/amiga/txt-info.uu @@ -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`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 diff --git a/sys/amiga/winchar.c b/sys/amiga/winchar.c index 75c35c87b..0c9dbc6b2 100644 --- a/sys/amiga/winchar.c +++ b/sys/amiga/winchar.c @@ -837,11 +837,14 @@ static char amii_glyph_buffer[GLYPH_BUFFER_SIZE]; * 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] = { - 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] = { - 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 #define CLR_BLACK 0 diff --git a/sys/amiga/winfuncs.c b/sys/amiga/winfuncs.c index e39af4a5d..ba7835775 100644 --- a/sys/amiga/winfuncs.c +++ b/sys/amiga/winfuncs.c @@ -886,8 +886,7 @@ int return 0; } -/* Fall back from AMIV (tile) to AMII (text) if this machine can't - * run tile mode. Probes in order of reliability. */ +/* Switch from AMIV (tile) to AMII (text) and tell the player why. */ static void 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(why2); - raw_print("Falling back to text mode. Set windowtype:amiv in"); - raw_print("nethack.cnf to override."); + raw_print("Falling back to text mode. Set windowtype:amii in"); + raw_print("nethack.cnf to suppress this warning."); windowprocs = amii_procs; ami_wininit_data(WININIT); } diff --git a/sys/share/pcmain.c b/sys/share/pcmain.c index 3ad30b682..24495392b 100644 --- a/sys/share/pcmain.c +++ b/sys/share/pcmain.c @@ -35,6 +35,7 @@ long _stksize = 16 * 1024; #ifdef AMIGA extern int bigscreen; void preserve_icon(void); +void amiga_self_assign(void); #endif static void process_options(int argc, char **argv); @@ -255,6 +256,8 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/ #endif } #ifdef AMIGA + /* Point NetHack: at our program directory; covers CLI and WB launch. */ + amiga_self_assign(); #ifdef CHDIR /* * If we're dealing with workbench, change the directory. Otherwise @@ -749,7 +752,7 @@ exepath(char *str) } #endif /* EXEPATH */ -#if defined(CROSS_TO_AMIGA) || defined(CROSS_TO_MSDOS) +#if defined(CROSS_TO_MSDOS) void get_nhuuid(void) diff --git a/sys/unix/hints/include/cross-post.500 b/sys/unix/hints/include/cross-post.500 index 8e67cfa4f..512906d8f 100644 --- a/sys/unix/hints/include/cross-post.500 +++ b/sys/unix/hints/include/cross-post.500 @@ -310,28 +310,27 @@ UUDECODE = ../util/uudecode $(CC) $(CFLAGS) -o $@ $< amigapkg: $(AMITILES) ../util/uudecode - mkdir -p $(TARGETPFX)pkg/tiles $(TARGETPFX)pkg/hack - cp $(GAMEBIN) $(TARGETPFX)pkg/nethack - cp ../dat/nhdat $(TARGETPFX)pkg/nhdat - cp ../dat/license $(TARGETPFX)pkg/license - cp ../dat/symbols $(TARGETPFX)pkg/symbols - cp $(TARGETPFX)tiles16.iff $(TARGETPFX)pkg/tiles/tiles16.iff - cp $(TARGETPFX)tiles32.iff $(TARGETPFX)pkg/tiles/tiles32.iff - cp $(TARGETPFX)tomb.iff $(TARGETPFX)pkg/tomb.iff - cp ../doc/nethack.txt $(TARGETPFX)pkg/nethack.txt - ( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/amifont8.uu && mv 8 hack/8 ) - ( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/amifont.uu ) - cp $(AMISRC)/nethack.cnf $(TARGETPFX)pkg/nethack.cnf - -( cd $(TARGETPFX)pkg && test -f ../../../sys/amiga/dflticon.uu && \ - ../../../util/uudecode ../../../sys/amiga/dflticon.uu ) - -( cd $(TARGETPFX)pkg && test -f ../../../sys/amiga/NHinfo.uu && \ - ../../../util/uudecode ../../../sys/amiga/NHinfo.uu ) - -( cd $(TARGETPFX)pkg && test -f ../../../sys/amiga/NewGame.uu && \ - ../../../util/uudecode ../../../sys/amiga/NewGame.uu ) - -( cd $(TARGETPFX)pkg && test -f ../../../sys/amiga/HackWB.uu && \ - ../../../util/uudecode ../../../sys/amiga/HackWB.uu ) - touch $(TARGETPFX)pkg/record - ( cd $(TARGETPFX)pkg && zip -9r ../NH$(NHV)AMI.ZIP * ) + mkdir -p $(TARGETPFX)pkg/NetHack/tiles $(TARGETPFX)pkg/NetHack/hack + cp $(GAMEBIN) $(TARGETPFX)pkg/NetHack/nethack + cp ../dat/nhdat $(TARGETPFX)pkg/NetHack/nhdat + cp ../dat/license $(TARGETPFX)pkg/NetHack/license + cp ../dat/symbols $(TARGETPFX)pkg/NetHack/symbols + cp $(TARGETPFX)tiles16.iff $(TARGETPFX)pkg/NetHack/tiles/tiles16.iff + cp $(TARGETPFX)tiles32.iff $(TARGETPFX)pkg/NetHack/tiles/tiles32.iff + cp $(TARGETPFX)tomb.iff $(TARGETPFX)pkg/NetHack/tomb.iff + cp ../doc/nethack.txt $(TARGETPFX)pkg/NetHack/nethack.txt + ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/amifont8.uu && mv 8 hack/8 ) + ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/amifont.uu ) + cp $(AMISRC)/nethack.cnf $(TARGETPFX)pkg/NetHack/nethack.cnf + cp $(AMISRC)/README.amiga $(TARGETPFX)pkg/NetHack/README.amiga + ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/NHinfo.uu ) + ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/cnf-info.uu ) + ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/license-info.uu ) + ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/txt-info.uu ) + ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/readme-info.uu ) + ( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/drawer-info.uu ) + touch $(TARGETPFX)pkg/NetHack/record + ( cd $(TARGETPFX)pkg && zip -9r ../NH$(NHV)AMI.ZIP NetHack NetHack.info ) @echo amiga package zip file $(TARGETPFX)NH$(NHV)AMI.ZIP endif # CROSS_TO_AMIGA diff --git a/sys/unix/hints/include/cross-pre1.500 b/sys/unix/hints/include/cross-pre1.500 index b252f0843..9c8c0a24c 100644 --- a/sys/unix/hints/include/cross-pre1.500 +++ b/sys/unix/hints/include/cross-pre1.500 @@ -42,6 +42,7 @@ ifdef CROSS_TO_AMIGA CROSS=1 BUILD_TARGET_LUA=1 CROSS_SHARED=1 +HACKDIR=NetHack: override TARGET = amiga override TARGETDIR=../targets/$(TARGET) override TARGETPFX = $(TARGETDIR)/