summaryrefslogtreecommitdiff
path: root/industry_map.h
diff options
context:
space:
mode:
authorbelugas <belugas@openttd.org>2006-04-10 21:00:56 +0000
committerbelugas <belugas@openttd.org>2006-04-10 21:00:56 +0000
commitddd96570cad4677e0cd76a96eeac36ed958d9426 (patch)
treee2a2356f833bf455ac95d036ad577eb097f20f49 /industry_map.h
parent93789afac745ef29e16bff9563da082bf98ee369 (diff)
downloadopenttd-ddd96570cad4677e0cd76a96eeac36ed958d9426.tar.xz
(svn r4350) CodeChange : Add and use accessors [G|S]etIndustrype. Define and use IndustryGfx type instead of uint
Diffstat (limited to 'industry_map.h')
-rw-r--r--industry_map.h51
1 files changed, 49 insertions, 2 deletions
diff --git a/industry_map.h b/industry_map.h
index 55c4c3875..a734d792b 100644
--- a/industry_map.h
+++ b/industry_map.h
@@ -9,6 +9,7 @@
#include "macros.h"
#include "tile.h"
+typedef uint IndustryGfx;
static inline uint GetIndustryIndex(TileIndex t)
{
@@ -27,6 +28,8 @@ static inline bool IsIndustryCompleted(TileIndex t)
return HASBIT(_m[t].m1, 7);
}
+IndustryType GetIndustryType(TileIndex tile);
+
/**
* Set if the industry that owns the tile as under construction or not
* @param tile the tile to query
@@ -63,13 +66,13 @@ static inline void SetIndustryConstructionStage(TileIndex tile, byte value)
SB(_m[tile].m1, 0, 2, value);
}
-static inline uint GetIndustryGfx(TileIndex t)
+static inline IndustryGfx GetIndustryGfx(TileIndex t)
{
assert(IsTileType(t, MP_INDUSTRY));
return _m[t].m5;
}
-static inline void SetIndustryGfx(TileIndex t, uint gfx)
+static inline void SetIndustryGfx(TileIndex t, IndustryGfx gfx)
{
assert(IsTileType(t, MP_INDUSTRY));
_m[t].m5 = gfx;
@@ -123,4 +126,48 @@ static inline void ResetIndustryConstructionStage(TileIndex tile)
_m[tile].m1 = 0;
}
+typedef struct IndustryTypeSolver {
+ IndustryGfx MinGfx;
+ IndustryGfx MaxGfx;
+ } IndustryTypeSolver;
+
+static const IndustryTypeSolver industry_gfx_Solver [IT_END] = {
+ { 0, 6}, //IT_COAL_MINE
+ { 7, 10}, //IT_POWER_STATION,
+ { 11, 15}, //IT_SAWMILL,
+ { 16, 17}, //IT_FOREST,
+ { 18, 23}, //IT_OIL_REFINERY,
+ { 24, 28}, //IT_OIL_RIG,
+ { 29, 31}, //IT_OIL_WELL,
+ { 32, 38}, //IT_FARM,
+ { 39, 42}, //IT_FACTORY,
+ { 43, 46}, //IT_PRINTING_WORKS,
+ { 47, 51}, //IT_COPPER_MINE,
+ { 52, 57}, //IT_STEEL_MILL,
+ { 58, 59}, //IT_BANK_TEMP,
+ { 60, 63}, //IT_FOOD_PROCESS,
+ { 64, 71}, //IT_PAPER_MILL,
+ { 72, 88}, //IT_GOLD_MINE,
+ { 89, 90}, //IT_BANK_TROPIC_ARCTIC,
+ { 91, 99}, //IT_DIAMOND_MINE,
+ {100, 115}, //IT_IRON_MINE,
+ {116, 116}, //IT_FRUIT_PLANTATION,
+ {117, 117}, //IT_RUBBER_PLANTATION,
+ {118, 119}, //IT_WATER_SUPPLY,
+ {120, 120}, //IT_WATER_TOWER,
+ {121, 124}, //IT_FACTORY_2,
+ {125, 128}, //IT_LUMBER_MILL,
+ {129, 130}, //IT_COTTON_CANDY,
+ {131, 134}, //IT_CANDY_FACTORY or sweet factory
+ {135, 136}, //IT_BATTERY_FARM,
+ {137, 137}, //IT_COLA_WELLS,
+ {138, 141}, //IT_TOY_SHOP,
+ {142, 147}, //IT_TOY_FACTORY,
+ {148, 155}, //IT_PLASTIC_FOUNTAINS,
+ {156, 159}, //IT_FIZZY_DRINK_FACTORY,
+ {160, 163}, //IT_BUBBLE_GENERATOR,
+ {164, 166}, //IT_TOFFEE_QUARRY,
+ {167, 174} //IT_SUGAR_MINE,
+};
+
#endif /* INDUSTRY_MAP_H */