town_type.h

Go to the documentation of this file.
00001 /* $Id: town_type.h 14422 2008-09-30 20:51:04Z rubidium $ */
00002 
00005 #ifndef TOWN_TYPE_H
00006 #define TOWN_TYPE_H
00007 
00008 #include "core/enum_type.hpp"
00009 
00010 typedef uint16 TownID;
00011 typedef uint16 HouseID;
00012 typedef uint16 HouseClassID;
00013 
00014 struct Town;
00015 struct HouseSpec;
00016 
00017 enum TownSizeMode {
00018   TSM_RANDOM,
00019   TSM_FIXED,
00020   TSM_CITY
00021 };
00022 
00023 enum {
00024   /* These refer to the maximums, so Appalling is -1000 to -400
00025    * MAXIMUM RATINGS BOUNDARIES */
00026   RATING_MINIMUM     = -1000,
00027   RATING_APPALLING   =  -400,
00028   RATING_VERYPOOR    =  -200,
00029   RATING_POOR        =     0,
00030   RATING_MEDIOCRE    =   200,
00031   RATING_GOOD        =   400,
00032   RATING_VERYGOOD    =   600,
00033   RATING_EXCELLENT   =   800,
00034   RATING_OUTSTANDING =  1000,         
00035 
00036   RATING_MAXIMUM = RATING_OUTSTANDING,
00037 
00038   RATING_INITIAL = 500, 
00039 
00040   /* RATINGS AFFECTING NUMBERS */
00041   RATING_TREE_DOWN_STEP = -35,
00042   RATING_TREE_MINIMUM   = RATING_MINIMUM,
00043   RATING_TREE_UP_STEP   = 7,
00044   RATING_TREE_MAXIMUM   = 220,
00045 
00046   RATING_GROWTH_UP_STEP    =   5, 
00047   RATING_GROWTH_MAXIMUM    = RATING_MEDIOCRE, 
00048   RATING_STATION_UP_STEP   =  12, 
00049   RATING_STATION_DOWN_STEP = -15, 
00050 
00051   RATING_TUNNEL_BRIDGE_DOWN_STEP = -250,
00052   RATING_TUNNEL_BRIDGE_MINIMUM   = 0,
00053 
00054   RATING_ROAD_DOWN_STEP_INNER = -50, 
00055   RATING_ROAD_DOWN_STEP_EDGE  = -18, 
00056   RATING_ROAD_MINIMUM   = -100,
00057   RATING_HOUSE_MINIMUM  = RATING_MINIMUM,
00058 
00059   RATING_BRIBE_UP_STEP = 200,
00060   RATING_BRIBE_MAXIMUM = 800,
00061   RATING_BRIBE_DOWN_TO = -50        // XXX SHOULD BE SOMETHING LOWER?
00062 };
00063 
00067 enum TownLayout {
00068   TL_NO_ROADS     = 0, 
00069   TL_ORIGINAL,         
00070   TL_BETTER_ROADS,     
00071   TL_2X2_GRID,         
00072   TL_3X3_GRID,         
00073 
00074   TL_RANDOM,           
00075 
00076   NUM_TLS,             
00077 };
00078 
00079 /* It needs to be 8bits, because we save and load it as such */
00081 template <> struct EnumPropsT<TownLayout> : MakeEnumPropsT<TownLayout, byte, TL_NO_ROADS, NUM_TLS, NUM_TLS> {};
00082 typedef TinyEnumT<TownLayout> TownLayoutByte; //typedefing-enumification of TownLayout
00083 
00084 enum {
00085   MAX_LENGTH_TOWN_NAME_BYTES  =  31, 
00086   MAX_LENGTH_TOWN_NAME_PIXELS = 130, 
00087 };
00088 
00089 #endif /* TOWN_TYPE_H */

Generated on Fri Jan 9 19:01:52 2009 for openttd by  doxygen 1.5.6