]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - clvm_cmds.c
Remove hack in changelevel
[xonotic/darkplaces.git] / clvm_cmds.c
index d2836b3740c87a3643f3f91450a0c9fd0743dfa4..ef432e6e3edf0b4795bc3408bf90282c0918494d 100644 (file)
@@ -1627,7 +1627,7 @@ static void VM_CL_registercmd (prvm_prog_t *prog)
 {
        VM_SAFEPARMCOUNT(1, VM_CL_registercmd);
        if(!Cmd_Exists(&cmd_client, PRVM_G_STRING(OFS_PARM0)))
-               Cmd_AddCommand(&cmd_client, PRVM_G_STRING(OFS_PARM0), NULL, "console command created by QuakeC");
+               Cmd_AddCommand(CMD_CLIENT, PRVM_G_STRING(OFS_PARM0), NULL, "console command created by QuakeC");
 }
 
 //#360 float() readbyte (EXT_CSQC)
@@ -1860,6 +1860,9 @@ static void VM_CL_copyentity (prvm_prog_t *prog)
                return;
        }
        memcpy(out->fields.fp, in->fields.fp, prog->entityfields * sizeof(prvm_vec_t));
+
+       if (VectorCompare(PRVM_clientedictvector(out, absmin), PRVM_clientedictvector(out, absmax)))
+               return;
        CL_LinkEdict(out);
 }
 
@@ -1869,7 +1872,7 @@ static void VM_CL_copyentity (prvm_prog_t *prog)
 static void VM_CL_effect (prvm_prog_t *prog)
 {
 #if 1
-       Con_Printf("WARNING: VM_CL_effect not implemented\n"); // FIXME: this needs to take modelname not modelindex, the csqc defs has it as string and so it shall be
+       Con_Warnf("WARNING: VM_CL_effect not implemented\n"); // FIXME: this needs to take modelname not modelindex, the csqc defs has it as string and so it shall be
 #else
        vec3_t org;
        VM_SAFEPARMCOUNT(5, VM_CL_effect);
@@ -1922,7 +1925,7 @@ static void VM_CL_te_explosionrgb (prvm_prog_t *prog)
        CL_FindNonSolidLocation(pos, pos2, 10);
        CL_ParticleExplosion(pos2);
        Matrix4x4_CreateTranslate(&tempmatrix, pos2[0], pos2[1], pos2[2]);
-       CL_AllocLightFlash(NULL, &tempmatrix, 350, PRVM_G_VECTOR(OFS_PARM1)[0], PRVM_G_VECTOR(OFS_PARM1)[1], PRVM_G_VECTOR(OFS_PARM1)[2], 700, 0.5, 0, -1, true, 1, 0.25, 0.25, 1, 1, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
+       CL_AllocLightFlash(NULL, &tempmatrix, 350, PRVM_G_VECTOR(OFS_PARM1)[0], PRVM_G_VECTOR(OFS_PARM1)[1], PRVM_G_VECTOR(OFS_PARM1)[2], 700, 0.5, NULL, -1, true, 1, 0.25, 0.25, 1, 1, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
 }
 
 // #408 void(vector mincorner, vector maxcorner, vector vel, float howmany, float color, float gravityflag, float randomveljitter) te_particlecube (DP_TE_PARTICLECUBE)
@@ -2067,7 +2070,7 @@ static void VM_CL_te_customflash (prvm_prog_t *prog)
        VectorCopy(PRVM_G_VECTOR(OFS_PARM0), pos);
        CL_FindNonSolidLocation(pos, pos2, 4);
        Matrix4x4_CreateTranslate(&tempmatrix, pos2[0], pos2[1], pos2[2]);
-       CL_AllocLightFlash(NULL, &tempmatrix, PRVM_G_FLOAT(OFS_PARM1), PRVM_G_VECTOR(OFS_PARM3)[0], PRVM_G_VECTOR(OFS_PARM3)[1], PRVM_G_VECTOR(OFS_PARM3)[2], PRVM_G_FLOAT(OFS_PARM1) / PRVM_G_FLOAT(OFS_PARM2), PRVM_G_FLOAT(OFS_PARM2), 0, -1, true, 1, 0.25, 1, 1, 1, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
+       CL_AllocLightFlash(NULL, &tempmatrix, PRVM_G_FLOAT(OFS_PARM1), PRVM_G_VECTOR(OFS_PARM3)[0], PRVM_G_VECTOR(OFS_PARM3)[1], PRVM_G_VECTOR(OFS_PARM3)[2], PRVM_G_FLOAT(OFS_PARM1) / PRVM_G_FLOAT(OFS_PARM2), PRVM_G_FLOAT(OFS_PARM2), NULL, -1, true, 1, 0.25, 1, 1, 1, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
 }
 
 // #418 void(vector org) te_gunshot (DP_TE_STANDARDEFFECTBUILTINS)
@@ -2218,7 +2221,7 @@ static void VM_CL_te_explosion2 (prvm_prog_t *prog)
        color[1] = tempcolor[1] * (2.0f / 255.0f);
        color[2] = tempcolor[2] * (2.0f / 255.0f);
        Matrix4x4_CreateTranslate(&tempmatrix, pos2[0], pos2[1], pos2[2]);
-       CL_AllocLightFlash(NULL, &tempmatrix, 350, color[0], color[1], color[2], 700, 0.5, 0, -1, true, 1, 0.25, 0.25, 1, 1, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
+       CL_AllocLightFlash(NULL, &tempmatrix, 350, color[0], color[1], color[2], 700, 0.5, NULL, -1, true, 1, 0.25, 0.25, 1, 1, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
        S_StartSound(-1, 0, cl.sfx_r_exp3, pos2, 1, 1);
 }
 
@@ -2921,7 +2924,7 @@ static void VM_CL_SpawnParticle (prvm_prog_t *prog)
        particle_t *part;
        int themenum;
 
-       VM_SAFEPARMCOUNTRANGE(2, 3, VM_CL_SpawnParticle2);
+       VM_SAFEPARMCOUNTRANGE(2, 3, VM_CL_SpawnParticle);
        if (vmpartspawner.verified == false)
        {
                VM_Warning(prog, "VM_CL_SpawnParticle: particle spawner not initialized\n");
@@ -3043,10 +3046,10 @@ static void VM_CL_SpawnParticleDelayed (prvm_prog_t *prog)
        particle_t *part;
        int themenum;
 
-       VM_SAFEPARMCOUNTRANGE(4, 5, VM_CL_SpawnParticle2);
+       VM_SAFEPARMCOUNTRANGE(4, 5, VM_CL_SpawnParticleDelayed);
        if (vmpartspawner.verified == false)
        {
-               VM_Warning(prog, "VM_CL_SpawnParticle: particle spawner not initialized\n");
+               VM_Warning(prog, "VM_CL_SpawnParticleDelayed: particle spawner not initialized\n");
                PRVM_G_FLOAT(OFS_RETURN) = 0; 
                return;
        }
@@ -3092,7 +3095,7 @@ static void VM_CL_SpawnParticleDelayed (prvm_prog_t *prog)
                themenum = (int)PRVM_G_FLOAT(OFS_PARM4);
                if (themenum <= 0 || themenum >= vmpartspawner.max_themes)
                {
-                       VM_Warning(prog, "VM_CL_SpawnParticle: bad theme number %i\n", themenum);
+                       VM_Warning(prog, "VM_CL_SpawnParticleDelayed: bad theme number %i\n", themenum);
                        PRVM_G_FLOAT(OFS_RETURN) = 0;  
                        return;
                }
@@ -3154,7 +3157,7 @@ static void VM_CL_GetEntity (prvm_prog_t *prog)
 {
        int entnum, fieldnum;
        vec3_t forward, left, up, org;
-       VM_SAFEPARMCOUNT(2, VM_CL_GetEntityVec);
+       VM_SAFEPARMCOUNT(2, VM_CL_GetEntity);
 
        entnum = PRVM_G_FLOAT(OFS_PARM0);
        if (entnum < 0 || entnum >= cl.num_entities)
@@ -3702,7 +3705,7 @@ static void VM_CL_checkpvs (prvm_prog_t *prog)
        unsigned char fatpvs[MAX_MAP_LEAFS/8];
 #endif
 
-       VM_SAFEPARMCOUNT(2, VM_SV_checkpvs);
+       VM_SAFEPARMCOUNT(2, VM_CL_checkpvs);
        VectorCopy(PRVM_G_VECTOR(OFS_PARM0), viewpos);
        viewee = PRVM_G_EDICT(OFS_PARM1);