summaryrefslogtreecommitdiff
path: root/industry.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
committerrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
commit66bbf336c6af7353ef0aeed58002c46543b30635 (patch)
treead4a63860df2626b22f77e7dac712e958bea54cb /industry.h
parentccc0a3f4dbf58c005b22341ac8874252924690cd (diff)
downloadopenttd-66bbf336c6af7353ef0aeed58002c46543b30635.tar.xz
(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.
Diffstat (limited to 'industry.h')
-rw-r--r--industry.h199
1 files changed, 0 insertions, 199 deletions
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 */