]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_sprites.c
fixed view location bugs in csqc; it was reading the player entity's render.origin...
[xonotic/darkplaces.git] / r_sprites.c
index 87c06b74ebce192b1bb36f8f9896db629d372920..2f59f1c7dc18a763f64bbe30422e59acffe9a875 100644 (file)
@@ -71,7 +71,9 @@ void R_Model_Sprite_Draw_TransparentCallback(const entity_render_t *ent, const r
                color[0] = color[1] = color[2] = 1;
        else
        {
                color[0] = color[1] = color[2] = 1;
        else
        {
-               R_CompleteLightPoint(color, diffusecolor, diffusenormal, ent->origin, true);
+               vec3_t org;
+               Matrix4x4_OriginFromMatrix(&ent->matrix, org);
+               R_CompleteLightPoint(color, diffusecolor, diffusenormal, org, true);
                VectorMA(color, 0.5f, diffusecolor, color);
        }
        color[0] *= ent->colormod[0];
                VectorMA(color, 0.5f, diffusecolor, color);
        }
        color[0] *= ent->colormod[0];
@@ -92,9 +94,11 @@ void R_Model_Sprite_Draw_TransparentCallback(const entity_render_t *ent, const r
 
 void R_Model_Sprite_Draw(entity_render_t *ent)
 {
 
 void R_Model_Sprite_Draw(entity_render_t *ent)
 {
+       vec3_t org;
        if (ent->frameblend[0].frame < 0)
                return;
 
        if (ent->frameblend[0].frame < 0)
                return;
 
-       R_MeshQueue_AddTransparent(ent->effects & EF_NODEPTHTEST ? r_view.origin : ent->origin, R_Model_Sprite_Draw_TransparentCallback, ent, 0, r_shadow_rtlight);
+       Matrix4x4_OriginFromMatrix(&ent->matrix, org);
+       R_MeshQueue_AddTransparent(ent->effects & EF_NODEPTHTEST ? r_view.origin : org, R_Model_Sprite_Draw_TransparentCallback, ent, 0, r_shadow_rtlight);
 }
 
 }