diff --git a/libs/libpng-src/projects/visualc10/libpng.vcxproj b/libs/libpng-src/projects/visualc10/libpng.vcxproj
index eaa3d4ffb..351b4317d 100644
--- a/libs/libpng-src/projects/visualc10/libpng.vcxproj
+++ b/libs/libpng-src/projects/visualc10/libpng.vcxproj
@@ -37,51 +37,51 @@
{72B01ACA-7A1A-4F7B-ACEF-2607299CF052}
libpng
- 10.0.16299.0
+ 10.0
StaticLibrary
false
- v140
+ v143
StaticLibrary
false
- v141
+ v143
true
StaticLibrary
false
- v140
+ v143
StaticLibrary
false
- v141
+ v143
true
StaticLibrary
false
- v140
+ v143
StaticLibrary
false
- v141
+ v143
true
StaticLibrary
false
- v140
+ v143
StaticLibrary
false
- v141
+ v143
true
@@ -278,7 +278,7 @@
Disabled
..\..;..\..\..\zlib;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;DEBUG;PNG_DEBUG=1;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
- true
+ false
EnableFastChecks
MultiThreadedDebugDLL
$(ProjectDir)$(Platform)\$(Configuration)\
@@ -288,7 +288,7 @@
true
EditAndContinue
CompileAsC
- false
+ true
_DEBUG;%(PreprocessorDefinitions)
diff --git a/libs/zlib/projects/visualc10/zlib.vcxproj b/libs/zlib/projects/visualc10/zlib.vcxproj
index de7b2aaab..5c00ea4a9 100644
--- a/libs/zlib/projects/visualc10/zlib.vcxproj
+++ b/libs/zlib/projects/visualc10/zlib.vcxproj
@@ -37,51 +37,51 @@
{73A5729C-7323-41D4-AB48-8A03C9F81603}
zlib
- 10.0.16299.0
+ 10.0
StaticLibrary
false
- v140
+ v143
StaticLibrary
false
- v141
+ v143
true
StaticLibrary
false
- v140
+ v143
StaticLibrary
false
- v141
+ v143
true
StaticLibrary
false
- v140
+ v143
true
StaticLibrary
false
- v141
+ v143
StaticLibrary
false
- v140
+ v143
StaticLibrary
false
- v141
+ v143
true
@@ -144,7 +144,7 @@
Disabled
WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)
- true
+ false
Default
MultiThreadedDebugDLL
$(ProjectDir)$(Platform)\$(Configuration)\
@@ -154,7 +154,7 @@
true
EditAndContinue
CompileAsC
- false
+ true
_DEBUG;%(PreprocessorDefinitions)
diff --git a/srb2-vc9.sln b/srb2-vc9.sln
deleted file mode 100644
index bbfcf0e77..000000000
--- a/srb2-vc9.sln
+++ /dev/null
@@ -1,89 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Srb2win", "src\win32\Srb2win-vc9.vcproj", "{0F554F1D-ED49-4D65-A9A7-F63C57F277BE}"
- ProjectSection(ProjectDependencies) = postProject
- {73A5729C-7323-41D4-AB48-8A03C9F81603} = {73A5729C-7323-41D4-AB48-8A03C9F81603}
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052} = {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libs\libpng-src\projects\visualc9\libpng.vcproj", "{72B01ACA-7A1A-4F7B-ACEF-2607299CF052}"
- ProjectSection(ProjectDependencies) = postProject
- {73A5729C-7323-41D4-AB48-8A03C9F81603} = {73A5729C-7323-41D4-AB48-8A03C9F81603}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "r_opengl", "src\hardware\r_opengl\r_opengl-vc9.vcproj", "{51137D5C-4E81-4955-AACF-EA3092006051}"
- ProjectSection(ProjectDependencies) = postProject
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE} = {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "libs\zlib\projects\visualc9\zlib.vcproj", "{73A5729C-7323-41D4-AB48-8A03C9F81603}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "s_openal", "src\hardware\s_openal\s_openal-vc9.vcproj", "{E662D0B3-412D-4D55-A5EC-8CBD680DDCBE}"
- ProjectSection(ProjectDependencies) = postProject
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE} = {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Srb2SDL", "src\sdl\Srb2SDL-vc9.vcproj", "{61BA7D3C-F77D-4D31-B718-1177FE482CF2}"
- ProjectSection(ProjectDependencies) = postProject
- {73A5729C-7323-41D4-AB48-8A03C9F81603} = {73A5729C-7323-41D4-AB48-8A03C9F81603}
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052} = {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}.Debug|Win32.ActiveCfg = Debug|Win32
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}.Debug|Win32.Build.0 = Debug|Win32
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}.Debug|x64.ActiveCfg = Debug|x64
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}.Debug|x64.Build.0 = Debug|x64
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}.Release|Win32.ActiveCfg = Release|Win32
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}.Release|Win32.Build.0 = Release|Win32
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}.Release|x64.ActiveCfg = Release|x64
- {0F554F1D-ED49-4D65-A9A7-F63C57F277BE}.Release|x64.Build.0 = Release|x64
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}.Debug|Win32.ActiveCfg = Debug|Win32
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}.Debug|Win32.Build.0 = Debug|Win32
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}.Debug|x64.ActiveCfg = Debug|x64
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}.Debug|x64.Build.0 = Debug|x64
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}.Release|Win32.ActiveCfg = Release|Win32
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}.Release|Win32.Build.0 = Release|Win32
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}.Release|x64.ActiveCfg = Release|x64
- {72B01ACA-7A1A-4F7B-ACEF-2607299CF052}.Release|x64.Build.0 = Release|x64
- {51137D5C-4E81-4955-AACF-EA3092006051}.Debug|Win32.ActiveCfg = Debug|Win32
- {51137D5C-4E81-4955-AACF-EA3092006051}.Debug|Win32.Build.0 = Debug|Win32
- {51137D5C-4E81-4955-AACF-EA3092006051}.Debug|x64.ActiveCfg = Debug|x64
- {51137D5C-4E81-4955-AACF-EA3092006051}.Debug|x64.Build.0 = Debug|x64
- {51137D5C-4E81-4955-AACF-EA3092006051}.Release|Win32.ActiveCfg = Release|Win32
- {51137D5C-4E81-4955-AACF-EA3092006051}.Release|Win32.Build.0 = Release|Win32
- {51137D5C-4E81-4955-AACF-EA3092006051}.Release|x64.ActiveCfg = Release|x64
- {51137D5C-4E81-4955-AACF-EA3092006051}.Release|x64.Build.0 = Release|x64
- {73A5729C-7323-41D4-AB48-8A03C9F81603}.Debug|Win32.ActiveCfg = Debug|Win32
- {73A5729C-7323-41D4-AB48-8A03C9F81603}.Debug|Win32.Build.0 = Debug|Win32
- {73A5729C-7323-41D4-AB48-8A03C9F81603}.Debug|x64.ActiveCfg = Debug|x64
- {73A5729C-7323-41D4-AB48-8A03C9F81603}.Debug|x64.Build.0 = Debug|x64
- {73A5729C-7323-41D4-AB48-8A03C9F81603}.Release|Win32.ActiveCfg = Release|Win32
- {73A5729C-7323-41D4-AB48-8A03C9F81603}.Release|Win32.Build.0 = Release|Win32
- {73A5729C-7323-41D4-AB48-8A03C9F81603}.Release|x64.ActiveCfg = Release|x64
- {73A5729C-7323-41D4-AB48-8A03C9F81603}.Release|x64.Build.0 = Release|x64
- {E662D0B3-412D-4D55-A5EC-8CBD680DDCBE}.Debug|Win32.ActiveCfg = Debug|Win32
- {E662D0B3-412D-4D55-A5EC-8CBD680DDCBE}.Debug|x64.ActiveCfg = Debug|x64
- {E662D0B3-412D-4D55-A5EC-8CBD680DDCBE}.Release|Win32.ActiveCfg = Release|Win32
- {E662D0B3-412D-4D55-A5EC-8CBD680DDCBE}.Release|x64.ActiveCfg = Release|x64
- {61BA7D3C-F77D-4D31-B718-1177FE482CF2}.Debug|Win32.ActiveCfg = Debug|Win32
- {61BA7D3C-F77D-4D31-B718-1177FE482CF2}.Debug|Win32.Build.0 = Debug|Win32
- {61BA7D3C-F77D-4D31-B718-1177FE482CF2}.Debug|x64.ActiveCfg = Debug|x64
- {61BA7D3C-F77D-4D31-B718-1177FE482CF2}.Debug|x64.Build.0 = Debug|x64
- {61BA7D3C-F77D-4D31-B718-1177FE482CF2}.Release|Win32.ActiveCfg = Release|Win32
- {61BA7D3C-F77D-4D31-B718-1177FE482CF2}.Release|Win32.Build.0 = Release|Win32
- {61BA7D3C-F77D-4D31-B718-1177FE482CF2}.Release|x64.ActiveCfg = Release|x64
- {61BA7D3C-F77D-4D31-B718-1177FE482CF2}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/src/blua/lua.h b/src/blua/lua.h
index 4e26c2a79..50e520690 100644
--- a/src/blua/lua.h
+++ b/src/blua/lua.h
@@ -12,6 +12,10 @@
#include
#include
+#ifdef _MSC_VER
+#include
+#endif
+
#include "luaconf.h"
diff --git a/src/blua/luaconf.h b/src/blua/luaconf.h
index 9e2948f41..223a85703 100644
--- a/src/blua/luaconf.h
+++ b/src/blua/luaconf.h
@@ -11,9 +11,7 @@
#include
#include
-#ifdef _MSC_VER
-#define INT32 __int32
-#else
+#ifndef _MSC_VER
#include
#define INT32 int32_t
#endif
@@ -147,7 +145,7 @@
** CHANGE that if ptrdiff_t is not adequate on your machine. (On most
** machines, ptrdiff_t gives a good choice between int or long.)
*/
-#define LUA_INTEGER INT32
+#define LUA_INTEGER int32_t
/*
@@ -509,13 +507,13 @@
*/
//#define LUA_NUMBER_DOUBLE
-#define LUA_NUMBER INT32
+#define LUA_NUMBER int32_t
/*
@@ LUAI_UACNUMBER is the result of an 'usual argument conversion'
@* over a number.
*/
-#define LUAI_UACNUMBER INT32
+#define LUAI_UACNUMBER int32_t
/*
@@ -778,6 +776,4 @@ union luai_Cast { double l_d; long l_l; };
** without modifying the main part of the file.
*/
-
-
#endif
diff --git a/src/byteptr.h b/src/byteptr.h
index 33c2c8a4b..3aa2aa508 100644
--- a/src/byteptr.h
+++ b/src/byteptr.h
@@ -150,7 +150,7 @@ FUNCINLINE static ATTRINLINE UINT32 readulong(void *ptr)
#undef DEALIGNED
-#define WRITESTRINGN(p, s, n) ({ \
+#define WRITESTRINGN(p, s, n) { \
size_t tmp_i; \
\
for (tmp_i = 0; tmp_i < n && s[tmp_i] != '\0'; tmp_i++) \
@@ -158,70 +158,70 @@ FUNCINLINE static ATTRINLINE UINT32 readulong(void *ptr)
\
if (tmp_i < n) \
WRITECHAR(p, '\0'); \
-})
+}
-#define WRITESTRINGL(p, s, n) ({ \
+#define WRITESTRINGL(p, s, n) { \
size_t tmp_i; \
\
for (tmp_i = 0; tmp_i < n - 1 && s[tmp_i] != '\0'; tmp_i++) \
WRITECHAR(p, s[tmp_i]); \
\
WRITECHAR(p, '\0'); \
-})
+}
-#define WRITESTRING(p, s) ({ \
+#define WRITESTRING(p, s) { \
size_t tmp_i; \
\
for (tmp_i = 0; s[tmp_i] != '\0'; tmp_i++) \
WRITECHAR(p, s[tmp_i]); \
\
WRITECHAR(p, '\0'); \
-})
+}
-#define WRITEMEM(p, s, n) ({ \
+#define WRITEMEM(p, s, n) { \
memcpy(p, s, n); \
p += n; \
-})
+}
#define SKIPSTRING(p) while (READCHAR(p) != '\0')
-#define SKIPSTRINGN(p, n) ({ \
+#define SKIPSTRINGN(p, n) { \
size_t tmp_i = 0; \
\
while (tmp_i < n && READCHAR(p) != '\0') \
tmp_i++; \
-})
+}
#define SKIPSTRINGL(p, n) SKIPSTRINGN(p, n)
-#define READSTRINGN(p, s, n) ({ \
+#define READSTRINGN(p, s, n) { \
size_t tmp_i = 0; \
\
while (tmp_i < n && (s[tmp_i] = READCHAR(p)) != '\0') \
tmp_i++; \
\
s[tmp_i] = '\0'; \
-})
+}
-#define READSTRINGL(p, s, n) ({ \
+#define READSTRINGL(p, s, n) { \
size_t tmp_i = 0; \
\
while (tmp_i < n - 1 && (s[tmp_i] = READCHAR(p)) != '\0') \
tmp_i++; \
\
s[tmp_i] = '\0'; \
-})
+}
-#define READSTRING(p, s) ({ \
+#define READSTRING(p, s) { \
size_t tmp_i = 0; \
\
while ((s[tmp_i] = READCHAR(p)) != '\0') \
tmp_i++; \
\
s[tmp_i] = '\0'; \
-})
+}
-#define READMEM(p, s, n) ({ \
+#define READMEM(p, s, n) { \
memcpy(s, p, n); \
p += n; \
-})
+}
diff --git a/src/command.c b/src/command.c
index 9be081fb7..201cceeee 100644
--- a/src/command.c
+++ b/src/command.c
@@ -1724,9 +1724,13 @@ void CV_SaveVars(UINT8 **p, boolean in_demo)
if ((cvar->flags & CV_NETVAR) && !CV_IsSetToDefault(cvar))
{
if (in_demo)
+ {
WRITESTRING(*p, cvar->name);
+ }
else
+ {
WRITEUINT16(*p, cvar->netid);
+ }
WRITESTRING(*p, cvar->string);
WRITEUINT8(*p, false);
++count;
diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index 5f02bc2de..07dba1777 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -50,6 +50,7 @@
#include "m_anigif.h"
#include "md5.h"
#include "m_perfstats.h"
+#include "hardware/u_list.h" // TODO: this should be a standard utility class
#ifdef NETGAME_DEVMODE
#define CV_RESTRICT CV_NETVAR
@@ -3312,6 +3313,69 @@ static void Got_RunSOCcmd(UINT8 **cp, INT32 playernum)
G_SetGameModified(true);
}
+// C++ would make this SO much simpler!
+typedef struct addedfile_s
+{
+ struct addedfile_s *next;
+ struct addedfile_s *prev;
+ char *value;
+} addedfile_t;
+
+static boolean AddedFileContains(addedfile_t *list, const char *value)
+{
+ addedfile_t *node;
+ for (node = list; node; node = node->next)
+ {
+ if (!strcmp(value, node->value))
+ return true;
+ }
+
+ return false;
+}
+
+static void AddedFilesAdd(addedfile_t **list, const char *value)
+{
+ addedfile_t *item = Z_Calloc(sizeof(addedfile_t), PU_STATIC, NULL);
+ item->value = Z_StrDup(value);
+ ListAdd(item, (listitem_t**)list);
+}
+
+static void AddedFilesRemove(void *pItem, addedfile_t **itemHead)
+{
+ addedfile_t *item = (addedfile_t *)pItem;
+
+ if (item == *itemHead) // Start of list
+ {
+ *itemHead = item->next;
+
+ if (*itemHead)
+ (*itemHead)->prev = NULL;
+ }
+ else if (item->next == NULL) // end of list
+ {
+ item->prev->next = NULL;
+ }
+ else // Somewhere in between
+ {
+ item->prev->next = item->next;
+ item->next->prev = item->prev;
+ }
+
+ Z_Free(item->value);
+ Z_Free(item);
+}
+
+static void AddedFilesClearList(addedfile_t **itemHead)
+{
+ addedfile_t *item;
+ addedfile_t *next;
+ for (item = *itemHead; item; item = next)
+ {
+ next = item->next;
+ AddedFilesRemove(item, itemHead);
+ }
+}
+
/** Adds a pwad at runtime.
* Searches for sounds, maps, music, new images.
*/
@@ -3320,8 +3384,7 @@ static void Command_Addfile(void)
size_t argc = COM_Argc(); // amount of arguments total
size_t curarg; // current argument index
- const char *addedfiles[argc]; // list of filenames already processed
- size_t numfilesadded = 0; // the amount of filenames processed
+ addedfile_t *addedfiles = NULL; // list of filenames already processed
if (argc < 2)
{
@@ -3336,25 +3399,14 @@ static void Command_Addfile(void)
char buf[256];
char *buf_p = buf;
INT32 i;
- size_t ii;
int musiconly; // W_VerifyNMUSlumps isn't boolean
boolean fileadded = false;
fn = COM_Argv(curarg);
// For the amount of filenames previously processed...
- for (ii = 0; ii < numfilesadded; ii++)
- {
- // If this is one of them, don't try to add it.
- if (!strcmp(fn, addedfiles[ii]))
- {
- fileadded = true;
- break;
- }
- }
-
- // If we've added this one, skip to the next one.
- if (fileadded)
+ fileadded = AddedFileContains(addedfiles, fn);
+ if (fileadded) // If this is one of them, don't try to add it.
{
CONS_Alert(CONS_WARNING, M_GetText("Already processed %s, skipping\n"), fn);
continue;
@@ -3363,13 +3415,16 @@ static void Command_Addfile(void)
// Disallow non-printing characters and semicolons.
for (i = 0; fn[i] != '\0'; i++)
if (!isprint(fn[i]) || fn[i] == ';')
+ {
+ AddedFilesClearList(&addedfiles);
return;
+ }
musiconly = W_VerifyNMUSlumps(fn, false);
if (musiconly == -1)
{
- addedfiles[numfilesadded++] = fn;
+ AddedFilesAdd(&addedfiles, fn);
continue;
}
@@ -3388,7 +3443,7 @@ static void Command_Addfile(void)
if (!(netgame || multiplayer) || musiconly)
{
P_AddWadFile(fn);
- addedfiles[numfilesadded++] = fn;
+ AddedFilesAdd(&addedfiles, fn);
continue;
}
@@ -3403,6 +3458,7 @@ static void Command_Addfile(void)
if (numwadfiles >= MAX_WADFILES)
{
CONS_Alert(CONS_ERROR, M_GetText("Too many files loaded to add %s\n"), fn);
+ AddedFilesClearList(&addedfiles);
return;
}
@@ -3442,13 +3498,15 @@ static void Command_Addfile(void)
WRITEMEM(buf_p, md5sum, 16);
}
- addedfiles[numfilesadded++] = fn;
+ AddedFilesAdd(&addedfiles, fn);
if (IsPlayerAdmin(consoleplayer) && (!server)) // Request to add file
SendNetXCmd(XD_REQADDFILE, buf, buf_p - buf);
else
SendNetXCmd(XD_ADDFILE, buf, buf_p - buf);
}
+
+ AddedFilesClearList(&addedfiles);
}
static void Command_Addfolder(void)
@@ -3456,8 +3514,7 @@ static void Command_Addfolder(void)
size_t argc = COM_Argc(); // amount of arguments total
size_t curarg; // current argument index
- const char *addedfolders[argc]; // list of filenames already processed
- size_t numfoldersadded = 0; // the amount of filenames processed
+ addedfile_t *addedfolders = NULL; // list of filenames already processed
if (argc < 2)
{
@@ -3473,24 +3530,13 @@ static void Command_Addfolder(void)
char buf[256];
char *buf_p = buf;
INT32 i, stat;
- size_t ii;
boolean folderadded = false;
fn = COM_Argv(curarg);
// For the amount of filenames previously processed...
- for (ii = 0; ii < numfoldersadded; ii++)
- {
- // If this is one of them, don't try to add it.
- if (!strcmp(fn, addedfolders[ii]))
- {
- folderadded = true;
- break;
- }
- }
-
- // If we've added this one, skip to the next one.
- if (folderadded)
+ folderadded = AddedFileContains(addedfolders, fn);
+ if (folderadded) // If we've added this one, skip to the next one.
{
CONS_Alert(CONS_WARNING, M_GetText("Already processed %s, skipping\n"), fn);
continue;
@@ -3499,13 +3545,16 @@ static void Command_Addfolder(void)
// Disallow non-printing characters and semicolons.
for (i = 0; fn[i] != '\0'; i++)
if (!isprint(fn[i]) || fn[i] == ';')
+ {
+ AddedFilesClearList(&addedfolders);
return;
+ }
// Add file on your client directly if you aren't in a netgame.
if (!(netgame || multiplayer))
{
P_AddFolder(fn);
- addedfolders[numfoldersadded++] = fn;
+ AddedFilesAdd(&addedfolders, fn);
continue;
}
@@ -3527,6 +3576,7 @@ static void Command_Addfolder(void)
if (numwadfiles >= MAX_WADFILES)
{
CONS_Alert(CONS_ERROR, M_GetText("Too many files loaded to add %s\n"), fn);
+ AddedFilesClearList(&addedfolders);
return;
}
@@ -3572,7 +3622,7 @@ static void Command_Addfolder(void)
Z_Free(fullpath);
- addedfolders[numfoldersadded++] = fn;
+ AddedFilesAdd(&addedfolders, fn);
WRITESTRINGN(buf_p,p,240);
diff --git a/src/deh_soc.c b/src/deh_soc.c
index b3c3c4e0c..cbc7940f7 100644
--- a/src/deh_soc.c
+++ b/src/deh_soc.c
@@ -693,7 +693,8 @@ void readskincolor(MYFILE *f, INT32 num)
if (fastcmp(word, "NAME"))
{
size_t namesize = sizeof(skincolors[num].name);
- char truncword[namesize];
+ char *truncword = malloc(namesize); // Follow C standard - SSNTails
+
UINT16 dupecheck;
deh_strlcpy(truncword, word2, namesize, va("Skincolor %d: name", num)); // truncate here to check for dupes
@@ -701,7 +702,7 @@ void readskincolor(MYFILE *f, INT32 num)
if (truncword[0] != '\0' && (!stricmp(truncword, skincolors[SKINCOLOR_NONE].name) || (dupecheck && dupecheck != num)))
{
size_t lastchar = strlen(truncword);
- char oldword[lastchar+1];
+ char *oldword = malloc(lastchar + 1); // Follow C standard - SSNTails
char dupenum = '1';
strlcpy(oldword, truncword, lastchar+1);
@@ -726,9 +727,12 @@ void readskincolor(MYFILE *f, INT32 num)
}
deh_warning("Skincolor %d: name %s is a duplicate of another skincolor's name - renamed to %s", num, oldword, truncword);
+ free(oldword);
}
strlcpy(skincolors[num].name, truncword, namesize); // already truncated
+
+ free(truncword);
}
else if (fastcmp(word, "RAMP"))
{
diff --git a/src/doomtype.h b/src/doomtype.h
index b8f602c64..456f56380 100644
--- a/src/doomtype.h
+++ b/src/doomtype.h
@@ -31,18 +31,8 @@
#include
#endif
-#define UINT8 unsigned __int8
#define SINT8 signed __int8
-#define UINT16 unsigned __int16
-#define INT16 __int16
-
-#define INT32 __int32
-#define UINT32 unsigned __int32
-
-#define INT64 __int64
-#define UINT64 unsigned __int64
-
typedef long ssize_t;
/* Older Visual C++ headers don't have the Win64-compatible typedefs... */
diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c
index 3cb7275a0..3a6baab71 100644
--- a/src/hardware/hw_main.c
+++ b/src/hardware/hw_main.c
@@ -5232,7 +5232,7 @@ static void HWR_ProjectSprite(mobj_t *thing)
if (caster && !P_MobjWasRemoved(caster))
{
- interpmobjstate_t casterinterp = {};
+ interpmobjstate_t casterinterp = { 0 };
fixed_t groundz;
fixed_t floordiff;
@@ -5340,7 +5340,7 @@ static void HWR_ProjectSprite(mobj_t *thing)
if ((thing->flags2 & MF2_LINKDRAW) && thing->tracer)
{
- interpmobjstate_t tracer_interp = {};
+ interpmobjstate_t tracer_interp = { 0 };
if (! R_ThingVisible(thing->tracer))
return;
diff --git a/src/hardware/r_opengl/r_opengl-vc10.vcxproj b/src/hardware/r_opengl/r_opengl-vc10.vcxproj
index d1f856e96..c93e47d50 100644
--- a/src/hardware/r_opengl/r_opengl-vc10.vcxproj
+++ b/src/hardware/r_opengl/r_opengl-vc10.vcxproj
@@ -38,51 +38,51 @@
r_opengl
{51137D5C-4E81-4955-AACF-EA3092006051}
r_opengl
- 10.0.16299.0
+ 10.0
DynamicLibrary
false
- v140
+ v143
DynamicLibrary
false
- v141
+ v143
true
DynamicLibrary
false
- v140
+ v143
DynamicLibrary
false
- v141
+ v143
true
DynamicLibrary
false
- v140
+ v143
DynamicLibrary
false
- v141
+ v143
true
DynamicLibrary
false
- v140
+ v143
DynamicLibrary
false
- v141
+ v143
true
diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c
index 9d1630abb..0b51fa05c 100644
--- a/src/hardware/r_opengl/r_opengl.c
+++ b/src/hardware/r_opengl/r_opengl.c
@@ -1130,7 +1130,7 @@ static void GLPerspective(GLfloat fovy, GLfloat aspect)
const GLfloat zNear = NEAR_CLIPPING_PLANE;
const GLfloat zFar = FAR_CLIPPING_PLANE;
const GLfloat radians = (GLfloat)(fovy / 2.0f * M_PIl / 180.0f);
- const GLfloat sine = sin(radians);
+ const GLfloat sine = (GLfloat)sin(radians);
const GLfloat deltaZ = zFar - zNear;
GLfloat cotangent;
@@ -2042,9 +2042,9 @@ static void Shader_SetUniforms(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAF
if (Surface != NULL)
{
- UNIFORM_1(shader->uniforms[gluniform_lighting], Surface->LightInfo.light_level, pglUniform1f);
- UNIFORM_1(shader->uniforms[gluniform_fade_start], Surface->LightInfo.fade_start, pglUniform1f);
- UNIFORM_1(shader->uniforms[gluniform_fade_end], Surface->LightInfo.fade_end, pglUniform1f);
+ UNIFORM_1(shader->uniforms[gluniform_lighting], (GLfloat)Surface->LightInfo.light_level, pglUniform1f);
+ UNIFORM_1(shader->uniforms[gluniform_fade_start], (GLfloat)Surface->LightInfo.fade_start, pglUniform1f);
+ UNIFORM_1(shader->uniforms[gluniform_fade_end], (GLfloat)Surface->LightInfo.fade_end, pglUniform1f);
}
UNIFORM_1(shader->uniforms[gluniform_leveltime], shader_leveltime, pglUniform1f);
@@ -3038,7 +3038,7 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform)
if (special_splitscreen)
{
- used_fov = atan(tan(used_fov*M_PI/360)*0.8)*360/M_PI;
+ used_fov = (float)(atan(tan(used_fov*M_PI/360)*0.8)*360/M_PI);
GLPerspective(used_fov, 2*ASPECT_RATIO);
}
else
diff --git a/src/hardware/s_openal/s_openal-vc10.vcxproj b/src/hardware/s_openal/s_openal-vc10.vcxproj
index 5039cd006..1480cd3d0 100644
--- a/src/hardware/s_openal/s_openal-vc10.vcxproj
+++ b/src/hardware/s_openal/s_openal-vc10.vcxproj
@@ -38,52 +38,52 @@
s_openal
{E662D0B3-412D-4D55-A5EC-8CBD680DDCBE}
s_openal
- 10.0.16299.0
+ 10.0
DynamicLibrary
false
MultiByte
- v140
+ v143
DynamicLibrary
false
MultiByte
- v141
+ v143
DynamicLibrary
false
- v140
+ v143
DynamicLibrary
false
- v141
+ v143
DynamicLibrary
false
MultiByte
- v140
+ v143
DynamicLibrary
false
MultiByte
- v141
+ v143
DynamicLibrary
false
- v140
+ v143
DynamicLibrary
false
- v141
+ v143
diff --git a/src/p_mobj.c b/src/p_mobj.c
index e1657c12f..38d6e7a7e 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -13508,7 +13508,7 @@ static void P_SpawnItemRow(mapthing_t *mthing, mobjtype_t *itemtypes, UINT8 numi
static void P_SpawnSingularItemRow(mapthing_t *mthing, mobjtype_t itemtype, INT32 numitems, fixed_t horizontalspacing, fixed_t verticalspacing, INT16 fixedangle, boolean bonustime)
{
mobjtype_t itemtypes[1] = { itemtype };
- return P_SpawnItemRow(mthing, itemtypes, 1, numitems, horizontalspacing, verticalspacing, fixedangle, bonustime);
+ P_SpawnItemRow(mthing, itemtypes, 1, numitems, horizontalspacing, verticalspacing, fixedangle, bonustime);
}
static void P_SpawnItemCircle(mapthing_t *mthing, mobjtype_t *itemtypes, UINT8 numitemtypes, INT32 numitems, fixed_t size, boolean bonustime)
diff --git a/src/r_main.c b/src/r_main.c
index 3763092fc..187925408 100644
--- a/src/r_main.c
+++ b/src/r_main.c
@@ -620,7 +620,7 @@ static struct {
0,
0,
- {}, {},
+ {0}, {0},
false
};
diff --git a/src/r_picformats.c b/src/r_picformats.c
index 6aa4659b9..5a7aebcf7 100644
--- a/src/r_picformats.c
+++ b/src/r_picformats.c
@@ -447,7 +447,7 @@ void *Picture_FlatConvert(
for (y = 0; y < inheight; y++)
for (x = 0; x < inwidth; x++)
{
- void *input;
+ void *input = NULL;
size_t offs = ((y * inwidth) + x);
// Read pixel
diff --git a/src/r_things.c b/src/r_things.c
index fed873fd6..461761977 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -1785,7 +1785,11 @@ static void R_ProjectSprite(mobj_t *thing)
range++; // fencepost problem
- scalestep = ((yscale2 - yscale)/range) ?: 1;
+ // Compatibility with MSVC - SSNTails
+ scalestep = ((yscale2 - yscale) / range);
+ if (!scalestep)
+ scalestep = 1;
+
xscale = FixedDiv(range<target;
- interpmobjstate_t casterinterp = {};
+ interpmobjstate_t casterinterp = { 0 }; // MSVC compatibility - SSNTails
if (R_UsingFrameInterpolation() && !paused)
{
diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj
index d79dde766..c20265ed1 100644
--- a/src/sdl/Srb2SDL-vc10.vcxproj
+++ b/src/sdl/Srb2SDL-vc10.vcxproj
@@ -39,46 +39,46 @@
{61BA7D3C-F77D-4D31-B718-1177FE482CF2}
Win32Proj
Srb2SDL
- 10.0.16299.0
+ 10.0
Srb2Win
- v140
+ v143
true
- v141
+ v143
true
true
- v140
+ v143
false
true
- v141
+ v143
false
true
true
- v140
+ v143
true
- v141
+ v143
true
true
- v140
+ v143
false
true
- v141
+ v143
false
true
true
@@ -134,6 +134,9 @@
<_ProjectFileVersion>10.0.30319.1
false
+
+ $(ProjectName)_Debug
+
ProgramDatabase
@@ -154,6 +157,26 @@
setupapi.lib;winmm.lib;imm32.lib;version.lib;ole32.lib;advapi32.lib;shell32.lib;gdi32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)
+
+
+ Default
+ false
+ 4244;4267;4146
+ true
+ false
+ stdcpp17
+
+
+
+
+ stdcpp17
+
+
+
+
+ 4244;4267;4146;4003
+
+
{72b01aca-7a1a-4f7b-acef-2607299cf052}
@@ -246,11 +269,13 @@
+
+
@@ -264,6 +289,7 @@
+
@@ -272,6 +298,7 @@
+
@@ -286,6 +313,7 @@
+
@@ -403,11 +431,13 @@
true
+
+
@@ -429,6 +459,7 @@
+
@@ -438,6 +469,7 @@
+
@@ -464,6 +496,7 @@
true
+
@@ -478,7 +511,6 @@
-
@@ -507,7 +539,7 @@
true
-
+
@@ -524,4 +556,4 @@
-
+
\ No newline at end of file
diff --git a/src/sdl/Srb2SDL-vc10.vcxproj.filters b/src/sdl/Srb2SDL-vc10.vcxproj.filters
index 4d2532ca4..eb37ce9da 100644
--- a/src/sdl/Srb2SDL-vc10.vcxproj.filters
+++ b/src/sdl/Srb2SDL-vc10.vcxproj.filters
@@ -144,7 +144,6 @@
D_Doom
-
D_Doom
@@ -511,6 +510,21 @@
R_Rend
+
+ LUA
+
+
+ I_Interface
+
+
+ R_Rend
+
+
+ P_Play
+
+
+ M_Misc
+
@@ -625,7 +639,6 @@
D_Doom
-
D_Doom
@@ -821,9 +834,6 @@
M_Misc
-
- M_Misc
-
O_Other
@@ -965,9 +975,6 @@
SDLApp
-
- SDLApp
-
SDLApp
@@ -1023,10 +1030,28 @@
R_Rend
+
+ LUA
+
+
+ SDLApp
+
+
+ I_Interface
+
+
+ R_Rend
+
+
+ P_Play
+
+
+ M_Misc
+
SDLApp
-
+
\ No newline at end of file
diff --git a/src/sdl/Srb2SDL-vc9.vcproj b/src/sdl/Srb2SDL-vc9.vcproj
deleted file mode 100644
index 95f035267..000000000
--- a/src/sdl/Srb2SDL-vc9.vcproj
+++ /dev/null
@@ -1,6021 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/sdl/Srb2SDL.dsp b/src/sdl/Srb2SDL.dsp
deleted file mode 100644
index 9f6dd7b33..000000000
--- a/src/sdl/Srb2SDL.dsp
+++ /dev/null
@@ -1,1049 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Srb2SDL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Srb2SDL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Srb2SDL.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Srb2SDL.mak" CFG="Srb2SDL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Srb2SDL - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "Srb2SDL - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "Srb2SDL - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\bin\VC\Release\SDL"
-# PROP Intermediate_Dir "..\..\objs\VC\Release\SDL"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G5 /W3 /GX /Zi /Ot /Og /Oi /Op /Oy /Ob1 /I "..\..\libs\libpng-src" /I "..\..\libs\zlib" /D "NDEBUG" /D "SDLMAIN" /D "NO_STDIO_REDIRECT" /D "USE_WGL_SWAP" /D "DIRECTFULLSCREEN" /D "HAVE_SDL" /D "HWRENDER" /D "HW3SOUND" /D "HAVE_FILTER" /D "HAVE_MIXER" /D "USEASM" /D "HAVE_PNG" /FR /FD /GF /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-# SUBTRACT RSC /x
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo /o"..\..\objs\SDL\Release\SRB2.bsc"
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 SDL.lib SDL_mixer.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:windows /pdb:"C:\srb2demo2\srb2sdl.pdb" /debug /machine:I386 /out:"C:\srb2demo2\srb2sdl.exe"
-# SUBTRACT LINK32 /profile /pdb:none /incremental:yes
-
-!ELSEIF "$(CFG)" == "Srb2SDL - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\bin\VC\Debug\SDL"
-# PROP Intermediate_Dir "..\..\objs\VC\Debug\SDL"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /W4 /WX /Gm /GX /ZI /Od /Op /I "..\..\libs\libpng-src" /I "..\..\libs\zlib" /D "_DEBUG" /D "USE_WGL_SWAP" /D "DIRECTFULLSCREEN" /D "HAVE_SDL" /D "HWRENDER" /D "HW3SOUND" /D "HAVE_FILTER" /D "HAVE_MIXER" /D "USEASM" /D "HAVE_PNG" /FR /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-# SUBTRACT RSC /x
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo /o"..\..\objs\SDL\Debug\SRB2.bsc"
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 SDL.lib SDL_mixer.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /pdb:"C:\srb2demo2\srb2sdldebug.pdb" /debug /machine:I386 /out:"C:\srb2demo2\srb2sdldebug.exe" /pdbtype:sept
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "Srb2SDL - Win32 Release"
-# Name "Srb2SDL - Win32 Debug"
-# Begin Group "SDLapp"
-
-# PROP Default_Filter ""
-# Begin Group "filter"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\filter\filters.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\filter\filters.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\filter\hq2x.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\filter\hq2x.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\filter\interp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\filter\lq2x.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\filter\lq2x.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\dosstr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\endtxt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\endtxt.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\filesrch.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\filesrch.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\hwsym_sdl.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hwsym_sdl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\i_cdmus.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\i_main.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\i_net.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\i_sound.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\i_system.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\i_video.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\IMG_xpm.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogl_sdl.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogl_sdl.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\r_opengl\r_opengl.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\r_opengl\r_opengl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SDL_icon.xpm
-# End Source File
-# Begin Source File
-
-SOURCE=.\SDL_main\SDL_win32_main.c
-
-!IF "$(CFG)" == "Srb2SDL - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Srb2SDL - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\sdlmain.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\Srb2win.rc
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\win_dbg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\win_dbg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\win_main.h
-# End Source File
-# End Group
-# Begin Group "A_Asm"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\p5prof.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\tmap.nas
-
-!IF "$(CFG)" == "Srb2SDL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Compiling $(InputName).nas with NASM...
-IntDir=.\..\..\objs\VC\Release\SDL
-InputPath=..\tmap.nas
-InputName=tmap
-
-"$(IntDir)/$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasm -g -o $(IntDir)/$(InputName).obj -f win32 $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "Srb2SDL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Compiling $(InputName).nas with NASM...
-IntDir=.\..\..\objs\VC\Debug\SDL
-InputPath=..\tmap.nas
-InputName=tmap
-
-"$(IntDir)/$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasm -g -o $(IntDir)/$(InputName).obj -f win32 $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\tmap_mmx.nas
-
-!IF "$(CFG)" == "Srb2SDL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Compiling $(InputName).nas with NASM...
-IntDir=.\..\..\objs\VC\Release\SDL
-InputPath=..\tmap_mmx.nas
-InputName=tmap_mmx
-
-"$(IntDir)/$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasm -g -o $(IntDir)/$(InputName).obj -f win32 $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "Srb2SDL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Compiling $(InputName).nas with NASM...
-
-IntDir=.\..\..\objs\VC\Debug\SDL
-InputPath=..\tmap_mmx.nas
-InputName=tmap_mmx
-
-"$(IntDir)/$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasm -g -o $(IntDir)/$(InputName).obj -f win32 $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\tmap_vc.nas
-
-!IF "$(CFG)" == "Srb2SDL - Win32 Release"
-
-# Begin Custom Build - Compiling $(InputName).nas with NASM...
-IntDir=.\..\..\objs\VC\Release\SDL
-InputPath=..\tmap_vc.nas
-InputName=tmap_vc
-
-"$(IntDir)/$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasm -g -o $(IntDir)/$(InputName).obj -f win32 $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "Srb2SDL - Win32 Debug"
-
-# Begin Custom Build - Compiling $(InputName).nas with NASM...
-IntDir=.\..\..\objs\VC\Debug\SDL
-InputPath=..\tmap_vc.nas
-InputName=tmap_vc
-
-"$(IntDir)/$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasm -g -o $(IntDir)/$(InputName).obj -f win32 $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "D_Doom"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\comptime.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_clisrv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_clisrv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_event.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_main.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_main.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_net.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_net.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_netcmd.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_netcmd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_netfil.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_netfil.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_player.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_think.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\d_ticcmd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\dehacked.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\dehacked.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\doomdata.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\doomdef.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\doomstat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\doomtype.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\z_zone.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\z_zone.h
-# End Source File
-# End Group
-# Begin Group "F_Frame"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\f_finale.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\f_finale.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\f_wipe.c
-# End Source File
-# End Group
-# Begin Group "G_Game"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\g_game.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\g_game.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\g_input.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\g_input.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\g_state.h
-# End Source File
-# End Group
-# Begin Group "H_Hud"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\am_map.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\am_map.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\command.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\command.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\console.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\console.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hu_stuff.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hu_stuff.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\st_stuff.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\st_stuff.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\y_inter.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\y_inter.h
-# End Source File
-# End Group
-# Begin Group "Hw_Hardware"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\hardware\hw3dsdrv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw3sound.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw3sound.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_bsp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_cache.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_defs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_dll.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_draw.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_glob.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_light.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_light.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_main.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_main.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_md2.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hw_md2.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\hardware\hws_data.h
-# End Source File
-# End Group
-# Begin Group "I_Interface"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\byteptr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\i_joy.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\i_net.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\i_sound.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\i_system.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\i_tcp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\i_tcp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\i_video.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\keys.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\mserv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\mserv.h
-# End Source File
-# End Group
-# Begin Group "M_Misc"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\m_argv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_argv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_bbox.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_bbox.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_cheat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_cheat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_dllist.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_fixed.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_fixed.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_menu.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_menu.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_misc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_misc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_queue.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_queue.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_random.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\m_swap.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\string.c
-# End Source File
-# End Group
-# Begin Group "P_Play"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\info.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\info.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_ceilng.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_enemy.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_fab.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_floor.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_inter.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_lights.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_local.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_map.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_maputl.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_maputl.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_mobj.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_mobj.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_polyobj.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_polyobj.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_pspr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_saveg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_saveg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_setup.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_setup.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_sight.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_spec.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_spec.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_telept.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_tick.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_tick.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\p_user.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\tables.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\tables.h
-# End Source File
-# End Group
-# Begin Group "R_Rend"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\r_bsp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_bsp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_data.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_defs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_draw.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_draw.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_draw16.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_draw8.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_local.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_main.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_main.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_plane.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_plane.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_segs.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_segs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_sky.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_sky.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_splats.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_splats.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_state.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_things.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\r_things.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\screen.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\screen.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\v_video.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\v_video.h
-# End Source File
-# End Group
-# Begin Group "S_Sounds"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\s_sound.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\s_sound.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sounds.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\sounds.h
-# End Source File
-# End Group
-# Begin Group "W_Wad"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\lzf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lzf.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\md5.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\md5.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\w_wad.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\w_wad.h
-# End Source File
-# End Group
-# Begin Group "Docs"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\doc\copying
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\doc\faq.txt
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\readme.txt
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\doc\source.txt
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=..\win32\Srb2win.ico
-# End Source File
-# End Target
-# End Project
diff --git a/src/sdl/Srb2SDL.dsw b/src/sdl/Srb2SDL.dsw
deleted file mode 100644
index 4f8f7bdce..000000000
--- a/src/sdl/Srb2SDL.dsw
+++ /dev/null
@@ -1,74 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "Srb2SDL"=.\Srb2SDL.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libpng
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name zlib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libpng"="..\..\libs\libpng-src\projects\visualc6\libpng.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name zlib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "s_openal"=..\hardware\s_openal\s_openal.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "zlib"=..\..\libs\zlib\projects\visualc6\zlib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/src/strcasestr.c b/src/strcasestr.c
index 6a686d6dc..6affde364 100644
--- a/src/strcasestr.c
+++ b/src/strcasestr.c
@@ -22,6 +22,16 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifdef _MSC_VER
+#include
+#include
+#include
+
+#ifndef strncasecmp
+#define strncasecmp _strnicmp
+#endif
+
+#endif
static inline int
trycmp (char **pp, char *cp,