rpms/wolf4sdl/F-13 01-shareware-version.patch, NONE, 1.1 02-enable-shading.patch, NONE, 1.1 10-datadir.patch, NONE, 1.1 11-configdir.patch, NONE, 1.1 21-compiler-warnings.patch, NONE, 1.1 Wolf4SDL-1.6-compile-fixes.patch, NONE, 1.1 Wolf4SDL-1.6-registered-apogee.patch, NONE, 1.1 Wolf4SDL-1.6-spear.patch, NONE, 1.1 Wolf4SDL-1.6-speardemo.patch, NONE, 1.1 wolf4sdl.6, NONE, 1.1 wolf4sdl.desktop, NONE, 1.1 wolf4sdl.spec, NONE, 1.1 wolf4sdl.xpm, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Hans de Goede jwrdegoede at rpmfusion.org
Sun Jan 9 13:51:51 CET 2011


Author: jwrdegoede

Update of /cvs/nonfree/rpms/wolf4sdl/F-13
In directory se02.es.rpmfusion.net:/tmp/cvs-serv3686

Modified Files:
	.cvsignore sources 
Added Files:
	01-shareware-version.patch 02-enable-shading.patch 
	10-datadir.patch 11-configdir.patch 21-compiler-warnings.patch 
	Wolf4SDL-1.6-compile-fixes.patch 
	Wolf4SDL-1.6-registered-apogee.patch Wolf4SDL-1.6-spear.patch 
	Wolf4SDL-1.6-speardemo.patch wolf4sdl.6 wolf4sdl.desktop 
	wolf4sdl.spec wolf4sdl.xpm 
Log Message:
* Mon Dec 27 2010 Hans de Goede <hdegoede at redhat.com> 1.6-1
- Initial rpmfusion package


01-shareware-version.patch:
 version.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE 01-shareware-version.patch ---
Subject: Build for the Wolf3d Shareware v1.4 version.
Author: Fabian Greffrath <fabian+debian at greffrath.com>

--- wolf4sdl-1.6.orig/version.h
+++ wolf4sdl-1.6/version.h
@@ -7,7 +7,7 @@
 
 //#define SPEAR
 //#define SPEARDEMO
-//#define UPLOAD
+#define UPLOAD
 //#define GOODTIMES
 #define CARMACIZED
 //#define APOGEE_1_0

02-enable-shading.patch:
 Makefile  |    1 +
 version.h |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

--- NEW FILE 02-enable-shading.patch ---
Subject: Enable shading support (just because I like it).
Author: Fabian Greffrath <fabian+debian at greffrath.com>

--- wolf4sdl-1.6.orig/Makefile
+++ wolf4sdl-1.6/Makefile
@@ -54,6 +54,7 @@ SRCS += wl_agent.cpp
 SRCS += wl_atmos.cpp
 SRCS += wl_cloudsky.cpp
 SRCS += wl_debug.cpp
+SRCS += wl_shade.cpp
 SRCS += wl_draw.cpp
 SRCS += wl_floorceiling.cpp
 SRCS += wl_game.cpp
--- wolf4sdl-1.6.orig/version.h
+++ wolf4sdl-1.6/version.h
@@ -30,7 +30,7 @@
 #endif
 
 //#define USE_FEATUREFLAGS    // Enables the level feature flags (see bottom of wl_def.h)
-//#define USE_SHADING         // Enables shading support (see wl_shade.cpp)
+#define USE_SHADING         // Enables shading support (see wl_shade.cpp)
 //#define USE_DIR3DSPR        // Enables directional 3d sprites (see wl_dir3dspr.cpp)
 //#define USE_FLOORCEILINGTEX // Enables floor and ceiling textures stored in the third mapplane (see wl_floorceiling.cpp)
 //#define USE_HIRES           // Enables high resolution textures/sprites (128x128)

10-datadir.patch:
 id_ca.cpp   |   22 +++++++++++-----------
 id_pm.cpp   |    2 +-
 version.h   |    4 ++++
 wl_menu.cpp |   21 +++++++++++----------
 4 files changed, 27 insertions(+), 22 deletions(-)

--- NEW FILE 10-datadir.patch ---
Subject: Use /usr/share/games/wolf3d for data files.
Author: Fabian Greffrath <fabian+debian at greffrath.com>

--- wolf4sdl-1.6.orig/id_ca.cpp
+++ wolf4sdl-1.6/id_ca.cpp
@@ -81,13 +81,13 @@ int     numEpisodesMissing = 0;
 char extension[5]; // Need a string, not constant to change cache files
 char graphext[5];
 char audioext[5];
-static const char gheadname[] = "vgahead.";
-static const char gfilename[] = "vgagraph.";
-static const char gdictname[] = "vgadict.";
-static const char mheadname[] = "maphead.";
-static const char mfilename[] = "maptemp.";
-static const char aheadname[] = "audiohed.";
-static const char afilename[] = "audiot.";
+static const char gheadname[] = DATADIR "vgahead.";
+static const char gfilename[] = DATADIR "vgagraph.";
+static const char gdictname[] = DATADIR "vgadict.";
+static const char mheadname[] = DATADIR "maphead.";
+static const char mfilename[] = DATADIR "maptemp.";
+static const char aheadname[] = DATADIR "audiohed.";
+static const char afilename[] = DATADIR "audiot.";
 
 void CA_CannotOpen(const char *string);
 
@@ -443,7 +443,7 @@ void CA_RLEWexpand (word *source, word *
 
 void CAL_SetupGrFile (void)
 {
-    char fname[13];
+    char fname[13 + sizeof(DATADIR)];
     int handle;
     byte *compseg;
 
@@ -539,7 +539,7 @@ void CAL_SetupMapFile (void)
     int     i;
     int handle;
     int32_t length,pos;
-    char fname[13];
+    char fname[13 + sizeof(DATADIR)];
 
 //
 // load maphead.ext (offsets and tileinfo for map file)
@@ -563,7 +563,7 @@ void CAL_SetupMapFile (void)
 // open the data file
 //
 #ifdef CARMACIZED
-    strcpy(fname, "gamemaps.");
+    strcpy(fname, DATADIR "gamemaps.");
     strcat(fname, extension);
 
     maphandle = open(fname, O_RDONLY | O_BINARY);
@@ -619,7 +619,7 @@ void CAL_SetupMapFile (void)
 
 void CAL_SetupAudioFile (void)
 {
-    char fname[13];
+    char fname[13 + sizeof(DATADIR)];
 
 //
 // load audiohed.ext (offsets for audio file)
--- wolf4sdl-1.6.orig/id_pm.cpp
+++ wolf4sdl-1.6/id_pm.cpp
@@ -16,7 +16,7 @@ uint8_t **PMPages;
 
 void PM_Startup()
 {
-    char fname[13] = "vswap.";
+    char fname[13 + sizeof(DATADIR)] = DATADIR "vswap.";
     strcat(fname,extension);
 
     FILE *file = fopen(fname,"rb");
--- wolf4sdl-1.6.orig/version.h
+++ wolf4sdl-1.6/version.h
@@ -3,6 +3,10 @@
 
 #ifndef VERSIONALREADYCHOSEN              // used for batch compiling
 
+#ifndef DATADIR
+#define DATADIR ""
+#endif
+
 /* Defines used for different versions */
 
 //#define SPEAR
--- wolf4sdl-1.6.orig/wl_menu.cpp
+++ wolf4sdl-1.6/wl_menu.cpp
@@ -3615,6 +3615,7 @@ ReadAnyControl (ControlInfo * ci)
 
     IN_ReadControl (0, ci);
 
+
     if (mouseenabled && IN_IsInputGrabbed())
     {
         int mousex, mousey, buttons;
@@ -3998,12 +3999,12 @@ CheckForEpisodes (void)
 //
 #ifdef JAPAN
 #ifdef JAPDEMO
-    if(!stat("vswap.wj1", &statbuf))
+    if(!stat(DATADIR "vswap.wj1", &statbuf))
     {
         strcpy (extension, "wj1");
         numEpisodesMissing = 5;
 #else
-    if(!stat("vswap.wj6", &statbuf))
+    if(!stat(DATADIR "vswap.wj6", &statbuf))
     {
         strcpy (extension, "wj6");
 #endif
@@ -4021,7 +4022,7 @@ CheckForEpisodes (void)
 // ENGLISH
 //
 #ifdef UPLOAD
-    if(!stat("vswap.wl1", &statbuf))
+    if(!stat(DATADIR "vswap.wl1", &statbuf))
     {
         strcpy (extension, "wl1");
         numEpisodesMissing = 5;
@@ -4030,7 +4031,7 @@ CheckForEpisodes (void)
         Quit ("NO WOLFENSTEIN 3-D DATA FILES to be found!");
 #else
 #ifndef SPEAR
-    if(!stat("vswap.wl6", &statbuf))
+    if(!stat(DATADIR "vswap.wl6", &statbuf))
     {
         strcpy (extension, "wl6");
         NewEmenu[2].active =
@@ -4043,7 +4044,7 @@ CheckForEpisodes (void)
     }
     else
     {
-        if(!stat("vswap.wl3", &statbuf))
+        if(!stat(DATADIR "vswap.wl3", &statbuf))
         {
             strcpy (extension, "wl3");
             numEpisodesMissing = 3;
@@ -4051,7 +4052,7 @@ CheckForEpisodes (void)
         }
         else
         {
-            if(!stat("vswap.wl1", &statbuf))
+            if(!stat(DATADIR "vswap.wl1", &statbuf))
             {
                 strcpy (extension, "wl1");
                 numEpisodesMissing = 5;
@@ -4068,21 +4069,21 @@ CheckForEpisodes (void)
 #ifndef SPEARDEMO
     if(param_mission == 1)
     {
-        if(!stat("vswap.sod", &statbuf))
+        if(!stat(DATADIR "vswap.sod", &statbuf))
             strcpy (extension, "sod");
         else
             Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!");
     }
     else if(param_mission == 2)
     {
-        if(!stat("vswap.sd2", &statbuf))
+        if(!stat(DATADIR "vswap.sd2", &statbuf))
             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(!stat(DATADIR "vswap.sd3", &statbuf))
             strcpy (extension, "sd3");
         else
             Quit ("NO SPEAR OF DESTINY DATA FILES TO BE FOUND!");
@@ -4092,7 +4093,7 @@ CheckForEpisodes (void)
     strcpy (graphext, "sod");
     strcpy (audioext, "sod");
 #else
-    if(!stat("vswap.sdm", &statbuf))
+    if(!stat(DATADIR "vswap.sdm", &statbuf))
     {
         strcpy (extension, "sdm");
     }

11-configdir.patch:
 wl_def.h    |    2 +-
 wl_main.cpp |   15 ++++++++++++++-
 wl_menu.cpp |   40 +++++++++++++++++++++-------------------
 3 files changed, 36 insertions(+), 21 deletions(-)

--- NEW FILE 11-configdir.patch ---
Subject: Use ~/.wolf4sdl for config files and saved games.
Author: Fabian Greffrath <fabian+debian at greffrath.com>

--- wolf4sdl-1.6.orig/wl_def.h
+++ wolf4sdl-1.6/wl_def.h
@@ -915,7 +915,7 @@ extern  unsigned screenofs;
 
 extern  boolean  startgame;
 extern  char     str[80];
-extern  char     configname[13];
+extern  char     configname[256];
 
 //
 // Command line parameter variables
--- wolf4sdl-1.6.orig/wl_main.cpp
+++ wolf4sdl-1.6/wl_main.cpp
@@ -10,6 +10,7 @@
 #pragma hdrstop
 #include "wl_atmos.h"
 #include <SDL_syswm.h>
+#include <errno.h>
 
 
 /*
@@ -73,7 +74,8 @@ boolean startgame;
 boolean loadedgame;
 int     mouseadjustment;
 
-char    configname[13]="config.";
+char    configdir[256];
+char    configname[256];
 
 //
 // Command line parameter variables
@@ -1871,6 +1873,17 @@ int main (int argc, char *argv[])
     CheckParameters(argc, argv);
 #endif
 
+#if defined (__unix__) && !defined(__MINGW32__)
+    /* Set up home directory */
+    int err;
+    snprintf(configdir, sizeof(configdir) - 1, "%s/.wolf4sdl/", getenv ("HOME"));
+    err = mkdir(configdir, S_IRWXU);
+    if (err == -1 && errno != EEXIST)
+        Quit ("Could not create directory \"%s\": %s\n", configdir, strerror (errno));
+#else
+    strcpy(configdir, "");
+#endif
+
     CheckForEpisodes();
 
     InitGame();
--- wolf4sdl-1.6.orig/wl_menu.cpp
+++ wolf4sdl-1.6/wl_menu.cpp
@@ -18,6 +18,7 @@
 
 extern int lastgamemusicoffset;
 extern int numEpisodesMissing;
+extern char configdir[256];
 
 //
 // PRIVATE PROTOTYPES
@@ -277,8 +278,8 @@ static int SaveGamesAvail[10];
 static int StartGame;
 static int SoundStatus = 1;
 static int pickquick;
-static char SaveGameNames[10][32];
-static char SaveName[13] = "savegam?.";
+static char SaveGameNames[10][256];
+static char SaveName[256] = "savegam?.";
 
 
 ////////////////////////////////////////////////////////////////////
@@ -1497,10 +1498,10 @@ CP_LoadGame (int quick)
 {
     FILE *file;
     int which, exit = 0;
-    char name[13];
+    char name[256];
 
 
-    strcpy (name, SaveName);
+    snprintf (name, sizeof(name) - 1, "%s%s", configdir, SaveName);
 
     //
     // QUICKLOAD?
@@ -1511,7 +1512,7 @@ CP_LoadGame (int quick)
 
         if (SaveGamesAvail[which])
         {
-            name[7] = which + '0';
+            name[strlen(configdir) + 7] = which + '0';
 #ifdef _arch_dreamcast
             DC_LoadFromVMU(name);
 #endif
@@ -1549,8 +1550,7 @@ CP_LoadGame (int quick)
         if (which >= 0 && SaveGamesAvail[which])
         {
             ShootSnd ();
-            name[7] = which + '0';
-
+            name[strlen(configdir) + 7] = which + '0';
 #ifdef _arch_dreamcast
             DC_LoadFromVMU(name);
 #endif
@@ -1676,11 +1676,11 @@ CP_SaveGame (int quick)
 {
     int which, exit = 0;
     FILE *file;
-    char name[13];
-    char input[32];
+    char name[256];
+    char input[256];
 
 
-    strcpy (name, SaveName);
+    snprintf (name, sizeof(name) - 1, "%s%s", configdir, SaveName);
 
     //
     // QUICKSAVE?
@@ -1691,7 +1691,7 @@ CP_SaveGame (int quick)
 
         if (SaveGamesAvail[which])
         {
-            name[7] = which + '0';
+            name[strlen(configdir) + 7] = which + '0';
             unlink (name);
             file = fopen (name, "wb");
 
@@ -1747,7 +1747,7 @@ CP_SaveGame (int quick)
             ShootSnd ();
 
             strcpy (input, &SaveGameNames[which][0]);
-            name[7] = which + '0';
+            name[strlen(configdir) + 7] = which + '0';
 
             fontnumber = 0;
             if (!SaveGamesAvail[which])
@@ -3142,7 +3142,7 @@ SetupControlPanel (void)
 ////////////////////////////////////////////////////////////////////
 void SetupSaveGames()
 {
-    char name[13];
+    char name[256];
 
 #ifdef _arch_dreamcast
     file_t dir;
@@ -3152,12 +3152,13 @@ void SetupSaveGames()
     dir = fs_open("/vmu/a1", O_RDONLY | O_DIR);
     x = 0;
 
-    strcpy(name, SaveName);
+    snprintf(name, sizeof(name) - 1, "%s%s", configdir, SaveName);
+
     while((dirent = fs_readdir(dir)) && x < 10)
     {
         for(int i=0; i<10; i++)
         {
-            name[7] = '0' + i;
+            name[strlen(configdir) + 7] = '0' + i;
             if(!strcmp(name, dirent->name))
             {
                 if(DC_LoadFromVMU(name) != -1)
@@ -3181,10 +3182,10 @@ void SetupSaveGames()
 
     fs_close(dir);
 #else
-    strcpy(name, SaveName);
+    snprintf(name, sizeof(name) - 1, "%s%s", configdir, SaveName);
     for(int i=0; i<10; i++)
     {
-        name[7] = '0' + i;
+        name[strlen(configdir) + 7] = '0' + i;
         const int handle = open(name, O_RDONLY | O_BINARY);
         if (handle >= 0)
         {
@@ -3616,6 +3617,7 @@ ReadAnyControl (ControlInfo * ci)
     IN_ReadControl (0, ci);
 
 
+
     if (mouseenabled && IN_IsInputGrabbed())
     {
         int mousex, mousey, buttons;
@@ -4008,7 +4010,7 @@ CheckForEpisodes (void)
     {
         strcpy (extension, "wj6");
 #endif
-        strcat (configname, extension);
+        snprintf(configname, sizeof(configname) - 1, "%sconfig.%s", configdir, extension);
         strcat (SaveName, extension);
         strcat (demoname, extension);
         EpisodeSelect[1] =
@@ -4107,7 +4109,7 @@ CheckForEpisodes (void)
     strcpy (audioext, extension);
 #endif
 
-    strcat (configname, extension);
+    snprintf (configname, sizeof(configname) - 1, "%sconfig.%s", configdir, extension);
     strcat (SaveName, extension);
     strcat (demoname, extension);
 

21-compiler-warnings.patch:
 fmopl.cpp    |    6 ++++--
 id_ca.cpp    |    7 +++----
 id_pm.cpp    |    2 +-
 id_sd.cpp    |    8 ++++++--
 id_us_1.cpp  |   15 +++++++--------
 id_vl.cpp    |    1 -
 wl_act1.cpp  |    4 ++--
 wl_act2.cpp  |    3 +--
 wl_agent.cpp |    1 -
 wl_debug.cpp |    5 ++---
 wl_draw.cpp  |   49 ++++++++++++++++++++++++-------------------------
 wl_game.cpp  |    4 ++--
 wl_inter.cpp |    3 +--
 wl_main.cpp  |   11 +++++------
 wl_menu.cpp  |   25 +++++++++++++------------
 wl_play.cpp  |    3 ---
 wl_state.cpp |    1 -
 wl_text.cpp  |    1 -
 18 files changed, 71 insertions(+), 78 deletions(-)

--- NEW FILE 21-compiler-warnings.patch ---
Subject: Fix some compiler warnings so the code compiles cleanly with
 g++-4.5 and CFLAGS+="-Wall -Wno-sign-compare -Wno-switch".
Author: Fabian Greffrath <fabian+debian at greffrath.com>

--- wolf4sdl-1.6.orig/fmopl.cpp
+++ wolf4sdl-1.6/fmopl.cpp
@@ -1955,19 +1955,21 @@ static void OPLSetUpdateHandler(FM_OPL *
 	OPL->UpdateParam = param;
 }
 
+/*
 static int OPLWrite(FM_OPL *OPL,int a,int v)
 {
 	if( !(a&1) )
-	{	/* address port */
+	{	// address port
 		OPL->address = v & 0xff;
 	}
 	else
-	{	/* data port */
+	{	// data port
 		if(OPL->UpdateHandler) OPL->UpdateHandler(OPL->UpdateParam,0);
 		OPLWriteReg(OPL,OPL->address,v);
 	}
 	return OPL->status>>7;
 }
+*/
 
 static unsigned char OPLRead(FM_OPL *OPL,int a)
 {
--- wolf4sdl-1.6.orig/id_ca.cpp
+++ wolf4sdl-1.6/id_ca.cpp
@@ -23,7 +23,6 @@ loaded into the data segment
 #endif
 
 #include "wl_def.h"
-#pragma hdrstop
 
 #define THREEBYTEGRSTARTS
 
@@ -685,7 +684,7 @@ void CA_Startup (void)
 
 void CA_Shutdown (void)
 {
-    int i,start;
+    int i,start = STARTADLIBSOUNDS;
 
     if(maphandle != -1)
         close(maphandle);
@@ -795,7 +794,7 @@ void CA_CacheAdlibSoundChunk (int chunk)
 
 void CA_LoadAllSounds (void)
 {
-    unsigned start,i;
+    unsigned start = STARTADLIBSOUNDS,i;
 
     switch (oldsoundmode)
     {
@@ -1031,7 +1030,7 @@ void CA_CacheMap (int mapnum)
     int32_t   pos,compressed;
     int       plane;
     word     *dest;
-    memptr    bigbufferseg;
+    memptr    bigbufferseg = 0;
     unsigned  size;
     word     *source;
 #ifdef CARMACIZED
--- wolf4sdl-1.6.orig/id_pm.cpp
+++ wolf4sdl-1.6/id_pm.cpp
@@ -82,7 +82,7 @@ void PM_Startup()
     uint8_t *ptr = (uint8_t *) PMPageData;
     for(i = 0; i < ChunksInFile; i++)
     {
-        if(i >= PMSpriteStart && i < PMSoundStart || i == ChunksInFile - 1)
+        if((i >= PMSpriteStart && i < PMSoundStart) || i == ChunksInFile - 1)
         {
             size_t offs = ptr - (uint8_t *) PMPageData;
 
--- wolf4sdl-1.6.orig/id_sd.cpp
+++ wolf4sdl-1.6/id_sd.cpp
@@ -31,7 +31,6 @@
 
 #include "fmopl.h"
 
-#pragma hdrstop
 
 #define ORIGSAMPLERATE 7042
 
@@ -95,7 +94,6 @@ static  boolean                 DigiPlay
 //      PC Sound variables
 static  volatile byte           pcLastSample;
 static  byte * volatile         pcSound;
-static  longword                pcLengthLeft;
 
 //      AdLib variables
 static  byte * volatile         alSound;
@@ -780,6 +778,7 @@ SDL_ShutAL(void)
 //      SDL_CleanAL() - Totally shuts down the AdLib card
 //
 ///////////////////////////////////////////////////////////////////////////
+/*
 static void
 SDL_CleanAL(void)
 {
@@ -789,6 +788,7 @@ SDL_CleanAL(void)
     for (i = 1; i < 0xf5; i++)
         alOut(i, 0);
 }
+*/
 
 ///////////////////////////////////////////////////////////////////////////
 //
@@ -808,6 +808,7 @@ SDL_StartAL(void)
 //              emulating an AdLib) present
 //
 ///////////////////////////////////////////////////////////////////////////
+/*
 static boolean
 SDL_DetectAdLib(void)
 {
@@ -819,6 +820,7 @@ SDL_DetectAdLib(void)
 
     return true;
 }
+*/
 
 ////////////////////////////////////////////////////////////////////////////
 //
@@ -845,12 +847,14 @@ SDL_ShutDevice(void)
 //      SDL_CleanDevice() - totally shuts down all sound devices
 //
 ///////////////////////////////////////////////////////////////////////////
+/*
 static void
 SDL_CleanDevice(void)
 {
     if ((SoundMode == sdm_AdLib) || (MusicMode == smm_AdLib))
         SDL_CleanAL();
 }
+*/
 
 ///////////////////////////////////////////////////////////////////////////
 //
--- wolf4sdl-1.6.orig/id_us_1.cpp
+++ wolf4sdl-1.6/id_us_1.cpp
@@ -22,7 +22,6 @@
 
 #include "wl_def.h"
 
-#pragma	hdrstop
 
 #if _MSC_VER == 1200            // Visual C++ 6
 	#define vsnprintf _vsnprintf
@@ -177,7 +176,7 @@ void
 US_PrintUnsigned(longword n)
 {
 	char	buffer[32];
-	sprintf(buffer, "%lu", n);
+	sprintf(buffer, "%lu", (long unsigned int) n);
 
 	US_Print(buffer);
 }
@@ -488,11 +487,11 @@ US_LineInput(int x,int y,char *buf,const
 {
 	boolean		redraw,
 				cursorvis,cursormoved,
-				done,result, checkkey;
+				done,result = false, checkkey;
 	ScanCode	sc;
 	char		c;
 	char		s[MaxString],olds[MaxString];
-	int         cursor,len;
+	int         cursor,len = 0;
 	word		i,
 				w,h,
 				temp;
@@ -530,7 +529,7 @@ US_LineInput(int x,int y,char *buf,const
 		curtime = GetTimeCount();
 
 		// After each direction change accept the next change after 250 ms and then everz 125 ms
-		if(ci.dir != lastdir || curtime - lastdirtime > TickBase / 4 && curtime - lastdirmovetime > TickBase / 8)
+		if(ci.dir != lastdir || (curtime - lastdirtime > TickBase / 4 && curtime - lastdirmovetime > TickBase / 8))
 		{
 			if(ci.dir != lastdir)
 			{
@@ -558,7 +557,7 @@ US_LineInput(int x,int y,char *buf,const
 					if(!s[cursor])
 					{
 						USL_MeasureString(s,&w,&h);
-						if(len >= maxchars || maxwidth && w >= maxwidth) break;
+						if(len >= maxchars || (maxwidth && w >= maxwidth)) break;
 
 						s[cursor] = ' ';
 						s[cursor + 1] = 0;
@@ -572,7 +571,7 @@ US_LineInput(int x,int y,char *buf,const
 					if(!s[cursor])
 					{
 						USL_MeasureString(s,&w,&h);
-						if(len >= maxchars || maxwidth && w >= maxwidth) break;
+						if(len >= maxchars || (maxwidth && w >= maxwidth)) break;
 						s[cursor + 1] = 0;
 					}
 					s[cursor] = USL_RotateChar(s[cursor], 1);
@@ -584,7 +583,7 @@ US_LineInput(int x,int y,char *buf,const
 					if(!s[cursor])
 					{
 						USL_MeasureString(s,&w,&h);
-						if(len >= maxchars || maxwidth && w >= maxwidth) break;
+						if(len >= maxchars || (maxwidth && w >= maxwidth)) break;
 						s[cursor + 1] = 0;
 					}
 					s[cursor] = USL_RotateChar(s[cursor], -1);
--- wolf4sdl-1.6.orig/id_vl.cpp
+++ wolf4sdl-1.6/id_vl.cpp
@@ -2,7 +2,6 @@
 
 #include <string.h>
 #include "wl_def.h"
-#pragma hdrstop
 
 // Uncomment the following line, if you get destination out of bounds
 // assertion errors and want to ignore them during debugging
--- wolf4sdl-1.6.orig/wl_act1.cpp
+++ wolf4sdl-1.6/wl_act1.cpp
@@ -1,7 +1,6 @@
 // WL_ACT1.C
 
 #include "wl_def.h"
-#pragma hdrstop
 
 /*
 =============================================================================
@@ -17,6 +16,7 @@ statobj_t       *laststatobj;
 
 
 struct
+statinfo_t
 {
     short      picnum;
     wl_stat_t  type;
@@ -844,7 +844,7 @@ void MovePWalls (void)
             pwally += dy;
 
             if (actorat[pwallx+dx][pwally+dy]
-                || xl<=pwallx+dx && pwallx+dx<=xh && yl<=pwally+dy && pwally+dy<=yh)
+                || (xl<=pwallx+dx && pwallx+dx<=xh && yl<=pwally+dy && pwally+dy<=yh))
             {
                 pwallstate = 0;
                 tilemap[pwallx][pwally] = oldtile;
--- wolf4sdl-1.6.orig/wl_act2.cpp
+++ wolf4sdl-1.6/wl_act2.cpp
@@ -3,7 +3,6 @@
 #include <stdio.h>
 #include <math.h>
 #include "wl_def.h"
-#pragma hdrstop
 
 /*
 =============================================================================
@@ -307,7 +306,7 @@ boolean ProjectileTryMove (objtype *ob)
 void T_Projectile (objtype *ob)
 {
     int32_t deltax,deltay;
-    int     damage;
+    int     damage = 0;
     int32_t speed;
 
     speed = (int32_t)ob->speed*tics;
--- wolf4sdl-1.6.orig/wl_agent.cpp
+++ wolf4sdl-1.6/wl_agent.cpp
@@ -1,7 +1,6 @@
 // WL_AGENT.C
 
 #include "wl_def.h"
-#pragma hdrstop
 
 /*
 =============================================================================
--- wolf4sdl-1.6.orig/wl_debug.cpp
+++ wolf4sdl-1.6/wl_debug.cpp
@@ -7,7 +7,6 @@
 #endif
 
 #include "wl_def.h"
-#pragma hdrstop
 
 #ifdef USE_CLOUDSKY
 #include "wl_cloudsky.h"
@@ -52,7 +51,7 @@ void SimpleScaleShape (int xcenter, int
 
 int     maporgx;
 int     maporgy;
-enum {mapview,tilemapview,actoratview,visview}  viewtype;
+enum viewtype_t {mapview,tilemapview,actoratview,visview}  viewtype;
 
 void ViewMap (void);
 
@@ -181,7 +180,7 @@ void BasicOverhead (void)
     // left side (filtered)
 
     uintptr_t tile;
-    int color;
+    int color = 0;
     offx -= 128;
 
     for(x=0;x<MAPSIZE;x++)
--- wolf4sdl-1.6.orig/wl_draw.cpp
+++ wolf4sdl-1.6/wl_draw.cpp
@@ -1,7 +1,6 @@
 // WL_DRAW.C
 
 #include "wl_def.h"
-#pragma hdrstop
 
 #include "wl_cloudsky.h"
 #include "wl_atmos.h"
@@ -484,7 +483,7 @@ void HitHorizWall (void)
 
 void HitHorizDoor (void)
 {
-    int doorpage;
+    int doorpage = DOORWALL;
     int doornum;
     int texture;
 
@@ -549,7 +548,7 @@ void HitHorizDoor (void)
 
 void HitVertDoor (void)
 {
-    int doorpage;
+    int doorpage = DOORWALL+1;
     int doornum;
     int texture;
 
@@ -1208,8 +1207,8 @@ void CalcTics (void)
 
 void AsmRefresh()
 {
-    int32_t xstep,ystep;
-    longword xpartial,ypartial;
+    int32_t xstep = 0,ystep = 0;
+    longword xpartial = 0,ypartial = 0;
     boolean playerInPushwallBackTile = tilemap[focaltx][focalty] == 64;
 
     for(pixx=0;pixx<viewwidth;pixx++)
@@ -1264,8 +1263,8 @@ void AsmRefresh()
         // Special treatment when player is in back tile of pushwall
         if(playerInPushwallBackTile)
         {
-            if(    pwalldir == di_east && xtilestep ==  1
-                || pwalldir == di_west && xtilestep == -1)
+            if(    (pwalldir == di_east && xtilestep ==  1)
+                || (pwalldir == di_west && xtilestep == -1))
             {
                 int32_t yintbuf = yintercept - ((ystep * (64 - pwallpos)) >> 6);
                 if((yintbuf >> 16) == focalty)   // ray hits pushwall back?
@@ -1280,8 +1279,8 @@ void AsmRefresh()
                     continue;
                 }
             }
-            else if(pwalldir == di_south && ytilestep ==  1
-                ||  pwalldir == di_north && ytilestep == -1)
+            else if((pwalldir == di_south && ytilestep ==  1)
+                ||  (pwalldir == di_north && ytilestep == -1))
             {
                 int32_t xintbuf = xintercept - ((xstep * (64 - pwallpos)) >> 6);
                 if((xintbuf >> 16) == focaltx)   // ray hits pushwall back?
@@ -1348,8 +1347,8 @@ vertentry:
                                 pwallposnorm = pwallpos;
                                 pwallposinv = 64-pwallpos;
                             }
-                            if(pwalldir == di_east && xtile==pwallx && ((uint32_t)yintercept>>16)==pwally
-                                || pwalldir == di_west && !(xtile==pwallx && ((uint32_t)yintercept>>16)==pwally))
+                            if((pwalldir == di_east && xtile==pwallx && ((uint32_t)yintercept>>16)==pwally)
+                                || (pwalldir == di_west && !(xtile==pwallx && ((uint32_t)yintercept>>16)==pwally)))
                             {
                                 yintbuf=yintercept+((ystep*pwallposnorm)>>6);
                                 if((yintbuf>>16)!=(yintercept>>16))
@@ -1376,13 +1375,13 @@ vertentry:
                         {
                             int pwallposi = pwallpos;
                             if(pwalldir==di_north) pwallposi = 64-pwallpos;
-                            if(pwalldir==di_south && (word)yintercept<(pwallposi<<10)
-                                || pwalldir==di_north && (word)yintercept>(pwallposi<<10))
+                            if((pwalldir==di_south && (word)yintercept<(pwallposi<<10))
+                                || (pwalldir==di_north && (word)yintercept>(pwallposi<<10)))
                             {
                                 if(((uint32_t)yintercept>>16)==pwally && xtile==pwallx)
                                 {
-                                    if(pwalldir==di_south && (int32_t)((word)yintercept)+ystep<(pwallposi<<10)
-                                            || pwalldir==di_north && (int32_t)((word)yintercept)+ystep>(pwallposi<<10))
+                                    if((pwalldir==di_south && (int32_t)((word)yintercept)+ystep<(pwallposi<<10))
+                                            || (pwalldir==di_north && (int32_t)((word)yintercept)+ystep>(pwallposi<<10)))
                                         goto passvert;
 
                                     if(pwalldir==di_south)
@@ -1412,8 +1411,8 @@ vertentry:
                                 }
                                 else
                                 {
-                                    if(pwalldir==di_south && (int32_t)((word)yintercept)+ystep>(pwallposi<<10)
-                                            || pwalldir==di_north && (int32_t)((word)yintercept)+ystep<(pwallposi<<10))
+                                    if((pwalldir==di_south && (int32_t)((word)yintercept)+ystep>(pwallposi<<10))
+                                            || (pwalldir==di_north && (int32_t)((word)yintercept)+ystep<(pwallposi<<10)))
                                         goto passvert;
 
                                     if(pwalldir==di_south)
@@ -1494,8 +1493,8 @@ horizentry:
                                 pwallposnorm = pwallpos;
                                 pwallposinv = 64-pwallpos;
                             }
-                            if(pwalldir == di_south && ytile==pwally && ((uint32_t)xintercept>>16)==pwallx
-                                || pwalldir == di_north && !(ytile==pwally && ((uint32_t)xintercept>>16)==pwallx))
+                            if((pwalldir == di_south && ytile==pwally && ((uint32_t)xintercept>>16)==pwallx)
+                                || (pwalldir == di_north && !(ytile==pwally && ((uint32_t)xintercept>>16)==pwallx)))
                             {
                                 xintbuf=xintercept+((xstep*pwallposnorm)>>6);
                                 if((xintbuf>>16)!=(xintercept>>16))
@@ -1522,13 +1521,13 @@ horizentry:
                         {
                             int pwallposi = pwallpos;
                             if(pwalldir==di_west) pwallposi = 64-pwallpos;
-                            if(pwalldir==di_east && (word)xintercept<(pwallposi<<10)
-                                    || pwalldir==di_west && (word)xintercept>(pwallposi<<10))
+                            if((pwalldir==di_east && (word)xintercept<(pwallposi<<10))
+                                    || (pwalldir==di_west && (word)xintercept>(pwallposi<<10)))
                             {
                                 if(((uint32_t)xintercept>>16)==pwallx && ytile==pwally)
                                 {
-                                    if(pwalldir==di_east && (int32_t)((word)xintercept)+xstep<(pwallposi<<10)
-                                            || pwalldir==di_west && (int32_t)((word)xintercept)+xstep>(pwallposi<<10))
+                                    if((pwalldir==di_east && (int32_t)((word)xintercept)+xstep<(pwallposi<<10))
+                                            || (pwalldir==di_west && (int32_t)((word)xintercept)+xstep>(pwallposi<<10)))
                                         goto passhoriz;
 
                                     if(pwalldir==di_east)
@@ -1558,8 +1557,8 @@ horizentry:
                                 }
                                 else
                                 {
-                                    if(pwalldir==di_east && (int32_t)((word)xintercept)+xstep>(pwallposi<<10)
-                                            || pwalldir==di_west && (int32_t)((word)xintercept)+xstep<(pwallposi<<10))
+                                    if((pwalldir==di_east && (int32_t)((word)xintercept)+xstep>(pwallposi<<10))
+                                            || (pwalldir==di_west && (int32_t)((word)xintercept)+xstep<(pwallposi<<10)))
                                         goto passhoriz;
 
                                     if(pwalldir==di_east)
--- wolf4sdl-1.6.orig/wl_game.cpp
+++ wolf4sdl-1.6/wl_game.cpp
@@ -3,7 +3,6 @@
 #include <SDL_mixer.h>
 #endif
 
-#pragma hdrstop
 
 #ifdef MYPROFILE
 #include <TIME.H>
@@ -1177,7 +1176,8 @@ void PlayDemo (int demonumber)
     NewGame (1,0);
     gamestate.mapon = *demoptr++;
     gamestate.difficulty = gd_hard;
-    length = READWORD(*(uint8_t **)&demoptr);
+    length = demoptr[0] | demoptr[1] << 8;
+    demoptr+=2;
     // TODO: Seems like the original demo format supports 16 MB demos
     //       But T_DEM00 and T_DEM01 of Wolf have a 0xd8 as third length size...
     demoptr++;
--- wolf4sdl-1.6.orig/wl_inter.cpp
+++ wolf4sdl-1.6/wl_inter.cpp
@@ -1,7 +1,6 @@
 // WL_INTER.C
 
 #include "wl_def.h"
-#pragma hdrstop
 
 LRstruct LevelRatios[LRpack];
 int32_t lastBreathTime = 0;
@@ -386,7 +385,7 @@ Write (int x, int y, const char *string)
                     break;
 
                 default:
-                    VWB_DrawPic (nx, ny, alpha[ch]);
+                    VWB_DrawPic (nx, ny, alpha[(int)ch]);
             }
             nx += 16;
         }
--- wolf4sdl-1.6.orig/wl_main.cpp
+++ wolf4sdl-1.6/wl_main.cpp
@@ -7,7 +7,6 @@
 #endif
 
 #include "wl_def.h"
-#pragma hdrstop
 #include "wl_atmos.h"
 #include <SDL_syswm.h>
 #include <errno.h>
@@ -1420,7 +1419,7 @@ void Quit (const char *errorStr, ...)
     if (!pictable)  // don't try to display the red box before it's loaded
     {
         ShutdownId();
-        if (error && *error)
+        if (*error)
         {
 #ifdef NOTYET
             SetTextCursor(0,0);
@@ -1434,7 +1433,7 @@ void Quit (const char *errorStr, ...)
         exit(1);
     }
 
-    if (!error || !*error)
+    if (!*error)
     {
 #ifdef NOTYET
         #ifndef JAPAN
@@ -1454,7 +1453,7 @@ void Quit (const char *errorStr, ...)
 
     ShutdownId ();
 
-    if (error && *error)
+    if (*error)
     {
 #ifdef NOTYET
         memcpy((byte *)0xb8000,screen+7,7*160);
@@ -1468,7 +1467,7 @@ void Quit (const char *errorStr, ...)
         exit(1);
     }
     else
-    if (!error || !(*error))
+    if (!*error)
     {
 #ifdef NOTYET
         #ifndef JAPAN
@@ -1700,7 +1699,7 @@ void CheckParameters(int argc, char *arg
                 screenWidth = atoi(argv[++i]);
                 screenHeight = atoi(argv[++i]);
                 unsigned factor = screenWidth / 320;
-                if(screenWidth % 320 || screenHeight != 200 * factor && screenHeight != 240 * factor)
+                if(screenWidth % 320 || (screenHeight != 200 * factor && screenHeight != 240 * factor))
                     printf("Screen size must be a multiple of 320x200 or 320x240!\n"), hasError = true;
             }
         }
--- wolf4sdl-1.6.orig/wl_menu.cpp
+++ wolf4sdl-1.6/wl_menu.cpp
@@ -14,7 +14,6 @@
 #endif
 
 #include "wl_def.h"
-#pragma hdrstop
 
 extern int lastgamemusicoffset;
 extern int numEpisodesMissing;
@@ -921,7 +920,7 @@ CP_CheckQuick (ScanCode scancode)
 #ifdef SPANISH
             if (Confirm (ENDGAMESTR))
 #else
-            if (Confirm (endStrings[US_RndT () & 0x7 + (US_RndT () & 1)]))
+            if (Confirm (endStrings[US_RndT () & (0x7 + (US_RndT () & 1))]))
 #endif
 #endif
             {
@@ -1728,6 +1727,7 @@ CP_SaveGame (int quick)
             // OVERWRITE EXISTING SAVEGAME?
             //
             if (SaveGamesAvail[which])
+            {
 #ifdef JAPAN
                 if (!GetYorN (7, 8, C_JAPSAVEOVERPIC))
 #else
@@ -1743,6 +1743,7 @@ CP_SaveGame (int quick)
                     PrintLSEntry (which, HIGHLIGHT);
                     VW_UpdateScreen ();
                 }
+            }
 
             ShootSnd ();
 
@@ -2113,7 +2114,7 @@ CustomControls (int)
 void
 DefineMouseBtns (void)
 {
-    CustomCtrls mouseallowed = { 0, 1, 1, 1 };
+    CustomCtrls mouseallowed = {{ 0, 1, 1, 1 }};
     EnterCtrlData (2, &mouseallowed, DrawCustMouse, PrintCustMouse, MOUSE);
 }
 
@@ -2125,7 +2126,7 @@ DefineMouseBtns (void)
 void
 DefineJoyBtns (void)
 {
-    CustomCtrls joyallowed = { 1, 1, 1, 1 };
+    CustomCtrls joyallowed = {{ 1, 1, 1, 1 }};
     EnterCtrlData (5, &joyallowed, DrawCustJoy, PrintCustJoy, JOYSTICK);
 }
 
@@ -2137,7 +2138,7 @@ DefineJoyBtns (void)
 void
 DefineKeyBtns (void)
 {
-    CustomCtrls keyallowed = { 1, 1, 1, 1 };
+    CustomCtrls keyallowed = {{ 1, 1, 1, 1 }};
     EnterCtrlData (8, &keyallowed, DrawCustKeybd, PrintCustKeybd, KEYBOARDBTNS);
 }
 
@@ -2149,7 +2150,7 @@ DefineKeyBtns (void)
 void
 DefineKeyMove (void)
 {
-    CustomCtrls keyallowed = { 1, 1, 1, 1 };
+    CustomCtrls keyallowed = {{ 1, 1, 1, 1 }};
     EnterCtrlData (10, &keyallowed, DrawCustKeys, PrintCustKeys, KEYBOARDMOVE);
 }
 
@@ -2166,7 +2167,7 @@ void
 EnterCtrlData (int index, CustomCtrls * cust, void (*DrawRtn) (int), void (*PrintRtn) (int),
                int type)
 {
-    int j, exit, tick, redraw, which, x, picked, lastFlashTime;
+    int j, exit, tick, redraw, which = 0, x = 0, picked, lastFlashTime;
     ControlInfo ci;
 
 
@@ -2217,7 +2218,7 @@ EnterCtrlData (int index, CustomCtrls *
         //
         // CHANGE BUTTON VALUE?
         //
-        if ((type != KEYBOARDBTNS && type != KEYBOARDMOVE) && (ci.button0 | ci.button1 | ci.button2 | ci.button3) ||
+        if (((type != KEYBOARDBTNS && type != KEYBOARDMOVE) && (ci.button0 | ci.button1 | ci.button2 | ci.button3)) ||
             ((type == KEYBOARDBTNS || type == KEYBOARDMOVE) && LastScan == sc_Enter))
         {
             lastFlashTime = GetTimeCount();
@@ -2338,7 +2339,7 @@ EnterCtrlData (int index, CustomCtrls *
                 //
                 // EXIT INPUT?
                 //
-                if (IN_KeyDown (sc_Escape) || type != JOYSTICK && ci.button1)
+                if (IN_KeyDown (sc_Escape) || (type != JOYSTICK && ci.button1))
                 {
                     picked = 1;
                     SD_PlaySound (ESCPRESSEDSND);
@@ -2918,7 +2919,7 @@ CP_Quit (int)
 #ifdef SPANISH
     if (Confirm (ENDGAMESTR))
 #else
-    if (Confirm (endStrings[US_RndT () & 0x7 + (US_RndT () & 1)]))
+    if (Confirm (endStrings[US_RndT () & (0x7 + (US_RndT () & 1))]))
 #endif
 
 #endif
@@ -3405,7 +3406,7 @@ HandleMenu (CP_iteminfo * item_i, CP_ite
         if (ci.button0 || Keyboard[sc_Space] || Keyboard[sc_Enter])
             exit = 1;
 
-        if (ci.button1 && !Keyboard[sc_Alt] || Keyboard[sc_Escape])
+        if ((ci.button1 && !Keyboard[sc_Alt]) || Keyboard[sc_Escape])
             exit = 2;
 
     }
@@ -3854,7 +3855,7 @@ Message (const char *string)
             h += font->height;
         }
         else
-            w += font->width[string[i]];
+            w += font->width[(int8_t)string[i]];
     }
 
     if (w + 10 > mw)
--- wolf4sdl-1.6.orig/wl_play.cpp
+++ wolf4sdl-1.6/wl_play.cpp
@@ -1,7 +1,6 @@
 // WL_PLAY.C
 
 #include "wl_def.h"
-#pragma hdrstop
 
 #include "wl_cloudsky.h"
 #include "wl_shade.h"
@@ -688,8 +687,6 @@ void CheckKeys (void)
 #endif
            scan == sc_F9 || scan == sc_F7 || scan == sc_F8)     // pop up quit dialog
     {
-        short oldmapon = gamestate.mapon;
-        short oldepisode = gamestate.episode;
         ClearMemory ();
         ClearSplitVWB ();
         US_ControlPanel (scan);
--- wolf4sdl-1.6.orig/wl_state.cpp
+++ wolf4sdl-1.6/wl_state.cpp
@@ -1,7 +1,6 @@
 // WL_STATE.C
 
 #include "wl_def.h"
-#pragma hdrstop
 
 /*
 =============================================================================
--- wolf4sdl-1.6.orig/wl_text.cpp
+++ wolf4sdl-1.6/wl_text.cpp
@@ -1,7 +1,6 @@
 // WL_TEXT.C
 
 #include "wl_def.h"
-#pragma hdrstop
 
 /*
 =============================================================================

Wolf4SDL-1.6-compile-fixes.patch:
 id_ca.cpp   |    2 +-
 wl_main.cpp |    2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

--- NEW FILE Wolf4SDL-1.6-compile-fixes.patch ---
diff -up Wolf4SDL-1.6-src/id_ca.cpp~ Wolf4SDL-1.6-src/id_ca.cpp
--- Wolf4SDL-1.6-src/id_ca.cpp~	2010-12-25 11:51:36.000000000 +0100
+++ Wolf4SDL-1.6-src/id_ca.cpp	2010-12-25 11:54:16.675674203 +0100
@@ -153,7 +153,7 @@ void CAL_GetGrChunkLength (int chunk)
 
 boolean CA_WriteFile (const char *filename, void *ptr, int32_t length)
 {
-    const int handle = open(filename, O_CREAT | O_WRONLY | O_BINARY);
+    const int handle = open(filename, O_CREAT | O_WRONLY | O_BINARY, 0644);
     if (handle == -1)
         return false;
 
diff -up Wolf4SDL-1.6-src/wl_main.cpp~ Wolf4SDL-1.6-src/wl_main.cpp
--- Wolf4SDL-1.6-src/wl_main.cpp~	2010-12-25 11:55:08.000000000 +0100
+++ Wolf4SDL-1.6-src/wl_main.cpp	2010-12-25 11:56:19.345674374 +0100
@@ -4,6 +4,8 @@
     #include <io.h>
 #else
     #include <unistd.h>
+    #include <sys/stat.h>
+    #include <sys/types.h>
 #endif
 
 #include "wl_def.h"

Wolf4SDL-1.6-registered-apogee.patch:
 version.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE Wolf4SDL-1.6-registered-apogee.patch ---
--- wolf4sdl-1.6.orig/version.h
+++ wolf4sdl-1.6/version.h
@@ -7,7 +7,7 @@
 
 //#define SPEAR
 //#define SPEARDEMO
 //#define UPLOAD
-#define GOODTIMES
+//#define GOODTIMES
 #define CARMACIZED
 //#define APOGEE_1_0
 //#define APOGEE_1_1

Wolf4SDL-1.6-spear.patch:
 version.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE Wolf4SDL-1.6-spear.patch ---
diff -up Wolf4SDL-1.6-src/version.h~ Wolf4SDL-1.6-src/version.h
--- Wolf4SDL-1.6-src/version.h~	2010-12-27 09:18:52.000000000 +0100
+++ Wolf4SDL-1.6-src/version.h	2010-12-27 09:32:35.785486971 +0100
@@ -9,9 +9,9 @@
 
 /* Defines used for different versions */
 
-//#define SPEAR
+#define SPEAR
 //#define SPEARDEMO
-#define UPLOAD
+//#define UPLOAD
 //#define GOODTIMES
 #define CARMACIZED
 //#define APOGEE_1_0

Wolf4SDL-1.6-speardemo.patch:
 version.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE Wolf4SDL-1.6-speardemo.patch ---
diff -up Wolf4SDL-1.6-src/version.h~ Wolf4SDL-1.6-src/version.h
--- Wolf4SDL-1.6-src/version.h~	2010-12-27 09:32:35.000000000 +0100
+++ Wolf4SDL-1.6-src/version.h	2010-12-27 09:33:08.986486882 +0100
@@ -10,7 +10,7 @@
 /* Defines used for different versions */
 
 #define SPEAR
-//#define SPEARDEMO
+#define SPEARDEMO
 //#define UPLOAD
 //#define GOODTIMES
 #define CARMACIZED


***** Error reading new file: [Errno 2] No such file or directory: 'wolf4sdl.6'

--- NEW FILE wolf4sdl.desktop ---
[Desktop Entry]
Type=Application
Name=@NAME@
Comment=An open-source port of id Software's classic first-person shooter
Icon=wolf4sdl
Exec=wolf4sdl- at VARIANT@
Categories=Game;ActionGame;


--- NEW FILE wolf4sdl.spec ---
Name:           wolf4sdl
Version:        1.6
Release:        1%{?dist}
Summary:        SDL port of id Software's Wolfenstein 3D
Group:          Amusements/Games
License:        Distributable
# These url's are for a version targeted mainly at Mac OS X
# The original wolf4sdl site was:
# http://www.stud.uni-karlsruhe.de/~uvaue/chaos
# But this gives 403 errors now a days.
URL:            http://chrisballinger.info/wolf4sdl/
Source0:        http://chrisballinger.info/wolf4sdl/Wolf4SDL-1.6-src.zip
# All the below files and the package description are taken from the Debian
# package by Fabian Greffrath <fabian+debian at greffrath.com>
# License:
#  Copying and distribution of the Debian packaging, with or without
#  modification are permitted in any medium without royalty provided the
#  copyright notice and this notice are preserved. The Debian packaging is
#  offered as-is, without any warranty.
Source1:        %{name}.6
Source2:        %{name}.desktop
Source3:        %{name}.xpm
Patch0:         01-shareware-version.patch
Patch1:         02-enable-shading.patch
Patch2:         10-datadir.patch
Patch3:         11-configdir.patch
Patch4:         21-compiler-warnings.patch
# end Debian files
Patch5:         Wolf4SDL-1.6-compile-fixes.patch
Patch6:         Wolf4SDL-1.6-registered-apogee.patch
Patch7:         Wolf4SDL-1.6-spear.patch
Patch8:         Wolf4SDL-1.6-speardemo.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  SDL-devel SDL_mixer-devel desktop-file-utils

%global desc \
Maybe it was the fact that people got to blow away Nazis. Maybe it was the \
sheer challenge of it all. For whatever reason, Wolfenstein 3D and Spear of \
Destiny, pioneered the first-person shooter genre and brought its legendary \
creators, id Software, worldwide notoriety and numerous awards. In fact, The \
Computer Gaming World Hall of Fame recognized Wolfenstein 3D as helping to \
shape the overall direction of the computer gaming industry. \
\
Wolf4SDL is an open-source port of id Software's classic first-person shooter \
Wolfenstein 3D to the cross-platform multimedia library "Simple DirectMedia \
Layer (SDL)" (http://www.libsdl.org). It is meant to keep the original feel \
while taking advantage of some improvements.

%description
%{desc}


%package        registered-id
Summary:        SDL port of Wolfenstein 3D - id Software registered version
URL:            http://www.idsoftware.com/games/wolfenstein/wolf3d/

%description registered-id
This package contains %{name} compiled for playing the registered version of
Wolfenstein 3D as sold by id Software:
http://www.idsoftware.com/games/wolfenstein/wolf3d/

You will need the original registered version's data files to play the
registered version. Place the data files under /usr/share/wolf3d/registered-id
before starting %{name}-registered-id. Note all file-names must be lowercase!
%{desc}


%package        registered-apogee
Summary:        SDL port of Wolfenstein 3D - Apogee registered version
URL:            http://www.3drealms.com/wolf3d/index.html

%description registered-apogee
This package contains %{name} compiled for playing the registered version of
Wolfenstein 3D as sold by Apogee / 3Drealms here:
http://www.3drealms.com/wolf3d/index.html

You will need the original registered version's data files to play the
registered version. Place the data files under
/usr/share/wolf3d/registered-apogee before starting
%{name}-registered-apogee. Note all file-names must be lowercase!
%{desc}


%package        shareware
Summary:        SDL port of id Software's Wolfenstein 3D - shareware version
URL:            http://www.3drealms.com/wolf3d/index.html
Requires:       wolf3d-shareware

%description shareware
This package contains %{name} compiled for playing the shareware version of
Wolfenstein 3D.
%{desc}


%package        spear
Summary:        SDL port of Wolfenstein 3D - Spear of Destiny version
URL:            http://www.idsoftware.com/games/wolfenstein/spear/

%description spear
This package contains %{name} compiled for playing the Spear of Destiny
prequel to Wolfenstein 3D, sold by id Software:
http://www.idsoftware.com/games/wolfenstein/spear/

You will need the original Spear of Destiny data files to play.
Place the data files under /usr/share/spear/full before starting
%{name}-spear. Note all file-names must be lowercase!
%{desc}


%package        spear-demo
Summary:        SDL port of Wolfenstein 3D - Spear of Destiny demo version
URL:            http://www.idsoftware.com/games/wolfenstein/spear/
Requires:       spear-demo

%description spear-demo
This package contains %{name} compiled for playing the demo of the Spear of
Destiny prequel to Wolfenstein 3D.
%{desc}


%prep
%setup -q -c
pushd Wolf4SDL-1.6-src
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1

chmod -x *.cpp *.h *.inc

mkdir ../doc
for i in Changes.txt README.txt license-*.txt; do
    cat $i | sed 's|\r||g' > ../doc/$i
    touch -r $i ../doc/$i
done

popd


%build
pushd Wolf4SDL-1.6-src
CFLAGS="$RPM_OPT_FLAGS -Wno-sign-compare -Wno-switch -Wno-unused-result"
CFLAGS="$CFLAGS $(sdl-config --cflags)"

make %{?_smp_mflags} \
    CFLAGS="$CFLAGS -DDATADIR=\\\"/usr/share/wolf3d/registered-id/\\\""
mv wolf3d %{name}-registered-id
cp %{SOURCE2} %{name}-registered-id.desktop
sed -i 's|@NAME@|Wolfenstein 3D Registered (id)|g' \
    %{name}-registered-id.desktop
sed -i 's|@VARIANT@|registered-id|g' %{name}-registered-id.desktop
make clean

patch -p1 < %{PATCH6}
make %{?_smp_mflags} \
    CFLAGS="$CFLAGS -DDATADIR=\\\"/usr/share/wolf3d/registered-apogee/\\\""
mv wolf3d %{name}-registered-apogee
cp %{SOURCE2} %{name}-registered-apogee.desktop
sed -i 's|@NAME@|Wolfenstein 3D Registered (Apogee)|g' \
    %{name}-registered-apogee.desktop
sed -i 's|@VARIANT@|registered-apogee|g' %{name}-registered-apogee.desktop
make clean

patch -p1 < %{PATCH0}
make %{?_smp_mflags} \
    CFLAGS="$CFLAGS -DDATADIR=\\\"/usr/share/wolf3d/shareware/\\\""
mv wolf3d %{name}-shareware
cp %{SOURCE2} %{name}-shareware.desktop
sed -i 's|@NAME@|Wolfenstein 3D Shareware (Apogee)|g' %{name}-shareware.desktop
sed -i 's|@VARIANT@|shareware|g' %{name}-shareware.desktop
make clean

patch -p1 < %{PATCH7}
make %{?_smp_mflags} \
    CFLAGS="$CFLAGS -DDATADIR=\\\"/usr/share/spear/full/\\\""
mv wolf3d %{name}-spear
cp %{SOURCE2} %{name}-spear.desktop
sed -i 's|@NAME@|Spear of Destiny|g' %{name}-spear.desktop
sed -i 's|@VARIANT@|spear|g' %{name}-spear.desktop
make clean

patch -p1 < %{PATCH8}
make %{?_smp_mflags} \
    CFLAGS="$CFLAGS -DDATADIR=\\\"/usr/share/spear/demo/\\\""
mv wolf3d %{name}-spear-demo
cp %{SOURCE2} %{name}-spear-demo.desktop
sed -i 's|@NAME@|Spear of Destiny Demo|g' %{name}-spear-demo.desktop
sed -i 's|@VARIANT@|spear-demo|g' %{name}-spear-demo.desktop

popd


%install
pushd Wolf4SDL-1.6-src
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man6
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man6
install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/pixmaps

install -m 755 %{name}-registered-id $RPM_BUILD_ROOT%{_bindir}
ln -s wolf4sdl.6 $RPM_BUILD_ROOT%{_mandir}/man6/wolf4sdl-registered-id.6
desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications \
    %{name}-registered-id.desktop
mkdir -p $RPM_BUILD_ROOT%{_datadir}/wolf3d/registered-id

install -m 755 %{name}-registered-apogee $RPM_BUILD_ROOT%{_bindir}
ln -s wolf4sdl.6 $RPM_BUILD_ROOT%{_mandir}/man6/wolf4sdl-registered-apogee.6
desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications \
    %{name}-registered-apogee.desktop
mkdir -p $RPM_BUILD_ROOT%{_datadir}/wolf3d/registered-apogee

install -m 755 %{name}-shareware $RPM_BUILD_ROOT%{_bindir}
ln -s wolf4sdl.6 $RPM_BUILD_ROOT%{_mandir}/man6/wolf4sdl-shareware.6
desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications \
    %{name}-shareware.desktop

install -m 755 %{name}-spear $RPM_BUILD_ROOT%{_bindir}
ln -s wolf4sdl.6 $RPM_BUILD_ROOT%{_mandir}/man6/wolf4sdl-spear.6
desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications \
    %{name}-spear.desktop
mkdir -p $RPM_BUILD_ROOT%{_datadir}/spear/full

install -m 755 %{name}-spear-demo $RPM_BUILD_ROOT%{_bindir}
ln -s wolf4sdl.6 $RPM_BUILD_ROOT%{_mandir}/man6/wolf4sdl-spear-demo.6
desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications \
    %{name}-spear-demo.desktop

popd


%clean
rm -rf $RPM_BUILD_ROOT


%files registered-id
%defattr(-,root,root,-)
%doc doc/*
%{_bindir}/%{name}-registered-id
%{_mandir}/man6/%{name}.6*
%{_mandir}/man6/%{name}-registered-id.6*
%{_datadir}/applications/%{name}-registered-id.desktop
%{_datadir}/pixmaps/%{name}.xpm
%dir %{_datadir}/wolf3d
%dir %{_datadir}/wolf3d/registered-id

%files registered-apogee
%defattr(-,root,root,-)
%doc doc/*
%{_bindir}/%{name}-registered-apogee
%{_mandir}/man6/%{name}.6*
%{_mandir}/man6/%{name}-registered-apogee.6*
%{_datadir}/applications/%{name}-registered-apogee.desktop
%{_datadir}/pixmaps/%{name}.xpm
%dir %{_datadir}/wolf3d
%dir %{_datadir}/wolf3d/registered-apogee

%files shareware
%defattr(-,root,root,-)
%doc doc/*
%{_bindir}/%{name}-shareware
%{_mandir}/man6/%{name}.6*
%{_mandir}/man6/%{name}-shareware.6*
%{_datadir}/applications/%{name}-shareware.desktop
%{_datadir}/pixmaps/%{name}.xpm

%files spear
%defattr(-,root,root,-)
%doc doc/*
%{_bindir}/%{name}-spear
%{_mandir}/man6/%{name}.6*
%{_mandir}/man6/%{name}-spear.6*
%{_datadir}/applications/%{name}-spear.desktop
%{_datadir}/pixmaps/%{name}.xpm
%dir %{_datadir}/spear
%dir %{_datadir}/spear/full

%files spear-demo
%defattr(-,root,root,-)
%doc doc/*
%{_bindir}/%{name}-spear-demo
%{_mandir}/man6/%{name}.6*
%{_mandir}/man6/%{name}-spear-demo.6*
%{_datadir}/applications/%{name}-spear-demo.desktop
%{_datadir}/pixmaps/%{name}.xpm


%changelog
* Mon Dec 27 2010 Hans de Goede <hdegoede at redhat.com> 1.6-1
- Initial rpmfusion package


--- NEW FILE wolf4sdl.xpm ---
/* XPM */
static char * wolf4sdl_xpm[] = {
"32 32 83 1",
" 	c None",
".	c #462E2E",
"+	c #5D4617",
"@	c #A25D00",
"#	c #D15D00",
"$	c #E87400",
"%	c #B95D00",
"&	c #8B4600",
"*	c #A25D17",
"=	c #46462E",
"-	c #744617",
";	c #8B4617",
">	c #5D462E",
",	c #A24600",
"'	c #FF7400",
")	c #74462E",
"!	c #2E2E2E",
"~	c #8B5D2E",
"{	c #8B462E",
"]	c #5D2E17",
"^	c #A25D2E",
"/	c #171717",
"(	c #B97446",
"_	c #D18B5D",
":	c #B9742E",
"<	c #A25D46",
"[	c #8B5D17",
"}	c #8B5D46",
"|	c #000000",
"1	c #2E2E46",
"2	c #A27446",
"3	c #D17446",
"4	c #E8A274",
"5	c #FFB98B",
"6	c #FFA274",
"7	c #E88B5D",
"8	c #745D2E",
"9	c #B95D17",
"0	c #5D2E00",
"a	c #E8A25D",
"b	c #B98B5D",
"c	c #74745D",
"d	c #FFB9A2",
"e	c #B9A2A2",
"f	c #5D4646",
"g	c #745D46",
"h	c #8B7446",
"i	c #A28B74",
"j	c #B98B8B",
"k	c #8B5D5D",
"l	c #5D5D5D",
"m	c #744646",
"n	c #2E2E17",
"o	c #46465D",
"p	c #745D74",
"q	c #B9745D",
"r	c #B95D2E",
"s	c #8B8B8B",
"t	c #1717A2",
"u	c #2E2E8B",
"v	c #A20000",
"w	c #17178B",
"x	c #2E2ED1",
"y	c #8B74E8",
"z	c #E8B9A2",
"A	c #E8A28B",
"B	c #E8B98B",
"C	c #E8A2A2",
"D	c #E8D1B9",
"E	c #FFD1B9",
"F	c #D18B46",
"G	c #FFA28B",
"H	c #B9A28B",
"I	c #B98B74",
"J	c #B9B9A2",
"K	c #D1B9A2",
"L	c #E8D1D1",
"M	c #E8E8E8",
"N	c #FFE8E8",
"O	c #FFD1A2",
"P	c #462E17",
"Q	c #D1A274",
"R	c #464617",
"      .+@####$##$$$$$#%+        ",
"      +&@%%%######$$$$#*+=      ",
"     =-@@@@@%%%%%%#$$$$#;>      ",
"     +;@@&&&,@@@*@##$''#*)      ",
"    !&@@,)++)~@;))@%$'$@@;      ",
"    !&,;{)+++>,-+]+%##%{;-      ",
"    !+&;~^^^~;;;)))*%@;~;+/     ",
"   =/+;;~(___:<^~~)[@*~}~]|     ",
"   1/))~2345567_328~**(390|     ",
"    !)~}(3a6555673<((b672>|     ",
"    !)~<2c345d56a3(3:2e6(>/     ",
"    =;^<~fghij473~)}gki4:~>!    ",
"    ~*^2~>!1lm((^+n1opq_rr2/    ",
"   f<~<3_stumv~}~~~wxyd5(2(/=   ",
"    ~~2_6zzzA774BBBCzDEdb^~/1   ",
"    ~~(F7555G7a5d5555555_(}/    ",
"    8~(3F6664F74AA6556aa_(~!    ",
"    )~(F_7777(F__F7464_7F28     ",
"     )(76F(3_______((366_}      ",
"     )(767HIFFFFFFFzA755qg      ",
"     n~_77eJKKzzzzzEBa55}=      ",
"     |)3_7HKLLMMMMNOB4d5)n      ",
"     |)(_6745OEEEEE46d55)!      ",
"     |]^365667__7a65d576)!      ",
"     |P)~_655647a65d56_a)!      ",
"     /P)+<_Q44_F_444Q_34)!      ",
"     !>)R)~2((^~^(3(<2F6g.      ",
"     =>)++++++)))~~^(_66c       ",
"      >)+)))~2^<222_4557k       ",
"      >))~^<(_3__F(7Gd5_c       ",
"      >))~2(_a7464_7654(g       ",
"      >)~^<(75765d6746_<f       "};


Index: .cvsignore
===================================================================
RCS file: /cvs/nonfree/rpms/wolf4sdl/F-13/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	9 Jan 2011 12:05:06 -0000	1.1
+++ .cvsignore	9 Jan 2011 12:51:49 -0000	1.2
@@ -0,0 +1 @@
+Wolf4SDL-1.6-src.zip


Index: sources
===================================================================
RCS file: /cvs/nonfree/rpms/wolf4sdl/F-13/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	9 Jan 2011 12:05:06 -0000	1.1
+++ sources	9 Jan 2011 12:51:50 -0000	1.2
@@ -0,0 +1 @@
+8195dbb793b55bbc6ff3db30bbb87689  Wolf4SDL-1.6-src.zip



More information about the rpmfusion-commits mailing list