diff options
-rw-r--r-- | games/wolf4sdl/datadir.diff | 312 | ||||
-rw-r--r-- | games/wolf4sdl/datadir.diff.gz | bin | 0 -> 2109 bytes | |||
-rw-r--r-- | games/wolf4sdl/exename.diff | 32 | ||||
-rw-r--r-- | games/wolf4sdl/exename.diff.gz | bin | 0 -> 626 bytes | |||
-rw-r--r-- | games/wolf4sdl/wolf4sdl.SlackBuild | 4 |
5 files changed, 2 insertions, 346 deletions
diff --git a/games/wolf4sdl/datadir.diff b/games/wolf4sdl/datadir.diff deleted file mode 100644 index b62ea0be08996..0000000000000 --- a/games/wolf4sdl/datadir.diff +++ /dev/null @@ -1,312 +0,0 @@ -diff -Naur Wolf4SDL-1.7-src.orig//Makefile Wolf4SDL-1.7-src/Makefile ---- Wolf4SDL-1.7-src.orig//Makefile 2008-02-18 01:54:38.000000000 -0500 -+++ Wolf4SDL-1.7-src/Makefile 2012-01-13 16:43:43.000000000 -0500 -@@ -17,6 +17,7 @@ - LDFLAGS_SDL ?= $(shell $(SDL_CONFIG) --libs) - - -+CFLAGS += -DPREFIX='"$(PREFIX)"' - CFLAGS += $(CFLAGS_SDL) - - #CFLAGS += -Wall -@@ -64,6 +65,7 @@ - SRCS += wl_play.cpp - SRCS += wl_state.cpp - SRCS += wl_text.cpp -+SRCS += datafile.cpp - - DEPS = $(filter %.d, $(SRCS:.c=.d) $(SRCS:.cpp=.d)) - OBJS = $(filter %.o, $(SRCS:.c=.o) $(SRCS:.cpp=.o)) -diff -Naur Wolf4SDL-1.7-src.orig//datafile.cpp Wolf4SDL-1.7-src/datafile.cpp ---- Wolf4SDL-1.7-src.orig//datafile.cpp 1969-12-31 19:00:00.000000000 -0500 -+++ Wolf4SDL-1.7-src/datafile.cpp 2012-01-13 16:41:32.000000000 -0500 -@@ -0,0 +1,60 @@ -+ -+#include <stdlib.h> -+#include <unistd.h> -+#include <limits.h> -+#include <stdio.h> -+#include <sys/types.h> -+#include <sys/stat.h> -+#include <fcntl.h> -+ -+#include "datafile.h" -+ -+static char *datapath = NULL; -+ -+static void set_data_path(void) { -+ if(datapath) return; -+ datapath = getenv("WOLF4PATH"); -+ if(datapath) return; -+ -+ // 20120113 bkw: should this be "C:\\WOLF3D" on Windows? -+ datapath = (char *)PREFIX "/share/games/wolf3d"; -+} -+ -+int datafile_exists(const char *file) { -+ char datafile[PATH_MAX]; -+ struct stat statbuf; -+ -+ set_data_path(); -+ -+ if(stat(file, &statbuf)) -+ return 1; -+ -+ sprintf(datafile, "%s/%s", datapath, file); -+ return stat(datafile, &statbuf); -+} -+ -+int datafile_open(const char *file, int flags) { -+ char datafile[PATH_MAX]; -+ int handle; -+ -+ set_data_path(); -+ -+ if( (handle = open(file, flags)) > 0 ) -+ return handle; -+ -+ sprintf(datafile, "%s/%s", datapath, file); -+ return open(datafile, flags); -+} -+ -+FILE *datafile_fopen(const char *file, const char *mode) { -+ char datafile[PATH_MAX]; -+ FILE *f; -+ -+ set_data_path(); -+ -+ if( (f = fopen(file, mode)) ) -+ return f; -+ -+ sprintf(datafile, "%s/%s", datapath, file); -+ return fopen(datafile, mode); -+} -diff -Naur Wolf4SDL-1.7-src.orig//datafile.h Wolf4SDL-1.7-src/datafile.h ---- Wolf4SDL-1.7-src.orig//datafile.h 1969-12-31 19:00:00.000000000 -0500 -+++ Wolf4SDL-1.7-src/datafile.h 2012-01-13 16:41:41.000000000 -0500 -@@ -0,0 +1,22 @@ -+ -+#include <stdio.h> -+/* -+20120113 bkw: -+Functions for loading game data files. -+ -+All these functions search for files in: -+ -+- The current directory -+- The directory specified by $WOLF4PATH if set -+- If WOLF4PATH not set, fall back to PREFIX/share/games/wolf3d -+ -+*/ -+ -+/* returns true if file exists in the data path, otherwise false */ -+int datafile_exists(const char *file); -+ -+/* returns a filehandle to the file if found, or -1 if not */ -+int datafile_open(const char *file, int flags); -+ -+/* returns a FILE* if found, or NULL if not */ -+FILE *datafile_fopen(const char *file, const char *mode); -diff -Naur Wolf4SDL-1.7-src.orig//id_ca.cpp Wolf4SDL-1.7-src/id_ca.cpp ---- Wolf4SDL-1.7-src.orig//id_ca.cpp 2009-02-24 15:13:22.000000000 -0500 -+++ Wolf4SDL-1.7-src/id_ca.cpp 2012-01-13 16:40:25.000000000 -0500 -@@ -24,6 +24,7 @@ - #include <unistd.h> - #endif - -+#include "datafile.h" - #include "wl_def.h" - #pragma hdrstop - -@@ -185,7 +186,7 @@ - { - int32_t size; - -- const int handle = open(filename, O_RDONLY | O_BINARY); -+ const int handle = datafile_open(filename, O_RDONLY | O_BINARY); - if (handle == -1) - return false; - -@@ -463,7 +464,7 @@ - strcpy(fname,gdictname); - strcat(fname,graphext); - -- handle = open(fname, O_RDONLY | O_BINARY); -+ handle = datafile_open(fname, O_RDONLY | O_BINARY); - if (handle == -1) - CA_CannotOpen(fname); - -@@ -474,7 +475,7 @@ - strcpy(fname,gheadname); - strcat(fname,graphext); - -- handle = open(fname, O_RDONLY | O_BINARY); -+ handle = datafile_open(fname, O_RDONLY | O_BINARY); - if (handle == -1) - CA_CannotOpen(fname); - -@@ -513,7 +514,7 @@ - strcpy(fname,gfilename); - strcat(fname,graphext); - -- grhandle = open(fname, O_RDONLY | O_BINARY); -+ grhandle = datafile_open(fname, O_RDONLY | O_BINARY); - if (grhandle == -1) - CA_CannotOpen(fname); - -@@ -555,7 +556,7 @@ - strcpy(fname,mheadname); - strcat(fname,extension); - -- handle = open(fname, O_RDONLY | O_BINARY); -+ handle = datafile_open(fname, O_RDONLY | O_BINARY); - if (handle == -1) - CA_CannotOpen(fname); - -@@ -574,14 +575,14 @@ - strcpy(fname, "gamemaps."); - strcat(fname, extension); - -- maphandle = open(fname, O_RDONLY | O_BINARY); -+ maphandle = datafile_open(fname, O_RDONLY | O_BINARY); - if (maphandle == -1) - CA_CannotOpen(fname); - #else - strcpy(fname,mfilename); - strcat(fname,extension); - -- maphandle = open(fname, O_RDONLY | O_BINARY); -+ maphandle = datafile_open(fname, O_RDONLY | O_BINARY); - if (maphandle == -1) - CA_CannotOpen(fname); - #endif -@@ -646,7 +647,7 @@ - strcpy(fname,afilename); - strcat(fname,audioext); - -- audiohandle = open(fname, O_RDONLY | O_BINARY); -+ audiohandle = datafile_open(fname, O_RDONLY | O_BINARY); - if (audiohandle == -1) - CA_CannotOpen(fname); - } -diff -Naur Wolf4SDL-1.7-src.orig//id_pm.cpp Wolf4SDL-1.7-src/id_pm.cpp ---- Wolf4SDL-1.7-src.orig//id_pm.cpp 2008-05-25 04:40:50.000000000 -0400 -+++ Wolf4SDL-1.7-src/id_pm.cpp 2012-01-13 16:42:23.000000000 -0500 -@@ -1,3 +1,4 @@ -+#include "datafile.h" - #include "wl_def.h" - - int ChunksInFile; -@@ -19,7 +20,7 @@ - char fname[13] = "vswap."; - strcat(fname,extension); - -- FILE *file = fopen(fname,"rb"); -+ FILE *file = datafile_fopen(fname,"rb"); - if(!file) - CA_CannotOpen(fname); - -diff -Naur Wolf4SDL-1.7-src.orig//wl_menu.cpp Wolf4SDL-1.7-src/wl_menu.cpp ---- Wolf4SDL-1.7-src.orig//wl_menu.cpp 2010-11-01 13:17:58.000000000 -0400 -+++ Wolf4SDL-1.7-src/wl_menu.cpp 2012-01-13 16:55:02.000000000 -0500 -@@ -14,6 +14,7 @@ - #include <unistd.h> - #endif - -+#include "datafile.h" - #include "wl_def.h" - #pragma hdrstop - -@@ -4029,12 +4030,12 @@ - // - #ifdef JAPAN - #ifdef JAPDEMO -- if(!stat("vswap.wj1", &statbuf)) -+ if(datafile_exists("vswap.wj1")) - { - strcpy (extension, "wj1"); - numEpisodesMissing = 5; - #else -- if(!stat("vswap.wj6", &statbuf)) -+ if(datafile_exists("vswap.wj6")) - { - strcpy (extension, "wj6"); - #endif -@@ -4052,7 +4053,7 @@ - // ENGLISH - // - #ifdef UPLOAD -- if(!stat("vswap.wl1", &statbuf)) -+ if(datafile_exists("vswap.wl1")) - { - strcpy (extension, "wl1"); - numEpisodesMissing = 5; -@@ -4061,7 +4062,7 @@ - Quit ("NO WOLFENSTEIN 3-D DATA FILES to be found!"); - #else - #ifndef SPEAR -- if(!stat("vswap.wl6", &statbuf)) -+ if(datafile_exists("vswap.wl6")) - { - strcpy (extension, "wl6"); - NewEmenu[2].active = -@@ -4074,7 +4075,7 @@ - } - else - { -- if(!stat("vswap.wl3", &statbuf)) -+ if(datafile_exists("vswap.wl3")) - { - strcpy (extension, "wl3"); - numEpisodesMissing = 3; -@@ -4082,7 +4083,7 @@ - } - else - { -- if(!stat("vswap.wl1", &statbuf)) -+ if(datafile_exists("vswap.wl1")) - { - strcpy (extension, "wl1"); - numEpisodesMissing = 5; -@@ -4099,28 +4100,28 @@ - #ifndef SPEARDEMO - if(param_mission == 0) - { -- if(!stat("vswap.sod", &statbuf)) -+ if(datafile_exists("vswap.sod")) - strcpy (extension, "sod"); - else - Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!"); - } - else if(param_mission == 1) - { -- if(!stat("vswap.sd1", &statbuf)) -+ if(datafile_exists("vswap.sd1")) - strcpy (extension, "sd1"); - else - Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!"); - } - else if(param_mission == 2) - { -- if(!stat("vswap.sd2", &statbuf)) -+ if(datafile_exists("vswap.sd2")) - strcpy (extension, "sd2"); - else - Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!"); - } - else if(param_mission == 3) - { -- if(!stat("vswap.sd3", &statbuf)) -+ if(datafile_exists("vswap.sd3")) - strcpy (extension, "sd3"); - else - Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!"); -@@ -4130,7 +4131,7 @@ - strcpy (graphext, "sod"); - strcpy (audioext, "sod"); - #else -- if(!stat("vswap.sdm", &statbuf)) -+ if(datafile_exists("vswap.sdm")) - { - strcpy (extension, "sdm"); - } diff --git a/games/wolf4sdl/datadir.diff.gz b/games/wolf4sdl/datadir.diff.gz Binary files differnew file mode 100644 index 0000000000000..c456c6539a04d --- /dev/null +++ b/games/wolf4sdl/datadir.diff.gz diff --git a/games/wolf4sdl/exename.diff b/games/wolf4sdl/exename.diff deleted file mode 100644 index 2c1f249aa4328..0000000000000 --- a/games/wolf4sdl/exename.diff +++ /dev/null @@ -1,32 +0,0 @@ -diff -Naur Wolf4SDL-1.7-src/wl_main.cpp Wolf4SDL-1.7-src.patched/wl_main.cpp ---- Wolf4SDL-1.7-src/wl_main.cpp 2011-05-15 23:11:34.000000000 -0400 -+++ Wolf4SDL-1.7-src.patched/wl_main.cpp 2014-09-05 12:06:24.000000000 -0400 -@@ -1678,6 +1678,10 @@ - bool hasError = false, showHelp = false; - bool sampleRateGiven = false, audioBufferGiven = false; - int defaultSampleRate = param_samplerate; -+ char *exename = argv[0], *p; -+ -+ for (p = argv[0]; *p; p++) -+ if (*p == '/') exename = p + 1; - - for(int i = 1; i < argc; i++) - { -@@ -1884,7 +1888,7 @@ - "Wolf4SDL v1.7 ($Revision: 256 $)\n" - "Ported by Chaos-Software (http://www.chaos-software.de.vu)\n" - "Original Wolfenstein 3D by id Software\n\n" -- "Usage: Wolf4SDL [options]\n" -+ "Usage: %s [options]\n" - "Options:\n" - " --help This help page\n" - " --tedlevel <level> Starts the game in the given level\n" -@@ -1923,7 +1927,7 @@ - " (default: 0 -> .sod, 1-3 -> .sd*)\n" - " --goodtimes Disable copy protection quiz\n" - #endif -- , defaultSampleRate -+ , exename, defaultSampleRate - ); - exit(1); - } diff --git a/games/wolf4sdl/exename.diff.gz b/games/wolf4sdl/exename.diff.gz Binary files differnew file mode 100644 index 0000000000000..b46b61da56878 --- /dev/null +++ b/games/wolf4sdl/exename.diff.gz diff --git a/games/wolf4sdl/wolf4sdl.SlackBuild b/games/wolf4sdl/wolf4sdl.SlackBuild index 141200bf08b98..c3b14e21efeb8 100644 --- a/games/wolf4sdl/wolf4sdl.SlackBuild +++ b/games/wolf4sdl/wolf4sdl.SlackBuild @@ -56,10 +56,10 @@ find -L . \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; # look for game data files in /usr/share/games/wolf3d -patch -p1 < $CWD/datadir.diff +zcat $CWD/datadir.diff.gz | patch -p1 # show correct executable name in usage message (instead of Wolf4SDL) -patch -p1 < $CWD/exename.diff +zcat $CWD/exename.diff.gz | patch -p1 # don't use 'make install', do it manually. mkdir -p $PKG/usr/games $PKG/usr/share/games/wolf3d |