diff options
Diffstat (limited to 'code')
-rw-r--r-- | code/client/cl_main.c | 7 | ||||
-rw-r--r-- | code/client/cl_ui.c | 9 | ||||
-rw-r--r-- | code/client/client.h | 2 | ||||
-rw-r--r-- | code/qcommon/common.c | 18 | ||||
-rw-r--r-- | code/qcommon/files.c | 33 | ||||
-rw-r--r-- | code/qcommon/net_ip.c | 2 | ||||
-rw-r--r-- | code/qcommon/qcommon.h | 1 | ||||
-rw-r--r-- | code/server/sv_ccmds.c | 7 | ||||
-rw-r--r-- | code/server/sv_client.c | 7 |
9 files changed, 62 insertions, 24 deletions
diff --git a/code/client/cl_main.c b/code/client/cl_main.c index 8df950b..589907d 100644 --- a/code/client/cl_main.c +++ b/code/client/cl_main.c @@ -1712,9 +1712,8 @@ void CL_CheckForResend( void ) { case CA_CONNECTING: // requesting a challenge .. IPv6 users always get in as authorize server supports no ipv6. #ifndef STANDALONE - if ( clc.serverAddress.type == NA_IP && !Sys_IsLANAddress( clc.serverAddress ) ) { + if (!Cvar_VariableIntegerValue("com_standalone") && clc.serverAddress.type == NA_IP && !Sys_IsLANAddress( clc.serverAddress ) ) CL_RequestAuthorization(); - } #endif NET_OutOfBandPrint(NS_CLIENT, clc.serverAddress, "getchallenge"); break; @@ -3695,6 +3694,7 @@ void CL_ShowIP_f(void) { Sys_ShowIP(); } +#ifndef STANDALONE /* ================= bool CL_CDKeyValidate @@ -3758,5 +3758,4 @@ qboolean CL_CDKeyValidate( const char *key, const char *checksum ) { return qfalse; } - - +#endif diff --git a/code/client/cl_ui.c b/code/client/cl_ui.c index 0ca9943..a4d813a 100644 --- a/code/client/cl_ui.c +++ b/code/client/cl_ui.c @@ -667,6 +667,7 @@ static void Key_GetBindingBuf( int keynum, char *buf, int buflen ) { CLUI_GetCDKey ==================== */ +#ifndef STANDALONE static void CLUI_GetCDKey( char *buf, int buflen ) { cvar_t *fs; fs = Cvar_Get ("fs_game", "", CVAR_INIT|CVAR_SYSTEMINFO ); @@ -699,6 +700,7 @@ static void CLUI_SetCDKey( char *buf ) { cvar_modifiedFlags |= CVAR_ARCHIVE; } } +#endif /* ==================== @@ -1005,6 +1007,7 @@ intptr_t CL_UISystemCalls( intptr_t *args ) { case UI_MEMORY_REMAINING: return Hunk_MemoryRemaining(); +#ifndef STANDALONE case UI_GET_CDKEY: CLUI_GetCDKey( VMA(1), args[2] ); return 0; @@ -1012,6 +1015,7 @@ intptr_t CL_UISystemCalls( intptr_t *args ) { case UI_SET_CDKEY: CLUI_SetCDKey( VMA(1) ); return 0; +#endif case UI_SET_PBCLSTATUS: return 0; @@ -1093,9 +1097,10 @@ intptr_t CL_UISystemCalls( intptr_t *args ) { re.RemapShader( VMA(1), VMA(2), VMA(3) ); return 0; +#ifndef STANDALONE case UI_VERIFY_CDKEY: return CL_CDKeyValidate(VMA(1), VMA(2)); - +#endif default: @@ -1167,6 +1172,7 @@ void CL_InitUI( void ) { Cvar_SetCheatState(); } +#ifndef STANDALONE qboolean UI_usesUniqueCDKey( void ) { if (uivm) { return (VM_Call( uivm, UI_HASUNIQUECDKEY) == qtrue); @@ -1174,6 +1180,7 @@ qboolean UI_usesUniqueCDKey( void ) { return qfalse; } } +#endif /* ==================== diff --git a/code/client/client.h b/code/client/client.h index b68b518..7a0bd53 100644 --- a/code/client/client.h +++ b/code/client/client.h @@ -409,7 +409,9 @@ int CL_GetPingQueueCount( void ); void CL_ShutdownRef( void ); void CL_InitRef( void ); +#ifndef STANDALONE qboolean CL_CDKeyValidate( const char *key, const char *checksum ); +#endif int CL_ServerStatus( char *serverAddress, char *serverStatusString, int maxLen ); qboolean CL_CheckPaused(void); diff --git a/code/qcommon/common.c b/code/qcommon/common.c index 8fb492f..d7b6cb2 100644 --- a/code/qcommon/common.c +++ b/code/qcommon/common.c @@ -82,6 +82,7 @@ cvar_t *com_cameraMode; cvar_t *com_ansiColor; cvar_t *com_unfocused; cvar_t *com_minimized; +cvar_t *com_standalone; // com_speeds times int time_game; @@ -2351,6 +2352,8 @@ static void Com_Crash_f( void ) { * ( int * ) 0 = 0x12345678; } +#ifndef STANDALONE + // TTimo: centralizing the cl_cdkey stuff after I discovered a buffer overflow problem with the dedicated server version // not sure it's necessary to have different defaults for regular and dedicated, but I don't want to risk it // https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=470 @@ -2469,6 +2472,7 @@ out: } #endif +#endif // STANDALONE static void Com_DetectAltivec(void) { @@ -2591,6 +2595,7 @@ void Com_Init( char *commandLine ) { com_unfocused = Cvar_Get( "com_unfocused", "0", CVAR_ROM ); com_minimized = Cvar_Get( "com_minimized", "0", CVAR_ROM ); + com_standalone = Cvar_Get( "com_standalone", "0", CVAR_INIT ); com_introPlayed = Cvar_Get( "com_introplayed", "0", CVAR_ARCHIVE); @@ -2697,12 +2702,17 @@ void Com_WriteConfiguration( void ) { // not needed for dedicated #ifndef DEDICATED fs = Cvar_Get ("fs_game", "", CVAR_INIT|CVAR_SYSTEMINFO ); - if (UI_usesUniqueCDKey() && fs && fs->string[0] != 0) { - Com_WriteCDKey( fs->string, &cl_cdkey[16] ); - } else { - Com_WriteCDKey( BASEGAME, cl_cdkey ); +#ifndef STANDALONE + if(!Cvar_VariableIntegerValue("com_standalone")) + { + if (UI_usesUniqueCDKey() && fs && fs->string[0] != 0) { + Com_WriteCDKey( fs->string, &cl_cdkey[16] ); + } else { + Com_WriteCDKey( BASEGAME, cl_cdkey ); + } } #endif +#endif } diff --git a/code/qcommon/files.c b/code/qcommon/files.c index 32a24da..a5efb7e 100644 --- a/code/qcommon/files.c +++ b/code/qcommon/files.c @@ -2661,8 +2661,10 @@ void FS_Shutdown( qboolean closemfp ) { #endif } +#ifndef STANDALONE void Com_AppendCDKey( const char *filename ); void Com_ReadCDKey( const char *filename ); +#endif /* ================ @@ -2712,7 +2714,6 @@ FS_Startup static void FS_Startup( const char *gameName ) { const char *homePath; - cvar_t *fs; Com_Printf( "----- FS_Startup -----\n" ); @@ -2764,11 +2765,18 @@ static void FS_Startup( const char *gameName ) } } - Com_ReadCDKey(BASEGAME); - fs = Cvar_Get ("fs_game", "", CVAR_INIT|CVAR_SYSTEMINFO ); - if (fs && fs->string[0] != 0) { - Com_AppendCDKey( fs->string ); +#ifndef STANDALONE + if(!Cvar_VariableIntegerValue("com_standalone")) + { + cvar_t *fs; + + Com_ReadCDKey(BASEGAME); + fs = Cvar_Get ("fs_game", "", CVAR_INIT|CVAR_SYSTEMINFO ); + if (fs && fs->string[0] != 0) { + Com_AppendCDKey( fs->string ); + } } +#endif // add our commands Cmd_AddCommand ("path", FS_Path_f); @@ -2865,7 +2873,12 @@ static void FS_CheckPak0( void ) } } - if(!founddemo && (foundPak & 0x1ff) != 0x1ff ) + if( (!Cvar_VariableIntegerValue("com_standalone") || + !fs_gamedirvar->string[0] || + !Q_stricmp(fs_gamedirvar->string, BASEGAME) || + !Q_stricmp(fs_gamedirvar->string, "missionpack") ) + && + (!founddemo && (foundPak & 0x1ff) != 0x1ff) ) { if((foundPak&1) != 1 ) { @@ -2886,11 +2899,11 @@ static void FS_CheckPak0( void ) "the correct place and that every file\n" "in the %s directory is present and readable.\n", BASEGAME); - if(!fs_gamedirvar->string[0] - || !Q_stricmp( fs_gamedirvar->string, BASEGAME ) - || !Q_stricmp( fs_gamedirvar->string, "missionpack" )) - Com_Error(ERR_FATAL, "You need to install Quake III Arena in order to play"); + Com_Error(ERR_FATAL, "You need to install Quake III Arena in order to play"); } + + if(foundPak & 1) + Cvar_Set("com_standalone", "0"); } #endif diff --git a/code/qcommon/net_ip.c b/code/qcommon/net_ip.c index 22c1273..c481add 100644 --- a/code/qcommon/net_ip.c +++ b/code/qcommon/net_ip.c @@ -921,7 +921,7 @@ void NET_SetMulticast6(void) Com_Printf("WARNING: NET_JoinMulticast6: Incorrect multicast address given, " "please set cvar %s to a sane value.\n", net_mcast6addr->name); - Cvar_Set(net_enabled->name, va("%d", net_enabled->integer | NET_DISABLEMCAST)); + Cvar_SetValue(net_enabled->name, net_enabled->integer | NET_DISABLEMCAST); return; } diff --git a/code/qcommon/qcommon.h b/code/qcommon/qcommon.h index 1bd1c3d..0fe6a47 100644 --- a/code/qcommon/qcommon.h +++ b/code/qcommon/qcommon.h @@ -681,6 +681,7 @@ void FS_HomeRemove( const char *homePath ); void FS_FilenameCompletion( const char *dir, const char *ext, qboolean stripExt, void(*callback)(const char *s) ); + /* ============================================================== diff --git a/code/server/sv_ccmds.c b/code/server/sv_ccmds.c index 18dcfbc..e2bcd93 100644 --- a/code/server/sv_ccmds.c +++ b/code/server/sv_ccmds.c @@ -740,8 +740,11 @@ void SV_AddOperatorCommands( void ) { Cmd_AddCommand ("heartbeat", SV_Heartbeat_f); Cmd_AddCommand ("kick", SV_Kick_f); #ifndef STANDALONE - Cmd_AddCommand ("banUser", SV_Ban_f); - Cmd_AddCommand ("banClient", SV_BanNum_f); + if(!Cvar_VariableIntegerValue("com_standalone")) + { + Cmd_AddCommand ("banUser", SV_Ban_f); + Cmd_AddCommand ("banClient", SV_BanNum_f); + } #endif Cmd_AddCommand ("clientkick", SV_KickNum_f); Cmd_AddCommand ("status", SV_Status_f); diff --git a/code/server/sv_client.c b/code/server/sv_client.c index 5345b0e..8230036 100644 --- a/code/server/sv_client.c +++ b/code/server/sv_client.c @@ -82,8 +82,11 @@ void SV_GetChallenge( netadr_t from ) { } #ifdef STANDALONE - challenge->pingTime = svs.time; - NET_OutOfBandPrint( NS_SERVER, from, "challengeResponse %i", challenge->challenge ); + if(Cvar_VariableIntegerValue("com_standalone")) + { + challenge->pingTime = svs.time; + NET_OutOfBandPrint( NS_SERVER, from, "challengeResponse %i", challenge->challenge ); + } #else // if they are on a lan address, send the challengeResponse immediately if ( Sys_IsLANAddress( from ) ) { |