From 2e53e62ef8f5fa12782c58ba22cffdfe50289962 Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Wed, 21 Apr 2021 15:28:37 +0200 Subject: [PATCH] Removed Windows-specific IPX and TCP/IP LAN drivers from the project and replaced them with a UniQuake net implementation that doesn't actually have any LAN drivers, i.e. only local loopback connections will work. --- engine/Quake/net_dgrm.c | 2 +- engine/UniQuake/net_uniquake.c | 70 +++++++++++++++++++ engine/Windows/VisualStudio/uniquake.vcxproj | 6 +- .../VisualStudio/uniquake.vcxproj.filters | 18 +---- 4 files changed, 75 insertions(+), 21 deletions(-) create mode 100644 engine/UniQuake/net_uniquake.c diff --git a/engine/Quake/net_dgrm.c b/engine/Quake/net_dgrm.c index 4a4b4f7..af10367 100644 --- a/engine/Quake/net_dgrm.c +++ b/engine/Quake/net_dgrm.c @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // This is enables a simple IP banning mechanism -#define BAN_TEST +//#define BAN_TEST #include "q_stdinc.h" #include "arch_def.h" diff --git a/engine/UniQuake/net_uniquake.c b/engine/UniQuake/net_uniquake.c new file mode 100644 index 0000000..108a22e --- /dev/null +++ b/engine/UniQuake/net_uniquake.c @@ -0,0 +1,70 @@ +/* +Copyright (C) 1996-2001 Id Software, Inc. +Copyright (C) 2010-2014 QuakeSpasm developers +Copyright (C) 2021 Nico de Poel + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ + +#include "q_stdinc.h" +#include "arch_def.h" +#include "net_sys.h" +#include "quakedef.h" +#include "net_defs.h" + +#include "net_dgrm.h" +#include "net_loop.h" + +net_driver_t net_drivers[] = +{ + { "Loopback", + false, + Loop_Init, + Loop_Listen, + Loop_SearchForHosts, + Loop_Connect, + Loop_CheckNewConnections, + Loop_GetMessage, + Loop_SendMessage, + Loop_SendUnreliableMessage, + Loop_CanSendMessage, + Loop_CanSendUnreliableMessage, + Loop_Close, + Loop_Shutdown + }, + + { "Datagram", + false, + Datagram_Init, + Datagram_Listen, + Datagram_SearchForHosts, + Datagram_Connect, + Datagram_CheckNewConnections, + Datagram_GetMessage, + Datagram_SendMessage, + Datagram_SendUnreliableMessage, + Datagram_CanSendMessage, + Datagram_CanSendUnreliableMessage, + Datagram_Close, + Datagram_Shutdown + } +}; + +const int net_numdrivers = (sizeof(net_drivers) / sizeof(net_drivers[0])); + +net_landriver_t net_landrivers[] = { 0 }; +const int net_numlandrivers = 0; diff --git a/engine/Windows/VisualStudio/uniquake.vcxproj b/engine/Windows/VisualStudio/uniquake.vcxproj index e35704a..312f334 100644 --- a/engine/Windows/VisualStudio/uniquake.vcxproj +++ b/engine/Windows/VisualStudio/uniquake.vcxproj @@ -324,9 +324,6 @@ copy "$(SolutionDir)\..\SDL2\lib64\*.dll" "$(TargetDir)" - - - @@ -363,6 +360,7 @@ copy "$(SolutionDir)\..\SDL2\lib64\*.dll" "$(TargetDir)" + @@ -403,8 +401,6 @@ copy "$(SolutionDir)\..\SDL2\lib64\*.dll" "$(TargetDir)" - - diff --git a/engine/Windows/VisualStudio/uniquake.vcxproj.filters b/engine/Windows/VisualStudio/uniquake.vcxproj.filters index 24de093..36ebd4e 100644 --- a/engine/Windows/VisualStudio/uniquake.vcxproj.filters +++ b/engine/Windows/VisualStudio/uniquake.vcxproj.filters @@ -112,15 +112,6 @@ engine - - engine - - - engine - - - engine - engine @@ -238,6 +229,9 @@ obsolete + + uniquake + @@ -327,12 +321,6 @@ engine - - engine - - - engine - engine