diff options
author | Thilo Schulz <arny@ats.s.bawue.de> | 2011-09-27 22:56:10 +0000 |
---|---|---|
committer | Tim Angus <tim@ngus.net> | 2013-01-10 23:38:29 +0000 |
commit | e606de9a3f0fba1159da671a9c0095b0defc0d35 (patch) | |
tree | d6c57cd8a2ff9565e75a63aef858841e0a68e952 | |
parent | 8f53d0826c3bc1742fd37db56c9f3499d3060a9a (diff) |
Allow interpreted VM on pure servers
-rw-r--r-- | src/client/cl_cgame.c | 11 | ||||
-rw-r--r-- | src/client/cl_ui.c | 11 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/client/cl_cgame.c b/src/client/cl_cgame.c index 19fd54b9..00bddcd4 100644 --- a/src/client/cl_cgame.c +++ b/src/client/cl_cgame.c @@ -773,13 +773,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/src/client/cl_ui.c b/src/client/cl_ui.c index 88e0e6d1..35b8bbb6 100644 --- a/src/client/cl_ui.c +++ b/src/client/cl_ui.c @@ -1085,13 +1085,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_Printf( "Failed to find a valid UI vm. The following paths were searched:\n" ); |