]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - csprogs.c
add support for fixed joints (jointtype -1), debug only according to ODE docs
[xonotic/darkplaces.git] / csprogs.c
index 58d631efc0b7e6e108246c02d07b1ae8b9cf9e17..1f774fa42d04c402c546e178fce2bcdd73eed434 100644 (file)
--- a/csprogs.c
+++ b/csprogs.c
@@ -244,12 +244,18 @@ qboolean CSQC_AddRenderEdict(prvm_edict_t *ed)
        // concat the matrices to make the entity relative to its tag
        Matrix4x4_Concat(&entrender->matrix, &tagmatrix, &matrix2);
 
+       // transparent offset
+       if ((renderflags & RF_USETRANSPARENTOFFSET) && (val = PRVM_GLOBALFIELDVALUE(prog->globaloffsets.transparent_offset)))
+               entrender->transparent_offset = val->_float;
+
        if(renderflags)
        {
                if(renderflags & RF_VIEWMODEL)  entrender->flags |= RENDER_VIEWMODEL;
                if(renderflags & RF_EXTERNALMODEL)entrender->flags |= RENDER_EXTERIORMODEL;
+               if(renderflags & RF_NOCULL)             entrender->flags |= RENDER_NOCULL;
                if(renderflags & RF_DEPTHHACK)  entrender->effects |= EF_NODEPTHTEST;
                if(renderflags & RF_ADDITIVE)           entrender->effects |= EF_ADDITIVE;
+
        }
 
        c = (int)ed->fields.client->colormap;
@@ -725,6 +731,8 @@ void CL_VM_CB_FreeEdict(prvm_edict_t *ed)
 {
        World_UnlinkEdict(ed);
        memset(ed->fields.client, 0, sizeof(*ed->fields.client));
+       World_Physics_RemoveFromEntity(&cl.world, ed);
+       World_Physics_RemoveJointFromEntity(&cl.world, ed);
 }
 
 void CL_VM_CB_CountEdicts(void)