debian/0000755000000000000000000000000012141222677007172 5ustar debian/README.sources0000644000000000000000000000016112141222677011532 0ustar Patch sources ============= All debian related patches (debian/patches) can be applied with 'dpatch apply-all'. debian/dirs0000644000000000000000000000007712141222677010062 0ustar usr/share/man/man5 usr/share/man/man6 usr/share/pixmaps/glhack debian/clean0000644000000000000000000000440712141222677010204 0ustar dat/Arc-fila.lev dat/Arc-filb.lev dat/Arc-goal.lev dat/Arc-loca.lev dat/Arc-strt.lev dat/Bar-fila.lev dat/Bar-filb.lev dat/Bar-goal.lev dat/Bar-loca.lev dat/Bar-strt.lev dat/Cav-fila.lev dat/Cav-filb.lev dat/Cav-goal.lev dat/Cav-loca.lev dat/Cav-strt.lev dat/Hea-fila.lev dat/Hea-filb.lev dat/Hea-goal.lev dat/Hea-loca.lev dat/Hea-strt.lev dat/Kni-fila.lev dat/Kni-filb.lev dat/Kni-goal.lev dat/Kni-loca.lev dat/Kni-strt.lev dat/Mon-fila.lev dat/Mon-filb.lev dat/Mon-goal.lev dat/Mon-loca.lev dat/Mon-strt.lev dat/Pri-fila.lev dat/Pri-filb.lev dat/Pri-goal.lev dat/Pri-loca.lev dat/Pri-strt.lev dat/Ran-fila.lev dat/Ran-filb.lev dat/Ran-goal.lev dat/Ran-loca.lev dat/Ran-strt.lev dat/Rog-fila.lev dat/Rog-filb.lev dat/Rog-goal.lev dat/Rog-loca.lev dat/Rog-strt.lev dat/Sam-fila.lev dat/Sam-filb.lev dat/Sam-goal.lev dat/Sam-loca.lev dat/Sam-strt.lev dat/Tou-fila.lev dat/Tou-filb.lev dat/Tou-goal.lev dat/Tou-loca.lev dat/Tou-strt.lev dat/Val-fila.lev dat/Val-filb.lev dat/Val-goal.lev dat/Val-loca.lev dat/Val-strt.lev dat/Wiz-fila.lev dat/Wiz-filb.lev dat/Wiz-goal.lev dat/Wiz-loca.lev dat/Wiz-strt.lev dat/air.lev dat/asmodeus.lev dat/astral.lev dat/baalz.lev dat/bigrm-1.lev dat/bigrm-2.lev dat/bigrm-3.lev dat/bigrm-4.lev dat/bigrm-5.lev dat/castle.lev dat/data dat/dungeon dat/dungeon.pdf dat/earth.lev dat/fakewiz1.lev dat/fakewiz2.lev dat/fire.lev dat/juiblex.lev dat/knox.lev dat/medusa-1.lev dat/medusa-2.lev dat/minefill.lev dat/minend-1.lev dat/minend-2.lev dat/minend-3.lev dat/minetn-1.lev dat/minetn-2.lev dat/minetn-3.lev dat/minetn-4.lev dat/minetn-5.lev dat/minetn-6.lev dat/minetn-7.lev dat/nhdat dat/options dat/oracle.lev dat/oracles dat/orcus.lev dat/quest.dat dat/quest_levs dat/rumors dat/sanctum.lev dat/soko1-1.lev dat/soko1-2.lev dat/soko2-1.lev dat/soko2-2.lev dat/soko3-1.lev dat/soko3-2.lev dat/soko4-1.lev dat/soko4-2.lev dat/spec_levs dat/tower1.lev dat/tower2.lev dat/tower3.lev dat/valley.lev dat/water.lev dat/wizard1.lev dat/wizard2.lev dat/wizard3.lev doc/Guidebook include/date.h include/dgn_comp.h include/lev_comp.h include/onames.h include/pm.h include/vis_tab.h src/Sysunix src/glhack src/monstr.c src/tile.c src/vis_tab.c util/dgn_comp util/dgn_lex.c util/dgn_yacc.c util/dlb util/lev_comp util/lev_lex.c util/lev_yacc.c util/makedefs util/recover_glhack util/tilemap debian/watch0000644000000000000000000000006512141222677010224 0ustar version=3 http://sf.net/glhack/glhack-(.*)\.tar\.gz debian/rules0000755000000000000000000000204412141222677010252 0ustar #!/usr/bin/make -f export DEB_BUILD_MAINT_OPTIONS = hardening=+all LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) LDFLAGS += -Wl,--as-needed CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) CFLAGS = $(shell dpkg-buildflags --get CFLAGS) CFLAGS += -Wall LINK = $(CC) $(LDFLAGS) CCX = $(CC) $(LDFLAGS) $(CFLAGS) $(CPPFLAGS) override_dh_installchangelogs: dh_installchangelogs CHANGELOG.GL override_dh_auto_build: dh_auto_build -- CC="$(CCX)" LINK="$(LINK)" override_dh_install: dh_install # Pixmaps install -m 0644 dat/*.png debian/glhack/usr/share/pixmaps/glhack/ install -m 0644 debian/glhack.xpm debian/glhack/usr/share/pixmaps/glhack/ chmod g+s debian/glhack/usr/lib/games/glhack/nhdat chmod g+s debian/glhack/usr/lib/games/glhack/glhack chmod g+s debian/glhack/usr/lib/games/glhack/recover_glhack ls -l debian/glhack/usr/lib/games/glhack/ # Permissions #chmod 2664 debian/glhack/var/games/glhack/* #chmod 0775 debian/glhack/var/games/glhack #chmod 0775 debian/glhack/var/games/glhack/save %: dh $@ # End of file debian/changelog0000644000000000000000000000230212141222677011041 0ustar glhack (1.2-2) unstable; urgency=low * QA upload. * Orphan package and set maintainer to QA group; see bugs #664341 and #607323 for previous maintainer's approval. * Remove deprecated dpatch and upgrade to packaging format "3.0 quilt" (Closes: #664341). * Update Standards-Version to 3.9.4 and debhelper to 9. Update to libpng-dev; thanks to Nobuhiro Iwamatsu (Closes: #662349). * Add desktop file (Closes: #661315). Patch thanks to Paul Wise . * Convert debian/rules to dh(1). Setgid binaries to games (Closes: #546986). * Use hardened build flags . * Patches: (01): Refresh to pass MANDIR in call to doc/Makefile. (02): Refresh to apply cleanly under new packaging format. (10): New. To make build pass hardened build flag. (20): New. FTBFS by libpng 1.5 (Closes: #649948). Patch thanks to Nobuhiro Iwamatsu . -- Jari Aalto Sat, 04 May 2013 09:05:23 +0300 glhack (1.2-1) unstable; urgency=low Initial release (Closes: #528034) -- Stefan Ritter Tue, 23 Jul 2009 14:41:20 +0200 debian/menu0000644000000000000000000000035712141222677010066 0ustar ?package(glhack):\ needs="x11" \ section="Games/Adventure" \ command="/usr/games/glhack" \ title="glHack" \ longtitle="glHack: Fullscreen SDL/OpenGL version of NetHack" \ icon="/usr/share/pixmaps/glhack/glhack.xpm" debian/glhack.desktop0000644000000000000000000000032612141222677012017 0ustar [Desktop Entry] Type=Application Name=glHack GenericName=NetHack Comment=Fullscreen SDL/OpenGL version of NetHack Icon=/usr/share/pixmaps/glhack/glhack.xpm Exec=glhack Terminal=false Categories=Game;AdventureGame; debian/patches/0000755000000000000000000000000012141222677010621 5ustar debian/patches/02-remove-guidebook-manpage.patch0000644000000000000000000000067612141222677016743 0ustar From: Stefan Ritter Subject: We're using the .txt variant instead of a broken manpage --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/Makefile +++ b/Makefile @@ -108,7 +108,7 @@ manpages: cp doc/glhack.6 $(MANDIR)/man6 cp doc/glhackrc.5 $(MANDIR)/man5 - cp doc/nethack-guidebook.6 $(MANDIR)/man6 + # cp doc/nethack-guidebook.6 $(MANDIR)/man6 ( cd doc ; $(MAKE) manpages ) data: $(GAME) debian/patches/10-harden-build-flags.patch0000644000000000000000000007761612141222677015531 0ustar From: Jari Aalto Subject: Fix printf() like calls without format speficier --- src/apply.c | 34 +++++++++++++++++----------------- src/artifact.c | 2 +- src/botl.c | 4 ++-- src/cmd.c | 8 ++++---- src/detect.c | 4 ++-- src/dig.c | 2 +- src/do.c | 6 +++--- src/dothrow.c | 2 +- src/dungeon.c | 2 +- src/eat.c | 4 ++-- src/engrave.c | 8 ++++---- src/hack.c | 6 +++--- src/invent.c | 12 ++++++------ src/lock.c | 2 +- src/mail.c | 2 +- src/makemon.c | 2 +- src/mcastu.c | 2 +- src/mhitu.c | 8 ++++---- src/mon.c | 2 +- src/mthrowu.c | 2 +- src/muse.c | 4 ++-- src/polyself.c | 4 ++-- src/potion.c | 6 +++--- src/pray.c | 2 +- src/priest.c | 6 +++--- src/questpgr.c | 2 +- src/read.c | 18 +++++++++--------- src/region.c | 4 ++-- src/restore.c | 2 +- src/shk.c | 2 +- src/sounds.c | 18 +++++++++--------- src/spell.c | 2 +- src/steed.c | 2 +- src/teleport.c | 12 ++++++------ src/timeout.c | 8 ++++---- src/trap.c | 4 ++-- src/zap.c | 22 +++++++++++----------- util/makedefs.c | 16 ++++++++-------- win/gl/gl_conf.c | 2 +- 39 files changed, 125 insertions(+), 125 deletions(-) --- a/util/makedefs.c +++ b/util/makedefs.c @@ -362,7 +362,7 @@ perror(filename); exit(EXIT_FAILURE); } - Fprintf(ofp,Dont_Edit_Data); + Fprintf(ofp,"%s",Dont_Edit_Data); Sprintf(infile, DATA_IN_TEMPLATE, RUMOR_FILE); Strcat(infile, ".tru"); @@ -561,7 +561,7 @@ exit(EXIT_FAILURE); } Fprintf(ofp,"/*\tSCCS Id: @(#)date.h\t3.4\t2002/02/03 */\n\n"); - Fprintf(ofp,Dont_Edit_Code); + Fprintf(ofp,"%s",Dont_Edit_Code); #ifdef KR1ED (void) time(&clocktim); @@ -1250,7 +1250,7 @@ perror(filename); exit(EXIT_FAILURE); } - Fprintf(ofp,Dont_Edit_Data); + Fprintf(ofp,"%s",Dont_Edit_Data); while (fgets(in_line, sizeof in_line, ifp) != 0) { SpinCursor(3); @@ -1372,7 +1372,7 @@ perror(filename); exit(EXIT_FAILURE); } - Fprintf(ofp,Dont_Edit_Code); + Fprintf(ofp,"%s",Dont_Edit_Code); Fprintf(ofp,"#include \"config.h\"\n"); Fprintf(ofp,"\nconst int monstr[] = {\n"); for (ptr = &mons[0], j = 0; ptr->mlet; ptr++) { @@ -1413,7 +1413,7 @@ exit(EXIT_FAILURE); } Fprintf(ofp,"/*\tSCCS Id: @(#)pm.h\t3.4\t2002/02/03 */\n\n"); - Fprintf(ofp,Dont_Edit_Code); + Fprintf(ofp,"%s",Dont_Edit_Code); Fprintf(ofp,"#ifndef PM_H\n#define PM_H\n"); if (strcmp(mons[0].mname, "playermon") != 0) @@ -1729,7 +1729,7 @@ exit(EXIT_FAILURE); } Fprintf(ofp,"/*\tSCCS Id: @(#)onames.h\t3.4\t2002/02/03 */\n\n"); - Fprintf(ofp,Dont_Edit_Code); + Fprintf(ofp,"%s",Dont_Edit_Code); Fprintf(ofp,"#ifndef ONAMES_H\n#define ONAMES_H\n\n"); for(i = 0; !i || objects[i].oc_class != ILLOBJ_CLASS; i++) { @@ -1884,7 +1884,7 @@ perror(filename); exit(EXIT_FAILURE); } - Fprintf(ofp,Dont_Edit_Code); + Fprintf(ofp,"%s",Dont_Edit_Code); Fprintf(ofp,"#ifdef VISION_TABLES\n"); #ifdef VISION_TABLES H_close_gen(); @@ -1909,7 +1909,7 @@ Unlink(filename); exit(EXIT_FAILURE); } - Fprintf(ofp,Dont_Edit_Code); + Fprintf(ofp,"%s",Dont_Edit_Code); Fprintf(ofp,"#include \"config.h\"\n"); Fprintf(ofp,"#ifdef VISION_TABLES\n"); Fprintf(ofp,"#include \"vis_tab.h\"\n"); --- a/src/apply.c +++ b/src/apply.c @@ -62,7 +62,7 @@ if(!getdir((char *)0)) return(0); if (obj->spe <= 0) { - pline(nothing_happens); + pline("%s",nothing_happens); return (1); } consume_obj_charge(obj, TRUE); @@ -802,7 +802,7 @@ if (!obj->cursed) (void) openit(); else - pline(nothing_happens); + pline("%s",nothing_happens); } else if (obj->cursed) { coord mm; @@ -834,7 +834,7 @@ } res += openit(); switch (res) { - case 0: pline(nothing_happens); break; + case 0: pline("%s",nothing_happens); break; case 1: pline("%s opens...", Something); learno = TRUE; break; default: pline("Things open around you..."); @@ -846,7 +846,7 @@ amii_speaker( obj, "AeFeaeFeAefegw", AMII_OKAY_VOLUME ); #endif if (findit() != 0) learno = TRUE; - else pline(nothing_happens); + else pline("%s",nothing_happens); } } /* charged BofO */ @@ -1192,12 +1192,12 @@ update_inventory(); } else if (rn2(2) && !Blind) You("see a puff of smoke."); - else pline(nothing_happens); + else pline("%s",nothing_happens); } else if (obj->otyp == BRASS_LANTERN) { /* message from Adventure */ pline("Rubbing the electric lamp is not particularly rewarding."); pline("Anyway, nothing exciting happens."); - } else pline(nothing_happens); + } else pline("%s",nothing_happens); return 1; } @@ -1510,7 +1510,7 @@ } if (trouble_count == 0) { - pline(nothing_happens); + pline("%s",nothing_happens); return; } else if (trouble_count > 1) { /* shuffle */ int i, j, k; @@ -2172,7 +2172,7 @@ You("wrap your bullwhip around %s on the %s.", an(singular(otmp, xname)), surface(u.ux, u.uy)); if (rnl(6) || pickup_object(otmp, 1L, TRUE) < 1) - pline(msg_slipsfree); + pline("%s",msg_slipsfree); return 1; } } @@ -2213,7 +2213,7 @@ wrapped_what = strcpy(buf, mon_nam(mtmp)); } else if (proficient) { if (attack(mtmp)) return 1; - else pline(msg_snap); + else pline("%s",msg_snap); } } if (!wrapped_what) { @@ -2235,10 +2235,10 @@ vision_full_recalc = 1; } } else { - pline(msg_slipsfree); + pline("%s",msg_slipsfree); } if (mtmp) wakeup(mtmp); - } else pline(msg_snap); + } else pline("%s",msg_snap); } else if (mtmp) { if (!canspotmon(mtmp) && @@ -2330,7 +2330,7 @@ break; } } else { - pline(msg_slipsfree); + pline("%s",msg_slipsfree); } wakeup(mtmp); } else { @@ -2340,7 +2340,7 @@ else You("flick your bullwhip towards %s.", mon_nam(mtmp)); if (proficient) { if (attack(mtmp)) return 1; - else pline(msg_snap); + else pline("%s",msg_snap); } } @@ -2349,7 +2349,7 @@ You("snap your whip through thin air."); } else { - pline(msg_snap); + pline("%s",msg_snap); } return 1; @@ -2426,7 +2426,7 @@ u.uconduct.weaphit++; } else /* Now you know that nothing is there... */ - pline(nothing_happens); + pline("%s",nothing_happens); return (1); } @@ -2588,7 +2588,7 @@ } break; } - pline(nothing_happens); + pline("%s",nothing_happens); return (1); } @@ -2989,7 +2989,7 @@ (const char *)0); makeknown(HORN_OF_PLENTY); } else - pline(nothing_happens); + pline("%s",nothing_happens); break; case LAND_MINE: case BEARTRAP: --- a/src/artifact.c +++ b/src/artifact.c @@ -1191,7 +1191,7 @@ if(obj->otyp == CRYSTAL_BALL) use_crystal_ball(obj); else - pline(nothing_happens); + pline("%s",nothing_happens); return 1; } --- a/src/botl.c +++ b/src/botl.c @@ -188,9 +188,9 @@ mbot[k] += 'A' - 'a'; k++; } - Sprintf(nb = eos(nb), mbot); + Sprintf(nb = eos(nb), "%s", mbot); } else - Sprintf(nb = eos(nb), rank()); + Sprintf(nb = eos(nb), "%d", rank()); Sprintf(nb = eos(nb)," "); i = mrank_sz + 15; --- a/src/cmd.c +++ b/src/cmd.c @@ -602,7 +602,7 @@ else ret = sscanf(buf, "%d", &newlevel); if (ret != 1) { - pline(Never_mind); + pline("%s",Never_mind); return 0; } if (newlevel == u.ulevel) { @@ -2060,7 +2060,7 @@ { xchar new_x, new_y; if (!getdir(prompt)) { - pline(Never_mind); + pline("%s",Never_mind); return 0; } new_x = x + u.dx; @@ -2069,7 +2069,7 @@ cc->x = new_x; cc->y = new_y; } else { - if (emsg) pline(emsg); + if (emsg) pline("%s",emsg); return 0; } return 1; @@ -2340,7 +2340,7 @@ if (multi > 9) { clear_nhwindow(WIN_MESSAGE); Sprintf(in_line, "Count: %d", multi); - pline(in_line); + pline("%s",in_line); mark_synch(); } last_multi = multi; --- a/src/detect.c +++ b/src/detect.c @@ -808,7 +808,7 @@ case 3 : if (!resists_blnd(&youmonst)) { pline("%s your vision!", Tobjnam(obj, "damage")); make_blinded(Blinded + rnd(100),FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } else { pline("%s your vision.", Tobjnam(obj, "assault")); You("are unaffected!"); @@ -857,7 +857,7 @@ ch = yn_function("What do you look for?", (char *)0, '\0'); /* Don't filter out ' ' here; it has a use */ if ((ch != def_monsyms[S_GHOST]) && index(quitchars,ch)) { - if (flags.verbose) pline(Never_mind); + if (flags.verbose) pline("%s",Never_mind); return; } You("peer into %s...", the(xname(obj))); --- a/src/dig.c +++ b/src/dig.c @@ -379,7 +379,7 @@ feel_location(dpx, dpy); else newsym(dpx, dpy); - if(digtxt && !digging.quiet) pline(digtxt); /* after newsym */ + if(digtxt && !digging.quiet) pline("%s",digtxt); /* after newsym */ if(dmgtxt) pay_for_damage(dmgtxt, FALSE); --- a/src/do.c +++ b/src/do.c @@ -1310,7 +1310,7 @@ Sprintf(buf, mesg, !Blind ? "looks" : "seems"); mesg = buf; } - if (mesg) pline(mesg); + if (mesg) pline("%s",mesg); } #ifdef REINCARNATION @@ -1459,7 +1459,7 @@ int typmask = u.utotype; /* save it; goto_level zeroes u.utotype */ assign_level(&dest, &u.utolev); - if (dfr_pre_msg) pline(dfr_pre_msg); + if (dfr_pre_msg) pline("%s",dfr_pre_msg); goto_level(&dest, !!(typmask&1), !!(typmask&2), !!(typmask&4)); if (typmask & 0200) { /* remove portal */ struct trap *t = t_at(u.ux, u.uy); @@ -1469,7 +1469,7 @@ newsym(u.ux, u.uy); } } - if (dfr_post_msg) pline(dfr_post_msg); + if (dfr_post_msg) pline("%s",dfr_post_msg); } u.utotype = 0; /* our caller keys off of this */ if (dfr_pre_msg) --- a/src/dothrow.c +++ b/src/dothrow.c @@ -770,7 +770,7 @@ pline("It blinds you!"); u.ucreamed += blindinc; make_blinded(Blinded + (long)blindinc, FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } break; default: --- a/src/dungeon.c +++ b/src/dungeon.c @@ -674,7 +674,7 @@ interject_assistance(1, INTERJECT_PANIC, (genericptr_t)tbuf, (genericptr_t)fqn_prefix[DATAPREFIX]); #endif - panic(tbuf); + panic("%s",tbuf); } /* validate the data's version against the program's version */ --- a/src/eat.c +++ b/src/eat.c @@ -422,7 +422,7 @@ occupation = 0; /* do this early, so newuhs() knows we're done */ newuhs(FALSE); if (nomovemsg) { - if (message) pline(nomovemsg); + if (message) pline("%s",nomovemsg); nomovemsg = 0; } else if (message) You("finish eating %s.", food_xname(victual.piece, TRUE)); @@ -1208,7 +1208,7 @@ } else if(!rn2(4) && !Blind) { pline("Everything suddenly goes dark."); make_blinded((long)d(2,10),FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } else if(!rn2(3)) { const char *what, *where; if (!Blind) --- a/src/engrave.c +++ b/src/engrave.c @@ -890,7 +890,7 @@ c = yn_function("Do you want to add to the current engraving?", ynqchars, 'y'); if (c == 'q') { - pline(Never_mind); + pline("%s",Never_mind); return(0); } } @@ -983,7 +983,7 @@ Tobjnam(otmp, "glow"), otense(otmp, "fade")); return(1); } else { - pline(Never_mind); + pline("%s",Never_mind); return(0); } } @@ -1100,12 +1100,12 @@ make_engr_at(u.ux, u.uy, buf, (moves - multi), type); - if (post_engr_text[0]) pline(post_engr_text); + if (post_engr_text[0]) pline("%s",post_engr_text); if (doblind && !resists_blnd(&youmonst)) { You("are blinded by the flash!"); make_blinded((long)rnd(50),FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } return(1); --- a/src/hack.c +++ b/src/hack.c @@ -423,7 +423,7 @@ unblock_point(x, y); /* vision */ newsym(x, y); - if (digtxt) You(digtxt); /* after newsym */ + if (digtxt) You("%s",digtxt); /* after newsym */ if (dmgtxt) pay_for_damage(dmgtxt, FALSE); (void) memset((genericptr_t)&digging, 0, sizeof digging); return 0; @@ -2082,7 +2082,7 @@ multi = 0; /* caller will usually have done this already */ if (msg_override) nomovemsg = msg_override; else if (!nomovemsg) nomovemsg = You_can_move_again; - if (*nomovemsg) pline(nomovemsg); + if (*nomovemsg) pline("%s",nomovemsg); nomovemsg = 0; u.usleep = 0; if (afternmv) (*afternmv)(); @@ -2257,7 +2257,7 @@ { if(near_capacity() >= EXT_ENCUMBER) { if(str) - pline(str); + pline("%s",str); else You_cant("do that while carrying so much stuff."); return 1; --- a/src/invent.c +++ b/src/invent.c @@ -971,7 +971,7 @@ } if(index(quitchars,ilet)) { if(flags.verbose) - pline(Never_mind); + pline("%s",Never_mind); return((struct obj *)0); } if(ilet == '-') { @@ -1026,7 +1026,7 @@ } if(ilet == '\033') { if(flags.verbose) - pline(Never_mind); + pline("%s",Never_mind); return((struct obj *)0); } /* they typed a letter (not a space) at the prompt */ @@ -2214,7 +2214,7 @@ Sprintf(fbuf, "There is %s here.", an(dfeature)); if (!otmp || is_lava(u.ux,u.uy) || (is_pool(u.ux,u.uy) && !Underwater)) { - if (dfeature) pline(fbuf); + if (dfeature) pline("%s",fbuf); read_engr_at(u.ux, u.uy); /* Eric Backus */ if (!skip_objects && (Blind || !dfeature)) You("%s no objects here.", verb); @@ -2223,14 +2223,14 @@ /* we know there is something here */ if (skip_objects) { - if (dfeature) pline(fbuf); + if (dfeature) pline("%s",fbuf); read_engr_at(u.ux, u.uy); /* Eric Backus */ There("are %s%s objects here.", (obj_cnt <= 10) ? "several" : "many", picked_some ? " more" : ""); } else if (!otmp->nexthere) { /* only one object */ - if (dfeature) pline(fbuf); + if (dfeature) pline("%s",fbuf); read_engr_at(u.ux, u.uy); /* Eric Backus */ #ifdef INVISIBLE_OBJECTS if (otmp->oinvis && !See_invisible) verb = "feel"; @@ -2684,7 +2684,7 @@ Sprintf(qbuf, "Adjust letter to what [%s]?",buf); let = yn_function(qbuf, (char *)0, '\0'); if(index(quitchars,let)) { - pline(Never_mind); + pline("%s",Never_mind); return(0); } if (let == '@' || !letter(let)) --- a/src/lock.c +++ b/src/lock.c @@ -862,7 +862,7 @@ default: impossible("magic (%d) attempted on door.", otmp->otyp); break; } - if (msg && cansee(x,y)) pline(msg); + if (msg && cansee(x,y)) pline("%s",msg); if (loudness > 0) { /* door was destroyed */ wake_nearto(x, y, loudness); --- a/src/mail.c +++ b/src/mail.c @@ -317,7 +317,7 @@ if (fx == tx && fy == ty) break; if ((mon = m_at(fx,fy)) != 0) /* save monster at this position */ - verbalize(md_exclamations()); + verbalize("%s",md_exclamations()); else if (fx == u.ux && fy == u.uy) verbalize("Excuse me."); --- a/src/makemon.c +++ b/src/makemon.c @@ -1779,7 +1779,7 @@ if (!bag || bag->otyp != BAG_OF_TRICKS) { impossible("bad bag o' tricks"); } else if (bag->spe < 1) { - pline(nothing_happens); + pline("%s",nothing_happens); } else { boolean gotone = FALSE; int cnt = 1; --- a/src/mcastu.c +++ b/src/mcastu.c @@ -590,7 +590,7 @@ (num_eyes == 1) ? body_part(EYE) : makeplural(body_part(EYE))); make_blinded(Half_spell_damage ? 100L : 200L, FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); dmg = 0; } else impossible("no reason for monster to cast blindness spell?"); --- a/src/mhitu.c +++ b/src/mhitu.c @@ -1036,7 +1036,7 @@ if (can_blnd(mtmp, &youmonst, mattk->aatyp, (struct obj*)0)) { if (!Blind) pline("%s blinds you!", Monnam(mtmp)); make_blinded(Blinded+(long)dmg,FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } dmg = 0; break; @@ -1742,7 +1742,7 @@ if(!Blind) { You_cant("see in here!"); make_blinded((long)tmp,FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } else /* keep him blind until disgorged */ make_blinded(Blinded+1,FALSE); @@ -1858,7 +1858,7 @@ if (mon_visible(mtmp) || (rnd(tmp /= 2) > u.ulevel)) { You("are blinded by a blast of light!"); make_blinded((long)tmp, FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } else if (flags.verbose) You("get the impression it was not terribly bright."); } @@ -1985,7 +1985,7 @@ /* not blind at this point implies you're wearing the Eyes of the Overworld; make them block this particular stun attack too */ - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); else make_stunned((long)d(1,3),TRUE); } break; --- a/src/mon.c +++ b/src/mon.c @@ -2370,7 +2370,7 @@ You("cannot polymorph %s into that.", mon_nam(mon)); else break; } while(++tries < 5); - if (tries==5) pline(thats_enough_tries); + if (tries==5) pline("%s",thats_enough_tries); } #endif /*WIZARD*/ if (mndx == NON_PM) mndx = rn1(SPECIAL_PM - LOW_PM, LOW_PM); --- a/src/mthrowu.c +++ b/src/mthrowu.c @@ -450,7 +450,7 @@ if (blindinc) { u.ucreamed += blindinc; make_blinded(Blinded + (long)blindinc, FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } } --- a/src/muse.c +++ b/src/muse.c @@ -79,7 +79,7 @@ m_useup(mon, obj); mtmp = makemon(&mons[PM_GHOST], cc.x, cc.y, NO_MM_FLAGS); if (!mtmp) { - if (vis) pline(empty); + if (vis) pline("%s",empty); } else { if (vis) { pline("As %s opens the bottle, an enormous %s emerges!", @@ -102,7 +102,7 @@ m_useup(mon, obj); mtmp = makemon(&mons[PM_DJINNI], cc.x, cc.y, NO_MM_FLAGS); if (!mtmp) { - if (vis) pline(empty); + if (vis) pline("%s",empty); } else { if (vis) pline("In a cloud of smoke, %s emerges!", --- a/src/polyself.c +++ b/src/polyself.c @@ -234,7 +234,7 @@ if(!Polymorph_control && !forcecontrol && !draconian && !iswere && !isvamp) { if (rn2(20) > ACURR(A_CON)) { - You(shudder_for_moment); + You("%s",shudder_for_moment); losehp(rnd(30), "system shock", KILLED_BY_AN); exercise(A_CON, FALSE); return; @@ -256,7 +256,7 @@ You("cannot polymorph into that."); else break; } while(++tries < 5); - if (tries==5) pline(thats_enough_tries); + if (tries==5) pline("%s",thats_enough_tries); /* allow skin merging, even when polymorph is controlled */ if (draconian && (mntmp == armor_to_dragon(uarm->otyp) || tries == 5)) --- a/src/potion.c +++ b/src/potion.c @@ -932,7 +932,7 @@ You("have a %s feeling for a moment, then it passes.", Hallucination ? "normal" : "strange"); else - pline(txt); + pline("%s",txt); if(!obj) /* e.g., crystal ball finds no traps */ return; @@ -1280,7 +1280,7 @@ pline("It suddenly gets dark."); } make_blinded(itimeout_incr(Blinded, rnd(5)), FALSE); - if (!Blind && !u.usleep) Your(vision_clears); + if (!Blind && !u.usleep) Your("%s",vision_clears); break; case POT_WATER: if(u.umonnum == PM_GREMLIN) { @@ -1633,7 +1633,7 @@ obj == uball || obj == uskin || obj_resists(obj->otyp == POT_POLYMORPH ? potion : obj, 5, 95)) { - pline(nothing_happens); + pline("%s",nothing_happens); } else { boolean was_wep = FALSE, was_swapwep = FALSE, was_quiver = FALSE; short save_otyp = obj->otyp; --- a/src/pray.c +++ b/src/pray.c @@ -1317,7 +1317,7 @@ } /* fake Amulet */ if (value == 0) { - pline(nothing_happens); + pline("%s",nothing_happens); return (1); } --- a/src/priest.c +++ b/src/priest.c @@ -363,8 +363,8 @@ msg1 = buf; } if (can_speak) { - verbalize(msg1); - if (msg2) verbalize(msg2); + verbalize("%s",msg1); + if (msg2) verbalize("%s",msg2); } if(!sanctum) { /* !tended -> !shrined */ @@ -433,7 +433,7 @@ priest->mcanmove = 1; } priest->mpeaceful = 0; - verbalize(cranky_msg[rn2(3)]); + verbalize("%s",cranky_msg[rn2(3)]); return; } --- a/src/questpgr.c +++ b/src/questpgr.c @@ -364,7 +364,7 @@ for (size = 0; size < qt_msg->size; size += (long)strlen(in_line)) { (void) dlb_fgets(in_line, 80, msg_file); convert_line(); - pline(out_line); + pline("%s",out_line); } } --- a/src/read.c +++ b/src/read.c @@ -156,14 +156,14 @@ stripspe(obj) register struct obj *obj; { - if (obj->blessed) pline(nothing_happens); + if (obj->blessed) pline("%s",nothing_happens); else { if (obj->spe > 0) { obj->spe = 0; if (obj->otyp == OIL_LAMP || obj->otyp == BRASS_LANTERN) obj->age = 0; Your("%s %s briefly.",xname(obj), otense(obj, "vibrate")); - } else pline(nothing_happens); + } else pline("%s",nothing_happens); } } @@ -320,7 +320,7 @@ if (obj->spe < 3) Your("marker seems permanently dried out."); else - pline(nothing_happens); + pline("%s",nothing_happens); } else if (is_blessed) { n = rn1(16,15); /* 15..30 */ if (obj->spe + n <= 50) @@ -378,7 +378,7 @@ if (obj->spe < 5) { obj->spe++; p_glow1(obj); - } else pline(nothing_happens); + } else pline("%s",nothing_happens); } break; case HORN_OF_PLENTY: @@ -1284,7 +1284,7 @@ cc.x = u.ux; cc.y = u.uy; if (getpos(&cc, TRUE, "the desired position") < 0) { - pline(Never_mind); + pline("%s",Never_mind); return 0; } if (!cansee(cc.x, cc.y) || distu(cc.x, cc.y) >= 32) { @@ -1433,7 +1433,7 @@ for(j=0; ; j++) { if (j >= 5) { - pline(thats_enough_tries); + pline("%s",thats_enough_tries); return; } do { @@ -1602,7 +1602,7 @@ } else { for(i = 0; ; i++) { if(i >= 5) { - pline(thats_enough_tries); + pline("%s",thats_enough_tries); return; } getlin("What monster do you want to genocide? [type the name]", @@ -1725,7 +1725,7 @@ if (cnt) pline("Sent in some %s.", makeplural(buf)); else - pline(nothing_happens); + pline("%s",nothing_happens); } } @@ -1845,7 +1845,7 @@ } while (++tries < 5); if (tries == 5) { - pline(thats_enough_tries); + pline("%s",thats_enough_tries); } else { (void) cant_create(&which, FALSE); whichpm = &mons[which]; --- a/src/region.c +++ b/src/region.c @@ -445,7 +445,7 @@ !regions[i]->attach_2_u && !inside_region(regions[i], x, y)) { clear_hero_inside(regions[i]); if (regions[i]->leave_msg != NULL) - pline(regions[i]->leave_msg); + pline("%s",regions[i]->leave_msg); if ((f_indx = regions[i]->leave_f) != NO_CALLBACK) (void) (*callbacks[f_indx])(regions[i], (genericptr_t) 0); } @@ -456,7 +456,7 @@ !regions[i]->attach_2_u && inside_region(regions[i], x, y)) { set_hero_inside(regions[i]); if (regions[i]->enter_msg != NULL) - pline(regions[i]->enter_msg); + pline("%s",regions[i]->enter_msg); if ((f_indx = regions[i]->enter_f) != NO_CALLBACK) (void) (*callbacks[f_indx])(regions[i], (genericptr_t) 0); } --- a/src/restore.c +++ b/src/restore.c @@ -737,7 +737,7 @@ else Sprintf(trickbuf, "This is level %d, not %d!", dlvl, lev); #ifdef WIZARD - if (wizard) pline(trickbuf); + if (wizard) pline("%s",trickbuf); #endif trickery(trickbuf); } --- a/src/shk.c +++ b/src/shk.c @@ -1345,7 +1345,7 @@ else Strcat(sbuf, "for gold picked up and the use of merchandise."); } else Strcat(sbuf, "for the use of merchandise."); - pline(sbuf); + pline("%s",sbuf); #ifndef GOLDOBJ if (u.ugold + eshkp->credit < dtmp) { #else --- a/src/sounds.c +++ b/src/sounds.c @@ -53,7 +53,7 @@ "the splashing of a naiad.", "a soda fountain!", }; - You_hear(fountain_msg[rn2(3)+hallu]); + You_hear("%s",fountain_msg[rn2(3)+hallu]); } #ifdef SINK if (level.flags.nsinks && !rn2(300)) { @@ -62,7 +62,7 @@ "a gurgling noise.", "dishes being washed!", }; - You_hear(sink_msg[rn2(2)+hallu]); + You_hear("%s",sink_msg[rn2(2)+hallu]); } #endif if (level.flags.has_court && !rn2(200)) { @@ -81,7 +81,7 @@ /* finding one is enough, at least for now */ int which = rn2(3)+hallu; - if (which != 2) You_hear(throne_msg[which]); + if (which != 2) You_hear("%s",throne_msg[which]); else pline(throne_msg[2], uhis()); return; } @@ -93,7 +93,7 @@ "smell marsh gas!", /* so it's a smell...*/ "hear Donald Duck!", }; - You(swamp_msg[rn2(2)+hallu]); + You("%s",swamp_msg[rn2(2)+hallu]); return; } if (level.flags.has_vault && !rn2(200)) { @@ -201,7 +201,7 @@ mon_in_room(mtmp, BARRACKS) && /* sleeping implies not-yet-disturbed (usually) */ (mtmp->msleeping || ++count > 5)) { - You_hear(barracks_msg[rn2(3)+hallu]); + You_hear("%s",barracks_msg[rn2(3)+hallu]); return; } } @@ -216,7 +216,7 @@ if (DEADMONSTER(mtmp)) continue; if ((mtmp->msleeping || is_animal(mtmp->data)) && mon_in_room(mtmp, ZOO)) { - You_hear(zoo_msg[rn2(2)+hallu]); + You_hear("%s",zoo_msg[rn2(2)+hallu]); return; } } @@ -234,7 +234,7 @@ "the chime of a cash register.", "Neiman and Marcus arguing!", }; - You_hear(shop_msg[rn2(2)+hallu]); + You_hear("%s",shop_msg[rn2(2)+hallu]); } return; } @@ -252,7 +252,7 @@ "someone say \"No more woodchucks!\"", "a loud ZOT!" /* both rec.humor.oracle */ }; - You_hear(ora_msg[rn2(3)+hallu*2]); + You_hear("%s",ora_msg[rn2(3)+hallu*2]); } return; } @@ -816,7 +816,7 @@ } if (pline_msg) pline("%s %s", Monnam(mtmp), pline_msg); - else if (verbl_msg) verbalize(verbl_msg); + else if (verbl_msg) verbalize("%s",verbl_msg); return(1); } --- a/src/spell.c +++ b/src/spell.c @@ -948,7 +948,7 @@ break; case SPE_JUMPING: if (!jump(max(role_skill,1))) - pline(nothing_happens); + pline("%s",nothing_happens); break; default: impossible("Unknown spell %d attempted.", spell); --- a/src/steed.c +++ b/src/steed.c @@ -58,7 +58,7 @@ /* Select an animal */ if (u.uswallow || Underwater || !getdir((char *)0)) { - pline(Never_mind); + pline("%s",Never_mind); return 0; } if (!u.dx && !u.dy) { --- a/src/teleport.c +++ b/src/teleport.c @@ -552,7 +552,7 @@ else tele(); (void) next_to_u(); } else { - You(shudder_for_moment); + You("%s",shudder_for_moment); return(0); } if (!trap) morehungry(100); @@ -663,7 +663,7 @@ * we let negative values requests fall into the "heaven" loop. */ if (Is_knox(&u.uz) && newlev > 0) { - You(shudder_for_moment); + You("%s",shudder_for_moment); return; } /* if in Quest, the player sees "Home 1", etc., on the status @@ -680,13 +680,13 @@ random_levtport: newlev = random_teleport_level(); if (newlev == depth(&u.uz)) { - You(shudder_for_moment); + You("%s",shudder_for_moment); return; } } if (!next_to_u()) { - You(shudder_for_moment); + You("%s",shudder_for_moment); return; } #ifdef WIZARD @@ -812,7 +812,7 @@ struct d_level target_level; if (!next_to_u()) { - You(shudder_for_moment); + You("%s",shudder_for_moment); return; } @@ -846,7 +846,7 @@ shieldeff(u.ux, u.uy); You_feel("a wrenching sensation."); } else if (!next_to_u()) { - You(shudder_for_moment); + You("%s",shudder_for_moment); } else if (trap->once) { deltrap(trap); newsym(u.ux,u.uy); /* get rid of trap symbol */ --- a/src/timeout.c +++ b/src/timeout.c @@ -31,7 +31,7 @@ register long i = (Stoned & TIMEOUT); if (i > 0L && i <= SIZE(stoned_texts)) - pline(stoned_texts[SIZE(stoned_texts) - i]); + pline("%s",stoned_texts[SIZE(stoned_texts) - i]); if (i == 5L) HFast = 0L; if (i == 3L) @@ -55,7 +55,7 @@ if ((((Vomiting & TIMEOUT) % 3L) == 2) && (i >= 0) && (i < SIZE(vomiting_texts))) - You(vomiting_texts[SIZE(vomiting_texts) - i - 1]); + You("%s",vomiting_texts[SIZE(vomiting_texts) - i - 1]); switch ((int) i) { case 0: @@ -102,7 +102,7 @@ if (index(str, '%')) pline(str, hcolor(NH_BLUE)); else - pline(str); + pline("%s",str); } } exercise(A_STR, FALSE); @@ -132,7 +132,7 @@ } else pline(str, an(Hallucination ? rndmonnam() : "green slime")); } else - pline(str); + pline("%s",str); } if (i == 3L) { /* limbs becoming oozy */ HFast = 0L; /* lose intrinsic speed */ --- a/src/trap.c +++ b/src/trap.c @@ -359,7 +359,7 @@ dont_fall = "are jerked back by your pet!"; } if (dont_fall) { - You(dont_fall); + You("%s",dont_fall); /* hero didn't fall through, but any objects here might */ impact_drop((struct obj *)0, u.ux, u.uy, 0); if (!td) { @@ -2498,7 +2498,7 @@ if (!resists_blnd(&youmonst)) { You("are momentarily blinded by a flash of light!"); make_blinded((long)rn1(5,10),FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } else if (!Blind) { You("see a flash of light!"); } else --- a/src/zap.c +++ b/src/zap.c @@ -1835,7 +1835,7 @@ check_unpaid(obj); /* zappable addition done by GAN 11/03/86 */ - if(!zappable(obj)) pline(nothing_happens); + if(!zappable(obj)) pline("%s",nothing_happens); else if(obj->cursed && !rn2(100)) { backfire(obj); /* the wand blows up in your face! */ exercise(A_STR, FALSE); @@ -1912,7 +1912,7 @@ if (!resists_blnd(&youmonst)) { You(are_blinded_by_the_flash); make_blinded((long)rnd(100),FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } break; @@ -2093,7 +2093,7 @@ You(are_blinded_by_the_flash); make_blinded((long)damage, FALSE); makeknown(obj->otyp); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } damage = 0; /* reset */ break; @@ -2373,7 +2373,7 @@ case SPE_STONE_TO_FLESH: if (Is_airlevel(&u.uz) || Is_waterlevel(&u.uz) || Underwater || (Is_qstart(&u.uz) && u.dz < 0)) { - pline(nothing_happens); + pline("%s",nothing_happens); } else if (u.dz < 0) { /* we should do more... */ pline("Blood drips on your %s.", body_part(FACE)); } else if (u.dz > 0 && !OBJ_AT(u.ux, u.uy)) { @@ -2384,7 +2384,7 @@ e = engr_at(u.ux, u.uy); if (!(e && e->engr_type == ENGRAVE)) { if (is_pool(u.ux, u.uy) || is_ice(u.ux, u.uy)) - pline(nothing_happens); + pline("%s",nothing_happens); else pline("Blood %ss %s your %s.", is_lava(u.ux, u.uy) ? "boil" : "pool", @@ -3463,7 +3463,7 @@ if (abstype == ZT_LIGHTNING && !resists_blnd(&youmonst)) { You(are_blinded_by_the_flash); make_blinded((long)d(nd,50),FALSE); - if (!Blind) Your(vision_clears); + if (!Blind) Your("%s",vision_clears); } stop_occupation(); nomul(0); @@ -3597,7 +3597,7 @@ if (ttmp) ttmp->tseen = 1; if (cansee(x,y)) msgtxt = "The water evaporates."; } - Norep(msgtxt); + Norep("%s",msgtxt); if (lev->typ == ROOM) newsym(x,y); } else if(IS_FOUNTAIN(lev->typ)) { if (cansee(x,y)) @@ -3721,12 +3721,12 @@ lev->doormask = new_doormask; unblock_point(x, y); /* vision */ if (cansee(x, y)) { - pline(see_txt); + pline("%s",see_txt); newsym(x, y); } else if (sense_txt) { - You(sense_txt); + You("%s",sense_txt); } else if (hear_txt) { - if (flags.soundok) You_hear(hear_txt); + if (flags.soundok) You_hear("%s",hear_txt); } if (picking_at(x, y)) { stop_occupation(); @@ -4111,7 +4111,7 @@ if (!otmp) { pline("Nothing fitting that description exists in the game."); if (++tries < 5) goto retry; - pline(thats_enough_tries); + pline("%s",thats_enough_tries); otmp = readobjnam((char *)0, (struct obj *)0, TRUE); if (!otmp) return; /* for safety; should never happen */ } else if (otmp == ¬hing) { --- a/win/gl/gl_conf.c +++ b/win/gl/gl_conf.c @@ -459,7 +459,7 @@ fprintf(fp, "!"); assert(opt->name); - fprintf(fp, opt->name); + fprintf(fp, "%s", opt->name); if (! (opt->flags & OFLG_Boolean)) fprintf(fp, ":%s", opt->value ? opt->value : ""); debian/patches/series0000644000000000000000000000030612141222677012035 0ustar 01-makefile-fix.patch 02-remove-guidebook-manpage.patch 03-startupfile-fix.patch 04-png-files-path.patch 05-var-dir-fix.patch 06-fix-manpages.patch 10-harden-build-flags.patch 20-ftbfs-649948.patch debian/patches/01-makefile-fix.patch0000644000000000000000000001261112141222677014422 0ustar From: Stefan Ritter Subject: Fixes to make it debian compatible --- Makefile | 59 +++++++++++++++++++++++++++++------------------------------ doc/Makefile | 18 +++++++++--------- 2 files changed, 38 insertions(+), 39 deletions(-) --- a/Makefile +++ b/Makefile @@ -14,18 +14,18 @@ # MAKE = make # make NetHack -PREFIX = /usr -GAME = glhack -# GAME = glhack.prg -GAMEUID = root -GAMEGRP = games +PREFIX = $(DESTDIR)/usr +GAME = glhack +# GAME = glhack.prg +GAMEUID = root +GAMEGRP = games # Permissions - some places use setgid instead of setuid, for instance # See also the option "SECURE" in include/config.h GAMEPERM = 02755 FILEPERM = 0644 -EXEPERM = 0755 -DIRPERM = 0755 +EXEPERM = 0755 +DIRPERM = 0755 VARFILEPERM = 0664 VARDIRPERM = 02775 @@ -37,10 +37,10 @@ # therefore there should not be anything in GAMEDIR that you want to keep # (if there is, you'll have to do the installation by hand or modify the # instructions) -GAMEDIR = $(PREFIX)/lib/games/$(GAME) -VARDIR = /var/lib/games/glhack -SHELLDIR = $(PREFIX)/bin -MANDIR = $(PREFIX)/share/man +GAMEDIR = $(PREFIX)/lib/games/$(GAME) +VARDIR = $(DESTDIR)/var/games/$(GAME) +SHELLDIR = $(PREFIX)/games +MANDIR = $(PREFIX)/share/man # per discussion in Install.X11 and Install.Qt # VARDATND = x11tiles NetHack.ad pet_mark.xbm @@ -54,16 +54,13 @@ # for GL VARDATND = -DATGL = glfont8.png glfont14.png glfont20.png glfont22.png \ - gltile16.png gltile32.png gltile64.png \ - gllogo.png glrip.png \ - glface16.lst glface32.lst +DATGL = glface16.lst glface32.lst VARDATD = data oracles options quest.dat rumors VARDAT = $(VARDATD) $(VARDATND) # Some versions of make use the SHELL environment variable as the shell -# for running commands. We need this to be a Bourne shell. +# for running commands. We need this to be a Bourne shell. # SHELL = /bin/sh # for Atari # SHELL=E:/GEMINI2/MUPFEL.TTP @@ -89,7 +86,7 @@ astral.lev air.lev earth.lev fire.lev water.lev QUEST_LEVS = ???-goal.lev ???-fil?.lev ???-loca.lev ???-strt.lev -DATNODLB = $(VARDATND) license +DATNODLB = $(VARDATND) # GL Hack DATNODLB += $(DATGL) @@ -192,21 +189,23 @@ dofiles: target=`sed -n \ - -e '/librarian/{' \ - -e 's/.*/dlb/p' \ - -e 'q' \ - -e '}' \ - -e '$$s/.*/nodlb/p' < dat/options` ; \ + -e '/librarian/{' \ + -e 's/.*/dlb/p' \ + -e 'q' \ + -e '}' \ + -e '$$s/.*/nodlb/p' < dat/options` ; \ $(MAKE) dofiles-$${target-nodlb} cp src/$(GAME) $(GAMEDIR) cp util/recover_glhack $(GAMEDIR) -rm -f $(SHELLDIR)/$(GAME) # [AJA] remove any old glhack binary (location changed in 1.2) - -rm -f $(PREFIX)/games/$(GAME) - sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \ - -e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \ - < win/gl/glhack.sh \ - > $(SHELLDIR)/$(GAME) +# -rm -f $(PREFIX)/games/$(GAME) +# sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \ +# -e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \ +# < win/gl/glhack.sh \ +# > $(SHELLDIR)/$(GAME) + cp win/gl/glhack.sh $(SHELLDIR)/$(GAME) + # set up their permissions -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover_glhack ; \ $(CHGRP) $(GAMEGRP) $(GAME) recover_glhack ) @@ -278,12 +277,12 @@ @echo "---- glHack INSTALLATION FINISHED ----" @echo @echo "The following manpages are available:" - @echo " glhack(6) glhackrc(5) nethack-guidebook(6)" + @echo " glhack(6) glhackrc(5) nethack-guidebook(6)" @echo @echo "If your OS is Debian or Mandrake Linux, you can install" @echo "the glHack desktop menu with one of these commands:" - @echo " su -c 'make debian_install'" - @echo " su -c 'make mandrake_install'" + @echo " su -c 'make debian_install'" + @echo " su -c 'make mandrake_install'" @echo @echo --- a/doc/Makefile +++ b/doc/Makefile @@ -10,7 +10,7 @@ # Some versions of col need -x to keep them from converting spaces to tabs; # some versions of col don't do the conversion by default and don't -# recognize the option. Sigh. +# recognize the option. Sigh. COLCMD = col -bx #COLCMD = col -b @@ -20,7 +20,7 @@ # Use the "cat" GUIDECMD if nroff and/or tbl and/or col are not installed # GUIDECMD = cat Guidebook.txt -GUIDECMD = tbl tmac.n Guidebook.mn | nroff | $(COLCMD) +GUIDECMD = tbl tmac.n Guidebook.mn | nroff -Tascii | $(COLCMD) # the basic guidebook Guidebook: Guidebook.mn @@ -38,8 +38,8 @@ GAME = nethack -MANDIR = /usr/man/man6 MANEXT = 6 +MANDIR = $(DESTDIR)$(PREFIX)/share/man/man$(MANEXT) # manual installation for most BSD-style systems GAMEMANCREATE = cp nethack.6 @@ -68,17 +68,17 @@ @echo "Plain text documentation is up to date." Guidebook.txt : Guidebook.mn tmac.n - tbl tmac.n Guidebook.mn | nroff | $(COLCMD) > Guidebook.txt + tbl tmac.n Guidebook.mn | nroff -Tascii | $(COLCMD) > Guidebook.txt nethack.txt : nethack.6 - nroff -man nethack.6 | $(COLCMD) > nethack.txt + nroff -Tascii -man nethack.6 | $(COLCMD) > nethack.txt lev_comp.txt : lev_comp.6 - nroff -man lev_comp.6 | $(COLCMD) > lev_comp.txt + nroff -Tascii -man lev_comp.6 | $(COLCMD) > lev_comp.txt dgn_comp.txt : dgn_comp.6 - nroff -man dgn_comp.6 | $(COLCMD) > dgn_comp.txt + nroff -Tascii -man dgn_comp.6 | $(COLCMD) > dgn_comp.txt recover.txt : recover.6 - nroff -man recover.6 | $(COLCMD) > recover.txt + nroff -Tascii -man recover.6 | $(COLCMD) > recover.txt dlb.txt : dlb.6 - nroff -man dlb.6 | $(COLCMD) > dlb.txt + nroff -Tascii -man dlb.6 | $(COLCMD) > dlb.txt clean: debian/patches/04-png-files-path.patch0000644000000000000000000000544112141222677014705 0ustar From: Stefan Ritter Subject: PNG files are now in /u/s/pixmaps, so we had to fix the paths in source diff -urNad glhack-1.2~/win/gl/gl_font.c glhack-1.2/win/gl/gl_font.c --- glhack-1.2~/win/gl/gl_font.c 2002-12-15 12:23:04.000000000 +0100 +++ glhack-1.2/win/gl/gl_font.c 2009-07-24 13:56:37.000000000 +0200 @@ -47,25 +47,25 @@ { case 8: if (! sdlgl_font_8) - sdlgl_font_8 = sdlgl_load_tileset("glfont8.png", 8,8, 1,0, + sdlgl_font_8 = sdlgl_load_tileset("/usr/share/pixmaps/glhack/glfont8.png", 8,8, 1,0, NULL,NULL); return sdlgl_font_8; case 14: if (! sdlgl_font_14) - sdlgl_font_14 = sdlgl_load_tileset("glfont14.png", 8,14, 1,0, + sdlgl_font_14 = sdlgl_load_tileset("/usr/share/pixmaps/glhack/glfont14.png", 8,14, 1,0, NULL,NULL); return sdlgl_font_14; case 20: if (! sdlgl_font_20) - sdlgl_font_20 = sdlgl_load_tileset("glfont20.png", 10,20, 1,0, + sdlgl_font_20 = sdlgl_load_tileset("/usr/share/pixmaps/glhack/glfont20.png", 10,20, 1,0, NULL,NULL); return sdlgl_font_20; case 22: if (! sdlgl_font_22) - sdlgl_font_22 = sdlgl_load_tileset("glfont22.png", 12,22, 1,0, + sdlgl_font_22 = sdlgl_load_tileset("/usr/share/pixmaps/glhack/glfont22.png", 12,22, 1,0, NULL,NULL); return sdlgl_font_22; diff -urNad glhack-1.2~/win/gl/gl_tile.c glhack-1.2/win/gl/gl_tile.c --- glhack-1.2~/win/gl/gl_tile.c 2002-12-15 12:21:34.000000000 +0100 +++ glhack-1.2/win/gl/gl_tile.c 2009-07-24 13:56:37.000000000 +0200 @@ -134,11 +134,11 @@ * removed and freed. */ if (iflags.wc_tile_height == 16) - sdlgl_tiles = sdlgl_load_tileset("gltile16.png", 16,16, 0,0, NULL,NULL); + sdlgl_tiles = sdlgl_load_tileset("/usr/share/pixmaps/glhack/gltile16.png", 16,16, 0,0, NULL,NULL); else if (iflags.wc_tile_height == 64) - sdlgl_tiles = sdlgl_load_tileset("gltile64.png", 48,64, 0,0, NULL,NULL); + sdlgl_tiles = sdlgl_load_tileset("/usr/share/pixmaps/glhack/gltile64.png", 48,64, 0,0, NULL,NULL); else - sdlgl_tiles = sdlgl_load_tileset("gltile32.png", 32,32, 0,0, NULL,NULL); + sdlgl_tiles = sdlgl_load_tileset("/usr/share/pixmaps/glhack/gltile32.png", 32,32, 0,0, NULL,NULL); assert(sdlgl_tiles); } @@ -152,7 +152,7 @@ int x, y; int w1, h1, w2, h2; - logo_set = sdlgl_load_tileset("gllogo.png", 16,16, 0,0, &logo_w, &logo_h); + logo_set = sdlgl_load_tileset("/usr/share/pixmaps/glhack/gllogo.png", 16,16, 0,0, &logo_w, &logo_h); assert(logo_set); @@ -308,7 +308,7 @@ do_load_tileset(); } - rip_set = sdlgl_load_tileset("glrip.png", 30,30, 0,1, &rip_w, &rip_h); + rip_set = sdlgl_load_tileset("/usr/share/pixmaps/glhack/glrip.png", 30,30, 0,1, &rip_w, &rip_h); assert(rip_set); debian/patches/05-var-dir-fix.patch0000644000000000000000000000105412141222677014214 0ustar From: Stefan Ritter Subject: Fixed path to vardir diff -urNad glhack-1.2~/include/unixconf.h glhack-1.2/include/unixconf.h --- glhack-1.2~/include/unixconf.h 2004-05-28 10:00:02.000000000 +0200 +++ glhack-1.2/include/unixconf.h 2009-07-24 13:57:20.000000000 +0200 @@ -102,7 +102,7 @@ * If you want the static parts of your playground on a read-only file * system, define VAR_PLAYGROUND to be where the variable parts are kept. */ -#define VAR_PLAYGROUND "/var/lib/games/glhack" +#define VAR_PLAYGROUND "/var/games/glhack" /* debian/patches/06-fix-manpages.patch0000644000000000000000000000337312141222677014452 0ustar From: Stefan Ritter Subject: escaped minus-signs in manpages diff -urNad glhack-1.2~/doc/glhack.6 glhack-1.2/doc/glhack.6 --- glhack-1.2~/doc/glhack.6 2003-01-08 06:49:58.000000000 +0100 +++ glhack-1.2/doc/glhack.6 2009-08-19 12:28:36.000000000 +0200 @@ -155,10 +155,10 @@ .PP They all begin with a double dash (`--'). Values are normally separated from the option with a space, like -"--depth 32". +"\-\-depth 32". .PP Alternatively, a value can be placed after an `=' sign without any -spaces, like "--depth=32". This should be used if the value begins +spaces, like "\-\-depth=32". This should be used if the value begins with a minus (`-') sign, otherwise the number will be mistaken as a new option. .PP @@ -180,7 +180,7 @@ .TP .BR --gamma =-2 Gamma correction value. -Range is -5 to +5, where positive values make the screen brighter, +Range is \-5 to +5, where positive values make the screen brighter, and negative values make it darker. Zero is the default (no adjustment). .TP @@ -216,7 +216,7 @@ String predefining several glHack-specific options. .TP NETHACKDIR -Playground directory (see -d option above). +Playground directory (see \-d option above). .PP In addition, SHOPTYPE is used in debugging (wizard) mode. .SH SECURITY diff -urNad glhack-1.2~/doc/glhackrc.5 glhack-1.2/doc/glhackrc.5 --- glhack-1.2~/doc/glhackrc.5 2003-01-08 06:49:58.000000000 +0100 +++ glhack-1.2/doc/glhackrc.5 2009-08-19 12:26:33.000000000 +0200 @@ -68,7 +68,7 @@ Open in a window. Default is fullscreen. .TP .B gamma:+1 -Gamma correction value. Range is -5 to +5, where +Gamma correction value. Range is \-5 to +5, where positive values make the screen brighter, and negative values make it darker. Zero is the default value (no adjustment). debian/patches/20-ftbfs-649948.patch0000644000000000000000000000120012141222677013743 0ustar From: Nobuhiro Iwamatsu Subject: FTBFS by libpng 1.5 (Closes: #649948) Bug-Debian: http://bugs.debian.org/649948 --- win/gl/gl_image.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/win/gl/gl_image.c +++ b/win/gl/gl_image.c @@ -486,7 +486,11 @@ /* set error handling since we are using the setjmp/longjmp method * (this is the normal method of doing things with libpng). */ +#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 + if ( setjmp(png_jmpbuf(png_ptr)) ) +#else if (setjmp(png_ptr->jmpbuf)) +#endif { sdlgl_warning("Problem within LibPNG (unknown)\n"); goto failed; debian/patches/03-startupfile-fix.patch0000644000000000000000000000125012141222677015206 0ustar From: Stefan Ritter Subject: The old script was weird diff -urNad glhack-1.2~/win/gl/glhack.sh glhack-1.2/win/gl/glhack.sh --- glhack-1.2~/win/gl/glhack.sh 2002-01-11 14:10:31.000000000 +0100 +++ glhack-1.2/win/gl/glhack.sh 2009-07-23 21:16:46.000000000 +0200 @@ -1,14 +1,3 @@ #!/bin/sh -# SCCS Id: @(#)nethack.sh 3.3 90/02/26 -HACKDIR=/usr/games/lib/nethackdir -export HACKDIR -HACK=$HACKDIR/nethack - -# -AJA- removed HACKPAGER stuff, unused in glHack. -# -# Note: the above HACKDIR directory gets modified to the actual -# directory by the top-level Makefile during installation. - -cd $HACKDIR -exec $HACK "$@" +exec /usr/lib/games/glhack/glhack debian/docs0000644000000000000000000000006312141222677010044 0ustar doc/Guidebook.txt NEWS.GL README README.GL TODO.GL debian/glhack.xpm0000644000000000000000000000237712141222677011162 0ustar /* XPM */ static char * glhack_xpm[] = { "32 32 5 1", " c None", ". c #FFFFFF", "+ c #DADAB6", "@ c #6C91B6", "# c #476C6C", " . .+..++.++ + ", " .. .....+.++++++ ++ ", " ... ....+..++.+++++ +++ ", ". ..........+.+++++++++++ ++", "... ........+..++.+++++++++ ++++", "... ..........+.+++++++++++ ++++", "@###..@@@@@@#@@##@#######++ ##", "@###..@@@@@@@@#@#########++ ##", "...#..@@@@@@#@@##@#######++ ++++", "...#..@@@@@@@@#@#########++ ++++", ".###..@@@@@@#@@##@#######++ ++", " ..@@@@@@@@#@#########++ ", " ..@@@@@@#@@##@#######++ ", " ..@@@@@@@@#@#########++ ", " ..@@@@@@#@@##@#######++ ", " ..@@@@@@@@#@#########++ ", " ..@@@@@@#@@##@#######++ ", " ..@@@@@@@@#@#########++ ", " ..@@@@@#@@##@######++ ", " ..@@@@@@@#@########++ ", " ..@@@@#@@##@#####++ ", " ..@@@@@@#@#######++ ", " ..@..@@@#@@##@####++ ++ ", " ...@..@@@@@#@#####++ +++ ", " ....##..@@#@@##@##++ ++++ ", " ...@@.. ..@@@#@###++ ++@@+++ ", "...@@@.. ..#@@##@++ ++@@#+++ ", ".@@@##++ ....++++ ++##@##++", ".@@@##++ ...+++ ++##@@#++", ".@@@#+++ ..++ ++##@@#++", "....+++ +++++++ ", "....++ +++++++ "}; debian/desktop0000644000000000000000000000023112141222677010562 0ustar [Desktop Entry] Encoding=UTF-8 Name=glhack Comment=Fullscreen SDL/OpenGL version of NetHack Exec=glhack Type=Application Terminal=false Categories=Games debian/glhack.postinst0000644000000000000000000000074212141222677012233 0ustar #!/bin/sh # postinstall script for glhack set -e if [ -x /usr/bin/update-menus ] ; then update-menus ; fi dpkg-statoverride --update --add root games 2775 /var/games/glhack dpkg-statoverride --update --add root games 2775 /var/games/glhack/save dpkg-statoverride --update --add root games 2664 /var/games/glhack/logfile dpkg-statoverride --update --add root games 2664 /var/games/glhack/perm dpkg-statoverride --update --add root games 2664 /var/games/glhack/record #DEBHELPER# debian/source/0000755000000000000000000000000012141222677010472 5ustar debian/source/format0000644000000000000000000000001412141222677011700 0ustar 3.0 (quilt) debian/glhack.postrm0000644000000000000000000000124612141222677011674 0ustar #!/bin/sh # postrm script for glhack set -e if dpkg-statoverride --list /var/games/glhack > /dev/null; then dpkg-statoverride --remove /var/games/glhack fi if dpkg-statoverride --list /var/games/glhack/save > /dev/null; then dpkg-statoverride --remove /var/games/glhack/save fi if dpkg-statoverride --list /var/games/glhack/logfile > /dev/null; then dpkg-statoverride --remove /var/games/glhack/logfile fi if dpkg-statoverride --list /var/games/glhack/perm > /dev/null; then dpkg-statoverride --remove /var/games/glhack/perm fi if dpkg-statoverride --list /var/games/glhack/record > /dev/null; then dpkg-statoverride --remove /var/games/glhack/record fi #DEBHELPER# debian/compat0000644000000000000000000000000212141222677010370 0ustar 9 debian/copyright0000644000000000000000000004224612141222677011135 0ustar This package was debianized by Stefan Ritter on Thu, 23 Jul 2009 15:41:18 +0200. The source can be downloaded from http://glhack.sourceforge.net/. Authors: Andrew Apted Files: debian/* Copyright: © 2009 by Stefan Ritter License: GPL-2+ Files: include/q2* Copyright: © 1997 - 2001 by Id Software, Inc. License: GPL-2+ Files: tools/edtile/* Copyright: © 2001 - 2002 by Andrew Apted License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. . On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-2 file. Files: include/winGL.h, win/gl/* Copyright: © 2002 by Andrew Apted License: Nethack Files: * Copyright: © 1994 - 1999 by the Nethack Development Team License: Nethack Files: dat/Arch.des, dat/Barb.des, dat/Caveman.des, dat/Healer.des, dat/Knight.des, dat/Monk.des, dat/Priest.des, dat/Ranger.des, dat/Samurai.des, dat/Tourist.des, dat/Valkyrie.des, dat/bigroom.des, dat/castle.des, dat/endgame.des, dat/gehennom.des, dat/knox.des, dat/medusa.des, dat/mines.des, dat/tower.des, include/rect.h, include/region.h, include/sp_lev.h, src/dbridge.c, src/mkmap.c, src/music.c, src/rect.c, src/region.c, src/sp_lev.c, sys/share/dgn_yacc.c, sys/share/lev_yacc.c, util/dgn_comp.3, util/dgn_comp.y, util/dgn_main.c, util/lev_comp.l, util/lev_comp.y, util/lev_main.c Copyright: © 1989 - 1996 by Jean-Christophe Collet License: Nethack Files: dat/Arch.des, dat/Barb.des, dat/Caveman.des, dat/Healer.des, dat/Knight.des, dat/Monk.des, dat/Priest.des, dat/Ranger.des, dat/Samurai.des, dat/Tourist.des, dat/Valkyrie.des, dat/bigroom.des, dat/dungeon.des, dat/gehennom.des, dat/medusa.des, dat/mines.des, dat/quest.txt, dat/yendor.des, include/align.h, include/attrib.h, include/dgn_file.h, include/monattk.h, include/qtext.h, include/quest.h, include/spell.h, src/attrib.c, src/dokick.c, src/mkmap.c, src/pray.c, src/quest.c, src/questpgr.c, src/spell.c, sys/share/dgn_yacc.c, util/dgn_comp.l, util/dgn_comp.y, util/dgn_main.c, util/makedefs.c, win/X11/nh56icon, win/X11/nh72icon Copyright: © 1986 - 1995 by Mike Stephenson License: Nethack Files: dat/Rogue.des, include/beconf.h, include/display.h, include/timeout.h, include/vision.h, include/winX.h, include/xwindow.h, include/xwindowp.h, src/display.c, src/light.c, src/vision.c, sys/be/bemain.c, sys/mac/NHDeflts, util/makedefs.c, win/X11/Windows.c, win/X11/winX.c, win/X11/win* Copyright: © 1990 - 2002 by Dean Luick License: Nethack Files: dat/Wizard.des, dat/endgame.des, include/emin.h, include/winprocs.h, include/wintty.h, include/wintype.h, src/mapglyph.c, src/mkmap.c, src/windows.c, win/tty/wintty.c Copyright: © 1990 - 1993 by David Cohrs License: Nethack Files: dat/data.base Copyright: © 1994 by Boudewijn Wayers License: Nethack Files: dat/endgame.des, dat/gehennom.des, dat/knox.des, dat/yendor.des, include/align.h, include/epri.h, src/dokick.c, src/mplayer.c, src/priest.c Copyright: © 1989 - 1993 by Izchak Miller License: Nethack Files: dat/sokoban.des, src/steed.c, sys/mac/NHDeflts Copyright: © 1998 - 2002 by Kevin Hugo License: Nethack Files: include/amiconf.h, include/dlb.h, include/winami.h, src/dlb.c, sys/amiga/Makefile.*, sys/amiga/amidoc.c, sys/amiga/amidos.p, sys/amiga/amimenu.c, sys/amiga/amirip.c, sys/amiga/amitty.c, sys/amiga/amiwind.c, sys/amiga/ifchange, sys/amiga/winchar.c util/dlb_main.c Copyright: © 1990 - 1996 by Kenneth Lorber License: Nethack Files: include/artifact.h, include/artilist.h, include/config.h, include/config1.h, include/coord.h, include/decl.h, include/dungeon.h, include/edog.h, include/engrave.h, include/eshk.k, include/flag.h, include/func_tab.h, include/global.h, include/hack.h, include/lev.h, include/mac-carbon.h, include/mac-qt.h, include/mac-term.h, include/macconf.h, include/macwin.h, include/mfndpos.h, include/mkroom.h, include/monst.h, include/obj.h, include/objclass.h, include/os2conf.h, include/patchlevel.h, include/pcconf.h, include/permonst.h, include/rm.h, include/skills.h, include/system.h, include/tcap.h, include/tosconf.h, include/tradstdc.h, include/trap.h, include/unixconf.h, include/vault.h, include/vmsconf.h, include/you.h, src/allmain.c, src/alloc.c, src/apply.c, src/artifact.c, src/ball.c, src/bones.c, src/botl.c, src/cmd.c, src/decl.c, src/detect.c, src/dig.c, src/do.c, src/do_name.c, src/do_wear.c, src/dog.c, src/dogmove.c, src/dothrow.c, src/dungeon.c, src/eat.c, src/end.c, src/engrave.c, src/exper.c, src/files.c, src/hack.c, src/hacklib.c, src/invent.c, src/lock.c, src/mail.c, src/makemon.c, src/mcastu.c, src/mhitm.c, src/mhitu.c, src/minion.c, src/mklev.c, src/mkmaze.c, src/mkobj.c, src/mkroom.c, src/mon.c, src/mondata.c, src/monmove.c, src/monst.c, src/mthrowu.c, src/o_init.c, src/objnam.c, src/options.c, src/pager.c, src/pickup.c, src/pline.c, src/potion.c, src/read.c, src/restore.c, src/rip.c, src/role.c, src/rumors.c, src/save.c, src/shk.c, src/skhnam.c, src/sit.c, src/steal.c, src/teleport.c, src/timeout.c, src/topten.c, src/track.c, src/trap.c, src/u_init.c, src/uhitm.c, src/vault.c, src/version.c, src/weapon.c, src/were.c, src/wield.c, src/wizard.c, src/worm.c, src/worn.c, src/zap.c, sys/mac/macmain.c, sys/mac/mactopl.c, sys/mac/macunix.c, sys/mac/mgetline.c, sys/share/ioctl.c, sys/share/pcmain.c, sys/share/pctty.c, sys/share/pcunix.c, sys/share/unixtty.c, sys/unix/unixmain.c, sys/unix/unixunix.c, sys/vms/vmsfiles.c, sys/vms/vmsmain.c, sys/vms/vmstty.c, sys/vms/vmsunix.c, util/makedefs.c, util/panic.c win/Qt/Info.plist, win/tty/getline.c, win/tty/termcap.c, win/tty/topl.c Copyright: © 1985 - 2003 by the Stichting Mathematisch Centrum, Amsterdam License: Nethack Files: sys/unix/unixres.c Copyright: © 2001 by th Slash'EM development team License: Nethack Files: include/color.h Copyright: © 1989 by Eric Raymond License: Nethack Files: include/color.h Copyright: © 1989 by Steve Linhart License: Nethack Files: include/def_os2.h, include/os2conf.h, sys/os2/os2.c Copyright: © 1990 - 1996 by Timo Hakulinen License: Nethack Files: include/extern.h Copyright: © 1988 by Steve Creps License: Nethack Files: include/mactty.h, include/mttypriv.h, sys/mac/dprintf.c, sys/mac/maccurs.c, sys/mac/macfile.c, sys/mac/macsnd.c, sys/mac/mactty.c, sys/mac/macwin.c, sys/mac/mmodal.c, sys/mac/mttymain.c Copyright: © 1992 - 1993 by Jon W{tte License: Nethack Files: include/mondata.h, include/monflag.h, include/prop.h, include/youprop.h, src/objects.c, src/sounds.c Copyright: © 1989 by Mike Threepoint License: Nethack Files: include/nhlan.h, sys/share/nhlan.c, sys/wince/bootstrp.mak, sys/winnt/mapimail.c Copyright: © 1997 - 2002 by Michael Allison License: Nethack Files: include/qt_clust.h, include/qt_kde0.h, include/qt_win.h, win/Qt/qpe-nethack.control, win/Qt/qt_clust.cpp, win/Qt/qt_win.cpp, win/Qt/tileedit.* Copyright: © 1999 by Warwick Allison License: Nethack Files: include/trampoli.h Copyright: © 1989 by Norm Meluch and Stephen Spackman License: Nethack Files: include/winGnome.h, win/gnome/gn_xpms.h, win/gnome/gnaskstr.*, win/gnome/gnbind.*, win/gnome/gnglyph.*, win/gnome/gnmain.*, win/gnome/gnmap.*, win/gnome/gnmenu.*, win/gnome/gnmesg.*, win/gnome/gnomeprv.h, win/gnome/gnopts.*, win/gnome/gnplayer.*, win/gnome/gnstatus.*, win/gnome/gntext.*, win/gnome/gnyesno.* Copyright: © 1998 by Erik Andersen License: Nethack Files: include/winGnome.h, win/gnome/gnmap.c, win/gnome/gnsignal.* Copyright: © 1998 Anthony Taylor License: Nethack Files: win/gnome/gnworn.* Copyright: © 2002 by Dylan Alex Simon License: Nethack Files: win/share/gifread.c Copyright: © 1990 by David Koblas License: Nethack Files: include/winami.h Copyright: © 1992 - 1993 by Gregg Wonderly License: Nethack Files: include/wingem.h, win/gem/gr_rect.c, win/gem/wingem*, win/gem/xpm2img.c Copyright: © 1999 - 2002 by Christian Bressler License: Nethack Files: src/dokick.c, src/priest.c Copyright: © 1989 by Steve Linhart License: Nethack Files: src/explode.c, src/extralev.c, src/muse.c, src/polyself.c Copyright: © 1987 - 1990 by Ken Arromdee License: Nethack Files: src/fountain.c Copyright: © 1986 by Scott R. Turner License: Nethack Files: src/hacklib.c, sys/share/tclib.c, sys/vms/oldcrtl.c, sys/vms/vmsmail.c, win/X11/nh32icon Copyright: © 1990 - 1995 by Robert Patrick Rankin License: Nethack Files: src/pray.c Copyright: © 1989 by Benson I. Margulies License: Nethack Files: src/sounds.c, util/recover.c Copyright: © 1989 - 1992 by Janet Walz License: Nethack Files: sys/amiga/amidoc.c, sys/amiga/amimenu.c, sys/amiga/amiwind.c, sys/amiga/winchar.c Copyright: © 1988 - 1990 by Olaf Seibert License: Nethack Files: sys/amiga/amigst.c, sys/amiga/amisnd.c, sys/amiga/amiwind.p, sys/amiga/txt2iff.c, sys/amiga/winami.c, sys/amiga/winami.p, sys/amiga/winchar.c, sys/amiga/windefs.h, sys/amiga/winext.h, sys/amiga/winfuncs.h, sys/amiga/winkey.c, sys/amiga/winmenu.c, sys/amiga/winproto.h, sys/amiga/winreq.c, sys/amiga, winstr.c, sys/amiga/xpm2iff.c Copyright: © 1991 - 1996 by Gregg Wonderly License: Nethack Files: sys/amiga/amimenu.c, sys/amiga/amistack.c Copyright: © 2000 by Janne Salmij.rvi License: Nethack Files: sys/amiga/cvtsnd.c, sys/amiga/mkdmake Copyright: © 1994 - 1996 by Andrew Church License: Nethack Files: sys/mac/NHDeflts Copyright: © 2002 by Mark Modrall License: Nethack Files: sys/mac/macerrs.c Copyright: © 1991 by Michael Hamel Licence: Nethack Files: sys/mac/macfile.c, sys/mac/macwin.c, sys/mac/mmodal.c Copyright: © 1992 by Hao-Yang Wang and Jonathan Handler License: Nethack Files: sys/mac/mrecover.c Copyright: © 1993 by David Hairston License: Nethack Files: sys/msdos/Makefile.BC, sys/msdos/schema1.BC, sys/msdos/schema2.BC, sys/winnt/console.rc Copyright: © 1999 - 2003 by Yitzhak Sapir License: Nethack Files: sys/wince/Install.ce, sys/wince/celib.c, sys/wince/cesetup.bat, sys/wince/mhaskyn.*, sys/wince/mhcolor.*, sys/wince/mhdlg.*, sys/wince/mhfont.*, sys/wince/mhinput.*, sys/wince/mhmain.*, sys/wince/mcmap.*, sys/wince/mhmsg*, sys/wince/mhrip.*, sys/wince/mhstatus.*, sys/wince/mht*, sys/wince/mswproc.c, sys/wince/winMS.h, sys/wince/winhack.c, win/win32/mhaskyn.*, win/win32/mhdlg.*, win/win32/mhfont.*, win/win32/mhinput.*, win/win32/mhmain.*, win/win32/mhmap.*, win/win32/mhmenu.*, win/win32/mhmsgwnd.*, win/win32/mhrip.*, win/win32/mhsplash.*, win/win32/mhstatus.*, win/win32/mhtext.*, win/win32/mswproc.c, win/win32/winMS.h, win/win32/winhack.c Copyright: © 2001 - 2003 by Alex Kompel License: Nethack NETHACK GENERAL PUBLIC LICENSE (Copyright 1989 M. Stephenson) (Based on the BISON general public license, copyright 1988 Richard M. Stallman) Everyone is permitted to copy and distribute verbatim copies of this license, but changing it is not allowed. You can also use this wording to make the terms for other programs. The license agreements of most software companies keep you at the mercy of those companies. By contrast, our general public license is intended to give everyone the right to share NetHack. To make sure that you get the rights we want you to have, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. Hence this license agreement. Specifically, we want to make sure that you have the right to give away copies of NetHack, that you receive source code or else can get it if you want it, that you can change NetHack or use pieces of it in new free programs, and that you know you can do these things. To make sure that everyone has such rights, we have to forbid you to deprive anyone else of these rights. For example, if you distribute copies of NetHack, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. Also, for our own protection, we must make certain that everyone finds out that there is no warranty for NetHack. If NetHack is modified by someone else and passed on, we want its recipients to know that what they have is not what we distributed. Therefore we (Mike Stephenson and other holders of NetHack copyrights) make the following terms which say what you must do to be allowed to distribute or change NetHack. COPYING POLICIES 1. You may copy and distribute verbatim copies of NetHack source code as you receive it, in any medium, provided that you keep intact the notices on all files that refer to copyrights, to this License Agreement, and to the absence of any warranty; and give any other recipients of the NetHack program a copy of this License Agreement along with the program. 2. You may modify your copy or copies of NetHack or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above (including distributing this License Agreement), provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) cause the whole of any work that you distribute or publish, that in whole or in part contains or is a derivative of NetHack or any part thereof, to be licensed at no charge to all third parties on terms identical to those contained in this License Agreement (except that you may choose to grant more extensive warranty protection to some or all third parties, at your option) c) You may charge a distribution fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 3. You may copy and distribute NetHack (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with full information as to how to obtain the complete machine-readable source code from an appropriate archive site. (This alternative is allowed only for noncommercial distribution.) For these purposes, complete source code means either the full source distribution as originally released over Usenet or updated copies of the files in this distribution used to create the object code or executable. 4. You may not copy, sublicense, distribute or transfer NetHack except as expressly provided under this License Agreement. Any attempt otherwise to copy, sublicense, distribute or transfer NetHack is void and your rights to use the program under this License agreement shall be automatically terminated. However, parties who have received computer software programs from you with this License Agreement will not have their licenses terminated so long as such parties remain in full compliance. Stated plainly: You are permitted to modify NetHack, or otherwise use parts of NetHack, provided that you comply with the conditions specified above; in particular, your modified NetHack or program containing parts of NetHack must remain freely available as provided in this License Agreement. In other words, go ahead and share NetHack, but don't try to stop anyone else from sharing it farther. Files: sys/share/random.c, sys/share/uudecode.c Copyright: © 1983 by Reagents of the University of California License: BSD Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by the University of California, Berkeley. The name of the University may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. debian/control0000644000000000000000000000157112141222677010601 0ustar Source: glhack Section: games Priority: extra Maintainer: Debian QA Group Homepage: http://glhack.sourceforge.net/ Build-Depends: debhelper (>= 9), bison, flex, libsdl1.2-dev, libncurses5-dev, libpng-dev Standards-Version: 3.9.4 Package: glhack Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Fullscreen SDL/OpenGL version of NetHack glHack is a port of the game NetHack, using hardware acceleration via OpenGL(R) to render the 2D tile graphics. It uses LibSDL as the video and input library. There is good support for software rendering (without OpenGL) as well. . glHack is just one of the many NetHack front-ends. Others include the original text-terminal (TTY) version, one for the X Window System, and one for GNOME called GnomeHack. . See the official NetHack website for complete information about the actual game.