diff --git a/SRB2_Debug.props b/SRB2_Debug.props
index 2c16f7cb..8be11c58 100644
--- a/SRB2_Debug.props
+++ b/SRB2_Debug.props
@@ -17,7 +17,7 @@
MultiThreadedDebugDLL
true
All
- true
+ false
EnableFastChecks
diff --git a/src/i_tcp.c b/src/i_tcp.c
index 3d55236e..6488e984 100644
--- a/src/i_tcp.c
+++ b/src/i_tcp.c
@@ -215,7 +215,6 @@ static UINT8 UPNP_support = TRUE;
#if defined (USE_WINSOCK) && !defined (NONET)
typedef SOCKET SOCKET_TYPE;
-#define BADSOCKET INVALID_SOCKET
#define ERRSOCKET (SOCKET_ERROR)
#else
#if (defined (__unix__) && !defined (MSDOS)) || defined (__APPLE__) || defined (__HAIKU__) || defined(_PS3)
@@ -223,7 +222,6 @@ typedef int SOCKET_TYPE;
#else
typedef unsigned long SOCKET_TYPE;
#endif
-#define BADSOCKET (SOCKET_TYPE)(~0)
#define ERRSOCKET (-1)
#endif
@@ -232,10 +230,10 @@ typedef int socklen_t;
#endif
#ifndef NONET
-static SOCKET_TYPE mysockets[MAXNETNODES+1] = {BADSOCKET};
+static SOCKET_TYPE mysockets[MAXNETNODES+1] = {ERRSOCKET};
static size_t mysocketses = 0;
static int myfamily[MAXNETNODES+1] = {0};
-static SOCKET_TYPE nodesocket[MAXNETNODES+1] = {BADSOCKET};
+static SOCKET_TYPE nodesocket[MAXNETNODES+1] = {ERRSOCKET};
static mysockaddr_t clientaddress[MAXNETNODES+1];
static mysockaddr_t broadcastaddress[MAXNETNODES+1];
static size_t broadcastaddresses = 0;
@@ -647,7 +645,7 @@ static boolean FD_CPY(fd_set *src, fd_set *dst, SOCKET_TYPE *fd, size_t len)
FD_ZERO(dst);
for (i = 0; i < len;i++)
{
- if(fd[i] != BADSOCKET && fd[i] != (SOCKET_TYPE)ERRSOCKET &&
+ if(fd[i] != (SOCKET_TYPE)ERRSOCKET &&
FD_ISSET(fd[i], src) && !FD_ISSET(fd[i], dst)) // no checking for dups
{
FD_SET(fd[i], dst);
@@ -725,7 +723,7 @@ static void SOCK_Send(void)
}
return;
}
- else if (nodesocket[doomcom->remotenode] == BADSOCKET)
+ else if (nodesocket[doomcom->remotenode] == (SOCKET_TYPE)ERRSOCKET)
{
for (i = 0; i < mysocketses; i++)
{
@@ -777,7 +775,7 @@ static void SOCK_FreeNodenum(INT32 numnode)
DEBFILE(va("Free node %d (%s)\n", numnode, SOCK_GetNodeAddress(numnode)));
nodeconnected[numnode] = false;
- nodesocket[numnode] = BADSOCKET;
+ nodesocket[numnode] = ERRSOCKET;
// put invalid address
memset(&clientaddress[numnode], 0, sizeof (clientaddress[numnode]));
@@ -804,7 +802,7 @@ static SOCKET_TYPE UDP_Bind(int family, struct sockaddr *addr, socklen_t addrlen
#endif
mysockaddr_t straddr;
- if (s == (SOCKET_TYPE)ERRSOCKET || s == BADSOCKET)
+ if (s == (SOCKET_TYPE)ERRSOCKET)
return (SOCKET_TYPE)ERRSOCKET;
#ifdef USE_WINSOCK
{ // Alam_GBC: disable the new UDP connection reset behavior for Win2k and up
@@ -911,9 +909,9 @@ static boolean UDP_Socket(void)
for (s = 0; s < mysocketses; s++)
- mysockets[s] = BADSOCKET;
+ mysockets[s] = ERRSOCKET;
for (s = 0; s < MAXNETNODES+1; s++)
- nodesocket[s] = BADSOCKET;
+ nodesocket[s] = ERRSOCKET;
FD_ZERO(&masterset);
s = 0;
@@ -1250,7 +1248,6 @@ static void SOCK_CloseSocket(void)
for (i=0; i < MAXNETNODES+1; i++)
{
if (mysockets[i] != (SOCKET_TYPE)ERRSOCKET
- && mysockets[i] != BADSOCKET
&& FD_ISSET(mysockets[i], &masterset))
{
#if !defined (__DJGPP__) || defined (WATTCP)
@@ -1258,7 +1255,7 @@ static void SOCK_CloseSocket(void)
close(mysockets[i]);
#endif
}
- mysockets[i] = BADSOCKET;
+ mysockets[i] = ERRSOCKET;
}
}
#endif
diff --git a/src/mserv.c b/src/mserv.c
index 76fba835..2bb2923d 100644
--- a/src/mserv.c
+++ b/src/mserv.c
@@ -102,35 +102,35 @@
#define PACKET_SIZE 1024
-#define MS_NO_ERROR 0
-#define MS_SOCKET_ERROR -201
-#define MS_CONNECT_ERROR -203
-#define MS_WRITE_ERROR -210
-#define MS_READ_ERROR -211
-#define MS_CLOSE_ERROR -212
-#define MS_GETHOSTBYNAME_ERROR -220
-#define MS_GETHOSTNAME_ERROR -221
-#define MS_TIMEOUT_ERROR -231
+#define MS_NO_ERROR 0
+#define MS_SOCKET_ERROR -201
+#define MS_CONNECT_ERROR -203
+#define MS_WRITE_ERROR -210
+#define MS_READ_ERROR -211
+#define MS_CLOSE_ERROR -212
+#define MS_GETHOSTBYNAME_ERROR -220
+#define MS_GETHOSTNAME_ERROR -221
+#define MS_TIMEOUT_ERROR -231
// see master server code for the values
-#define ADD_SERVER_MSG 101
-#define REMOVE_SERVER_MSG 103
-#define ADD_SERVERv2_MSG 104
-#define GET_SERVER_MSG 200
-#define GET_SHORT_SERVER_MSG 205
-#define ASK_SERVER_MSG 206
-#define ANSWER_ASK_SERVER_MSG 207
-#define ASK_SERVER_MSG 206
-#define ANSWER_ASK_SERVER_MSG 207
-#define GET_MOTD_MSG 208
-#define SEND_MOTD_MSG 209
-#define GET_ROOMS_MSG 210
-#define SEND_ROOMS_MSG 211
-#define GET_ROOMS_HOST_MSG 212
-#define GET_VERSION_MSG 213
-#define SEND_VERSION_MSG 214
-#define GET_BANNED_MSG 215 // Someone's been baaaaaad!
-#define PING_SERVER_MSG 216
+#define ADD_SERVER_MSG 101
+#define REMOVE_SERVER_MSG 103
+#define ADD_SERVERv2_MSG 104
+#define GET_SERVER_MSG 200
+#define GET_SHORT_SERVER_MSG 205
+#define ASK_SERVER_MSG 206
+#define ANSWER_ASK_SERVER_MSG 207
+#define ASK_SERVER_MSG 206
+#define ANSWER_ASK_SERVER_MSG 207
+#define GET_MOTD_MSG 208
+#define SEND_MOTD_MSG 209
+#define GET_ROOMS_MSG 210
+#define SEND_ROOMS_MSG 211
+#define GET_ROOMS_HOST_MSG 212
+#define GET_VERSION_MSG 213
+#define SEND_VERSION_MSG 214
+#define GET_BANNED_MSG 215 // Someone's been baaaaaad!
+#define PING_SERVER_MSG 216
#define HEADER_SIZE (sizeof (INT32)*4)
@@ -217,7 +217,6 @@ UINT16 current_port = 0;
#if (defined (_WIN32) || defined (_WIN32_WCE) || defined (_WIN32)) && !defined (NONET)
typedef SOCKET SOCKET_TYPE;
-#define BADSOCKET INVALID_SOCKET
#define ERRSOCKET (SOCKET_ERROR)
#else
#if (defined (__unix__) && !defined (MSDOS)) || defined (__APPLE__) || defined (__HAIKU__) || defined (_PS3)
@@ -225,7 +224,6 @@ typedef int SOCKET_TYPE;
#else
typedef unsigned long SOCKET_TYPE;
#endif
-#define BADSOCKET (SOCKET_TYPE)(~0)
#define ERRSOCKET (-1)
#endif
@@ -234,7 +232,7 @@ typedef int socklen_t;
#endif
#ifndef NONET
-static SOCKET_TYPE socket_fd = BADSOCKET; // WINSOCK socket
+static SOCKET_TYPE socket_fd = ERRSOCKET; // WINSOCK socket
static struct timeval select_timeout;
static fd_set wset;
static size_t recvfull(SOCKET_TYPE s, char *buf, size_t len, int flags);
@@ -265,9 +263,9 @@ void AddMServCommands(void)
static void CloseConnection(void)
{
#ifndef NONET
- if (socket_fd != (SOCKET_TYPE)ERRSOCKET && socket_fd != BADSOCKET)
+ if (socket_fd != (SOCKET_TYPE)ERRSOCKET)
close(socket_fd);
- socket_fd = BADSOCKET;
+ socket_fd = ERRSOCKET;
#endif
}
@@ -385,7 +383,7 @@ static INT32 MS_Connect(const char *ip_addr, const char *str_port, INT32 async)
while (runp != NULL)
{
socket_fd = socket(runp->ai_family, runp->ai_socktype, runp->ai_protocol);
- if (socket_fd != BADSOCKET && socket_fd != (SOCKET_TYPE)ERRSOCKET)
+ if (socket_fd != (SOCKET_TYPE)ERRSOCKET)
{
if (async) // do asynchronous connection
{
diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c
index f1cecad4..65b7b5ff 100644
--- a/src/sdl/i_main.c
+++ b/src/sdl/i_main.c
@@ -148,7 +148,9 @@ int main(int argc, char **argv)
LoadLibraryA("exchndl.dll");
}
}
+#ifndef __MINGW32__
prevExceptionFilter = SetUnhandledExceptionFilter(RecordExceptionInfo);
+#endif
MakeCodeWritable();
#endif
// startup SRB2
diff --git a/src/win32/Makefile.cfg b/src/win32/Makefile.cfg
index 99b8bc9b..749734a7 100644
--- a/src/win32/Makefile.cfg
+++ b/src/win32/Makefile.cfg
@@ -64,7 +64,7 @@ endif
ifdef SDL
i_system_o+=$(OBJDIR)/SRB2.res
- i_main_o+=$(OBJDIR)/win_dbg.o
+ #i_main_o+=$(OBJDIR)/win_dbg.o
ifndef NOHW
OPTS+=-DUSE_WGL_SWAP
endif
@@ -81,7 +81,8 @@ endif
i_net_o=$(OBJDIR)/win_net.o
i_system_o=$(OBJDIR)/win_sys.o $(OBJDIR)/SRB2.res
i_sound_o=$(OBJDIR)/win_snd.o
- i_main_o=$(OBJDIR)/win_dbg.o $(OBJDIR)/win_main.o
+ i_main_o=$(OBJDIR)/win_main.o
+ #i_main_o+=$(OBJDIR)/win_dbg.o
OBJS=$(OBJDIR)/dx_error.o $(OBJDIR)/fabdxlib.o $(OBJDIR)/win_vid.o $(OBJDIR)/win_dll.o
endif
diff --git a/src/win32/win_main.c b/src/win32/win_main.c
index 4ac05f94..6c774f55 100644
--- a/src/win32/win_main.c
+++ b/src/win32/win_main.c
@@ -244,7 +244,7 @@ static LRESULT CALLBACK MainWndproc(HWND hWnd, UINT message, WPARAM wParam, LPAR
D_PostEvent(&ev);
return TRUE;
}
-
+ break;
case WM_XBUTTONDOWN:
if (nodinput)
{
@@ -253,7 +253,7 @@ static LRESULT CALLBACK MainWndproc(HWND hWnd, UINT message, WPARAM wParam, LPAR
D_PostEvent(&ev);
return TRUE;
}
-
+ break;
case WM_MOUSEWHEEL:
//I_OutputMsg("MW_WHEEL dispatched.\n");
ev.type = ev_keydown;
@@ -666,7 +666,9 @@ int WINAPI WinMain (HINSTANCE hInstance,
#endif
LoadLibraryA("exchndl.dll");
+#ifndef __MINGW32__
prevExceptionFilter = SetUnhandledExceptionFilter(RecordExceptionInfo);
+#endif
Result = HandledWinMain(hInstance);
#ifdef BUGTRAP
diff --git a/src/win32/win_sys.c b/src/win32/win_sys.c
index 80b89a6e..316da61d 100644
--- a/src/win32/win_sys.c
+++ b/src/win32/win_sys.c
@@ -2581,7 +2581,7 @@ acquire:
UINT64 newbuttons = joybuttons ^ lastjoybuttons;
lastjoybuttons = joybuttons;
- for (i = 0; i < JOYBUTTONS && i < JOYBUTTONS_MAX; i++, j <<= 1)
+ for (i = 0; i < JOYBUTTONS_MIN; i++, j <<= 1)
{
if (newbuttons & j) // button changed state?
{
@@ -2601,7 +2601,7 @@ acquire:
UINT64 newhats = joyhats ^ lastjoyhats;
lastjoyhats = joyhats;
- for (i = 0; i < JOYHATS*4 && i < JOYHATS_MAX*4; i++, j <<= 1)
+ for (i = 0; i < JOYHATS_MIN*4; i++, j <<= 1)
{
if (newhats & j) // button changed state?
{
@@ -2825,7 +2825,7 @@ acquire:
UINT64 newbuttons = joybuttons ^ lastjoy2buttons;
lastjoy2buttons = joybuttons;
- for (i = 0; i < JOYBUTTONS && i < JOYBUTTONS_MAX; i++, j <<= 1)
+ for (i = 0; i < JOYBUTTONS_MIN; i++, j <<= 1)
{
if (newbuttons & j) // button changed state?
{
@@ -2845,7 +2845,7 @@ acquire:
UINT64 newhats = joyhats ^ lastjoy2hats;
lastjoy2hats = joyhats;
- for (i = 0; i < JOYHATS*4 && i < JOYHATS_MAX*4; i++, j <<= 1)
+ for (i = 0; i < JOYHATS_MIN*4; i++, j <<= 1)
{
if (newhats & j) // button changed state?
{
diff --git a/src/win32/win_vid.c b/src/win32/win_vid.c
index 0960bb6d..a9dd097b 100644
--- a/src/win32/win_vid.c
+++ b/src/win32/win_vid.c
@@ -322,6 +322,7 @@ static inline boolean I_SkipFrame(void)
case GS_LEVEL:
if (!paused)
return false;
+ /* FALLTHRU */
case GS_TIMEATTACK:
#ifndef CLIENT_LOADINGSCREEN
case GS_WAITINGPLAYERS: