diff -Pru slashem-0.0.7E1/include/config.h noegnud-0.8.0-slashem-0.0.7E1/include/config.h --- slashem-0.0.7E1/include/config.h 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/include/config.h 2003-06-03 20:36:19.000000000 +0200 @@ -50,7 +50,7 @@ * Define all of those you want supported in your binary. * Some combinations make no sense. See the installation document. */ -#define TTY_GRAPHICS /* good old tty based graphics */ +/* #define TTY_GRAPHICS */ /* good old tty based graphics */ /* #define X11_GRAPHICS */ /* X11 interface */ /* #define QT_GRAPHICS */ /* Qt Interface */ /* #define KDE */ /* KDE Interface */ @@ -60,6 +60,7 @@ /* #define MSWIN_GRAPHICS */ /* Windows NT, CE, Graphics */ /* #define GL_GRAPHICS */ /* OpenGL graphics */ /* #define SDL_GRAPHICS */ /* Software SDL graphics */ +#define NOEGNUD_GRAPHICS /* * Define the default window system. This should be one that is compiled @@ -170,6 +171,13 @@ # endif #endif +#ifdef NOEGNUD_GRAPHICS +# define DEFAULT_WINDOW_SYS "noegnud" +# define USER_SOUNDS +# define USER_SOUNDS_REGEX +# define POSITIONBAR +#endif + #ifndef DEFAULT_WINDOW_SYS # define DEFAULT_WINDOW_SYS "tty" #endif @@ -247,7 +252,7 @@ * a tar-like file, thus making a neater installation. See *conf.h * for detailed configuration. */ -/* #define DLB */ /* not supported on all platforms */ +#define DLB /* not supported on all platforms */ /* * Defining INSURANCE slows down level changes, but allows games that diff -Pru slashem-0.0.7E1/include/flag.h noegnud-0.8.0-slashem-0.0.7E1/include/flag.h --- slashem-0.0.7E1/include/flag.h 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/include/flag.h 2003-06-03 20:36:19.000000000 +0200 @@ -193,7 +193,7 @@ boolean sanity_check; /* run sanity checks */ boolean mon_polycontrol; /* debug: control monster polymorphs */ #endif -#ifdef TTY_GRAPHICS +#if defined(TTY_GRAPHICS) || defined(NOEGNUD_GRAPHICS) char prevmsg_window; /* type of old message window to use */ boolean extmenu; /* extended commands use menu interface */ #endif diff -Pru slashem-0.0.7E1/src/cmd.c noegnud-0.8.0-slashem-0.0.7E1/src/cmd.c --- slashem-0.0.7E1/src/cmd.c 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/src/cmd.c 2003-06-03 20:36:19.000000000 +0200 @@ -367,8 +367,9 @@ } #endif -#if defined(TTY_GRAPHICS) || defined(GL_GRAPHICS) || defined(SDL_GRAPHICS) -#define MAX_EXT_CMD 40 /* Change if we ever have > 40 ext cmds */ +#if defined(TTY_GRAPHICS) || defined(GL_GRAPHICS) || defined(SDL_GRAPHICS) || defined(NOEGNUD_GRAPHICS) +/* Entro-P: wierd i had to raise this :D */ +#define MAX_EXT_CMD 45 /* Change if we ever have > 40 ext cmds */ /* * This is currently used only by the tty port and is * controlled via runtime option 'extmenu' diff -Pru slashem-0.0.7E1/src/options.c noegnud-0.8.0-slashem-0.0.7E1/src/options.c --- slashem-0.0.7E1/src/options.c 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/src/options.c 2003-06-03 20:36:19.000000000 +0200 @@ -87,7 +87,7 @@ {"DECgraphics", (boolean *)0, FALSE, SET_IN_FILE}, #endif {"eight_bit_tty", &iflags.wc_eight_bit_input, FALSE, SET_IN_GAME}, /*WC*/ -#ifdef TTY_GRAPHICS +#if defined(TTY_GRAPHICS) || defined(NOEGNUD_GRAPHICS) {"extmenu", &iflags.extmenu, FALSE, SET_IN_GAME}, #else {"extmenu", (boolean *)0, FALSE, SET_IN_FILE}, diff -Pru slashem-0.0.7E1/src/windows.c noegnud-0.8.0-slashem-0.0.7E1/src/windows.c --- slashem-0.0.7E1/src/windows.c 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/src/windows.c 2003-06-03 20:36:19.000000000 +0200 @@ -60,6 +60,9 @@ #ifdef MSWIN_GRAPHICS extern struct window_procs mswin_procs; #endif +#ifdef NOEGNUD_GRAPHICS +extern struct window_procs noegnud_procs; +#endif STATIC_DCL void FDECL(def_raw_print, (const char *s)); @@ -113,6 +116,9 @@ #ifdef MSWIN_GRAPHICS { &mswin_procs, 0 }, #endif +#ifdef NOEGNUD_GRAPHICS + { &noegnud_procs, 0 }, +#endif { 0, 0 } /* must be last */ }; diff -Pru slashem-0.0.7E1/sys/unix/Makefile.doc noegnud-0.8.0-slashem-0.0.7E1/sys/unix/Makefile.doc --- slashem-0.0.7E1/sys/unix/Makefile.doc 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/sys/unix/Makefile.doc 2003-06-03 20:36:19.000000000 +0200 @@ -49,7 +49,7 @@ # Guidebook.dvi: Guidebook.mn # tbl tmac.n Guidebook.mn | groff -Wall -Tdvi > Guidebook.dvi -GAME = slashem +GAME = slashem-noegnud #GAME = nethack MANDIR = /games/slash/doc MANEXT = 1n diff -Pru slashem-0.0.7E1/sys/unix/Makefile.src noegnud-0.8.0-slashem-0.0.7E1/sys/unix/Makefile.src --- slashem-0.0.7E1/sys/unix/Makefile.src 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/sys/unix/Makefile.src 2003-06-03 20:36:53.000000000 +0200 @@ -58,7 +58,7 @@ # if you get setcgtty() warnings during execution, you are feeding gcc # a non-ANSI -- either run fixincludes on it or use # -traditional in CFLAGS -# CC = gcc +CC = gcc # # For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following: # @@ -117,8 +117,15 @@ # flags for Linux # compile normally -# CFLAGS = -O2 -fomit-frame-pointer -I../include -# LFLAGS = -L/usr/X11R6/lib + +COMMON_CFLAGS = -DSLASHEM_0_0_7E1 -fomit-frame-pointer -I../include `sdl-config --cflags` + +STD_CFLAGS = -O2 -ffast-math $(COMMON_CFLAGS) +DBG_CFLAGS = -g -Wall -DNOEGNUDDEBUG $(COMMON_CFLAGS) + +CFLAGS = $(STD_CFLAGS) + +LFLAGS = -L/usr/X11R6/lib # OR compile backwards compatible a.out format # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib @@ -145,8 +146,8 @@ # flags for debugging: # CFLAGS = -g -I../include -CFLAGS = -O -I../include -LFLAGS = +#CFLAGS = -O -I../include +#LFLAGS = # QT windowing system # SuSE 6.1 @@ -273,9 +274,68 @@ gl_text.o gl_tile.o gl_unit.o gl_win.o tile.o SDLGL_CFLAGS = `sdl-config --cflags` +# Files for Entro-P's OpenGL 3D interface :: slashem-noegnud + +WINNOEGNUDCFLAGS = +WINNOEGNUDLIB = `sdl-config --libs` -lSDL_image -lSDL_mixer -lGL -lGLU + +NOEGNUD = ../win/noegnud/noegnud + +WINNOEGNUDSRC = $(NOEGNUD)_interface.c \ + $(NOEGNUD)_common.c \ + $(NOEGNUD)_glfuncs.c \ + $(NOEGNUD)_collection.c \ + $(NOEGNUD)_tilesets.c \ + $(NOEGNUD)_gui.c \ + $(NOEGNUD)_rip.c \ + $(NOEGNUD)_options.c \ + $(NOEGNUD)_typeloader.c \ + $(NOEGNUD)_fonts.c \ + $(NOEGNUD)_gff_tga.c \ + $(NOEGNUD)_render.c \ + $(NOEGNUD)_render_char.c \ + $(NOEGNUD)_render_tile.c \ + $(NOEGNUD)_render_3d.c \ + $(NOEGNUD)_lang.c \ + $(NOEGNUD)_debug.c \ + $(NOEGNUD)_mem.c \ + $(NOEGNUD)_reference.c \ + $(NOEGNUD)_textcolour.c \ + $(NOEGNUD)_textcolouring.c \ + $(NOEGNUD)_sound.c \ + $(NOEGNUD)_widgettheme.c \ + tile.c +WINNOEGNUDOBJ = $(NOEGNUD)_interface.o \ + $(NOEGNUD)_common.o \ + $(NOEGNUD)_glfuncs.o \ + $(NOEGNUD)_collection.o \ + $(NOEGNUD)_tilesets.o \ + $(NOEGNUD)_gui.o \ + $(NOEGNUD)_rip.o \ + $(NOEGNUD)_options.o \ + $(NOEGNUD)_typeloader.o \ + $(NOEGNUD)_fonts.o \ + $(NOEGNUD)_gff_tga.o \ + $(NOEGNUD)_render.o \ + $(NOEGNUD)_render_char.o \ + $(NOEGNUD)_render_tile.o \ + $(NOEGNUD)_render_3d.o \ + $(NOEGNUD)_lang.o \ + $(NOEGNUD)_debug.o \ + $(NOEGNUD)_mem.o \ + $(NOEGNUD)_reference.o \ + $(NOEGNUD)_textcolour.o \ + $(NOEGNUD)_textcolouring.o \ + $(NOEGNUD)_sound.o \ + $(NOEGNUD)_widgettheme.o \ + tile.o + +WINSRC = $(WINTTYSRC) $(WINNOEGNUDSRC) +WINOBJ = $(WINTTYOBJ) $(WINNOEGNUDOBJ) + # Use these declarations if you only want to support the TTY windowing system -WINSRC = $(WINTTYSRC) -WINOBJ = $(WINTTYOBJ) +# WINSRC = $(WINTTYSRC) +# WINOBJ = $(WINTTYOBJ) # Use these declarations if you want to support the X11 windowing system # WINSRC = $(WINTTYSRC) $(WINX11SRC) # WINOBJ = $(WINTTYOBJ) $(WINX11OBJ) @@ -314,8 +368,8 @@ # WINTTYLIB = -ltermcap # WINTTYLIB = -lcurses # WINTTYLIB = -lcurses16 -# WINTTYLIB = -lncurses -WINTTYLIB = -ltermlib +WINTTYLIB = -lncurses +# WINTTYLIB = -ltermlib # # libraries for X11 # If USE_XPM is defined in config.h, you will also need -lXpm here. @@ -349,7 +403,7 @@ WINPROXYLIB = # Use this declaration if you only want to support the TTY windowing system -WINLIB = $(WINTTYLIB) +WINLIB = $(WINTTYLIB) $(WINNOEGNUDLIB) # Use this declaration if you want to support the X11 windowing system # WINLIB = $(WINTTYLIB) $(WINX11LIB) # Use this declaration if you want to support the Qt windowing system @@ -393,7 +447,7 @@ LIBS = # make NetHack -GAME = slashem +GAME = noegnud-0.8.0-slashem-0.0.7E1 # GAME = slashem.prg # if you defined RANDOM in unixconf.h/tosconf.h since your system did not come @@ -449,7 +503,7 @@ # all windowing-system-dependent .c (for dependencies and such) WINCSRC = $(WINTTYSRC) $(WINX11SRC) $(WINGTKSRC) $(WINGNOMESRC) $(WINGEMSRC) \ $(WINPROXYSRC) $(PROXYUTLSRC) $(PROXYCLNTSRC) $(PROXYCOMSRC) \ - $(WINGLSRC) tile.c + $(WINGLSRC) $(WINNOEGNUDSRC) tile.c # all windowing-system-dependent .cpp (for dependencies and such) WINCXXSRC = $(WINQTSRC) $(WINBESRC) @@ -504,7 +558,7 @@ Sysunix: $(HOBJ) Makefile @echo "Loading ..." - @$(CC) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) $(LIBS) + $(CC) $(LFLAGS) -o $(GAME) $(HOBJ) $(WINLIB) $(LIBS) @touch Sysunix Sys3B2: $(HOBJ) Makefile diff -Pru slashem-0.0.7E1/sys/unix/Makefile.top noegnud-0.8.0-slashem-0.0.7E1/sys/unix/Makefile.top --- slashem-0.0.7E1/sys/unix/Makefile.top 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/sys/unix/Makefile.top 2003-06-03 20:37:06.000000000 +0200 @@ -14,20 +14,23 @@ # MAKE = make # make NetHack -PREFIX = /usr -GAME = slashem +PREFIX = /usr/local/ +GAMEUI = noegnud-0.8.0 +GAMEVARIANT = slashem-0.0.7E1 +GAMESHORT = noegnud-$(GAMEVARIANT) +GAME = $(GAMEUI)-$(GAMEVARIANT) # GAME = slashem.prg GAMEUID = games GAMEGRP = bin # Permissions - some places use setgid instead of setuid, for instance # See also the option "SECURE" in include/config.h -GAMEPERM = 04755 +GAMEPERM = 02755 FILEPERM = 0644 EXEPERM = 0755 -DIRPERM = 0755 -VARFILEPERM = 0644 -VARDIRPERM = 0755 +DIRPERM = 0775 +VARFILEPERM = 0664 +VARDIRPERM = 0775 # GAMEDIR also appears in config.h as "HACKDIR". # VARDIR may also appear in unixconf.h as "VAR_PLAYGROUND" else GAMEDIR @@ -40,7 +43,7 @@ # These must agree with the definitions in unixconf.h # Defs. for non file areas support. -GAMEDIR = $(PREFIX)/local/slashemdir +GAMEDIR = $(PREFIX)/lib/$(GAMEUI)/$(GAMEVARIANT) VARDIR = $(GAMEDIR) FILE_AREA_VAR = $(VARDIR) FILE_AREA_SAVE = $(VARDIR)/save @@ -49,7 +52,7 @@ FILE_AREA_DOC = $(GAMEDIR) FILE_AREA_BONES = $(FILE_AREA_VAR) FILE_AREA_LEVL = $(FILE_AREA_VAR) -SHELLDIR = $(PREFIX)/local/bin +SHELLDIR = $(PREFIX)/bin # Defs. compatible with Linux's FSSTND 1.2 # FILE_AREA_VAR = /var/lib/games/slashem @@ -289,11 +292,12 @@ cp util/recover $(FILE_AREA_UNSHARE) cp license doc/Guidebook.txt $(FILE_AREA_DOC) # cp win/Qt/KDE/kslashem.kdelnk $(KDEDIR)/share/applnk/Games - -rm -f $(SHELLDIR)/$(GAME) + -rm -f $(SHELLDIR)/$(GAME) $(SHELLDIR)/$(GAMESHORT) sed -e 's;/usr/games/lib/nethackdir;$(FILE_AREA_UNSHARE);' \ -e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \ < sys/unix/nethack.sh \ > $(SHELLDIR)/$(GAME) + ln -s $(SHELLDIR)/$(GAME) $(SHELLDIR)/$(GAMESHORT) # set up their permissions -( cd $(FILE_AREA_UNSHARE) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \ $(CHGRP) $(GAMEGRP) $(GAME) recover ) diff -Pru slashem-0.0.7E1/sys/unix/Makefile.utl noegnud-0.8.0-slashem-0.0.7E1/sys/unix/Makefile.utl --- slashem-0.0.7E1/sys/unix/Makefile.utl 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/sys/unix/Makefile.utl 2003-06-03 20:36:19.000000000 +0200 @@ -15,7 +15,7 @@ # if you are using gcc as your compiler, # uncomment the CC definition below if it's not in your environment -# CC = gcc +CC = gcc # # For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following: # @@ -72,8 +72,8 @@ # flags for Linux # compile normally -# CFLAGS = -O2 -fomit-frame-pointer -I../include -# LFLAGS = -L/usr/X11R6/lib +CFLAGS = -O2 -fomit-frame-pointer -I../include -I/usr/X11R6/include +LFLAGS = -L/usr/X11R6/lib # OR compile backwards compatible a.out format # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib @@ -101,11 +101,11 @@ # yacc/lex programs to use to generate *_comp.h, *_lex.c, and *_yacc.c. # if, instead of yacc/lex you have bison/flex, comment/uncomment the following. -YACC = yacc -LEX = lex -# YACC = bison -y +# YACC = yacc +# LEX = lex +YACC = bison -y # YACC = byacc -# LEX = flex +LEX = flex # these are the names of the output files from YACC/LEX. Under MS-DOS # and similar systems, they may differ diff -Pru slashem-0.0.7E1/sys/unix/nethack.sh noegnud-0.8.0-slashem-0.0.7E1/sys/unix/nethack.sh --- slashem-0.0.7E1/sys/unix/nethack.sh 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/sys/unix/nethack.sh 2003-06-03 20:36:19.000000000 +0200 @@ -4,49 +4,7 @@ HACKDIR=/usr/games/lib/nethackdir export HACKDIR HACK=$HACKDIR/nethack -MAXNROFPLAYERS=4 - -# see if we can find the full path name of PAGER, so help files work properly -# assume that if someone sets up a special variable (HACKPAGER) for NetHack, -# it will already be in a form acceptable to NetHack -# ideas from brian@radio.astro.utoronto.ca -if test \( "xxx$PAGER" != xxx \) -a \( "xxx$HACKPAGER" = xxx \) -then - - HACKPAGER=$PAGER - -# use only the first word of the pager variable -# this prevents problems when looking for file names with trailing -# options, but also makes the options unavailable for later use from -# NetHack - for i in $HACKPAGER - do - HACKPAGER=$i - break - done - - if test ! -f $HACKPAGER - then - IFS=: - for i in $PATH - do - if test -f $i/$HACKPAGER - then - HACKPAGER=$i/$HACKPAGER - export HACKPAGER - break - fi - done - IFS=' ' - fi - if test ! -f $HACKPAGER - then - echo Cannot find $PAGER -- unsetting PAGER. - unset HACKPAGER - unset PAGER - fi -fi - +MAXNROFPLAYERS=1 cd $HACKDIR case $1 in diff -Pru slashem-0.0.7E1/util/makedefs.c noegnud-0.8.0-slashem-0.0.7E1/util/makedefs.c --- slashem-0.0.7E1/util/makedefs.c 2003-06-02 21:47:09.000000000 +0200 +++ noegnud-0.8.0-slashem-0.0.7E1/util/makedefs.c 2003-06-03 20:36:19.000000000 +0200 @@ -892,6 +892,9 @@ #ifdef BEOS_GRAPHICS "BeOS InterfaceKit", #endif +#ifdef NOEGNUD_GRAPHICS + "noegnud", +#endif #ifdef PROXY_GRAPHICS "Plug-in modules", #endif