From 66bbf336c6af7353ef0aeed58002c46543b30635 Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 2 Jan 2007 19:19:48 +0000 Subject: (svn r7759) -Merge: makefile rewrite. This merge features: - A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy. --- industry.h | 199 ------------------------------------------------------------- 1 file changed, 199 deletions(-) delete mode 100644 industry.h (limited to 'industry.h') diff --git a/industry.h b/industry.h deleted file mode 100644 index f8cf63c82..000000000 --- a/industry.h +++ /dev/null @@ -1,199 +0,0 @@ -/* $Id$ */ - -#ifndef INDUSTRY_H -#define INDUSTRY_H - -#include "oldpool.h" - -typedef byte IndustryGfx; -typedef uint8 IndustryType; - -enum { - INVALID_INDUSTRY = 0xFFFF, -}; - -typedef enum IndustryLifeTypes { - INDUSTRYLIFE_NOT_CLOSABLE, ///< Industry can never close - INDUSTRYLIFE_PRODUCTION, ///< Industry can close and change of production - INDUSTRYLIFE_CLOSABLE, ///< Industry can only close (no production change) -} IndustryLifeType; - -struct Industry { - TileIndex xy; - byte width; /* swapped order of w/h with town */ - byte height; - const Town* town; - CargoID produced_cargo[2]; - uint16 cargo_waiting[2]; - byte production_rate[2]; - CargoID accepts_cargo[3]; - byte prod_level; - uint16 last_mo_production[2]; - uint16 last_mo_transported[2]; - byte pct_transported[2]; - uint16 total_production[2]; - uint16 total_transported[2]; - uint16 counter; - - byte type; - byte owner; - byte random_color; - Year last_prod_year; - byte was_cargo_delivered; - - IndustryID index; -}; - -typedef struct IndustryTileTable { - TileIndexDiffC ti; - IndustryGfx gfx; -} IndustryTileTable; - -typedef struct IndustrySpec { - /** Tables with the 'layout' of different composition of GFXes */ - const IndustryTileTable *const *table; - /** Number of elements in the table */ - byte num_table; - /** Base cost multiplier*/ - byte cost_multiplier; - /** Industries this industry cannot be close to */ - IndustryType conflicting[3]; - /** index to a procedure to check for conflicting circumstances */ - byte check_proc; - - CargoID produced_cargo[2]; - byte production_rate[2]; - /** The minimum amount of cargo transported to the stations; if the - * waiting cargo is less than this number, no cargo is moved to it*/ - byte minimal_cargo; - CargoID accepts_cargo[3]; - - IndustryLifeType life_type; ///< This is also known as Industry production flag, in newgrf specs - - byte climate_availability; ///< Bitmask, giving landscape enums as bit position - - StringID name; - StringID closure_text; - StringID production_up_text; - StringID production_down_text; -} IndustrySpec; - -const IndustrySpec *GetIndustrySpec(IndustryType thistype); - -DECLARE_OLD_POOL(Industry, Industry, 3, 8000) - -/** - * Check if an Industry really exists. - */ -static inline bool IsValidIndustry(const Industry *industry) -{ - return industry->xy != 0; -} - -static inline bool IsValidIndustryID(IndustryID index) -{ - return index < GetIndustryPoolSize() && IsValidIndustry(GetIndustry(index)); -} - -VARDEF int _total_industries; - -static inline IndustryID GetMaxIndustryIndex(void) -{ - /* TODO - This isn't the real content of the function, but - * with the new pool-system this will be replaced with one that - * _really_ returns the highest index. Now it just returns - * the next safe value we are sure about everything is below. - */ - return GetIndustryPoolSize() - 1; -} - -static inline uint GetNumIndustries(void) -{ - return _total_industries; -} - -/** - * Return a random valid industry. - */ -static inline Industry *GetRandomIndustry(void) -{ - int num = RandomRange(GetNumIndustries()); - IndustryID index = INVALID_INDUSTRY; - - if (GetNumIndustries() == 0) return NULL; - - while (num >= 0) { - num--; - index++; - - /* Make sure we have a valid industry */ - while (!IsValidIndustryID(index)) { - index++; - assert(index <= GetMaxIndustryIndex()); - } - } - - return GetIndustry(index); -} - -void DestroyIndustry(Industry *i); - -static inline void DeleteIndustry(Industry *i) -{ - DestroyIndustry(i); - i->xy = 0; -} - -#define FOR_ALL_INDUSTRIES_FROM(i, start) for (i = GetIndustry(start); i != NULL; i = (i->index + 1U < GetIndustryPoolSize()) ? GetIndustry(i->index + 1U) : NULL) if (IsValidIndustry(i)) -#define FOR_ALL_INDUSTRIES(i) FOR_ALL_INDUSTRIES_FROM(i, 0) - -VARDEF const Industry** _industry_sort; -VARDEF bool _industry_sort_dirty; - - -void DeleteIndustry(Industry *is); -void PlantRandomFarmField(const Industry *i); - -enum { - IT_COAL_MINE = 0, - IT_POWER_STATION = 1, - IT_SAWMILL = 2, - IT_FOREST = 3, - IT_OIL_REFINERY = 4, - IT_OIL_RIG = 5, - IT_FACTORY = 6, - IT_PRINTING_WORKS = 7, - IT_STEEL_MILL = 8, - IT_FARM = 9, - IT_COPPER_MINE = 10, - IT_OIL_WELL = 11, - IT_BANK_TEMP = 12, - IT_FOOD_PROCESS = 13, - IT_PAPER_MILL = 14, - IT_GOLD_MINE = 15, - IT_BANK_TROPIC_ARCTIC = 16, - IT_DIAMOND_MINE = 17, - IT_IRON_MINE = 18, - IT_FRUIT_PLANTATION = 19, - IT_RUBBER_PLANTATION = 20, - IT_WATER_SUPPLY = 21, - IT_WATER_TOWER = 22, - IT_FACTORY_2 = 23, - IT_FARM_2 = 24, - IT_LUMBER_MILL = 25, - IT_COTTON_CANDY = 26, - IT_CANDY_FACTORY = 27, - IT_BATTERY_FARM = 28, - IT_COLA_WELLS = 29, - IT_TOY_SHOP = 30, - IT_TOY_FACTORY = 31, - IT_PLASTIC_FOUNTAINS = 32, - IT_FIZZY_DRINK_FACTORY = 33, - IT_BUBBLE_GENERATOR = 34, - IT_TOFFEE_QUARRY = 35, - IT_SUGAR_MINE = 36, - IT_END, - IT_INVALID = 255, -}; - -#endif /* INDUSTRY_H */ -- cgit v1.2.3-70-g09d2