Mercurial > hg > dmlib
diff dmq3d.c @ 253:61eb5fb4a5e6
Fix a silly rendering issue.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 09 Oct 2012 21:11:07 +0300 |
parents | 98483680ea0f |
children | be2ca95af493 |
line wrap: on
line diff
--- a/dmq3d.c Tue Oct 09 20:59:45 2012 +0300 +++ b/dmq3d.c Tue Oct 09 21:11:07 2012 +0300 @@ -108,9 +108,11 @@ { DM3DLine *line = &model->lines[i]; DMVector pv[2]; - dm_vector_add_r(&pv[0], &model->vertices[line->v1], pos); - dm_vector_add_r(&pv[1], &model->vertices[line->v2], pos); + dm_vector_copy(&pv[0], &model->vertices[line->v1]); + dm_vector_copy(&pv[1], &model->vertices[line->v2]); dm_vector_mul_by_mat_n(pv, 2, mat); + dm_vector_add(&pv[0], pos); + dm_vector_add(&pv[1], pos); if (line->type > 1) dmDrawLineSpec(screen, dmPX(cx, pv[0]), dmPY(cy, pv[0]), dmPX(cx, pv[1]), dmPY(cy, pv[1]), lcol, fbmap); @@ -122,9 +124,9 @@ { DM3DSprite *sprite = &model->sprites[i]; DM3DBitmap *bmp = &model->bitmaps[sprite->bitmap]; - DMVector pv, pt; - dm_vector_add_r(&pt, &model->vertices[sprite->v], pos); - dm_vector_mul_by_mat(&pv, &pt, mat); + DMVector pv; + dm_vector_mul_by_mat(&pv, &model->vertices[sprite->v], mat); + dm_vector_add(&pv, pos); dmUnscaledBlitSurface32to32Transparent(bmp->img, dmPX(cx, pv), dmPY(cy, pv), screen); } }