]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - clvm_cmds.c
Added DP_QC_STRING_CASE_FUNCTIONS extension, providing VM functions strtolower and...
[xonotic/darkplaces.git] / clvm_cmds.c
index 03f3fe911b626e10c727dcaecd21697307a501b1..2d820b85f48a6a19c8b4daaf7f5d5767e7805fab 100644 (file)
@@ -351,8 +351,6 @@ int CSQC_EntitiesInBox (vec3_t mins, vec3_t maxs, int maxlist, prvm_edict_t **li
        {
                if (ent->priv.required->free)
                        continue;
-//             VectorAdd(ent->fields.client->origin, ent->fields.client->mins, ent->fields.client->absmin);
-//             VectorAdd(ent->fields.client->origin, ent->fields.client->maxs, ent->fields.client->absmax);
                if(BoxesOverlap(mins, maxs, ent->fields.client->absmin, ent->fields.client->absmax))
                        list[k++] = ent;
        }
@@ -644,8 +642,6 @@ static void VM_CL_R_AddEntities (void)
                ed = &prog->edicts[i];
                if(ed->priv.required->free)
                        continue;
-               VectorAdd(ed->fields.client->origin, ed->fields.client->mins, ed->fields.client->absmin);
-               VectorAdd(ed->fields.client->origin, ed->fields.client->maxs, ed->fields.client->absmax);
                CSQC_Think(ed);
                if(ed->priv.required->free)
                        continue;
@@ -1335,16 +1331,29 @@ static void VM_CL_te_spark (void)
        CL_ParticleEffect(EFFECT_TE_SPARK, PRVM_G_FLOAT(OFS_PARM2), pos2, pos2, PRVM_G_VECTOR(OFS_PARM1), PRVM_G_VECTOR(OFS_PARM1), NULL, 0);
 }
 
+extern cvar_t cl_sound_ric_gunshot;
 // #412 void(vector org) te_gunshotquad (DP_QUADEFFECTS1)
 static void VM_CL_te_gunshotquad (void)
 {
        float           *pos;
        vec3_t          pos2;
+       int                     rnd;
        VM_SAFEPARMCOUNT(1, VM_CL_te_gunshotquad);
 
        pos = PRVM_G_VECTOR(OFS_PARM0);
        CL_FindNonSolidLocation(pos, pos2, 4);
        CL_ParticleEffect(EFFECT_TE_GUNSHOTQUAD, 1, pos2, pos2, vec3_origin, vec3_origin, NULL, 0);
+       if(cl_sound_ric_gunshot.integer >= 2)
+       {
+               if (rand() % 5)                 S_StartSound(-1, 0, cl.sfx_tink1, pos2, 1, 1);
+               else
+               {
+                       rnd = rand() & 3;
+                       if (rnd == 1)           S_StartSound(-1, 0, cl.sfx_ric1, pos2, 1, 1);
+                       else if (rnd == 2)      S_StartSound(-1, 0, cl.sfx_ric2, pos2, 1, 1);
+                       else                            S_StartSound(-1, 0, cl.sfx_ric3, pos2, 1, 1);
+               }
+       }
 }
 
 // #413 void(vector org) te_spikequad (DP_QUADEFFECTS1)
@@ -1433,11 +1442,23 @@ static void VM_CL_te_gunshot (void)
 {
        float           *pos;
        vec3_t          pos2;
+       int                     rnd;
        VM_SAFEPARMCOUNT(1, VM_CL_te_gunshot);
 
        pos = PRVM_G_VECTOR(OFS_PARM0);
        CL_FindNonSolidLocation(pos, pos2, 4);
        CL_ParticleEffect(EFFECT_TE_GUNSHOT, 1, pos2, pos2, vec3_origin, vec3_origin, NULL, 0);
+       if(cl_sound_ric_gunshot.integer == 1 || cl_sound_ric_gunshot.integer == 3)
+       {
+               if (rand() % 5)                 S_StartSound(-1, 0, cl.sfx_tink1, pos2, 1, 1);
+               else
+               {
+                       rnd = rand() & 3;
+                       if (rnd == 1)           S_StartSound(-1, 0, cl.sfx_ric1, pos2, 1, 1);
+                       else if (rnd == 2)      S_StartSound(-1, 0, cl.sfx_ric2, pos2, 1, 1);
+                       else                            S_StartSound(-1, 0, cl.sfx_ric3, pos2, 1, 1);
+               }
+       }
 }
 
 // #419 void(vector org) te_spike (DP_TE_STANDARDEFFECTBUILTINS)
@@ -3140,9 +3161,9 @@ VM_tan,                                                   // #475 float(float a) VM_tan (DP_QC_ASINACOSATANATAN2TAN)
 VM_strlennocol,                                        // #476 float(string s) : DRESK - String Length (not counting color codes) (DP_QC_STRINGCOLORFUNCTIONS)
 VM_strdecolorize,                              // #477 string(string s) : DRESK - Decolorized String (DP_QC_STRINGCOLORFUNCTIONS)
 VM_strftime,                                   // #478 string(float uselocaltime, string format, ...) (DP_QC_STRFTIME)
-NULL,                                                  // #479
-NULL,                                                  // #480
-NULL,                                                  // #481
+VM_tokenizebyseparator,                        // #479 float(string s) tokenizebyseparator (DP_QC_TOKENIZEBYSEPARATOR)
+VM_strtolower,                                 // #480 string(string s) VM_strtolower : DRESK - Return string as lowercase
+VM_strtoupper,                                 // #481 string(string s) VM_strtoupper : DRESK - Return string as uppercase
 NULL,                                                  // #482
 NULL,                                                  // #483
 NULL,                                                  // #484