]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - svvm_cmds.c
cvar: r_texture_dds_load_dxt1_noalpha; if set, DXT1 alpha detection is disabled,...
[xonotic/darkplaces.git] / svvm_cmds.c
index 21a74c0148c0df8fa725f0486da1ed30f26b7eeb..35cb8beed1a93bd463875344772d14e7ad04847d 100644 (file)
@@ -19,10 +19,14 @@ char *vm_sv_extensions =
 "DP_CON_SET "
 "DP_CON_SETA "
 "DP_CON_STARTMAP "
+"DP_CSQC_BINDMAPS "
 "DP_CSQC_ENTITYNOCULL "
 "DP_CSQC_ENTITYTRANSPARENTSORTING_OFFSET "
 "DP_CSQC_MULTIFRAME_INTERPOLATION "
+"DP_CSQC_BOXPARTICLES "
 "DP_CSQC_SPAWNPARTICLE "
+"DP_CSQC_QUERYRENDERENTITY "
+"DP_CSQC_SETPAUSE "
 "DP_EF_ADDITIVE "
 "DP_EF_BLUE "
 "DP_EF_DOUBLESIDED "
@@ -54,6 +58,10 @@ char *vm_sv_extensions =
 "DP_GFX_QUAKE3MODELTAGS "
 "DP_GFX_SKINFILES "
 "DP_GFX_SKYBOX "
+"DP_GFX_FONTS "
+"DP_GFX_FONTS_FREETYPE "
+"DP_UTF8 "
+"DP_FONT_VARIABLEWIDTH "
 "DP_HALFLIFE_MAP "
 "DP_HALFLIFE_MAP_CVAR "
 "DP_HALFLIFE_SPRITE "
@@ -131,14 +139,19 @@ char *vm_sv_extensions =
 "DP_SND_OGGVORBIS "
 "DP_SND_SETPARAMS "
 "DP_SND_STEREOWAV "
+"DP_SND_GETSOUNDTIME "
+"DP_VIDEO_DPV "
+"DP_VIDEO_SUBTITLES "
 "DP_SOLIDCORPSE "
 "DP_SPRITE32 "
 "DP_SV_BOTCLIENT "
 "DP_SV_BOUNCEFACTOR "
+"DP_SV_CLIENTCAMERA "
 "DP_SV_CLIENTCOLORS "
 "DP_SV_CLIENTNAME "
 "DP_SV_CMD "
 "DP_SV_CUSTOMIZEENTITYFORCLIENT "
+"DP_SV_DISCARDABLEDEMO "
 "DP_SV_DRAWONLYTOCLIENT "
 "DP_SV_DROPCLIENT "
 "DP_SV_EFFECT "
@@ -1216,7 +1229,7 @@ static void VM_SV_aim (void)
        int             i, j;
        trace_t tr;
        float   dist, bestdist;
-       float   speed;
+       //float speed;
 
        VM_SAFEPARMCOUNT(2, VM_SV_aim);
 
@@ -1237,7 +1250,7 @@ static void VM_SV_aim (void)
                VM_Warning("aim: can not use free entity\n");
                return;
        }
-       speed = PRVM_G_FLOAT(OFS_PARM1);
+       //speed = PRVM_G_FLOAT(OFS_PARM1);
 
        VectorCopy (ent->fields.server->origin, start);
        start[2] += 20;
@@ -1349,7 +1362,7 @@ sizebuf_t *WriteDest (void)
                return sv.writeentitiestoclient_msg;
        }
 
-       return NULL;
+       //return NULL;
 }
 
 static void VM_SV_WriteByte (void)
@@ -2825,13 +2838,13 @@ static void VM_SV_skel_create(void)
                        break;
        if (i == MAX_EDICTS)
                return;
-       prog->skeletons[i] = skeleton = Mem_Alloc(cls.levelmempool, sizeof(skeleton_t) + model->num_bones * sizeof(matrix4x4_t));
+       prog->skeletons[i] = skeleton = (skeleton_t *)Mem_Alloc(cls.levelmempool, sizeof(skeleton_t) + model->num_bones * sizeof(matrix4x4_t));
+       PRVM_G_FLOAT(OFS_RETURN) = i + 1;
        skeleton->model = model;
        skeleton->relativetransforms = (matrix4x4_t *)(skeleton+1);
        // initialize to identity matrices
        for (i = 0;i < skeleton->model->num_bones;i++)
                skeleton->relativetransforms[i] = identitymatrix;
-       PRVM_G_FLOAT(OFS_RETURN) = i + 1;
 }
 
 // #264 float(float skel, entity ent, float modlindex, float retainfrac, float firstbone, float lastbone) skel_build = #264; // (FTE_CSQC_SKELETONOBJECTS) blend in a percentage of standard animation, 0 replaces entirely, 1 does nothing, 0.5 blends half, etc, and this only alters the bones in the specified range for which out of bounds values like 0,100000 are safe (uses .frame, .frame2, .frame3, .frame4, .lerpfrac, .lerpfrac3, .lerpfrac4, .frame1time, .frame2time, .frame3time, .frame4time), returns skel on success, 0 on failure
@@ -2842,8 +2855,8 @@ static void VM_SV_skel_build(void)
        prvm_edict_t *ed = PRVM_G_EDICT(OFS_PARM1);
        int modelindex = (int)PRVM_G_FLOAT(OFS_PARM2);
        float retainfrac = PRVM_G_FLOAT(OFS_PARM3);
-       int firstbone = PRVM_G_FLOAT(OFS_PARM4);
-       int lastbone = PRVM_G_FLOAT(OFS_PARM5);
+       int firstbone = PRVM_G_FLOAT(OFS_PARM4) - 1;
+       int lastbone = PRVM_G_FLOAT(OFS_PARM5) - 1;
        dp_model_t *model = SV_GetModelByIndex(modelindex);
        float blendfrac;
        int numblends;
@@ -3657,8 +3670,8 @@ VM_loadfromdata,                          // #529
 VM_loadfromfile,                               // #530
 VM_SV_setpause,                                        // #531 void(float pause) setpause = #531;
 VM_log,                                                        // #532
-NULL,                                                  // #533
-NULL,                                                  // #534
+VM_getsoundtime,                               // #533 float(entity e, float channel) getsoundtime = #533; (DP_SND_GETSOUNDTIME)
+VM_soundlength,                                        // #534 float(string sample) soundlength = #534; (DP_SND_GETSOUNDTIME)
 NULL,                                                  // #535
 NULL,                                                  // #536
 NULL,                                                  // #537