summaryrefslogtreecommitdiff
path: root/ttd.h
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2005-06-02 19:30:21 +0000
committerDarkvater <darkvater@openttd.org>2005-06-02 19:30:21 +0000
commitb438b1248cc14d0a290c36ad486cc34bb6b6f81b (patch)
tree243253abb7dad04a2f8a7113f263dfec2836344e /ttd.h
parent62c96b52a0d3ff1bafd6a0ef84c2c807f725f2a6 (diff)
downloadopenttd-b438b1248cc14d0a290c36ad486cc34bb6b6f81b.tar.xz
(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.
Diffstat (limited to 'ttd.h')
-rw-r--r--ttd.h547
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 */