diff options
Diffstat (limited to 'industry_map.h')
-rw-r--r-- | industry_map.h | 51 |
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 */ |