diff options
author | Darkvater <darkvater@openttd.org> | 2005-06-02 19:30:21 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2005-06-02 19:30:21 +0000 |
commit | b438b1248cc14d0a290c36ad486cc34bb6b6f81b (patch) | |
tree | 243253abb7dad04a2f8a7113f263dfec2836344e /ttd.h | |
parent | 62c96b52a0d3ff1bafd6a0ef84c2c807f725f2a6 (diff) | |
download | openttd-b438b1248cc14d0a290c36ad486cc34bb6b6f81b.tar.xz |
(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.
Diffstat (limited to 'ttd.h')
-rw-r--r-- | ttd.h | 547 |
1 files changed, 0 insertions, 547 deletions
diff --git a/ttd.h b/ttd.h deleted file mode 100644 index 2764d0141..000000000 --- a/ttd.h +++ /dev/null @@ -1,547 +0,0 @@ -#ifndef TTD_H -#define TTD_H - -#ifndef VARDEF -#define VARDEF extern -#endif - -// use this on non static functions -#define PUBLIC - -typedef struct Rect { - int left,top,right,bottom; -} Rect; - -typedef struct SmallPoint { - int16 x,y; -} SmallPoint; - -typedef struct Point { - int x,y; -} Point; - -typedef struct Pair { - int a; - int b; -} Pair; - -/** - * Is used as a general sortable struct (using qsort and friends). Is used for - * sorting vehicles and stations at the moment - */ -typedef struct SortStruct { - uint32 index; - byte owner; -} SortStruct; - -typedef struct YearMonthDay { - int year, month, day; -} YearMonthDay; - -/* --- 1 Day is 74 ticks --- -* The game's internal structure is dictated by ticks. The date counter (date_fract) is an integer of -* uint16 type, so it can have a max value of 65536. Every tick this variable (date_fract) is -* increased by 885. When it overflows, the new day loop is called. -* * this that means 1 day is : 65536 / 885 = 74 ticks -* * 1 tick is approximately 27ms. -* * 1 day is thus about 2 seconds (74*27 = 1998) on a machine that can run OpenTTD normally -*/ -#define DAY_TICKS 74 -#define MAX_YEAR_BEGIN_REAL 1920 -#define MAX_YEAR_END_REAL 2090 -#define MAX_YEAR_END 170 - -#include "macros.h" - -// Forward declarations of structs. -typedef struct Vehicle Vehicle; -typedef struct Depot Depot; -typedef struct Waypoint Waypoint; -typedef struct Window Window; -typedef struct Station Station; -typedef struct ViewPort ViewPort; -typedef struct Town Town; -typedef struct NewsItem NewsItem; -typedef struct Industry Industry; -typedef struct DrawPixelInfo DrawPixelInfo; -typedef uint16 VehicleID; -typedef byte PlayerID; -typedef byte OrderID; -typedef byte CargoID; -typedef uint16 StringID; -typedef uint16 SpriteID; -typedef uint32 PalSpriteID; - -typedef uint32 WindowNumber; -typedef byte WindowClass; - - -enum GameModes { - GM_MENU, - GM_NORMAL, - GM_EDITOR -}; - -enum SwitchModes { - SM_NONE = 0, - SM_NEWGAME = 1, - SM_EDITOR = 2, - SM_LOAD = 3, - SM_MENU = 4, - SM_SAVE = 5, - SM_GENRANDLAND = 6, - SM_LOAD_SCENARIO = 9, - SM_START_SCENARIO = 10, -}; - -typedef enum TransportTypes { - /* These constants are for now linked to the representation of bridges - * and tunnels, so they can be used by GetTileTrackStatus_TunnelBridge - * to compare against the map5 array. In an ideal world, these - * constants would be used everywhere when accessing tunnels and - * bridges. For now, you should just not change the values for road - * and rail. - */ - TRANSPORT_RAIL = 0, - TRANSPORT_ROAD = 1, - TRANSPORT_WATER, // = 2 - TRANSPORT_MAX // = 3 -} TransportType; - -typedef struct TileInfo { - uint x; - uint y; - uint tileh; - uint type; - uint map5; - uint tile; - uint z; -} TileInfo; - -enum { - NG_EDGE = 1, -}; - -/* Display Options */ -enum { - DO_SHOW_TOWN_NAMES = 1, - DO_SHOW_STATION_NAMES = 2, - DO_SHOW_SIGNS = 4, - DO_FULL_ANIMATION = 8, - DO_TRANS_BUILDINGS = 0x10, - DO_FULL_DETAIL = 0x20, - DO_WAYPOINTS = 0x40, -}; - -/* Landscape types */ -enum { - LT_NORMAL = 0, - LT_HILLY = 1, - LT_DESERT = 2, - LT_CANDY = 3, - - NUM_LANDSCAPE = 4, -}; - -enum { - NUM_PRICES = 49, -}; - -typedef struct Prices { - int32 station_value; - int32 build_rail; - int32 build_road; - int32 build_signals; - int32 build_bridge; - int32 build_train_depot; - int32 build_road_depot; - int32 build_ship_depot; - int32 build_tunnel; - int32 train_station_track; - int32 train_station_length; - int32 build_airport; - int32 build_bus_station; - int32 build_truck_station; - int32 build_dock; - int32 build_railvehicle; - int32 build_railwagon; - int32 aircraft_base; - int32 roadveh_base; - int32 ship_base; - int32 build_trees; - int32 terraform; - int32 clear_1; - int32 purchase_land; - int32 clear_2; - int32 clear_3; - int32 remove_trees; - int32 remove_rail; - int32 remove_signals; - int32 clear_bridge; - int32 remove_train_depot; - int32 remove_road_depot; - int32 remove_ship_depot; - int32 clear_tunnel; - int32 clear_water; - int32 remove_rail_station; - int32 remove_airport; - int32 remove_bus_station; - int32 remove_truck_station; - int32 remove_dock; - int32 remove_house; - int32 remove_road; - int32 running_rail[3]; - int32 aircraft_running; - int32 roadveh_running; - int32 ship_running; - int32 build_industry; -} Prices; - -#define GAME_DIFFICULTY_NUM 18 - -typedef struct GameDifficulty { - int max_no_competitors; - int competitor_start_time; - int number_towns; - int number_industries; - int max_loan; - int initial_interest; - int vehicle_costs; - int competitor_speed; - int competitor_intelligence; - int vehicle_breakdowns; - int subsidy_multiplier; - int construction_cost; - int terrain_type; - int quantity_sea_lakes; - int economy; - int line_reverse_mode; - int disasters; - int town_council_tolerance; // minimum required town ratings to be allowed to demolish stuff -} GameDifficulty; - -enum { - // Temperate - CT_PASSENGERS = 0, - CT_COAL = 1, - CT_MAIL = 2, - CT_OIL = 3, - CT_LIVESTOCK = 4, - CT_GOODS = 5, - CT_GRAIN = 6, - CT_WOOD = 7, - CT_IRON_ORE = 8, - CT_STEEL = 9, - CT_VALUABLES = 10, - CT_FOOD = 11, - - // Arctic - CT_WHEAT = 6, - CT_HILLY_UNUSED = 8, - CT_PAPER = 9, - CT_GOLD = 10, - - // Tropic - CT_RUBBER = 1, - CT_FRUIT = 4, - CT_MAIZE = 6, - CT_COPPER_ORE = 8, - CT_WATER = 9, - CT_DIAMONDS = 10, - - // Toyland - CT_SUGAR = 1, - CT_TOYS = 3, - CT_BATTERIES = 4, - CT_CANDY = 5, - CT_TOFFEE = 6, - CT_COLA = 7, - CT_COTTON_CANDY = 8, - CT_BUBBLES = 9, - CT_PLASTIC = 10, - CT_FIZZY_DRINKS = 11, - - NUM_CARGO = 12, - - CT_INVALID = 0xFF -}; - -typedef uint AcceptedCargo[NUM_CARGO]; - -typedef struct TileDesc { - StringID str; - byte owner; - uint16 build_date; - uint32 dparam[2]; -} TileDesc; - -typedef struct { - int32 left; - int32 top; - byte width_1, width_2; -} ViewportSign; - -typedef int32 CommandProc(int x, int y, uint32 flags, uint32 p1, uint32 p2); - -typedef void DrawTileProc(TileInfo *ti); -typedef uint GetSlopeZProc(TileInfo *ti); -typedef int32 ClearTileProc(uint tile, byte flags); -typedef void GetAcceptedCargoProc(uint tile, AcceptedCargo res); -typedef void GetTileDescProc(uint tile, TileDesc *td); -/* GetTileTrackStatusProcs return a value that contains the possible tracks - * that can be taken on a given tile by a given transport. The return value is - * composed as follows: 0xaabbccdd. ccdd and aabb are bitmasks of trackdirs, - * where bit n corresponds to trackdir n. ccdd are the trackdirs that are - * present in the tile (1==present, 0==not present), aabb is the signal - * status, if applicable (0==green/no signal, 1==red, note that this is - * reversed from map3/2[tile] for railway signals). - * - * The result (let's call it ts) is often used as follows: - * tracks = (byte)(ts | ts >>8) - * This effectively converts the present part of the result (ccdd) to a - * track bitmask, which disregards directions. Normally, this is the same as just - * doing (byte)ts I think, although I am not really sure - * - * A trackdir is combination of a track and a dir, where the lower three bits - * are a track, the fourth bit is the direction. these give 12 (or 14) - * possible options: 0-5 and 8-13, so we need 14 bits for a trackdir bitmask - * above. - */ -typedef uint32 GetTileTrackStatusProc(uint tile, TransportType mode); -typedef void GetProducedCargoProc(uint tile, byte *b); -typedef void ClickTileProc(uint tile); -typedef void AnimateTileProc(uint tile); -typedef void TileLoopProc(uint tile); -typedef void ChangeTileOwnerProc(uint tile, byte old_player, byte new_player); -/* Return value has bit 0x2 set, when the vehicle enters a station. Then, - * result << 8 contains the id of the station entered. If the return value has - * bit 0x8 set, the vehicle could not and did not enter the tile. Are there - * other bits that can be set? */ -typedef uint32 VehicleEnterTileProc(Vehicle *v, uint tile, int x, int y); -typedef void VehicleLeaveTileProc(Vehicle *v, uint tile, int x, int y); -typedef uint GetSlopeTilehProc(TileInfo *ti); - -typedef struct { - DrawTileProc *draw_tile_proc; - GetSlopeZProc *get_slope_z_proc; - ClearTileProc *clear_tile_proc; - GetAcceptedCargoProc *get_accepted_cargo_proc; - GetTileDescProc *get_tile_desc_proc; - GetTileTrackStatusProc *get_tile_track_status_proc; - ClickTileProc *click_tile_proc; - AnimateTileProc *animate_tile_proc; - TileLoopProc *tile_loop_proc; - ChangeTileOwnerProc *change_tile_owner_proc; - GetProducedCargoProc *get_produced_cargo_proc; - VehicleEnterTileProc *vehicle_enter_tile_proc; - VehicleLeaveTileProc *vehicle_leave_tile_proc; - GetSlopeTilehProc *get_slope_tileh_proc; -} TileTypeProcs; - - - -#define MP_SETTYPE(x) ((x+1) << 8) - -enum { - MP_MAP2 = 1<<0, - MP_MAP3LO = 1<<1, - MP_MAP3HI = 1<<2, - MP_MAP5 = 1<<3, - MP_MAPOWNER_CURRENT = 1<<4, - MP_MAPOWNER = 1<<5, - - MP_TYPE_MASK = 0xF << 8, - - MP_MAP2_CLEAR = 1 << 12, - MP_MAP3LO_CLEAR = 1 << 13, - MP_MAP3HI_CLEAR = 1 << 14, - - MP_NODIRTY = 1<<15, -}; - -enum { - WC_MAIN_WINDOW = 0x0, - WC_MAIN_TOOLBAR = 0x1, - WC_STATUS_BAR = 0x2, - WC_BUILD_TOOLBAR = 0x3, - WC_NEWS_WINDOW = 0x4, - WC_TOWN_DIRECTORY = 0x5, - WC_STATION_LIST = 0x6, - WC_TOWN_VIEW = 0x7, - WC_SMALLMAP = 0x8, - WC_TRAINS_LIST = 0x9, - WC_ROADVEH_LIST = 0xA, - WC_SHIPS_LIST = 0xB, - WC_AIRCRAFT_LIST = 0xC, - WC_VEHICLE_VIEW = 0xD, - WC_VEHICLE_DETAILS = 0xE, - WC_VEHICLE_REFIT = 0xF, - WC_VEHICLE_ORDERS = 0x10, - WC_STATION_VIEW = 0x11, - WC_VEHICLE_DEPOT = 0x12, - WC_BUILD_VEHICLE = 0x13, - WC_BUILD_BRIDGE = 0x14, - WC_ERRMSG = 0x15, - WC_ASK_ABANDON_GAME = 0x16, - WC_QUIT_GAME = 0x17, - WC_BUILD_STATION = 0x18, - WC_BUS_STATION = 0x19, - WC_TRUCK_STATION = 0x1A, - WC_BUILD_DEPOT = 0x1B, - WC_DEBUGGER = 0x1C, - WC_COMPANY = 0x1D, - WC_FINANCES = 0x1E, - WC_PLAYER_COLOR = 0x1F, - WC_QUERY_STRING = 0x20, - WC_SAVELOAD = 0x21, - WC_SELECT_GAME = 0x22, - WC_TOOLBAR_MENU = 0x24, - WC_INCOME_GRAPH = 0x25, - WC_OPERATING_PROFIT = 0x26, - WC_TOOLTIPS = 0x27, - WC_INDUSTRY_VIEW = 0x28, - WC_PLAYER_FACE = 0x29, - WC_LAND_INFO = 0x2A, - WC_TOWN_AUTHORITY = 0x2B, - WC_SUBSIDIES_LIST = 0x2C, - WC_GRAPH_LEGEND = 0x2D, - WC_DELIVERED_CARGO = 0x2E, - WC_PERFORMANCE_HISTORY = 0x2F, - WC_COMPANY_VALUE = 0x30, - WC_COMPANY_LEAGUE = 0x31, - WC_BUY_COMPANY = 0x32, - WC_PAYMENT_RATES = 0x33, - WC_SELECT_TUTORIAL = 0x34, - WC_ENGINE_PREVIEW = 0x35, - WC_MUSIC_WINDOW = 0x36, - WC_MUSIC_TRACK_SELECTION = 0x37, - WC_SCEN_LAND_GEN = 0x38, // also used for landscaping toolbar - WC_ASK_RESET_LANDSCAPE = 0x39, - WC_SCEN_TOWN_GEN = 0x3A, - WC_SCEN_INDUSTRY = 0x3B, - WC_SCEN_BUILD_ROAD = 0x3C, - WC_BUILD_TREES = 0x3D, - WC_SEND_NETWORK_MSG = 0x3E, - WC_DROPDOWN_MENU = 0x3F, - WC_BUILD_INDUSTRY = 0x40, - WC_GAME_OPTIONS = 0x41, - WC_NETWORK_WINDOW = 0x42, - WC_INDUSTRY_DIRECTORY = 0x43, - WC_MESSAGE_HISTORY = 0x44, - WC_CHEATS = 0x45, - WC_PERFORMANCE_DETAIL = 0x46, - WC_CONSOLE = 0x47, - WC_EXTRA_VIEW_PORT = 0x48, - WC_CLIENT_LIST = 0x49, - WC_NETWORK_STATUS_WINDOW = 0x4A, - WC_CUSTOM_CURRENCY = 0x4B, - WC_REPLACE_VEHICLE = 0x4C, - WC_HIGHSCORE = 0x4D, - WC_ENDSCREEN = 0x4E, - WC_SIGN_LIST = 0x4F, -}; - - -enum { - EXPENSES_CONSTRUCTION = 0, - EXPENSES_NEW_VEHICLES = 1, - EXPENSES_TRAIN_RUN = 2, - EXPENSES_ROADVEH_RUN = 3, - EXPENSES_AIRCRAFT_RUN = 4, - EXPENSES_SHIP_RUN = 5, - EXPENSES_PROPERTY = 6, - EXPENSES_TRAIN_INC = 7, - EXPENSES_ROADVEH_INC = 8, - EXPENSES_AIRCRAFT_INC = 9, - EXPENSES_SHIP_INC = 10, - EXPENSES_LOAN_INT = 11, - EXPENSES_OTHER = 12, -}; - -// Tile type misc constants, don't know where to put these -enum { - TRACKTYPE_SPRITE_PITCH = 0x52, -}; - - -// special string constants -enum SpecialStrings { - - // special strings for town names. the town name is generated dynamically on request. - SPECSTR_TOWNNAME_START = 0x20C0, - SPECSTR_TOWNNAME_ENGLISH = SPECSTR_TOWNNAME_START, - SPECSTR_TOWNNAME_FRENCH, - SPECSTR_TOWNNAME_GERMAN, - SPECSTR_TOWNNAME_AMERICAN, - SPECSTR_TOWNNAME_LATIN, - SPECSTR_TOWNNAME_SILLY, - SPECSTR_TOWNNAME_SWEDISH, - SPECSTR_TOWNNAME_DUTCH, - SPECSTR_TOWNNAME_FINNISH, - SPECSTR_TOWNNAME_POLISH, - SPECSTR_TOWNNAME_SLOVAKISH, - SPECSTR_TOWNNAME_NORWEGIAN, - SPECSTR_TOWNNAME_HUNGARIAN, - SPECSTR_TOWNNAME_AUSTRIAN, - SPECSTR_TOWNNAME_ROMANIAN, - SPECSTR_TOWNNAME_CZECH, - SPECSTR_TOWNNAME_SWISS, - SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_SWISS, - - // special strings for player names on the form "TownName transport". - SPECSTR_PLAYERNAME_START = 0x70EA, - SPECSTR_PLAYERNAME_ENGLISH = SPECSTR_PLAYERNAME_START, - SPECSTR_PLAYERNAME_FRENCH, - SPECSTR_PLAYERNAME_GERMAN, - SPECSTR_PLAYERNAME_AMERICAN, - SPECSTR_PLAYERNAME_LATIN, - SPECSTR_PLAYERNAME_SILLY, - SPECSTR_PLAYERNAME_LAST = SPECSTR_PLAYERNAME_SILLY, - - SPECSTR_ANDCO_NAME = 0x70E6, - SPECSTR_PRESIDENT_NAME = 0x70E7, - SPECSTR_SONGNAME = 0x70E8, - - // reserve 32 strings for the *.lng files - SPECSTR_LANGUAGE_START = 0x7100, - SPECSTR_LANGUAGE_END = 0x711f, - - // reserve 32 strings for various screen resolutions - SPECSTR_RESOLUTION_START = 0x7120, - SPECSTR_RESOLUTION_END = 0x713f, - - // reserve 32 strings for screenshot formats - SPECSTR_SCREENSHOT_START = 0x7140, - SPECSTR_SCREENSHOT_END = 0x715F, - - STR_SPEC_SCREENSHOT_NAME = 0xF800, - STR_SPEC_USERSTRING = 0xF801, -}; - -typedef void PlaceProc(uint tile); - -VARDEF byte _savegame_sort_order; - -#define INVALID_UINT_TILE (uint)0xFFFFFFFF -#define INVALID_STRING_ID 0xFFFF - -enum { - MAX_SCREEN_WIDTH = 2048, - MAX_SCREEN_HEIGHT = 1200, -}; - -/* In certain windows you navigate with the arrow keys. Do not scroll the - * gameview when here. Bitencoded variable that only allows scrolling if all - * elements are zero */ -enum { - SCROLL_CON = 0, - SCROLL_EDIT = 1, - SCROLL_SAVE = 2, - SCROLL_CHAT = 4, -}; -VARDEF byte _no_scroll; - -#include "functions.h" -#include "variables.h" - -#endif /* TTD_H */ |