diff --git a/ai_build.c b/ai_build.c --- a/ai_build.c +++ b/ai_build.c @@ -7,6 +7,7 @@ #include "ai_new.h" #include "engine.h" #include "station.h" +#include "variables.h" // Build HQ // Params: diff --git a/aircraft_gui.c b/aircraft_gui.c --- a/aircraft_gui.c +++ b/aircraft_gui.c @@ -15,6 +15,7 @@ #include "viewport.h" #include "player.h" #include "depot.h" +#include "vehicle_gui.h" /** * Draw the purchase info details of an aircraft at a given location. diff --git a/airport.c b/airport.c --- a/airport.c +++ b/airport.c @@ -3,6 +3,8 @@ #include "debug.h" #include "map.h" #include "airport.h" +#include "macros.h" +#include "variables.h" AirportFTAClass *CountryAirport; AirportFTAClass *CityAirport; @@ -359,3 +361,14 @@ const AirportFTAClass* GetAirport(const } return Airport; } + +uint32 GetValidAirports(void) +{ + uint32 bytemask = _avail_aircraft; /// sets the first 3 bytes, 0 - 2, @see AdjustAvailAircraft() + + // 1980-1-1 is --> 21915 + // 1990-1-1 is --> 25568 + if (_date >= 21915) {SETBIT(bytemask, 3);} // metropilitan airport 1980 + if (_date >= 25568) {SETBIT(bytemask, 4);} // international airport 1990 + return bytemask; +} diff --git a/airport.h b/airport.h --- a/airport.h +++ b/airport.h @@ -2,7 +2,6 @@ #define AIRPORT_H #include "airport_movement.h" -#include "variables.h" enum {MAX_TERMINALS = 6}; enum {MAX_HELIPADS = 2}; @@ -54,15 +53,6 @@ const AirportFTAClass* GetAirport(const * Bit 0 means the small airport is buildable, etc. * @todo set availability of airports by year, instead of airplane */ -static inline uint32 GetValidAirports(void) -{ - uint32 bytemask = _avail_aircraft; /// sets the first 3 bytes, 0 - 2, @see AdjustAvailAircraft() - - // 1980-1-1 is --> 21915 - // 1990-1-1 is --> 25568 - if (_date >= 21915) {SETBIT(bytemask, 3);} // metropilitan airport 1980 - if (_date >= 25568) {SETBIT(bytemask, 4);} // international airport 1990 - return bytemask; -} +uint32 GetValidAirports(void); #endif /* AIRPORT_H */ diff --git a/airport_movement.h b/airport_movement.h --- a/airport_movement.h +++ b/airport_movement.h @@ -2,7 +2,6 @@ #define AIRPORT_MOVEMENT_H #include "stdafx.h" -#include "macros.h" typedef struct AirportMovingData { int x,y; diff --git a/bridge_gui.c b/bridge_gui.c --- a/bridge_gui.c +++ b/bridge_gui.c @@ -8,6 +8,7 @@ #include "gfx.h" #include "command.h" #include "sound.h" +#include "variables.h" static struct BridgeData { uint count; diff --git a/command.c b/command.c --- a/command.c +++ b/command.c @@ -6,6 +6,7 @@ #include "command.h" #include "player.h" #include "network.h" +#include "variables.h" const char* _cmd_text = NULL; diff --git a/dedicated.c b/dedicated.c --- a/dedicated.c +++ b/dedicated.c @@ -10,6 +10,7 @@ #include "window.h" #include "command.h" #include "console.h" +#include "variables.h" #ifdef WIN32 # include /* GetTickCount */ # include diff --git a/disaster_cmd.c b/disaster_cmd.c --- a/disaster_cmd.c +++ b/disaster_cmd.c @@ -12,6 +12,7 @@ #include "player.h" #include "airport_movement.h" #include "sound.h" +#include "variables.h" static void DisasterClearSquare(TileIndex tile) { diff --git a/dock_gui.c b/dock_gui.c --- a/dock_gui.c +++ b/dock_gui.c @@ -10,6 +10,7 @@ #include "gfx.h" #include "sound.h" #include "command.h" +#include "variables.h" static void ShowBuildDockStationPicker(void); static void ShowBuildDocksDepotPicker(void); diff --git a/economy.c b/economy.c --- a/economy.c +++ b/economy.c @@ -18,6 +18,8 @@ #include "sound.h" #include "engine.h" #include "network_data.h" +#include "variables.h" +#include "vehicle_gui.h" // get a mask of the allowed currencies depending on the year uint GetMaskOfAllowedCurrencies(void) diff --git a/engine.c b/engine.c --- a/engine.c +++ b/engine.c @@ -11,6 +11,7 @@ #include "news.h" #include "saveload.h" #include "sprite.h" +#include "variables.h" enum { ENGINE_AVAILABLE = 1, diff --git a/engine_gui.c b/engine_gui.c --- a/engine_gui.c +++ b/engine_gui.c @@ -8,6 +8,7 @@ #include "engine.h" #include "command.h" #include "news.h" +#include "variables.h" static StringID GetEngineCategoryName(byte engine) diff --git a/fileio.c b/fileio.c --- a/fileio.c +++ b/fileio.c @@ -1,6 +1,7 @@ #include "stdafx.h" #include "openttd.h" #include "fileio.h" +#include "macros.h" #include "variables.h" #if defined(UNIX) || defined(__OS2__) #include // required for tolower() diff --git a/graph_gui.c b/graph_gui.c --- a/graph_gui.c +++ b/graph_gui.c @@ -9,6 +9,7 @@ #include "signs.h" #include "strings.h" #include "debug.h" +#include "variables.h" static uint _legend_excludebits; static uint _legend_cargobits; diff --git a/gui.h b/gui.h --- a/gui.h +++ b/gui.h @@ -114,8 +114,6 @@ bool InsertTextBufferChar(Textbuf *tb, b bool InsertTextBufferClipboard(Textbuf *tb); bool MoveTextBufferPos(Textbuf *tb, int navmode); void UpdateTextBufferSize(Textbuf *tb); -/* IS_INT_INSIDE = filter for ascii-function codes like BELL and so on [we need an special filter here later] */ -static inline bool IsValidAsciiChar(byte key) {return IS_INT_INSIDE(key, ' ', 256);} void BuildFileList(void); void SetFiosType(const byte fiostype); diff --git a/industry_cmd.c b/industry_cmd.c --- a/industry_cmd.c +++ b/industry_cmd.c @@ -13,6 +13,7 @@ #include "saveload.h" #include "economy.h" #include "sound.h" +#include "variables.h" enum { /* Max industries: 64000 (8 * 8000) */ diff --git a/industry_gui.c b/industry_gui.c --- a/industry_gui.c +++ b/industry_gui.c @@ -12,6 +12,7 @@ #include "viewport.h" #include "industry.h" #include "town.h" +#include "variables.h" /* Present in table/build_industry.h" */ extern const byte _build_industry_types[4][12]; diff --git a/intro_gui.c b/intro_gui.c --- a/intro_gui.c +++ b/intro_gui.c @@ -9,6 +9,7 @@ #include "command.h" #include "console.h" #include "network.h" +#include "variables.h" extern void SwitchMode(int new_mode); diff --git a/landscape.c b/landscape.c --- a/landscape.c +++ b/landscape.c @@ -9,6 +9,7 @@ #include "viewport.h" #include "command.h" #include "vehicle.h" +#include "variables.h" extern const TileTypeProcs _tile_type_clear_procs, diff --git a/macros.h b/macros.h --- a/macros.h +++ b/macros.h @@ -110,17 +110,6 @@ static inline int KillFirstBit2x64(int v #define CHANCE16R(a,b,r) ((uint16)(r=Random()) <= (uint16)((65536 * a) / b)) #define CHANCE16I(a,b,v) ((uint16)(v) <= (uint16)((65536 * a) / b)) -#define BEGIN_TILE_LOOP(var,w,h,tile) \ - {int h_cur = h; \ - uint var = tile; \ - do { \ - int w_cur = w; \ - do { - -#define END_TILE_LOOP(var,w,h,tile) \ - } while (++var, --w_cur != 0); \ - } while (var += TileDiffXY(0, 1) - (w), --h_cur != 0);} - #define for_each_bit(_i,_b) \ for(_i=0; _b!=0; _i++,_b>>=1) \ @@ -165,4 +154,10 @@ static inline void swap_tile(TileIndex * #define ROL(x, n) ((x) << (n) | (x) >> (sizeof(x) * 8 - (n))) #define ROR(x, n) ((x) >> (n) | (x) << (sizeof(x) * 8 - (n))) +/* IS_INT_INSIDE = filter for ascii-function codes like BELL and so on [we need an special filter here later] */ +static inline bool IsValidAsciiChar(byte key) +{ + return IS_INT_INSIDE(key, ' ', 256); +} + #endif /* MACROS_H */ diff --git a/main_gui.c b/main_gui.c --- a/main_gui.c +++ b/main_gui.c @@ -20,6 +20,7 @@ #include "network.h" #include "signs.h" #include "waypoint.h" +#include "variables.h" #include "network_data.h" #include "network_client.h" diff --git a/map.c b/map.c --- a/map.c +++ b/map.c @@ -2,6 +2,7 @@ #include "openttd.h" #include "debug.h" #include "functions.h" +#include "macros.h" #include "map.h" uint _map_log_x; diff --git a/map.h b/map.h --- a/map.h +++ b/map.h @@ -146,6 +146,20 @@ uint DistanceTrack(TileIndex, TileIndex) uint DistanceFromEdge(TileIndex); // shortest distance from any edge of the map +#define BEGIN_TILE_LOOP(var,w,h,tile) \ + { \ + int h_cur = h; \ + uint var = tile; \ + do { \ + int w_cur = w; \ + do { + +#define END_TILE_LOOP(var,w,h,tile) \ + } while (++var, --w_cur != 0); \ + } while (var += TileDiffXY(0, 1) - (w), --h_cur != 0); \ + } + + static inline TileIndexDiff TileOffsByDir(uint dir) { extern const TileIndexDiffC _tileoffs_by_dir[4]; diff --git a/misc.c b/misc.c --- a/misc.c +++ b/misc.c @@ -13,6 +13,7 @@ #include "network_server.h" #include "engine.h" #include "vehicle_gui.h" +#include "variables.h" extern void StartupEconomy(void); extern void InitNewsItemStructs(void); diff --git a/misc_cmd.c b/misc_cmd.c --- a/misc_cmd.c +++ b/misc_cmd.c @@ -9,6 +9,7 @@ #include "gui.h" #include "economy.h" #include "network.h" +#include "variables.h" /** Change the player's face. * @param x,y unused diff --git a/misc_gui.c b/misc_gui.c --- a/misc_gui.c +++ b/misc_gui.c @@ -18,6 +18,7 @@ #include "sound.h" #include "network.h" #include "string.h" +#include "variables.h" #include "hal.h" // for file list diff --git a/music_gui.c b/music_gui.c --- a/music_gui.c +++ b/music_gui.c @@ -6,6 +6,8 @@ #include "gfx.h" #include "sound.h" #include "hal.h" +#include "macros.h" +#include "variables.h" static byte _music_wnd_cursong; static bool _song_is_active; diff --git a/network_client.c b/network_client.c --- a/network_client.c +++ b/network_client.c @@ -14,6 +14,7 @@ #include "window.h" #include "settings.h" #include "console.h" +#include "variables.h" // This file handles all the client-commands diff --git a/network_server.c b/network_server.c --- a/network_server.c +++ b/network_server.c @@ -15,6 +15,7 @@ #include "vehicle.h" #include "station.h" #include "settings.h" +#include "variables.h" // This file handles all the server-commands diff --git a/newgrf.c b/newgrf.c --- a/newgrf.c +++ b/newgrf.c @@ -10,6 +10,7 @@ #include "station.h" #include "sprite.h" #include "newgrf.h" +#include "variables.h" /* TTDPatch extended GRF format codec * (c) Petr Baudis 2004 (GPL'd) diff --git a/news_gui.c b/news_gui.c --- a/news_gui.c +++ b/news_gui.c @@ -10,6 +10,7 @@ #include "news.h" #include "vehicle.h" #include "sound.h" +#include "variables.h" /* News system News system is realized as a FIFO queue (in an array) diff --git a/npf.h b/npf.h --- a/npf.h +++ b/npf.h @@ -7,6 +7,7 @@ #include "pbs.h" #include "tile.h" #include "rail.h" +#include "variables.h" //mowing grass enum { diff --git a/openttd.h b/openttd.h --- a/openttd.h +++ b/openttd.h @@ -51,7 +51,7 @@ typedef struct YearMonthDay { #define MAX_YEAR_END_REAL 2090 #define MAX_YEAR_END 170 -#include "macros.h" +#include "map.h" // Forward declarations of structs. typedef struct Vehicle Vehicle; diff --git a/order.h b/order.h --- a/order.h +++ b/order.h @@ -1,6 +1,7 @@ #ifndef ORDER_H #define ORDER_H +#include "macros.h" #include "pool.h" /* Order types */ diff --git a/pbs.h b/pbs.h --- a/pbs.h +++ b/pbs.h @@ -5,7 +5,6 @@ * @see pbs.c */ #include "vehicle.h" -#include "tile.h" #include "map.h" #include "rail.h" diff --git a/player.h b/player.h --- a/player.h +++ b/player.h @@ -2,7 +2,6 @@ #define PLAYER_H #include "aystar.h" -#include "engine.h" #include "rail.h" typedef struct PlayerEconomyEntry { diff --git a/player_gui.c b/player_gui.c --- a/player_gui.c +++ b/player_gui.c @@ -11,6 +11,7 @@ #include "vehicle.h" #include "economy.h" #include "network.h" +#include "variables.h" #ifdef ENABLE_NETWORK #include "network_data.h" diff --git a/players.c b/players.c --- a/players.c +++ b/players.c @@ -1,5 +1,6 @@ #include "stdafx.h" #include "openttd.h" +#include "engine.h" #include "string.h" #include "strings.h" #include "table/strings.h" @@ -15,6 +16,7 @@ #include "ai_new.h" #include "sound.h" #include "network.h" +#include "variables.h" PlayerID _current_player; diff --git a/rail_gui.c b/rail_gui.c --- a/rail_gui.c +++ b/rail_gui.c @@ -14,6 +14,7 @@ #include "station.h" #include "waypoint.h" #include "debug.h" +#include "variables.h" static uint _cur_railtype; static bool _remove_button_clicked; diff --git a/road_gui.c b/road_gui.c --- a/road_gui.c +++ b/road_gui.c @@ -10,6 +10,7 @@ #include "gfx.h" #include "sound.h" #include "command.h" +#include "variables.h" //needed for catchments #include "station.h" diff --git a/roadveh_gui.c b/roadveh_gui.c --- a/roadveh_gui.c +++ b/roadveh_gui.c @@ -14,6 +14,7 @@ #include "player.h" #include "engine.h" #include "depot.h" +#include "vehicle_gui.h" /** * Draw the purchase info details of road vehicle at a given location. diff --git a/saveload.c b/saveload.c --- a/saveload.c +++ b/saveload.c @@ -21,6 +21,7 @@ #include "town.h" #include "player.h" #include "saveload.h" +#include "variables.h" enum { SAVEGAME_MAJOR_VERSION = 15, diff --git a/screenshot.c b/screenshot.c --- a/screenshot.c +++ b/screenshot.c @@ -8,6 +8,7 @@ #include "player.h" #include "gui.h" #include "screenshot.h" +#include "variables.h" char _screenshot_format_name[8]; uint _num_screenshot_formats; diff --git a/sdl.c b/sdl.c --- a/sdl.c +++ b/sdl.c @@ -10,6 +10,7 @@ #include "player.h" #include "hal.h" #include "network.h" +#include "variables.h" #ifdef UNIX #include diff --git a/settings_gui.c b/settings_gui.c --- a/settings_gui.c +++ b/settings_gui.c @@ -14,6 +14,7 @@ #include "network.h" #include "console.h" #include "town.h" +#include "variables.h" static uint32 _difficulty_click_a; static uint32 _difficulty_click_b; diff --git a/ship_cmd.c b/ship_cmd.c --- a/ship_cmd.c +++ b/ship_cmd.c @@ -14,6 +14,7 @@ #include "sound.h" #include "npf.h" #include "depot.h" +#include "vehicle_gui.h" static const uint16 _ship_sprites[] = {0x0E5D, 0x0E55, 0x0E65, 0x0E6D}; static const byte _ship_sometracks[4] = {0x19, 0x16, 0x25, 0x2A}; diff --git a/ship_gui.c b/ship_gui.c --- a/ship_gui.c +++ b/ship_gui.c @@ -13,6 +13,7 @@ #include "player.h" #include "engine.h" #include "depot.h" +#include "vehicle_gui.h" /** * Draw the purchase info details of a ship at a given location. diff --git a/smallmap_gui.c b/smallmap_gui.c --- a/smallmap_gui.c +++ b/smallmap_gui.c @@ -13,6 +13,7 @@ #include "vehicle.h" #include "town.h" #include "sound.h" +#include "variables.h" static const Widget _smallmap_widgets[] = { { WWT_TEXTBTN, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, diff --git a/spritecache.c b/spritecache.c --- a/spritecache.c +++ b/spritecache.c @@ -7,6 +7,7 @@ #include "fileio.h" #include "newgrf.h" #include "md5.h" +#include "variables.h" #include #define SPRITECACHE_ID 0xF00F0006 diff --git a/station_gui.c b/station_gui.c --- a/station_gui.c +++ b/station_gui.c @@ -10,6 +10,8 @@ #include "player.h" #include "town.h" #include "command.h" +#include "variables.h" +#include "vehicle_gui.h" static void StationsWndShowStationRating(int x, int y, int type, uint acceptance, int rating) { diff --git a/strings.c b/strings.c --- a/strings.c +++ b/strings.c @@ -11,6 +11,7 @@ #include "screenshot.h" #include "waypoint.h" #include "industry.h" +#include "variables.h" static char *StationGetSpecialString(char *buff, int x); static char *GetSpecialTownNameString(char *buff, int ind, uint32 seed); diff --git a/subsidy_gui.c b/subsidy_gui.c --- a/subsidy_gui.c +++ b/subsidy_gui.c @@ -9,6 +9,7 @@ #include "player.h" #include "gfx.h" #include "economy.h" +#include "variables.h" static void HandleSubsidyClick(int y) { diff --git a/terraform_gui.c b/terraform_gui.c --- a/terraform_gui.c +++ b/terraform_gui.c @@ -12,6 +12,7 @@ #include "command.h" #include "vehicle.h" #include "signs.h" +#include "variables.h" void CcTerraform(bool success, TileIndex tile, uint32 p1, uint32 p2) { diff --git a/town_cmd.c b/town_cmd.c --- a/town_cmd.c +++ b/town_cmd.c @@ -18,6 +18,7 @@ #include "economy.h" #include "gui.h" #include "network.h" +#include "variables.h" enum { /* Max towns: 64000 (8 * 8000) */ diff --git a/town_gui.c b/town_gui.c --- a/town_gui.c +++ b/town_gui.c @@ -12,6 +12,7 @@ #include "command.h" #include "player.h" #include "network.h" +#include "variables.h" static const Widget _town_authority_widgets[] = { { WWT_TEXTBTN, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, diff --git a/tunnelbridge_cmd.c b/tunnelbridge_cmd.c --- a/tunnelbridge_cmd.c +++ b/tunnelbridge_cmd.c @@ -12,6 +12,7 @@ #include "sound.h" #include "pbs.h" #include "debug.h" +#include "variables.h" extern void DrawCanalWater(TileIndex tile); diff --git a/unix.c b/unix.c --- a/unix.c +++ b/unix.c @@ -4,6 +4,7 @@ #include "string.h" #include "table/strings.h" #include "hal.h" +#include "variables.h" #include #include diff --git a/unmovable_cmd.c b/unmovable_cmd.c --- a/unmovable_cmd.c +++ b/unmovable_cmd.c @@ -12,6 +12,7 @@ #include "economy.h" #include "town.h" #include "sprite.h" +#include "variables.h" /** Destroy a HQ. * During normal gameplay you can only implicitely destroy a HQ when you are diff --git a/vehicle.h b/vehicle.h --- a/vehicle.h +++ b/vehicle.h @@ -4,7 +4,6 @@ #include "pool.h" #include "order.h" #include "rail.h" -#include "variables.h" enum { VEH_Train = 0x10, diff --git a/vehicle_gui.c b/vehicle_gui.c --- a/vehicle_gui.c +++ b/vehicle_gui.c @@ -11,6 +11,14 @@ #include "gui.h" #include "command.h" #include "gfx.h" +#include "variables.h" +#include "vehicle_gui.h" + +Sorting _sorting; + +static uint32 _internal_name_sorter_id; // internal StringID for default vehicle-names +static uint32 _last_vehicle_idx; // cached index to hopefully speed up name-sorting +static bool _internal_sort_order; // descending/ascending VehicleSortListingTypeFunctions * const _vehicle_sorter[] = { &VehicleUnsortedSorter, diff --git a/vehicle_gui.h b/vehicle_gui.h --- a/vehicle_gui.h +++ b/vehicle_gui.h @@ -17,9 +17,6 @@ void BuildVehicleList(struct vehiclelist void SortVehicleList(struct vehiclelist_d *vl); int CDECL GeneralOwnerSorter(const void *a, const void *b); -VARDEF uint32 _internal_name_sorter_id; // internal StringID for default vehicle-names -VARDEF uint32 _last_vehicle_idx; // cached index to hopefully speed up name-sorting -VARDEF bool _internal_sort_order; // descending/ascending #define PERIODIC_RESORT_DAYS 10 #define DEF_SORTER(yyyy) int CDECL yyyy(const void *a, const void *b) @@ -60,7 +57,7 @@ typedef struct Sorting { Listing train; } Sorting; -VARDEF Sorting _sorting; +extern Sorting _sorting; enum { PLY_WND_PRC__OFFSET_TOP_WIDGET = 26, diff --git a/viewport.c b/viewport.c --- a/viewport.c +++ b/viewport.c @@ -14,6 +14,7 @@ #include "town.h" #include "signs.h" #include "waypoint.h" +#include "variables.h" #define VIEWPORT_DRAW_MEM (65536 * 2) diff --git a/waypoint.c b/waypoint.c --- a/waypoint.c +++ b/waypoint.c @@ -10,6 +10,7 @@ #include "tile.h" #include "town.h" #include "waypoint.h" +#include "variables.h" #include "table/sprites.h" #include "table/strings.h" #include "table/track_land.h" diff --git a/window.c b/window.c --- a/window.c +++ b/window.c @@ -7,6 +7,7 @@ #include "gfx.h" #include "viewport.h" #include "console.h" +#include "variables.h" // delta between mouse cursor and upper left corner of dragged window static Point _drag_delta; diff --git a/window.h b/window.h --- a/window.h +++ b/window.h @@ -1,8 +1,6 @@ #ifndef WINDOW_H #define WINDOW_H -#include "vehicle_gui.h" - typedef union WindowEvent WindowEvent; //typedef void WindowProc(Window *w, int event, int wparam, long lparam);