From b93a88455a1dcab0a62db24258b1cc22c44cf8da Mon Sep 17 00:00:00 2001 From: Thilo Schulz Date: Tue, 27 Sep 2011 22:56:10 +0000 Subject: [PATCH] Allow interpreted VM on pure servers --- code/client/cl_cgame.c | 11 ++++++----- code/client/cl_ui.c | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/code/client/cl_cgame.c b/code/client/cl_cgame.c index 17a2e9cb..093baa1d 100644 --- a/code/client/cl_cgame.c +++ b/code/client/cl_cgame.c @@ -734,13 +734,14 @@ void CL_InitCGame( void ) { Com_sprintf( cl.mapname, sizeof( cl.mapname ), "maps/%s.bsp", mapname ); // load the dll or bytecode - if ( cl_connectedToPureServer != 0 ) { + interpret = Cvar_VariableValue("vm_cgame"); + if(cl_connectedToPureServer) + { // if sv_pure is set we only allow qvms to be loaded - interpret = VMI_COMPILED; - } - else { - interpret = Cvar_VariableValue( "vm_cgame" ); + if(interpret != VMI_COMPILED && interpret != VMI_BYTECODE) + interpret = VMI_COMPILED; } + cgvm = VM_Create( "cgame", CL_CgameSystemCalls, interpret ); if ( !cgvm ) { Com_Error( ERR_DROP, "VM_Create on cgame failed" ); diff --git a/code/client/cl_ui.c b/code/client/cl_ui.c index 7d633afa..38441647 100644 --- a/code/client/cl_ui.c +++ b/code/client/cl_ui.c @@ -1098,13 +1098,14 @@ void CL_InitUI( void ) { vmInterpret_t interpret; // load the dll or bytecode - if ( cl_connectedToPureServer != 0 ) { + interpret = Cvar_VariableValue("vm_ui"); + if(cl_connectedToPureServer) + { // if sv_pure is set we only allow qvms to be loaded - interpret = VMI_COMPILED; - } - else { - interpret = Cvar_VariableValue( "vm_ui" ); + if(interpret != VMI_COMPILED && interpret != VMI_BYTECODE) + interpret = VMI_COMPILED; } + uivm = VM_Create( "ui", CL_UISystemCalls, interpret ); if ( !uivm ) { Com_Error( ERR_FATAL, "VM_Create on UI failed" );