(svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
authortron
Fri, 24 Mar 2006 08:00:45 +0000
changeset 3314 6aaeba4b92e8
parent 3313 735b30b93dc2
child 3315 c9d989783c55
(svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
disaster_cmd.c
industry_cmd.c
industry_map.h
--- a/disaster_cmd.c	Fri Mar 24 06:40:49 2006 +0000
+++ b/disaster_cmd.c	Fri Mar 24 08:00:45 2006 +0000
@@ -2,6 +2,7 @@
 
 #include "stdafx.h"
 #include "openttd.h"
+#include "industry_map.h"
 #include "table/strings.h"
 #include "functions.h"
 #include "map.h"
@@ -336,7 +337,7 @@
 	TileIndex tile;
 
 	for (tile = 0; tile != MapSize(); tile++) {
-		if (IsTileType(tile, MP_INDUSTRY) && _m[tile].m2 == i->index) {
+		if (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == i->index) {
 			_m[tile].m1 = 0;
 			MarkTileDirtyByTile(tile);
 		}
@@ -393,7 +394,7 @@
 	} else if (v->current_order.station == 0) {
 		int x,y;
 		TileIndex tile;
-		int ind;
+		uint ind;
 
 		x = v->x_pos - 15*16;
 		y = v->y_pos;
@@ -405,7 +406,8 @@
 		if (!IsTileType(tile, MP_INDUSTRY))
 			return;
 
-		v->dest_tile = ind = _m[tile].m2;
+		ind = GetIndustryIndex(tile);
+		v->dest_tile = ind;
 
 		if (GetIndustry(ind)->type == IT_OIL_REFINERY) {
 			v->current_order.station = 1;
@@ -464,7 +466,7 @@
 	} else if (v->current_order.station == 0) {
 		int x,y;
 		TileIndex tile;
-		int ind;
+		uint ind;
 
 		x = v->x_pos - 15*16;
 		y = v->y_pos;
@@ -476,7 +478,8 @@
 		if (!IsTileType(tile, MP_INDUSTRY))
 			return;
 
-		v->dest_tile = ind = _m[tile].m2;
+		ind = GetIndustryIndex(tile);
+		v->dest_tile = ind;
 
 		if (GetIndustry(ind)->type == IT_FACTORY) {
 			v->current_order.station = 1;
--- a/industry_cmd.c	Fri Mar 24 06:40:49 2006 +0000
+++ b/industry_cmd.c	Fri Mar 24 08:00:45 2006 +0000
@@ -3,6 +3,7 @@
 #include "stdafx.h"
 #include "openttd.h"
 #include "clear_map.h"
+#include "industry_map.h"
 #include "table/strings.h"
 #include "table/sprites.h"
 #include "functions.h"
@@ -350,7 +351,7 @@
 	uint32 image, ormod;
 
 	/* Pointer to industry */
-	ind = GetIndustry(_m[ti->tile].m2);
+	ind = GetIndustryByTile(ti->tile);
 	ormod = (ind->color_map + 0x307) << PALETTE_SPRITE_START;
 
 	/* Retrieve pointer to the draw industry tile struct */
@@ -424,7 +425,7 @@
 
 static void GetTileDesc_Industry(TileIndex tile, TileDesc *td)
 {
-	const Industry* i = GetIndustry(_m[tile].m2);
+	const Industry* i = GetIndustryByTile(tile);
 
 	td->owner = i->owner;
 	td->str = STR_4802_COAL_MINE + i->type;
@@ -436,7 +437,7 @@
 
 static int32 ClearTile_Industry(TileIndex tile, byte flags)
 {
-	Industry *i = GetIndustry(_m[tile].m2);
+	Industry* i = GetIndustryByTile(tile);
 
 	/*	* water can destroy industries
 			* in editor you can bulldoze industries
@@ -465,7 +466,7 @@
 
 static void TransportIndustryGoods(TileIndex tile)
 {
-	Industry* i = GetIndustry(_m[tile].m2);
+	Industry* i = GetIndustryByTile(tile);
 	uint cw, am;
 
 	cw = min(i->cargo_waiting[0], 255);
@@ -821,7 +822,7 @@
 
 
 	case 143: {
-			Industry *i = GetIndustry(_m[tile].m2);
+			Industry* i = GetIndustryByTile(tile);
 			if (i->was_cargo_delivered) {
 				i->was_cargo_delivered = false;
 				_m[tile].m4 = 0;
@@ -847,7 +848,7 @@
 
 static void ClickTile_Industry(TileIndex tile)
 {
-	ShowIndustryViewWindow(_m[tile].m2);
+	ShowIndustryViewWindow(GetIndustryIndex(tile));
 }
 
 static uint32 GetTileTrackStatus_Industry(TileIndex tile, TransportType mode)
@@ -857,7 +858,7 @@
 
 static void GetProducedCargo_Industry(TileIndex tile, byte *b)
 {
-	const Industry* i = GetIndustry(_m[tile].m2);
+	const Industry* i = GetIndustryByTile(tile);
 
 	b[0] = i->produced_cargo[0];
 	b[1] = i->produced_cargo[1];
@@ -872,7 +873,7 @@
 {
 	BEGIN_TILE_LOOP(tile_cur, i->width, i->height, i->xy);
 		if (IsTileType(tile_cur, MP_INDUSTRY)) {
-			if (_m[tile_cur].m2 == i->index) {
+			if (GetIndustryIndex(tile_cur) == i->index) {
 				DoClearSquare(tile_cur);
 			}
 		} else if (IsTileType(tile_cur, MP_STATION) && _m[tile_cur].m5 == 0x4B) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/industry_map.h	Fri Mar 24 08:00:45 2006 +0000
@@ -0,0 +1,16 @@
+/* $Id$ */
+
+#include "industry.h"
+#include "macros.h"
+#include "tile.h"
+
+
+static inline uint GetIndustryIndex(TileIndex t)
+{
+	return _m[t].m2;
+}
+
+static inline Industry* GetIndustryByTile(TileIndex t)
+{
+	return GetIndustry(GetIndustryIndex(t));
+}