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. --- town.h | 230 ----------------------------------------------------------------- 1 file changed, 230 deletions(-) delete mode 100644 town.h (limited to 'town.h') diff --git a/town.h b/town.h deleted file mode 100644 index d1edca1c8..000000000 --- a/town.h +++ /dev/null @@ -1,230 +0,0 @@ -/* $Id$ */ - -#ifndef TOWN_H -#define TOWN_H - -#include "oldpool.h" -#include "player.h" - -enum { - INVALID_TOWN = 0xFFFF, -}; - -struct Town { - TileIndex xy; - - // Current population of people and amount of houses. - uint16 num_houses; - uint32 population; - - // Town name - uint16 townnametype; - uint32 townnameparts; - - // NOSAVE: Location of name sign, UpdateTownVirtCoord updates this. - ViewportSign sign; - - // Makes sure we don't build certain house types twice. - // bit 0 = Building funds received - // bit 1 = CHURCH - // bit 2 = STADIUM - byte flags12; - - // Which players have a statue? - byte statues; - - // Player ratings as well as a mask that determines which players have a rating. - byte have_ratings; - uint8 unwanted[MAX_PLAYERS]; // how many months companies aren't wanted by towns (bribe) - PlayerID exclusivity; // which player has exslusivity - uint8 exclusive_counter; // months till the exclusivity expires - int16 ratings[MAX_PLAYERS]; - - // Maximum amount of passengers and mail that can be transported. - uint32 max_pass; - uint32 max_mail; - uint32 new_max_pass; - uint32 new_max_mail; - uint32 act_pass; - uint32 act_mail; - uint32 new_act_pass; - uint32 new_act_mail; - - // Amount of passengers that were transported. - byte pct_pass_transported; - byte pct_mail_transported; - - // Amount of food and paper that was transported. Actually a bit mask would be enough. - uint16 act_food; - uint16 act_water; - uint16 new_act_food; - uint16 new_act_water; - - // Time until we rebuild a house. - byte time_until_rebuild; - - // When to grow town next time. - byte grow_counter; - byte growth_rate; - - // Fund buildings program in action? - byte fund_buildings_months; - - // Fund road reconstruction in action? - byte road_build_months; - - // Index in town array - TownID index; - - // NOSAVE: UpdateTownRadius updates this given the house count. - uint16 radius[5]; -}; - -uint32 GetWorldPopulation(void); - -void UpdateTownVirtCoord(Town *t); -void InitializeTown(void); -void ShowTownViewWindow(TownID town); -void ExpandTown(Town *t); -Town *CreateRandomTown(uint attempts, uint size_mode); - -enum { - ROAD_REMOVE = 0, - UNMOVEABLE_REMOVE = 1, - TUNNELBRIDGE_REMOVE = 1, - INDUSTRY_REMOVE = 2 -}; - -enum { - // These refer to the maximums, so Appalling is -1000 to -400 - // MAXIMUM RATINGS BOUNDARIES - RATING_MINIMUM = -1000, - RATING_APPALLING = -400, - RATING_VERYPOOR = -200, - RATING_POOR = 0, - RATING_MEDIOCRE = 200, - RATING_GOOD = 400, - RATING_VERYGOOD = 600, - RATING_EXCELLENT = 800, - RATING_OUTSTANDING = 1000, // OUTSTANDING - - RATING_MAXIMUM = RATING_OUTSTANDING, - - // RATINGS AFFECTING NUMBERS - RATING_TREE_DOWN_STEP = -35, - RATING_TREE_MINIMUM = RATING_MINIMUM, - RATING_TREE_UP_STEP = 7, - RATING_TREE_MAXIMUM = 220, - - RATING_TUNNEL_BRIDGE_DOWN_STEP = -250, - RATING_TUNNEL_BRIDGE_MINIMUM = 0, - - RATING_INDUSTRY_DOWN_STEP = -1500, - RATING_INDUSTRY_MINIMUM = RATING_MINIMUM, - - RATING_ROAD_DOWN_STEP = -50, - RATING_ROAD_MINIMUM = -100, - RATING_HOUSE_MINIMUM = RATING_MINIMUM, - - RATING_BRIBE_UP_STEP = 200, - RATING_BRIBE_MAXIMUM = 800, - RATING_BRIBE_DOWN_TO = -50 // XXX SHOULD BE SOMETHING LOWER? -}; - -enum { -/* This is the base "normal" number of towns on the 8x8 map, when - * one town should get grown per tick. The other numbers of towns - * are then scaled based on that. */ - TOWN_GROWTH_FREQUENCY = 23, -/* Simple value that indicates the house has reached final stage of construction*/ - TOWN_HOUSE_COMPLETED = 3, -}; - -/* This enum is used in conjonction with town->flags12. - * IT simply states what bit is used for. - * It is pretty unrealistic (IMHO) to only have one church/stadium - * per town, NO MATTER the population of it. - * And there are 5 more bits available on flags12... - */ -enum { - TOWN_IS_FUNDED = 0, // Town has received some funds for - TOWN_HAS_CHURCH = 1, // There can be only one church by town. - TOWN_HAS_STADIUM = 2 // There can be only one stadium by town. -}; - -bool CheckforTownRating(uint32 flags, Town *t, byte type); - -VARDEF const Town** _town_sort; - -DECLARE_OLD_POOL(Town, Town, 3, 8000) - -/** - * Check if a Town really exists. - */ -static inline bool IsValidTown(const Town* town) -{ - return town->xy != 0; -} - -static inline bool IsValidTownID(TownID index) -{ - return index < GetTownPoolSize() && IsValidTown(GetTown(index)); -} - -VARDEF uint _total_towns; - -static inline TownID GetMaxTownIndex(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 GetTownPoolSize() - 1; -} - -static inline uint GetNumTowns(void) -{ - return _total_towns; -} - -/** - * Return a random valid town. - */ -static inline Town *GetRandomTown(void) -{ - int num = RandomRange(GetNumTowns()); - TownID index = INVALID_TOWN; - - while (num >= 0) { - num--; - - index++; - /* Make sure we have a valid industry */ - while (!IsValidTownID(index)) { - index++; - assert(index <= GetMaxTownIndex()); - } - } - - return GetTown(index); -} - -void DestroyTown(Town *t); - -static inline void DeleteTown(Town *t) -{ - DestroyTown(t); - t->xy = 0; -} - -#define FOR_ALL_TOWNS_FROM(t, start) for (t = GetTown(start); t != NULL; t = (t->index + 1U < GetTownPoolSize()) ? GetTown(t->index + 1U) : NULL) if (IsValidTown(t)) -#define FOR_ALL_TOWNS(t) FOR_ALL_TOWNS_FROM(t, 0) - -VARDEF bool _town_sort_dirty; -VARDEF byte _town_sort_order; - -VARDEF Town *_cleared_town; -VARDEF int _cleared_town_rating; - -#endif /* TOWN_H */ -- cgit v1.2.3-70-g09d2