changeset 4187:0ed3d6500117 draft

(svn r5629) Simplify the test whether two bounding boxes overlap
author tron <tron@openttd.org>
date Sat, 29 Jul 2006 10:18:59 +0000
parents d60e73f5151b
children cb56cb3830ce
files viewport.c
diffstat 1 files changed, 6 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/viewport.c
+++ b/viewport.c
@@ -1048,18 +1048,12 @@
 
 				if (ps2->unk16 & 1) continue;
 
-				// Decide which sort order algorithm to use, based on whether the sprites have some overlapping area.
-				if ((
-							(ps2->xmin > ps->xmin && ps2->xmin < ps->xmax) ||
-							(ps2->xmax > ps->xmin && ps2->xmin < ps->xmax)
-						) && ( // overlap in X
-							(ps2->ymin > ps->ymin && ps2->ymin < ps->ymax) ||
-							(ps2->ymax > ps->ymin && ps2->ymin < ps->ymax)
-						) && ( // overlap in Y
-							(ps2->zmin > ps->zmin && ps2->zmin < ps->zmax) ||
-							(ps2->zmax > ps->zmin && ps2->zmin < ps->zmax)
-						)) { // overlap in Z
-					// Sprites overlap.
+				/* Decide which comparator to use, based on whether the bounding
+				 * boxes overlap
+				 */
+				if (ps->xmax > ps2->xmin && ps->xmin < ps2->xmax && // overlap in X?
+						ps->ymax > ps2->ymin && ps->ymin < ps2->ymax && // overlap in Y?
+						ps->zmax > ps2->zmin && ps->zmin < ps2->zmax) { // overlap in Z?
 					// Use X+Y+Z as the sorting order, so sprites nearer the bottom of the screen,
 					// and with higher Z elevation, draw in front.
 					// Here X,Y,Z are the coordinates of the "center of mass" of the sprite,