(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.
This commit is contained in:
567
src/openttd.h
Normal file
567
src/openttd.h
Normal file
@@ -0,0 +1,567 @@
|
||||
/* $Id$ */
|
||||
/** @file openttd.h */
|
||||
|
||||
#ifndef OPENTTD_H
|
||||
#define OPENTTD_H
|
||||
|
||||
#ifndef VARDEF
|
||||
#define VARDEF extern
|
||||
#endif
|
||||
|
||||
typedef struct Rect {
|
||||
int left,top,right,bottom;
|
||||
} Rect;
|
||||
|
||||
typedef struct Oblong {
|
||||
int x, y;
|
||||
int width, height;
|
||||
} Oblong;
|
||||
|
||||
typedef struct BoundingRect {
|
||||
int width;
|
||||
int height;
|
||||
} BoundingRect;
|
||||
|
||||
typedef struct Point {
|
||||
int x,y;
|
||||
} Point;
|
||||
|
||||
typedef struct Pair {
|
||||
int a;
|
||||
int b;
|
||||
} Pair;
|
||||
|
||||
#include "map.h"
|
||||
#include "slope.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 byte PlayerID;
|
||||
typedef byte VehicleOrderID; ///< The index of an order within its current vehicle (not pool related)
|
||||
typedef byte CargoID;
|
||||
typedef byte LandscapeID;
|
||||
typedef uint32 SpriteID; ///< The number of a sprite, without mapping bits and colortables
|
||||
typedef uint32 PalSpriteID; ///< The number of a sprite plus all the mapping bits and colortables
|
||||
typedef uint32 CursorID;
|
||||
typedef uint16 EngineID;
|
||||
typedef uint16 UnitID;
|
||||
typedef uint16 StringID;
|
||||
typedef EngineID *EngineList; ///< engine list type placeholder acceptable for C code (see helpers.cpp)
|
||||
|
||||
/* IDs used in Pools */
|
||||
typedef uint16 VehicleID;
|
||||
typedef uint16 StationID;
|
||||
typedef uint16 RoadStopID;
|
||||
typedef uint16 TownID;
|
||||
typedef uint16 IndustryID;
|
||||
typedef uint16 DepotID;
|
||||
typedef uint16 WaypointID;
|
||||
typedef uint16 OrderID;
|
||||
typedef uint16 SignID;
|
||||
typedef uint16 EngineRenewID;
|
||||
typedef uint16 DestinationID;
|
||||
|
||||
/* DestinationID must be at least as large as every these below, because it can
|
||||
* be any of them
|
||||
*/
|
||||
assert_compile(sizeof(DestinationID) == sizeof(DepotID));
|
||||
assert_compile(sizeof(DestinationID) == sizeof(WaypointID));
|
||||
assert_compile(sizeof(DestinationID) == sizeof(StationID));
|
||||
|
||||
typedef uint32 WindowNumber;
|
||||
typedef byte WindowClass;
|
||||
|
||||
enum {
|
||||
INVALID_YEAR = -1,
|
||||
INVALID_DATE = -1,
|
||||
};
|
||||
|
||||
typedef int32 Year;
|
||||
typedef int32 Date;
|
||||
|
||||
|
||||
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,
|
||||
SM_START_HEIGHTMAP = 11,
|
||||
SM_LOAD_HEIGHTMAP = 12,
|
||||
};
|
||||
|
||||
|
||||
/* Modes for GenerateWorld */
|
||||
enum GenerateWorldModes {
|
||||
GW_NEWGAME = 0, /* Generate a map for a new game */
|
||||
GW_EMPTY = 1, /* Generate an empty map (sea-level) */
|
||||
GW_RANDOM = 2, /* Generate a random map for SE */
|
||||
GW_HEIGHTMAP = 3, /* Generate a newgame from a heightmap */
|
||||
};
|
||||
|
||||
/* Modes for InitializeGame, those are _bits_! */
|
||||
enum InitializeGameModes {
|
||||
IG_NONE = 0, /* Don't do anything special */
|
||||
IG_DATE_RESET = 1, /* Reset the date when initializing a game */
|
||||
};
|
||||
|
||||
|
||||
typedef enum TransportTypes {
|
||||
/* These constants are for now linked to the representation of bridges
|
||||
* and tunnels, so they can be used by GetTileTrackStatus_TunnelBridge.
|
||||
* 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_END,
|
||||
INVALID_TRANSPORT = 0xff,
|
||||
} TransportType;
|
||||
|
||||
typedef struct TileInfo {
|
||||
uint x;
|
||||
uint y;
|
||||
Slope tileh;
|
||||
TileIndex tile;
|
||||
uint z;
|
||||
} TileInfo;
|
||||
|
||||
|
||||
/* Display Options */
|
||||
enum {
|
||||
DO_SHOW_TOWN_NAMES = 1 << 0,
|
||||
DO_SHOW_STATION_NAMES = 1 << 1,
|
||||
DO_SHOW_SIGNS = 1 << 2,
|
||||
DO_FULL_ANIMATION = 1 << 3,
|
||||
DO_TRANS_BUILDINGS = 1 << 4,
|
||||
DO_FULL_DETAIL = 1 << 5,
|
||||
DO_WAYPOINTS = 1 << 6,
|
||||
DO_TRANS_SIGNS = 1 << 7,
|
||||
};
|
||||
|
||||
/* 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; // no longer in use
|
||||
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_NO_REFIT = 0xFE,
|
||||
CT_INVALID = 0xFF
|
||||
};
|
||||
|
||||
typedef uint AcceptedCargo[NUM_CARGO];
|
||||
|
||||
typedef struct TileDesc {
|
||||
StringID str;
|
||||
Owner owner;
|
||||
Date build_date;
|
||||
uint32 dparam[2];
|
||||
} TileDesc;
|
||||
|
||||
typedef struct {
|
||||
int32 left;
|
||||
int32 top;
|
||||
byte width_1, width_2;
|
||||
} ViewportSign;
|
||||
|
||||
|
||||
typedef void DrawTileProc(TileInfo *ti);
|
||||
typedef uint GetSlopeZProc(TileIndex tile, uint x, uint y);
|
||||
typedef int32 ClearTileProc(TileIndex tile, byte flags);
|
||||
typedef void GetAcceptedCargoProc(TileIndex tile, AcceptedCargo res);
|
||||
typedef void GetTileDescProc(TileIndex 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(TileIndex tile, TransportType mode);
|
||||
typedef void GetProducedCargoProc(TileIndex tile, CargoID *b);
|
||||
typedef void ClickTileProc(TileIndex tile);
|
||||
typedef void AnimateTileProc(TileIndex tile);
|
||||
typedef void TileLoopProc(TileIndex tile);
|
||||
typedef void ChangeTileOwnerProc(TileIndex tile, PlayerID old_player, PlayerID 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, TileIndex tile, int x, int y);
|
||||
typedef Slope GetSlopeTilehProc(TileIndex, Slope tileh);
|
||||
|
||||
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;
|
||||
GetSlopeTilehProc *get_slope_tileh_proc;
|
||||
} TileTypeProcs;
|
||||
|
||||
|
||||
enum {
|
||||
WC_MAIN_WINDOW,
|
||||
WC_MAIN_TOOLBAR,
|
||||
WC_STATUS_BAR,
|
||||
WC_BUILD_TOOLBAR,
|
||||
WC_NEWS_WINDOW,
|
||||
WC_TOWN_DIRECTORY,
|
||||
WC_STATION_LIST,
|
||||
WC_TOWN_VIEW,
|
||||
WC_SMALLMAP,
|
||||
WC_TRAINS_LIST,
|
||||
WC_ROADVEH_LIST,
|
||||
WC_SHIPS_LIST,
|
||||
WC_AIRCRAFT_LIST,
|
||||
WC_VEHICLE_VIEW,
|
||||
WC_VEHICLE_DETAILS,
|
||||
WC_VEHICLE_REFIT,
|
||||
WC_VEHICLE_ORDERS,
|
||||
WC_STATION_VIEW,
|
||||
WC_VEHICLE_DEPOT,
|
||||
WC_BUILD_VEHICLE,
|
||||
WC_BUILD_BRIDGE,
|
||||
WC_ERRMSG,
|
||||
WC_BUILD_STATION,
|
||||
WC_BUS_STATION,
|
||||
WC_TRUCK_STATION,
|
||||
WC_BUILD_DEPOT,
|
||||
WC_COMPANY,
|
||||
WC_FINANCES,
|
||||
WC_PLAYER_COLOR,
|
||||
WC_QUERY_STRING,
|
||||
WC_SAVELOAD,
|
||||
WC_SELECT_GAME,
|
||||
WC_TOOLBAR_MENU,
|
||||
WC_INCOME_GRAPH,
|
||||
WC_OPERATING_PROFIT,
|
||||
WC_TOOLTIPS,
|
||||
WC_INDUSTRY_VIEW,
|
||||
WC_PLAYER_FACE,
|
||||
WC_LAND_INFO,
|
||||
WC_TOWN_AUTHORITY,
|
||||
WC_SUBSIDIES_LIST,
|
||||
WC_GRAPH_LEGEND,
|
||||
WC_DELIVERED_CARGO,
|
||||
WC_PERFORMANCE_HISTORY,
|
||||
WC_COMPANY_VALUE,
|
||||
WC_COMPANY_LEAGUE,
|
||||
WC_BUY_COMPANY,
|
||||
WC_PAYMENT_RATES,
|
||||
WC_ENGINE_PREVIEW,
|
||||
WC_MUSIC_WINDOW,
|
||||
WC_MUSIC_TRACK_SELECTION,
|
||||
WC_SCEN_LAND_GEN,
|
||||
WC_SCEN_TOWN_GEN,
|
||||
WC_SCEN_INDUSTRY,
|
||||
WC_SCEN_BUILD_ROAD,
|
||||
WC_BUILD_TREES,
|
||||
WC_SEND_NETWORK_MSG,
|
||||
WC_DROPDOWN_MENU,
|
||||
WC_BUILD_INDUSTRY,
|
||||
WC_GAME_OPTIONS,
|
||||
WC_NETWORK_WINDOW,
|
||||
WC_INDUSTRY_DIRECTORY,
|
||||
WC_MESSAGE_HISTORY,
|
||||
WC_CHEATS,
|
||||
WC_PERFORMANCE_DETAIL,
|
||||
WC_CONSOLE,
|
||||
WC_EXTRA_VIEW_PORT,
|
||||
WC_CLIENT_LIST,
|
||||
WC_NETWORK_STATUS_WINDOW,
|
||||
WC_CUSTOM_CURRENCY,
|
||||
WC_REPLACE_VEHICLE,
|
||||
WC_HIGHSCORE,
|
||||
WC_ENDSCREEN,
|
||||
WC_SIGN_LIST,
|
||||
WC_GENERATE_LANDSCAPE,
|
||||
WC_GENERATE_PROGRESS_WINDOW,
|
||||
WC_CONFIRM_POPUP_QUERY,
|
||||
};
|
||||
|
||||
|
||||
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,
|
||||
};
|
||||
|
||||
enum {
|
||||
MAX_LANG = 64,
|
||||
};
|
||||
|
||||
// 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_DANISH,
|
||||
SPECSTR_TOWNNAME_TURKISH,
|
||||
SPECSTR_TOWNNAME_ITALIAN,
|
||||
SPECSTR_TOWNNAME_CATALAN,
|
||||
SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_CATALAN,
|
||||
|
||||
// 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 MAX_LANG strings for the *.lng files
|
||||
SPECSTR_LANGUAGE_START = 0x7100,
|
||||
SPECSTR_LANGUAGE_END = SPECSTR_LANGUAGE_START + MAX_LANG - 1,
|
||||
|
||||
// reserve 32 strings for various screen resolutions
|
||||
SPECSTR_RESOLUTION_START = SPECSTR_LANGUAGE_END + 1,
|
||||
SPECSTR_RESOLUTION_END = SPECSTR_RESOLUTION_START + 0x1F,
|
||||
|
||||
// reserve 32 strings for screenshot formats
|
||||
SPECSTR_SCREENSHOT_START = SPECSTR_RESOLUTION_END + 1,
|
||||
SPECSTR_SCREENSHOT_END = SPECSTR_SCREENSHOT_START + 0x1F,
|
||||
|
||||
// Used to implement SetDParamStr
|
||||
STR_SPEC_DYNSTRING = 0xF800,
|
||||
STR_SPEC_USERSTRING = 0xF808,
|
||||
};
|
||||
|
||||
typedef void PlaceProc(TileIndex tile);
|
||||
|
||||
enum {
|
||||
SORT_ASCENDING = 0,
|
||||
SORT_DESCENDING = 1,
|
||||
SORT_BY_DATE = 0,
|
||||
SORT_BY_NAME = 2
|
||||
};
|
||||
|
||||
VARDEF byte _savegame_sort_order;
|
||||
|
||||
#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;
|
||||
|
||||
/** To have a concurrently running thread interface with the main program, use
|
||||
* the OTTD_SendThreadMessage() function. Actions to perform upon the message are handled
|
||||
* in the ProcessSentMessage() function */
|
||||
typedef enum ThreadMsgs {
|
||||
MSG_OTTD_NO_MESSAGE,
|
||||
MSG_OTTD_SAVETHREAD_DONE,
|
||||
MSG_OTTD_SAVETHREAD_ERROR,
|
||||
} ThreadMsg;
|
||||
|
||||
void OTTD_SendThreadMessage(ThreadMsg msg);
|
||||
|
||||
#endif /* OPENTTD_H */
|
Reference in New Issue
Block a user