From c896425ad972eaeda73a7aceb821adc7f9614a92 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Thu, 4 Apr 2024 00:21:28 +0300 Subject: [PATCH] engine: server: make changelevel commands compatible with GoldSrc --- engine/server/sv_cmds.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/engine/server/sv_cmds.c b/engine/server/sv_cmds.c index 47be5c26..1732af1e 100644 --- a/engine/server/sv_cmds.c +++ b/engine/server/sv_cmds.c @@ -534,7 +534,7 @@ classic change level */ static void SV_ChangeLevel_f( void ) { - if( Cmd_Argc() != 2 ) + if( Cmd_Argc() < 2 ) // allow extra arguments, for compatibility { Con_Printf( S_USAGE "changelevel \n" ); return; @@ -552,13 +552,15 @@ smooth change level */ static void SV_ChangeLevel2_f( void ) { - if( Cmd_Argc() != 3 ) + if( Cmd_Argc() < 2 ) // allow extra arguments, for compatibility { - Con_Printf( S_USAGE "changelevel2 \n" ); + Con_Printf( S_USAGE "changelevel2 [landmark]\n" ); return; } - SV_QueueChangeLevel( Cmd_Argv( 1 ), Cmd_Argv( 2 )); + if( Cmd_Argc() == 2 ) // with single argument, behaves like usual changelevel + SV_QueueChangeLevel( Cmd_Argv( 1 ), NULL ); + else SV_QueueChangeLevel( Cmd_Argv( 1 ), Cmd_Argv( 2 )); } /*