(svn r6256) if () cascades -> switch ()
authortron
Thu, 31 Aug 2006 07:49:34 +0000
changeset 4471 4134f0452cd6
parent 4470 8e66f345f66d
child 4472 745f9ebe2216
(svn r6256) if () cascades -> switch ()
viewport.c
--- a/viewport.c	Thu Aug 31 07:29:19 2006 +0000
+++ b/viewport.c	Thu Aug 31 07:49:34 2006 +0000
@@ -1471,187 +1471,210 @@
 
 	if (!(_display_opt & DO_SHOW_TOWN_NAMES)) return false;
 
-	if (vp->zoom < 1) {
-		x = x - vp->left + vp->virtual_left;
-		y = y - vp->top + vp->virtual_top;
-
-		FOR_ALL_TOWNS(t) {
-			if (y >= t->sign.top &&
-					y < t->sign.top + 12 &&
-					x >= t->sign.left &&
-					x < t->sign.left + t->sign.width_1) {
-				ShowTownViewWindow(t->index);
-				return true;
+	switch (vp->zoom) {
+		case 0:
+			x = x - vp->left + vp->virtual_left;
+			y = y - vp->top  + vp->virtual_top;
+			FOR_ALL_TOWNS(t) {
+				if (y >= t->sign.top &&
+						y < t->sign.top + 12 &&
+						x >= t->sign.left &&
+						x < t->sign.left + t->sign.width_1) {
+					ShowTownViewWindow(t->index);
+					return true;
+				}
 			}
-		}
-	} else if (vp->zoom == 1) {
-		x = (x - vp->left + 1) * 2 + vp->virtual_left;
-		y = (y - vp->top + 1) * 2 + vp->virtual_top;
-		FOR_ALL_TOWNS(t) {
-			if (y >= t->sign.top &&
-					y < t->sign.top + 24 &&
-					x >= t->sign.left &&
-					x < t->sign.left + t->sign.width_1 * 2) {
-				ShowTownViewWindow(t->index);
-				return true;
+			break;
+
+		case 1:
+			x = (x - vp->left + 1) * 2 + vp->virtual_left;
+			y = (y - vp->top  + 1) * 2 + vp->virtual_top;
+			FOR_ALL_TOWNS(t) {
+				if (y >= t->sign.top &&
+						y < t->sign.top + 24 &&
+						x >= t->sign.left &&
+						x < t->sign.left + t->sign.width_1 * 2) {
+					ShowTownViewWindow(t->index);
+					return true;
+				}
 			}
-		}
-	} else {
-		x = (x - vp->left + 3) * 4 + vp->virtual_left;
-		y = (y - vp->top + 3) * 4 + vp->virtual_top;
-		FOR_ALL_TOWNS(t) {
-			if (y >= t->sign.top &&
-					y < t->sign.top + 24 &&
-					x >= t->sign.left &&
-					x < t->sign.left + t->sign.width_2 * 4) {
-				ShowTownViewWindow(t->index);
-				return true;
+			break;
+
+		default:
+			x = (x - vp->left + 3) * 4 + vp->virtual_left;
+			y = (y - vp->top  + 3) * 4 + vp->virtual_top;
+			FOR_ALL_TOWNS(t) {
+				if (y >= t->sign.top &&
+						y < t->sign.top + 24 &&
+						x >= t->sign.left &&
+						x < t->sign.left + t->sign.width_2 * 4) {
+					ShowTownViewWindow(t->index);
+					return true;
+				}
 			}
-		}
+			break;
 	}
 
 	return false;
 }
 
+
 static bool CheckClickOnStation(const ViewPort *vp, int x, int y)
 {
 	const Station *st;
 
 	if (!(_display_opt & DO_SHOW_STATION_NAMES)) return false;
 
-	if (vp->zoom < 1) {
-		x = x - vp->left + vp->virtual_left;
-		y = y - vp->top + vp->virtual_top;
-
-		FOR_ALL_STATIONS(st) {
-			if (y >= st->sign.top &&
-					y < st->sign.top + 12 &&
-					x >= st->sign.left &&
-					x < st->sign.left + st->sign.width_1) {
-				ShowStationViewWindow(st->index);
-				return true;
+	switch (vp->zoom) {
+		case 0:
+			x = x - vp->left + vp->virtual_left;
+			y = y - vp->top  + vp->virtual_top;
+			FOR_ALL_STATIONS(st) {
+				if (y >= st->sign.top &&
+						y < st->sign.top + 12 &&
+						x >= st->sign.left &&
+						x < st->sign.left + st->sign.width_1) {
+					ShowStationViewWindow(st->index);
+					return true;
+				}
 			}
-		}
-	} else if (vp->zoom == 1) {
-		x = (x - vp->left + 1) * 2 + vp->virtual_left;
-		y = (y - vp->top + 1) * 2 + vp->virtual_top;
-		FOR_ALL_STATIONS(st) {
-			if (y >= st->sign.top &&
-					y < st->sign.top + 24 &&
-					x >= st->sign.left &&
-					x < st->sign.left + st->sign.width_1 * 2) {
-				ShowStationViewWindow(st->index);
-				return true;
+			break;
+
+		case 1:
+			x = (x - vp->left + 1) * 2 + vp->virtual_left;
+			y = (y - vp->top  + 1) * 2 + vp->virtual_top;
+			FOR_ALL_STATIONS(st) {
+				if (y >= st->sign.top &&
+						y < st->sign.top + 24 &&
+						x >= st->sign.left &&
+						x < st->sign.left + st->sign.width_1 * 2) {
+					ShowStationViewWindow(st->index);
+					return true;
+				}
 			}
-		}
-	} else {
-		x = (x - vp->left + 3) * 4 + vp->virtual_left;
-		y = (y - vp->top + 3) * 4 + vp->virtual_top;
-		FOR_ALL_STATIONS(st) {
-			if (y >= st->sign.top &&
-					y < st->sign.top + 24 &&
-					x >= st->sign.left &&
-					x < st->sign.left + st->sign.width_2 * 4) {
-				ShowStationViewWindow(st->index);
-				return true;
+			break;
+
+		default:
+			x = (x - vp->left + 3) * 4 + vp->virtual_left;
+			y = (y - vp->top  + 3) * 4 + vp->virtual_top;
+			FOR_ALL_STATIONS(st) {
+				if (y >= st->sign.top &&
+						y < st->sign.top + 24 &&
+						x >= st->sign.left &&
+						x < st->sign.left + st->sign.width_2 * 4) {
+					ShowStationViewWindow(st->index);
+					return true;
+				}
 			}
-		}
+			break;
 	}
 
 	return false;
 }
 
+
 static bool CheckClickOnSign(const ViewPort *vp, int x, int y)
 {
 	const Sign *si;
 
 	if (!(_display_opt & DO_SHOW_SIGNS)) return false;
 
-	if (vp->zoom < 1) {
-		x = x - vp->left + vp->virtual_left;
-		y = y - vp->top + vp->virtual_top;
-
-		FOR_ALL_SIGNS(si) {
-			if (y >= si->sign.top &&
-					y < si->sign.top + 12 &&
-					x >= si->sign.left &&
-					x < si->sign.left + si->sign.width_1) {
-				ShowRenameSignWindow(si);
-				return true;
+	switch (vp->zoom) {
+		case 0:
+			x = x - vp->left + vp->virtual_left;
+			y = y - vp->top  + vp->virtual_top;
+			FOR_ALL_SIGNS(si) {
+				if (y >= si->sign.top &&
+						y <  si->sign.top + 12 &&
+						x >= si->sign.left &&
+						x <  si->sign.left + si->sign.width_1) {
+					ShowRenameSignWindow(si);
+					return true;
+				}
 			}
-		}
-	} else if (vp->zoom == 1) {
-		x = (x - vp->left + 1) * 2 + vp->virtual_left;
-		y = (y - vp->top + 1) * 2 + vp->virtual_top;
-		FOR_ALL_SIGNS(si) {
-			if (y >= si->sign.top &&
-					y < si->sign.top + 24 &&
-					x >= si->sign.left &&
-					x < si->sign.left + si->sign.width_1 * 2) {
-				ShowRenameSignWindow(si);
-				return true;
+			break;
+
+		case 1:
+			x = (x - vp->left + 1) * 2 + vp->virtual_left;
+			y = (y - vp->top  + 1) * 2 + vp->virtual_top;
+			FOR_ALL_SIGNS(si) {
+				if (y >= si->sign.top &&
+						y <  si->sign.top + 24 &&
+						x >= si->sign.left &&
+						x <  si->sign.left + si->sign.width_1 * 2) {
+					ShowRenameSignWindow(si);
+					return true;
+				}
 			}
-		}
-	} else {
-		x = (x - vp->left + 3) * 4 + vp->virtual_left;
-		y = (y - vp->top + 3) * 4 + vp->virtual_top;
-		FOR_ALL_SIGNS(si) {
-			if (y >= si->sign.top &&
-					y < si->sign.top + 24 &&
-					x >= si->sign.left &&
-					x < si->sign.left + si->sign.width_2 * 4) {
-				ShowRenameSignWindow(si);
-				return true;
+			break;
+
+		default:
+			x = (x - vp->left + 3) * 4 + vp->virtual_left;
+			y = (y - vp->top  + 3) * 4 + vp->virtual_top;
+			FOR_ALL_SIGNS(si) {
+				if (y >= si->sign.top &&
+						y <  si->sign.top + 24 &&
+						x >= si->sign.left &&
+						x <  si->sign.left + si->sign.width_2 * 4) {
+					ShowRenameSignWindow(si);
+					return true;
+				}
 			}
-		}
+			break;
 	}
 
 	return false;
 }
 
+
 static bool CheckClickOnWaypoint(const ViewPort *vp, int x, int y)
 {
 	const Waypoint *wp;
 
 	if (!(_display_opt & DO_WAYPOINTS)) return false;
 
-	if (vp->zoom < 1) {
-		x = x - vp->left + vp->virtual_left;
-		y = y - vp->top + vp->virtual_top;
-
-		FOR_ALL_WAYPOINTS(wp) {
-			if (y >= wp->sign.top &&
-					y < wp->sign.top + 12 &&
-					x >= wp->sign.left &&
-					x < wp->sign.left + wp->sign.width_1) {
-				ShowRenameWaypointWindow(wp);
-				return true;
+	switch (vp->zoom) {
+		case 0:
+			x = x - vp->left + vp->virtual_left;
+			y = y - vp->top  + vp->virtual_top;
+			FOR_ALL_WAYPOINTS(wp) {
+				if (y >= wp->sign.top &&
+						y < wp->sign.top + 12 &&
+						x >= wp->sign.left &&
+						x < wp->sign.left + wp->sign.width_1) {
+					ShowRenameWaypointWindow(wp);
+					return true;
+				}
 			}
-		}
-	} else if (vp->zoom == 1) {
-		x = (x - vp->left + 1) * 2 + vp->virtual_left;
-		y = (y - vp->top + 1) * 2 + vp->virtual_top;
-		FOR_ALL_WAYPOINTS(wp) {
-			if (y >= wp->sign.top &&
-					y < wp->sign.top + 24 &&
-					x >= wp->sign.left &&
-					x < wp->sign.left + wp->sign.width_1 * 2) {
-				ShowRenameWaypointWindow(wp);
-				return true;
+			break;
+
+		case 1:
+			x = (x - vp->left + 1) * 2 + vp->virtual_left;
+			y = (y - vp->top  + 1) * 2 + vp->virtual_top;
+			FOR_ALL_WAYPOINTS(wp) {
+				if (y >= wp->sign.top &&
+						y < wp->sign.top + 24 &&
+						x >= wp->sign.left &&
+						x < wp->sign.left + wp->sign.width_1 * 2) {
+					ShowRenameWaypointWindow(wp);
+					return true;
+				}
 			}
-		}
-	} else {
-		x = (x - vp->left + 3) * 4 + vp->virtual_left;
-		y = (y - vp->top + 3) * 4 + vp->virtual_top;
-		FOR_ALL_WAYPOINTS(wp) {
-			if (y >= wp->sign.top &&
-					y < wp->sign.top + 24 &&
-					x >= wp->sign.left &&
-					x < wp->sign.left + wp->sign.width_2 * 4) {
-				ShowRenameWaypointWindow(wp);
-				return true;
+			break;
+
+		default:
+			x = (x - vp->left + 3) * 4 + vp->virtual_left;
+			y = (y - vp->top  + 3) * 4 + vp->virtual_top;
+			FOR_ALL_WAYPOINTS(wp) {
+				if (y >= wp->sign.top &&
+						y < wp->sign.top + 24 &&
+						x >= wp->sign.left &&
+						x < wp->sign.left + wp->sign.width_2 * 4) {
+					ShowRenameWaypointWindow(wp);
+					return true;
+				}
 			}
-		}
+			break;
 	}
 
 	return false;