]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - sv_main.c
q3 shader parser was not supporting alphatest (promoted to alphablend) without trans...
[xonotic/darkplaces.git] / sv_main.c
index 8ab691ddecbf31f497d3fe38e761d25061c20d01..f811ee66cbc2bb1e6be57a617a27e0076a45ab85 100644 (file)
--- a/sv_main.c
+++ b/sv_main.c
@@ -25,7 +25,7 @@ void SV_VM_Init();
 void SV_VM_Setup();
 
 // select which protocol to host, this is fed to Protocol_EnumForName
-cvar_t sv_protocolname = {0, "sv_protocolname", "DP6"};
+cvar_t sv_protocolname = {0, "sv_protocolname", "DP7"};
 cvar_t sv_ratelimitlocalplayer = {0, "sv_ratelimitlocalplayer", "0"};
 cvar_t sv_maxrate = {CVAR_SAVE | CVAR_NOTIFY, "sv_maxrate", "10000"};
 
@@ -209,13 +209,22 @@ void SV_StartSound (prvm_edict_t *entity, int channel, const char *sample, int v
        int sound_num, field_mask, i, ent;
 
        if (volume < 0 || volume > 255)
-               Host_Error ("SV_StartSound: volume = %i", volume);
+       {
+               Con_Printf ("SV_StartSound: volume = %i", volume);
+               return;
+       }
 
        if (attenuation < 0 || attenuation > 4)
-               Host_Error ("SV_StartSound: attenuation = %f", attenuation);
+       {
+               Con_Printf ("SV_StartSound: attenuation = %f", attenuation);
+               return;
+       }
 
        if (channel < 0 || channel > 7)
-               Host_Error ("SV_StartSound: channel = %i", channel);
+       {
+               Con_Printf ("SV_StartSound: channel = %i", channel);
+               return;
+       }
 
        if (sv.datagram.cursize > MAX_PACKETFRAGMENT-21)
                return;
@@ -408,6 +417,8 @@ void SV_ConnectClient (int clientnum, netconn_t *netconnection)
        else
        {
                // call the progs to get default spawn parms for the new client
+               // set self to world to intentionally cause errors with broken SetNewParms code in some mods
+               prog->globals.server->self = 0;
                PRVM_ExecuteProgram (prog->globals.server->SetNewParms, "QC function SetNewParms is missing");
                for (i=0 ; i<NUM_SPAWN_PARMS ; i++)
                        client->spawn_parms[i] = (&prog->globals.server->parm1)[i];
@@ -2207,7 +2218,7 @@ void SV_VM_Setup(void)
        prog->load_edict = SV_VM_CB_LoadEdict;
        prog->init_cmd = VM_SV_Cmd_Init;
        prog->reset_cmd = VM_SV_Cmd_Reset;
-       prog->error_cmd = NULL; // change this
+       prog->error_cmd = Host_Error;
 
        // TODO: add a requiredfuncs list (ask LH if this is necessary at all)
        PRVM_LoadProgs( sv_progs.string, 0, NULL, REQFIELDS, reqfields );