summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--viewport.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/viewport.c b/viewport.c
index b1c3173fe..eb0cbe51e 100644
--- a/viewport.c
+++ b/viewport.c
@@ -463,6 +463,15 @@ void AddSortableSpriteToDraw(uint32 image, int x, int y, int w, int h, byte dz,
return;
}
+ pt = RemapCoords(x, y, z);
+ spr = GetSprite(image & SPRITE_MASK);
+ if ((ps->left = (pt.x += spr->x_offs)) >= vd->dpi.left + vd->dpi.width ||
+ (ps->right = (pt.x + spr->width )) <= vd->dpi.left ||
+ (ps->top = (pt.y += spr->y_offs)) >= vd->dpi.top + vd->dpi.height ||
+ (ps->bottom = (pt.y + spr->height)) <= vd->dpi.top) {
+ return;
+ }
+
vd->spritelist_mem += sizeof(ParentSpriteToDraw);
ps->image = image;
@@ -475,16 +484,6 @@ void AddSortableSpriteToDraw(uint32 image, int x, int y, int w, int h, byte dz,
ps->zmin = z;
ps->zmax = z + dz - 1;
- pt = RemapCoords(x, y, z);
-
- spr = GetSprite(image & SPRITE_MASK);
- if ((ps->left = (pt.x += spr->x_offs)) >= vd->dpi.left + vd->dpi.width ||
- (ps->right = (pt.x + spr->width )) <= vd->dpi.left ||
- (ps->top = (pt.y += spr->y_offs)) >= vd->dpi.top + vd->dpi.height ||
- (ps->bottom = (pt.y + spr->height)) <= vd->dpi.top) {
- return;
- }
-
ps->unk16 = 0;
ps->child = NULL;
vd->last_child = &ps->child;