(svn r5631) Don't allocate memory for information about a sprite which isn't drawn
authortron
Sat, 29 Jul 2006 13:06:00 +0000
changeset 4189 fcc29d7b6722
parent 4188 270af1cd03d4
child 4190 2acef650361f
(svn r5631) Don't allocate memory for information about a sprite which isn't drawn
viewport.c
--- a/viewport.c	Sat Jul 29 11:15:34 2006 +0000
+++ b/viewport.c	Sat Jul 29 13:06:00 2006 +0000
@@ -463,6 +463,15 @@
 		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 @@
 	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;