mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r5631) Don't allocate memory for information about a sprite which isn't drawn
This commit is contained in:
parent
82ebf842d1
commit
fef9818d3c
19
viewport.c
19
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;
|
||||
|
Loading…
Reference in New Issue
Block a user