From 2786d789a15990a27b73c0a4fbceb429e7dac953 Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 26 Dec 2007 11:45:43 +0000 Subject: (svn r11701) -Codechange: removal unnecessary inclusions of map.h (and split map.h). --- src/ai/default/default.cpp | 1 - src/ai/trolly/build.cpp | 1 - src/ai/trolly/pathfinder.cpp | 1 - src/ai/trolly/shared.cpp | 2 +- src/ai/trolly/trolly.cpp | 1 - src/aircraft_cmd.cpp | 1 - src/aircraft_gui.cpp | 1 - src/airport.cpp | 1 - src/airport.h | 2 +- src/airport_gui.cpp | 1 - src/bridge_gui.cpp | 2 +- src/bridge_map.h | 1 - src/clear_cmd.cpp | 1 - src/command.cpp | 1 - src/console_cmds.cpp | 1 + src/depot.cpp | 1 - src/disaster_cmd.cpp | 1 - src/dock_gui.cpp | 2 +- src/economy.cpp | 1 - src/engine.h | 2 +- src/functions.h | 5 - src/genworld.cpp | 2 +- src/industry.h | 2 +- src/industry_cmd.cpp | 1 - src/industry_gui.cpp | 2 +- src/landscape.cpp | 1 - src/main_gui.cpp | 1 - src/map.cpp | 3 +- src/map.h | 413 ------------------------------------------- src/map_func.h | 389 ++++++++++++++++++++++++++++++++++++++++ src/map_type.h | 65 +++++++ src/misc.cpp | 2 +- src/misc_gui.cpp | 1 - src/network/network.cpp | 2 +- src/network/network_udp.cpp | 2 +- src/npf.cpp | 3 +- src/npf.h | 3 +- src/oldloader.cpp | 1 - src/openttd.cpp | 1 - src/order_gui.cpp | 1 - src/pathfind.cpp | 1 - src/players.cpp | 1 - src/rail_cmd.cpp | 1 - src/rail_gui.cpp | 1 - src/road_cmd.cpp | 1 - src/road_gui.cpp | 2 +- src/roadveh_cmd.cpp | 1 - src/screenshot.cpp | 2 +- src/ship_cmd.cpp | 1 - src/signs.cpp | 1 + src/signs_gui.cpp | 1 + src/smallmap_gui.cpp | 1 - src/sound.cpp | 2 +- src/station.cpp | 1 - src/station_cmd.cpp | 1 - src/tgp.cpp | 1 - src/tile_map.h | 2 +- src/town_cmd.cpp | 1 - src/train_cmd.cpp | 1 - src/tree_cmd.cpp | 1 - src/tunnel_map.h | 1 - src/tunnelbridge_cmd.cpp | 1 - src/tunnelbridge_map.h | 7 +- src/unmovable_cmd.cpp | 1 - src/vehicle.cpp | 1 - src/viewport.cpp | 1 - src/water_cmd.cpp | 1 - src/waypoint.cpp | 1 - src/window.cpp | 3 +- src/window_gui.h | 2 +- src/yapf/track_dir.hpp | 3 - 71 files changed, 483 insertions(+), 488 deletions(-) delete mode 100644 src/map.h create mode 100644 src/map_func.h create mode 100644 src/map_type.h diff --git a/src/ai/default/default.cpp b/src/ai/default/default.cpp index 8c016afc7..dbedb9720 100644 --- a/src/ai/default/default.cpp +++ b/src/ai/default/default.cpp @@ -6,7 +6,6 @@ #include "../../bridge_map.h" #include "../../tile_cmd.h" #include "../../landscape.h" -#include "../../map.h" #include "../../rail_map.h" #include "../../road_map.h" #include "../../roadveh.h" diff --git a/src/ai/trolly/build.cpp b/src/ai/trolly/build.cpp index 932e23aca..3b6b044ec 100644 --- a/src/ai/trolly/build.cpp +++ b/src/ai/trolly/build.cpp @@ -3,7 +3,6 @@ #include "../../stdafx.h" #include "../../openttd.h" #include "../../debug.h" -#include "../../map.h" #include "../../road_map.h" #include "../../vehicle.h" #include "../../command_func.h" diff --git a/src/ai/trolly/pathfinder.cpp b/src/ai/trolly/pathfinder.cpp index c97e080c7..a3bc55c8f 100644 --- a/src/ai/trolly/pathfinder.cpp +++ b/src/ai/trolly/pathfinder.cpp @@ -4,7 +4,6 @@ #include "../../openttd.h" #include "../../bridge_map.h" #include "../../debug.h" -#include "../../map.h" #include "../../command_func.h" #include "trolly.h" #include "../../depot.h" diff --git a/src/ai/trolly/shared.cpp b/src/ai/trolly/shared.cpp index e683b60ea..6af9c199d 100644 --- a/src/ai/trolly/shared.cpp +++ b/src/ai/trolly/shared.cpp @@ -3,7 +3,7 @@ #include "../../stdafx.h" #include "../../openttd.h" #include "../../debug.h" -#include "../../map.h" +#include "../../map_func.h" #include "trolly.h" #include "../../vehicle.h" diff --git a/src/ai/trolly/trolly.cpp b/src/ai/trolly/trolly.cpp index 388d59906..d03ea19b2 100644 --- a/src/ai/trolly/trolly.cpp +++ b/src/ai/trolly/trolly.cpp @@ -23,7 +23,6 @@ #include "../../road_map.h" #include "../../station_map.h" #include "table/strings.h" -#include "../../map.h" #include "../../command_func.h" #include "trolly.h" #include "../../town.h" diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 39728ffdc..38cc6f855 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -10,7 +10,6 @@ #include "landscape.h" #include "station_map.h" #include "table/strings.h" -#include "map.h" #include "vehicle.h" #include "timetable.h" #include "depot.h" diff --git a/src/aircraft_gui.cpp b/src/aircraft_gui.cpp index d33722c14..1db828245 100644 --- a/src/aircraft_gui.cpp +++ b/src/aircraft_gui.cpp @@ -8,7 +8,6 @@ #include "debug.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "gui.h" #include "vehicle.h" #include "engine.h" diff --git a/src/airport.cpp b/src/airport.cpp index f32df3302..719be3dd7 100644 --- a/src/airport.cpp +++ b/src/airport.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "debug.h" -#include "map.h" #include "airport.h" #include "variables.h" #include "airport_movement.h" diff --git a/src/airport.h b/src/airport.h index f8f9e2bc4..f86aadf10 100644 --- a/src/airport.h +++ b/src/airport.h @@ -6,7 +6,7 @@ #define AIRPORT_H #include "direction_type.h" -#include "map.h" +#include "map_type.h" enum {MAX_TERMINALS = 10}; enum {MAX_HELIPADS = 4}; diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index 8052f5df2..cd9abc878 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "window_gui.h" #include "gui.h" #include "station_gui.h" diff --git a/src/bridge_gui.cpp b/src/bridge_gui.cpp index 8d8d9fa99..a158300df 100644 --- a/src/bridge_gui.cpp +++ b/src/bridge_gui.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "table/strings.h" -#include "map.h" #include "gui.h" #include "window_gui.h" #include "viewport.h" @@ -16,6 +15,7 @@ #include "bridge.h" #include "strings_func.h" #include "window_func.h" +#include "map_func.h" static struct BridgeData { uint8 last_size; diff --git a/src/bridge_map.h b/src/bridge_map.h index ac6826fb1..a47a625e2 100644 --- a/src/bridge_map.h +++ b/src/bridge_map.h @@ -6,7 +6,6 @@ #define BRIDGE_MAP_H #include "direction_func.h" -#include "map.h" #include "rail_type.h" #include "road_map.h" diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp index a67490210..270285b1c 100644 --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -7,7 +7,6 @@ #include "clear_map.h" #include "rail_map.h" #include "table/strings.h" -#include "map.h" #include "player.h" #include "viewport.h" #include "command_func.h" diff --git a/src/command.cpp b/src/command.cpp index 141957abc..fcbeefa18 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "table/strings.h" #include "landscape.h" -#include "map.h" #include "tile_map.h" #include "gui.h" #include "command_func.h" diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 2cf4fb9d7..c25914831 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -29,6 +29,7 @@ #include "viewport.h" #include "window_func.h" #include "functions.h" +#include "map_func.h" // ** scriptfile handling ** // static FILE *_script_file; diff --git a/src/depot.cpp b/src/depot.cpp index 49327a3de..5b89839ec 100644 --- a/src/depot.cpp +++ b/src/depot.cpp @@ -7,7 +7,6 @@ #include "vehicle.h" #include "depot.h" #include "landscape.h" -#include "map.h" #include "table/strings.h" #include "saveload.h" #include "order.h" diff --git a/src/disaster_cmd.cpp b/src/disaster_cmd.cpp index 1a69e36c0..592b54d40 100644 --- a/src/disaster_cmd.cpp +++ b/src/disaster_cmd.cpp @@ -23,7 +23,6 @@ #include "industry_map.h" #include "station_map.h" #include "table/strings.h" -#include "map.h" #include "vehicle.h" #include "command_func.h" #include "tile_cmd.h" diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp index 1a8a8f911..d0030d8d4 100644 --- a/src/dock_gui.cpp +++ b/src/dock_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "tile_map.h" #include "station.h" #include "gui.h" @@ -18,6 +17,7 @@ #include "variables.h" #include "water.h" #include "window_func.h" +#include "vehicle.h" static void ShowBuildDockStationPicker(); static void ShowBuildDocksDepotPicker(); diff --git a/src/economy.cpp b/src/economy.cpp index 7bea083b2..28a7a50e0 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -8,7 +8,6 @@ #include "landscape.h" #include "table/strings.h" #include "table/sprites.h" -#include "map.h" #include "news.h" #include "player.h" #include "station.h" diff --git a/src/engine.h b/src/engine.h index 9e2815740..ce9795ab9 100644 --- a/src/engine.h +++ b/src/engine.h @@ -123,7 +123,7 @@ struct Engine { PlayerByte preview_player; byte preview_wait; byte player_avail; - VehicleType type; ///< type, ie VEH_ROAD, VEH_TRAIN, etc. Same as in vehicle.h + VehicleType type; ///< type, ie VEH_ROAD, VEH_TRAIN, etc. }; /** diff --git a/src/functions.h b/src/functions.h index 361d6491a..3afdcebbf 100644 --- a/src/functions.h +++ b/src/functions.h @@ -9,7 +9,6 @@ #include "command_type.h" #include "openttd.h" #include "tile_cmd.h" -#include "map.h" /* clear_land.cpp */ void DrawHillyLandTile(const TileInfo *ti); @@ -24,10 +23,6 @@ void SubtractMoneyFromPlayerFract(PlayerID player, CommandCost cost); bool CheckOwnership(Owner owner); bool CheckTileOwnership(TileIndex tile); -/* openttd.cpp */ -static inline TileIndex RandomTileSeed(uint32 r) { return TILE_MASK(r); } -static inline TileIndex RandomTile() { return TILE_MASK(Random()); } - /* texteff.cpp */ void AddAnimatedTile(TileIndex tile); void DeleteAnimatedTile(TileIndex tile); diff --git a/src/genworld.cpp b/src/genworld.cpp index 28fbdcfe5..418bfb812 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -19,7 +19,7 @@ #include "heightmap.h" #include "date.h" #include "viewport.h" -#include "map.h" +#include "map_func.h" void GenerateClearTile(); void GenerateIndustries(); diff --git a/src/industry.h b/src/industry.h index 8809b5ffe..1350b351a 100644 --- a/src/industry.h +++ b/src/industry.h @@ -10,7 +10,7 @@ #include "newgrf_storage.h" #include "cargo_type.h" #include "economy_type.h" -#include "map.h" +#include "map_type.h" #include "slope_type.h" typedef uint16 IndustryGfx; diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index fff83d3ff..b332efd9d 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -9,7 +9,6 @@ #include "station_map.h" #include "table/strings.h" #include "table/sprites.h" -#include "map.h" #include "train.h" #include "landscape.h" #include "viewport.h" diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 646275bda..ce4f740b3 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -7,7 +7,6 @@ #include "debug.h" #include "table/strings.h" #include "table/sprites.h" -#include "map.h" #include "gui.h" #include "window_gui.h" #include "textbuf_gui.h" @@ -23,6 +22,7 @@ #include "newgrf_text.h" #include "date.h" #include "strings_func.h" +#include "map_func.h" bool _ignore_restrictions; diff --git a/src/landscape.cpp b/src/landscape.cpp index 3e5ae6bcc..0dc998ffc 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -6,7 +6,6 @@ #include "heightmap.h" #include "clear_map.h" #include "date.h" -#include "map.h" #include "player.h" #include "spritecache.h" #include "table/sprites.h" diff --git a/src/main_gui.cpp b/src/main_gui.cpp index 26b369e95..5fc5e4c2d 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -10,7 +10,6 @@ #include "station.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "gui.h" #include "window_gui.h" #include "window_func.h" diff --git a/src/map.cpp b/src/map.cpp index 3df9470a8..0bdfbe355 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -3,13 +3,12 @@ /** @file map.cpp */ #include "stdafx.h" -#include "openttd.h" #include "debug.h" -#include "map.h" #include "direction_func.h" #include "core/bitmath_func.hpp" #include "core/alloc_func.hpp" #include "core/math_func.hpp" +#include "map_func.h" #if defined(_MSC_VER) && _MSC_VER >= 1400 /* VStudio 2005 is stupid! */ /* Why the hell is that not in all MSVC headers?? */ diff --git a/src/map.h b/src/map.h deleted file mode 100644 index 887f396eb..000000000 --- a/src/map.h +++ /dev/null @@ -1,413 +0,0 @@ -/* $Id$ */ - -/** @file map.h */ - -#ifndef MAP_H -#define MAP_H - -#include "stdafx.h" -#include "direction_func.h" -#include "tile_type.h" - -extern uint _map_tile_mask; - -/** - * 'Wraps' the given tile to it is within the map. It does - * this by masking the 'high' bits of. - * @param x the tile to 'wrap' - */ - -#define TILE_MASK(x) ((x) & _map_tile_mask) -/** - * Asserts when the tile is outside of the map. - * @param x the tile to check - */ -#define TILE_ASSERT(x) assert(TILE_MASK(x) == (x)); - -/** - * Data that is stored per tile. Also used TileExtended for this. - * Look at docs/landscape.html for the exact meaning of the members. - */ -struct Tile { - byte type_height; ///< The type (bits 4..7) and height of the northern corner - byte m1; ///< Primarily used for ownership information - uint16 m2; ///< Primarily used for indices to towns, industries and stations - byte m3; ///< General purpose - byte m4; ///< General purpose - byte m5; ///< General purpose - byte m6; ///< Primarily used for bridges and rainforest/desert -}; - -/** - * Data that is stored per tile. Also used Tile for this. - * Look at docs/landscape.html for the exact meaning of the members. - */ -struct TileExtended { - byte m7; ///< Primarily used for newgrf support -}; - -/** - * Pointer to the tile-array. - * - * This variable points to the tile-array which contains the tiles of - * the map. - */ -extern Tile *_m; - -/** - * Pointer to the extended tile-array. - * - * This variable points to the extended tile-array which contains the tiles - * of the map. - */ -extern TileExtended *_me; - -/** - * Allocate a new map with the given size. - */ -void AllocateMap(uint size_x, uint size_y); - -/** - * Logarithm of the map size along the X side. - * @note try to avoid using this one - * @return 2^"return value" == MapSizeX() - */ -static inline uint MapLogX() -{ - extern uint _map_log_x; - return _map_log_x; -} - -/** - * Get the size of the map along the X - * @return the number of tiles along the X of the map - */ -static inline uint MapSizeX() -{ - extern uint _map_size_x; - return _map_size_x; -} - -/** - * Get the size of the map along the Y - * @return the number of tiles along the Y of the map - */ -static inline uint MapSizeY() -{ - extern uint _map_size_y; - return _map_size_y; -} - -/** - * Get the size of the map - * @return the number of tiles of the map - */ -static inline uint MapSize() -{ - extern uint _map_size; - return _map_size; -} - -/** - * Gets the maximum X coordinate within the map, including MP_VOID - * @return the maximum X coordinate - */ -static inline uint MapMaxX() -{ - return MapSizeX() - 1; -} - -/** - * Gets the maximum X coordinate within the map, including MP_VOID - * @return the maximum X coordinate - */ -static inline uint MapMaxY() -{ - return MapSizeY() - 1; -} - -/** - * Scales relative to the number of tiles. - */ -uint ScaleByMapSize(uint); - -/** - * Scale relative to the circumference of the map. - */ -uint ScaleByMapSize1D(uint); - -/** - * An offset value between to tiles. - * - * This value is used fro the difference between - * to tiles. It can be added to a tileindex to get - * the resulting tileindex of the start tile applied - * with this saved difference. - * - * @see TileDiffXY(int, int) - */ -typedef int32 TileIndexDiff; - -/** - * Returns the TileIndex of a coordinate. - * - * @param x The x coordinate of the tile - * @param y The y coordinate of the tile - * @return The TileIndex calculated by the coordinate - */ -static inline TileIndex TileXY(uint x, uint y) -{ - return (y * MapSizeX()) + x; -} - -/** - * Calculates an offset for the given coordinate(-offset). - * - * This function calculate an offset value which can be added to an - * #TileIndex. The coordinates can be negative. - * - * @param x The offset in x direction - * @param y The offset in y direction - * @return The resulting offset value of the given coordinate - * @see ToTileIndexDiff(TileIndexDiffC) - */ -static inline TileIndexDiff TileDiffXY(int x, int y) -{ - /* Multiplication gives much better optimization on MSVC than shifting. - * 0 << shift isn't optimized to 0 properly. - * Typically x and y are constants, and then this doesn't result - * in any actual multiplication in the assembly code.. */ - return (y * MapSizeX()) + x; -} - -static inline TileIndex TileVirtXY(uint x, uint y) -{ - return (y >> 4 << MapLogX()) + (x >> 4); -} - - -/** - * Get the X component of a tile - * @param tile the tile to get the X component of - * @return the X component - */ -static inline uint TileX(TileIndex tile) -{ - return tile & MapMaxX(); -} - -/** - * Get the Y component of a tile - * @param tile the tile to get the Y component of - * @return the Y component - */ -static inline uint TileY(TileIndex tile) -{ - return tile >> MapLogX(); -} - -/** - * A pair-construct of a TileIndexDiff. - * - * This can be used to save the difference between to - * tiles as a pair of x and y value. - */ -struct TileIndexDiffC { - int16 x; ///< The x value of the coordinate - int16 y; ///< The y value of the coordinate -}; - -/** - * Return the offset between to tiles from a TileIndexDiffC struct. - * - * This function works like #TileDiffXY(int, int) and returns the - * difference between two tiles. - * - * @param tidc The coordinate of the offset as TileIndexDiffC - * @return The difference between two tiles. - * @see TileDiffXY(int, int) - */ -static inline TileIndexDiff ToTileIndexDiff(TileIndexDiffC tidc) -{ - return (tidc.y << MapLogX()) + tidc.x; -} - - -#ifndef _DEBUG - /** - * Adds to tiles together. - * - * @param x One tile - * @param y An other tile to add - * @return The resulting tile(index) - */ - #define TILE_ADD(x,y) ((x) + (y)) -#else - extern TileIndex TileAdd(TileIndex tile, TileIndexDiff add, - const char *exp, const char *file, int line); - #define TILE_ADD(x, y) (TileAdd((x), (y), #x " + " #y, __FILE__, __LINE__)) -#endif - -/** - * Adds a given offset to a tile. - * - * @param tile The tile to add an offset on it - * @param x The x offset to add to the tile - * @param y The y offset to add to the tile - */ -#define TILE_ADDXY(tile, x, y) TILE_ADD(tile, TileDiffXY(x, y)) - -/** - * Adds an offset to a tile and check if we are still on the map. - */ -uint TileAddWrap(TileIndex tile, int addx, int addy); - -/** - * Returns the TileIndexDiffC offset from a DiagDirection. - * - * @param dir The given direction - * @return The offset as TileIndexDiffC value - */ -static inline TileIndexDiffC TileIndexDiffCByDiagDir(DiagDirection dir) -{ - extern const TileIndexDiffC _tileoffs_by_diagdir[DIAGDIR_END]; - - assert(IsValidDiagDirection(dir)); - return _tileoffs_by_diagdir[dir]; -} -/** - * Add a TileIndexDiffC to a TileIndex and returns the new one. - * - * Returns tile + the diff given in diff. If the result tile would end up - * outside of the map, INVALID_TILE is returned instead. - * - * @param tile The base tile to add the offset on - * @param diff The offset to add on the tile - * @return The resulting TileIndex - */ -static inline TileIndex AddTileIndexDiffCWrap(TileIndex tile, TileIndexDiffC diff) -{ - int x = TileX(tile) + diff.x; - int y = TileY(tile) + diff.y; - if (x < 0 || y < 0 || x > (int)MapMaxX() || y > (int)MapMaxY()) - return INVALID_TILE; - else - return TileXY(x, y); -} - -/** - * Returns the diff between two tiles - * - * @param tile_a from tile - * @param tile_b to tile - * @return the difference between tila_a and tile_b - */ -static inline TileIndexDiffC TileIndexToTileIndexDiffC(TileIndex tile_a, TileIndex tile_b) -{ - TileIndexDiffC difference; - - difference.x = TileX(tile_a) - TileX(tile_b); - difference.y = TileY(tile_a) - TileY(tile_b); - - return difference; -} - -/* Functions to calculate distances */ -uint DistanceManhattan(TileIndex, TileIndex); ///< also known as L1-Norm. Is the shortest distance one could go over diagonal tracks (or roads) -uint DistanceSquare(TileIndex, TileIndex); ///< euclidian- or L2-Norm squared -uint DistanceMax(TileIndex, TileIndex); ///< also known as L-Infinity-Norm -uint DistanceMaxPlusManhattan(TileIndex, TileIndex); ///< Max + Manhattan -uint DistanceFromEdge(TileIndex); ///< shortest distance from any edge of the map - -/** - * Starts a loop which iterates to a square of tiles - * - * This macro starts 2 nested loops which iterates over a square of tiles. - * - * @param var The name of the variable which contains the current tile - * @param w The width (x-width) of the square - * @param h The heigth (y-width) of the square - * @param tile The start tile of the square - */ -#define BEGIN_TILE_LOOP(var, w, h, tile) \ - { \ - int h_cur = h; \ - uint var = tile; \ - do { \ - int w_cur = w; \ - do { -/** - * Ends the square-loop used before - * - * @see BEGIN_TILE_LOOP - */ -#define END_TILE_LOOP(var, w, h, tile) \ - } while (++var, --w_cur != 0); \ - } while (var += TileDiffXY(0, 1) - (w), --h_cur != 0); \ - } -/** - * Convert a DiagDirection to a TileIndexDiff - * - * @param dir The DiagDirection - * @return The resulting TileIndexDiff - * @see TileIndexDiffCByDiagDir - */ -static inline TileIndexDiff TileOffsByDiagDir(DiagDirection dir) -{ - extern const TileIndexDiffC _tileoffs_by_diagdir[DIAGDIR_END]; - - assert(IsValidDiagDirection(dir)); - return ToTileIndexDiff(_tileoffs_by_diagdir[dir]); -} - -/** - * Convert a Direction to a TileIndexDiff. - * - * @param dir The direction to convert from - * @return The resulting TileIndexDiff - */ -static inline TileIndexDiff TileOffsByDir(Direction dir) -{ - extern const TileIndexDiffC _tileoffs_by_dir[DIR_END]; - - assert(IsValidDirection(dir)); - return ToTileIndexDiff(_tileoffs_by_dir[dir]); -} - -/** - * Adds a DiagDir to a tile. - * - * @param tile The current tile - * @param dir The direction in which we want to step - * @return the moved tile - */ -static inline TileIndex TileAddByDiagDir(TileIndex tile, DiagDirection dir) -{ - return TILE_ADD(tile, TileOffsByDiagDir(dir)); -} - -/** - * A callback function type for searching tiles. - * - * @param tile The tile to test - * @param data additional data for the callback function to use - * @return A boolean value, depend on the definition of the function. - */ -typedef bool TestTileOnSearchProc(TileIndex tile, uint32 data); - -/** - * Searches for some cirumstances of a tile around a given tile with a helper function. - */ -bool CircularTileSearch(TileIndex tile, uint size, TestTileOnSearchProc proc, uint32 data); - -/** Approximation of the length of a straight track, relative to a diagonal - * track (ie the size of a tile side). - * - * #defined instead of const so it can - * stay integer. (no runtime float operations) Is this needed? - * Watch out! There are _no_ brackets around here, to prevent intermediate - * rounding! Be careful when using this! - * This value should be sqrt(2)/2 ~ 0.7071 */ -#define STRAIGHT_TRACK_LENGTH 7071/10000 - -#endif /* MAP_H */ diff --git a/src/map_func.h b/src/map_func.h new file mode 100644 index 000000000..28bf80a27 --- /dev/null +++ b/src/map_func.h @@ -0,0 +1,389 @@ +/* $Id$ */ + +/** @file map.h */ + +#ifndef MAP_FUNC_H +#define MAP_FUNC_H + +#include "tile_type.h" +#include "map_type.h" +#include "direction_func.h" + +extern uint _map_tile_mask; + +/** + * 'Wraps' the given tile to it is within the map. It does + * this by masking the 'high' bits of. + * @param x the tile to 'wrap' + */ + +#define TILE_MASK(x) ((x) & _map_tile_mask) +/** + * Asserts when the tile is outside of the map. + * @param x the tile to check + */ +#define TILE_ASSERT(x) assert(TILE_MASK(x) == (x)); + +/** + * Pointer to the tile-array. + * + * This variable points to the tile-array which contains the tiles of + * the map. + */ +extern Tile *_m; + +/** + * Pointer to the extended tile-array. + * + * This variable points to the extended tile-array which contains the tiles + * of the map. + */ +extern TileExtended *_me; + +/** + * Allocate a new map with the given size. + */ +void AllocateMap(uint size_x, uint size_y); + +/** + * Logarithm of the map size along the X side. + * @note try to avoid using this one + * @return 2^"return value" == MapSizeX() + */ +static inline uint MapLogX() +{ + extern uint _map_log_x; + return _map_log_x; +} + +/** + * Get the size of the map along the X + * @return the number of tiles along the X of the map + */ +static inline uint MapSizeX() +{ + extern uint _map_size_x; + return _map_size_x; +} + +/** + * Get the size of the map along the Y + * @return the number of tiles along the Y of the map + */ +static inline uint MapSizeY() +{ + extern uint _map_size_y; + return _map_size_y; +} + +/** + * Get the size of the map + * @return the number of tiles of the map + */ +static inline uint MapSize() +{ + extern uint _map_size; + return _map_size; +} + +/** + * Gets the maximum X coordinate within the map, including MP_VOID + * @return the maximum X coordinate + */ +static inline uint MapMaxX() +{ + return MapSizeX() - 1; +} + +/** + * Gets the maximum X coordinate within the map, including MP_VOID + * @return the maximum X coordinate + */ +static inline uint MapMaxY() +{ + return MapSizeY() - 1; +} + +/** + * Scales relative to the number of tiles. + */ +uint ScaleByMapSize(uint); + +/** + * Scale relative to the circumference of the map. + */ +uint ScaleByMapSize1D(uint); + +/** + * An offset value between to tiles. + * + * This value is used fro the difference between + * to tiles. It can be added to a tileindex to get + * the resulting tileindex of the start tile applied + * with this saved difference. + * + * @see TileDiffXY(int, int) + */ +typedef int32 TileIndexDiff; + +/** + * Returns the TileIndex of a coordinate. + * + * @param x The x coordinate of the tile + * @param y The y coordinate of the tile + * @return The TileIndex calculated by the coordinate + */ +static inline TileIndex TileXY(uint x, uint y) +{ + return (y * MapSizeX()) + x; +} + +/** + * Calculates an offset for the given coordinate(-offset). + * + * This function calculate an offset value which can be added to an + * #TileIndex. The coordinates can be negative. + * + * @param x The offset in x direction + * @param y The offset in y direction + * @return The resulting offset value of the given coordinate + * @see ToTileIndexDiff(TileIndexDiffC) + */ +static inline TileIndexDiff TileDiffXY(int x, int y) +{ + /* Multiplication gives much better optimization on MSVC than shifting. + * 0 << shift isn't optimized to 0 properly. + * Typically x and y are constants, and then this doesn't result + * in any actual multiplication in the assembly code.. */ + return (y * MapSizeX()) + x; +} + +static inline TileIndex TileVirtXY(uint x, uint y) +{ + return (y >> 4 << MapLogX()) + (x >> 4); +} + + +/** + * Get the X component of a tile + * @param tile the tile to get the X component of + * @return the X component + */ +static inline uint TileX(TileIndex tile) +{ + return tile & MapMaxX(); +} + +/** + * Get the Y component of a tile + * @param tile the tile to get the Y component of + * @return the Y component + */ +static inline uint TileY(TileIndex tile) +{ + return tile >> MapLogX(); +} + +/** + * Return the offset between to tiles from a TileIndexDiffC struct. + * + * This function works like #TileDiffXY(int, int) and returns the + * difference between two tiles. + * + * @param tidc The coordinate of the offset as TileIndexDiffC + * @return The difference between two tiles. + * @see TileDiffXY(int, int) + */ +static inline TileIndexDiff ToTileIndexDiff(TileIndexDiffC tidc) +{ + return (tidc.y << MapLogX()) + tidc.x; +} + + +#ifndef _DEBUG + /** + * Adds to tiles together. + * + * @param x One tile + * @param y An other tile to add + * @return The resulting tile(index) + */ + #define TILE_ADD(x,y) ((x) + (y)) +#else + extern TileIndex TileAdd(TileIndex tile, TileIndexDiff add, + const char *exp, const char *file, int line); + #define TILE_ADD(x, y) (TileAdd((x), (y), #x " + " #y, __FILE__, __LINE__)) +#endif + +/** + * Adds a given offset to a tile. + * + * @param tile The tile to add an offset on it + * @param x The x offset to add to the tile + * @param y The y offset to add to the tile + */ +#define TILE_ADDXY(tile, x, y) TILE_ADD(tile, TileDiffXY(x, y)) + +/** + * Adds an offset to a tile and check if we are still on the map. + */ +uint TileAddWrap(TileIndex tile, int addx, int addy); + +/** + * Returns the TileIndexDiffC offset from a DiagDirection. + * + * @param dir The given direction + * @return The offset as TileIndexDiffC value + */ +static inline TileIndexDiffC TileIndexDiffCByDiagDir(DiagDirection dir) +{ + extern const TileIndexDiffC _tileoffs_by_diagdir[DIAGDIR_END]; + + assert(IsValidDiagDirection(dir)); + return _tileoffs_by_diagdir[dir]; +} + +/** + * Add a TileIndexDiffC to a TileIndex and returns the new one. + * + * Returns tile + the diff given in diff. If the result tile would end up + * outside of the map, INVALID_TILE is returned instead. + * + * @param tile The base tile to add the offset on + * @param diff The offset to add on the tile + * @return The resulting TileIndex + */ +static inline TileIndex AddTileIndexDiffCWrap(TileIndex tile, TileIndexDiffC diff) +{ + int x = TileX(tile) + diff.x; + int y = TileY(tile) + diff.y; + if (x < 0 || y < 0 || x > (int)MapMaxX() || y > (int)MapMaxY()) + return INVALID_TILE; + else + return TileXY(x, y); +} + +/** + * Returns the diff between two tiles + * + * @param tile_a from tile + * @param tile_b to tile + * @return the difference between tila_a and tile_b + */ +static inline TileIndexDiffC TileIndexToTileIndexDiffC(TileIndex tile_a, TileIndex tile_b) +{ + TileIndexDiffC difference; + + difference.x = TileX(tile_a) - TileX(tile_b); + difference.y = TileY(tile_a) - TileY(tile_b); + + return difference; +} + +/* Functions to calculate distances */ +uint DistanceManhattan(TileIndex, TileIndex); ///< also known as L1-Norm. Is the shortest distance one could go over diagonal tracks (or roads) +uint DistanceSquare(TileIndex, TileIndex); ///< euclidian- or L2-Norm squared +uint DistanceMax(TileIndex, TileIndex); ///< also known as L-Infinity-Norm +uint DistanceMaxPlusManhattan(TileIndex, TileIndex); ///< Max + Manhattan +uint DistanceFromEdge(TileIndex); ///< shortest distance from any edge of the map + +/** + * Starts a loop which iterates to a square of tiles + * + * This macro starts 2 nested loops which iterates over a square of tiles. + * + * @param var The name of the variable which contains the current tile + * @param w The width (x-width) of the square + * @param h The heigth (y-width) of the square + * @param tile The start tile of the square + */ +#define BEGIN_TILE_LOOP(var, w, h, tile) \ + { \ + int h_cur = h; \ + uint var = tile; \ + do { \ + int w_cur = w; \ + do { +/** + * Ends the square-loop used before + * + * @see BEGIN_TILE_LOOP + */ +#define END_TILE_LOOP(var, w, h, tile) \ + } while (++var, --w_cur != 0); \ + } while (var += TileDiffXY(0, 1) - (w), --h_cur != 0); \ + } +/** + * Convert a DiagDirection to a TileIndexDiff + * + * @param dir The DiagDirection + * @return The resulting TileIndexDiff + * @see TileIndexDiffCByDiagDir + */ +static inline TileIndexDiff TileOffsByDiagDir(DiagDirection dir) +{ + extern const TileIndexDiffC _tileoffs_by_diagdir[DIAGDIR_END]; + + assert(IsValidDiagDirection(dir)); + return ToTileIndexDiff(_tileoffs_by_diagdir[dir]); +} + +/** + * Convert a Direction to a TileIndexDiff. + * + * @param dir The direction to convert from + * @return The resulting TileIndexDiff + */ +static inline TileIndexDiff TileOffsByDir(Direction dir) +{ + extern const TileIndexDiffC _tileoffs_by_dir[DIR_END]; + + assert(IsValidDirection(dir)); + return ToTileIndexDiff(_tileoffs_by_dir[dir]); +} + +/** + * Adds a DiagDir to a tile. + * + * @param tile The current tile + * @param dir The direction in which we want to step + * @return the moved tile + */ +static inline TileIndex TileAddByDiagDir(TileIndex tile, DiagDirection dir) +{ + return TILE_ADD(tile, TileOffsByDiagDir(dir)); +} + +/** + * A callback function type for searching tiles. + * + * @param tile The tile to test + * @param data additional data for the callback function to use + * @return A boolean value, depend on the definition of the function. + */ +typedef bool TestTileOnSearchProc(TileIndex tile, uint32 data); + +/** + * Searches for some cirumstances of a tile around a given tile with a helper function. + */ +bool CircularTileSearch(TileIndex tile, uint size, TestTileOnSearchProc proc, uint32 data); + +/** + * Get a random tile out of a given seed. + * @param r the random 'seed' + * @return a valid tile + */ +static inline TileIndex RandomTileSeed(uint32 r) +{ + return TILE_MASK(r); +} + +/** + * Get a valid random tile. + * @note a define so 'random' gets inserted in the place where it is actually + * called, thus making the random traces more explicit. + * @return a valid tile + */ +#define RandomTile() RandomTileSeed(Random()) + +#endif /* MAP_FUNC_H */ diff --git a/src/map_type.h b/src/map_type.h new file mode 100644 index 000000000..7098ad762 --- /dev/null +++ b/src/map_type.h @@ -0,0 +1,65 @@ +/* $Id$ */ + +/** @file map_type.h Types related to maps. */ + +#ifndef MAP_TYPE_H +#define MAP_TYPE_H + +/** + * Data that is stored per tile. Also used TileExtended for this. + * Look at docs/landscape.html for the exact meaning of the members. + */ +struct Tile { + byte type_height; ///< The type (bits 4..7) and height of the northern corner + byte m1; ///< Primarily used for ownership information + uint16 m2; ///< Primarily used for indices to towns, industries and stations + byte m3; ///< General purpose + byte m4; ///< General purpose + byte m5; ///< General purpose + byte m6; ///< Primarily used for bridges and rainforest/desert +}; + +/** + * Data that is stored per tile. Also used Tile for this. + * Look at docs/landscape.html for the exact meaning of the members. + */ +struct TileExtended { + byte m7; ///< Primarily used for newgrf support +}; + +/** + * An offset value between to tiles. + * + * This value is used fro the difference between + * to tiles. It can be added to a tileindex to get + * the resulting tileindex of the start tile applied + * with this saved difference. + * + * @see TileDiffXY(int, int) + */ +typedef int32 TileIndexDiff; + +/** + * A pair-construct of a TileIndexDiff. + * + * This can be used to save the difference between to + * tiles as a pair of x and y value. + */ +struct TileIndexDiffC { + int16 x; ///< The x value of the coordinate + int16 y; ///< The y value of the coordinate +}; + +/** + * Approximation of the length of a straight track, relative to a diagonal + * track (ie the size of a tile side). + * + * #defined instead of const so it can + * stay integer. (no runtime float operations) Is this needed? + * Watch out! There are _no_ brackets around here, to prevent intermediate + * rounding! Be careful when using this! + * This value should be sqrt(2)/2 ~ 0.7071 + */ +#define STRAIGHT_TRACK_LENGTH 7071/10000 + +#endif /* MAP_TYPE_H */ diff --git a/src/misc.cpp b/src/misc.cpp index 5a8eb7068..4a297d007 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -11,7 +11,6 @@ #include "string.h" #include "table/strings.h" #include "table/sprites.h" -#include "map.h" #include "vehicle.h" #include "saveload.h" #include "engine.h" @@ -26,6 +25,7 @@ #include "economy_func.h" #include "zoom_func.h" #include "functions.h" +#include "map_func.h" char _name_array[512][32]; diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 8649dd3cf..da8f773c3 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -13,7 +13,6 @@ #include "table/sprites.h" #include "table/strings.h" #include "table/tree_land.h" -#include "map.h" #include "tile_map.h" #include "gui.h" #include "window_gui.h" diff --git a/src/network/network.cpp b/src/network/network.cpp index 187b74211..f7689d116 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -11,7 +11,7 @@ extern const char _openttd_revision[]; #include "../debug.h" #include "../string.h" #include "../strings_func.h" -#include "../map.h" +#include "../map_func.h" #include "../command_func.h" #include "../variables.h" #include "../date.h" diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp index cb29e54ce..7388df6ec 100644 --- a/src/network/network_udp.cpp +++ b/src/network/network_udp.cpp @@ -14,7 +14,7 @@ #include "../string.h" #include "network_data.h" #include "../date.h" -#include "../map.h" +#include "../map_func.h" #include "network_gamelist.h" #include "network_udp.h" #include "../variables.h" diff --git a/src/npf.cpp b/src/npf.cpp index 94bdf1f02..8b0786888 100644 --- a/src/npf.cpp +++ b/src/npf.cpp @@ -4,12 +4,13 @@ #include "stdafx.h" #include "openttd.h" +#include "npf.h" +#include "vehicle.h" #include "bridge_map.h" #include "debug.h" #include "tile_cmd.h" #include "bridge.h" #include "landscape.h" -#include "npf.h" #include "aystar.h" #include "pathfind.h" #include "station.h" diff --git a/src/npf.h b/src/npf.h index 124d17381..19c0f41b2 100644 --- a/src/npf.h +++ b/src/npf.h @@ -8,8 +8,9 @@ #include "openttd.h" #include "aystar.h" #include "station.h" -#include "vehicle.h" +#include "vehicle_type.h" #include "tile_type.h" +#include "track_type.h" /* mowing grass */ enum { diff --git a/src/oldloader.cpp b/src/oldloader.cpp index 302550090..7deb8d22c 100644 --- a/src/oldloader.cpp +++ b/src/oldloader.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "station_map.h" #include "table/strings.h" -#include "map.h" #include "town.h" #include "industry.h" #include "station.h" diff --git a/src/openttd.cpp b/src/openttd.cpp index 560c3f42e..616aae591 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -8,7 +8,6 @@ #include "debug.h" #include "driver.h" #include "saveload.h" -#include "map.h" #include "openttd.h" #include "table/strings.h" diff --git a/src/order_gui.cpp b/src/order_gui.cpp index e232c34ae..ac3683e02 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -8,7 +8,6 @@ #include "station_map.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "gui.h" #include "window_gui.h" #include "vehicle.h" diff --git a/src/pathfind.cpp b/src/pathfind.cpp index 87a66ba50..616f4e0eb 100644 --- a/src/pathfind.cpp +++ b/src/pathfind.cpp @@ -9,7 +9,6 @@ #include "depot.h" #include "tile_cmd.h" #include "landscape.h" -#include "map.h" #include "pathfind.h" #include "rail_type.h" #include "debug.h" diff --git a/src/players.cpp b/src/players.cpp index 92846d70c..34aa25534 100644 --- a/src/players.cpp +++ b/src/players.cpp @@ -8,7 +8,6 @@ #include "string.h" #include "table/strings.h" #include "table/sprites.h" -#include "map.h" #include "player.h" #include "town.h" #include "vehicle.h" diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index ee2d1e629..2cdcbabc8 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -13,7 +13,6 @@ #include "road_map.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "landscape.h" #include "town_map.h" #include "tunnel_map.h" diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index 367f47183..85a8ec563 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -9,7 +9,6 @@ #include "tile_cmd.h" #include "landscape.h" #include "date.h" -#include "map.h" #include "gui.h" #include "window_gui.h" #include "station_gui.h" diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 66a2041e6..3242966fc 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -14,7 +14,6 @@ #include "table/sprites.h" #include "table/strings.h" #include "tile_cmd.h" -#include "map.h" #include "landscape.h" #include "town_map.h" #include "vehicle.h" diff --git a/src/road_gui.cpp b/src/road_gui.cpp index e9d4c4a96..cde258ee3 100644 --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "gui.h" #include "window_gui.h" #include "station_gui.h" @@ -17,6 +16,7 @@ #include "road_cmd.h" #include "road_map.h" #include "station_map.h" +#include "vehicle.h" //needed for catchments #include "station.h" #include "functions.h" diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index fbe0571d5..5a6fcd072 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -11,7 +11,6 @@ #include "roadveh.h" #include "station_map.h" #include "table/strings.h" -#include "map.h" #include "vehicle.h" #include "timetable.h" #include "engine.h" diff --git a/src/screenshot.cpp b/src/screenshot.cpp index e3d6f3911..ea377981c 100644 --- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -17,7 +17,7 @@ #include "zoom_func.h" #include "core/alloc_func.hpp" #include "core/endian_func.hpp" -#include "map.h" +#include "map_func.h" char _screenshot_format_name[8]; uint _num_screenshot_formats; diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index adb1cf861..e318689be 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -8,7 +8,6 @@ #include "table/strings.h" #include "tile_cmd.h" #include "landscape.h" -#include "map.h" #include "vehicle.h" #include "timetable.h" #include "command_func.h" diff --git a/src/signs.cpp b/src/signs.cpp index 082ae4520..628d517cf 100644 --- a/src/signs.cpp +++ b/src/signs.cpp @@ -18,6 +18,7 @@ #include "zoom_func.h" #include "functions.h" #include "window_func.h" +#include "map_func.h" SignID _new_sign_id; uint _total_signs; diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp index 03735a3af..f806ac50f 100644 --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -17,6 +17,7 @@ #include "strings_func.h" #include "core/alloc_func.hpp" #include "window_func.h" +#include "map_func.h" static const Sign **_sign_sort; static uint _num_sign_sort; diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index c0fa68e5f..3b42564f9 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -12,7 +12,6 @@ #include "table/strings.h" #include "table/sprites.h" #include "landscape.h" -#include "map.h" #include "gui.h" #include "window_gui.h" #include "tree_map.h" diff --git a/src/sound.cpp b/src/sound.cpp index 659934550..02017f861 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "landscape.h" -#include "map.h" #include "mixer.h" #include "sound.h" #include "vehicle.h" @@ -15,6 +14,7 @@ #include "fios.h" #include "window_gui.h" #include "core/alloc_func.hpp" +#include "map_func.h" static uint _file_count; static FileEntry *_files; diff --git a/src/station.cpp b/src/station.cpp index dfc5b2e59..49b26707b 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -9,7 +9,6 @@ #include "station_map.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "station.h" #include "viewport.h" #include "town.h" diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 9c93f8d22..e7ad0b8c3 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -14,7 +14,6 @@ #include "station_map.h" #include "table/sprites.h" #include "table/strings.h" -#include "map.h" #include "station.h" #include "viewport.h" #include "command_func.h" diff --git a/src/tgp.cpp b/src/tgp.cpp index 5310cb168..ce44df960 100644 --- a/src/tgp.cpp +++ b/src/tgp.cpp @@ -6,7 +6,6 @@ #include #include "openttd.h" #include "clear_map.h" -#include "map.h" #include "table/strings.h" #include "clear_map.h" #include "variables.h" diff --git a/src/tile_map.h b/src/tile_map.h index 1e7ad67ed..faf5f8dd6 100644 --- a/src/tile_map.h +++ b/src/tile_map.h @@ -7,7 +7,7 @@ #include "tile_type.h" #include "slope_type.h" -#include "map.h" +#include "map_func.h" #include "core/bitmath_func.hpp" /** diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 3bf97bc4d..bce49db02 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -10,7 +10,6 @@ #include "road_internal.h" /* Cleaning up road bits */ #include "table/strings.h" #include "table/sprites.h" -#include "map.h" #include "landscape.h" #include "town_map.h" #include "tunnel_map.h" diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index c8f4c14a8..107192f4e 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -11,7 +11,6 @@ #include "gui.h" #include "station_map.h" #include "table/strings.h" -#include "map.h" #include "tunnel_map.h" #include "vehicle.h" #include "timetable.h" diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index a70203197..b8fedf23b 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -10,7 +10,6 @@ #include "table/sprites.h" #include "table/tree_land.h" #include "tile_cmd.h" -#include "map.h" #include "landscape.h" #include "tree_map.h" #include "viewport.h" diff --git a/src/tunnel_map.h b/src/tunnel_map.h index 1ddac5751..8cbd10a7d 100644 --- a/src/tunnel_map.h +++ b/src/tunnel_map.h @@ -6,7 +6,6 @@ #define TUNNEL_MAP_H #include "direction_func.h" -#include "map.h" #include "rail_type.h" #include "road_type.h" #include "tile_map.h" diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index 46bc47d9e..86e0af2ad 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -13,7 +13,6 @@ #include "table/sprites.h" #include "table/strings.h" #include "tile_cmd.h" -#include "map.h" #include "landscape.h" #include "tunnel_map.h" #include "unmovable_map.h" diff --git a/src/tunnelbridge_map.h b/src/tunnelbridge_map.h index b83e6e8d0..b2beb5768 100644 --- a/src/tunnelbridge_map.h +++ b/src/tunnelbridge_map.h @@ -6,10 +6,9 @@ #define TUNNELBRIDGE_MAP_H #include "direction_func.h" -#include "core/bitmath_func.hpp" /* GB, HasBit, SB */ -#include "map.h" /* Tile, TileIndex */ -#include "tile_map.h" /* TileType, IsTileType */ -#include "openttd.h" /* TransportType */ +#include "core/bitmath_func.hpp" +#include "tile_map.h" +#include "openttd.h" /** diff --git a/src/unmovable_cmd.cpp b/src/unmovable_cmd.cpp index f9992846d..ef4638d23 100644 --- a/src/unmovable_cmd.cpp +++ b/src/unmovable_cmd.cpp @@ -8,7 +8,6 @@ #include "table/sprites.h" #include "tile_cmd.h" #include "landscape.h" -#include "map.h" #include "command_func.h" #include "viewport.h" #include "player.h" diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 3eeeffc75..46e9fc5f6 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -12,7 +12,6 @@ #include "table/strings.h" #include "tile_cmd.h" #include "landscape.h" -#include "map.h" #include "vehicle.h" #include "timetable.h" #include "viewport.h" diff --git a/src/viewport.cpp b/src/viewport.cpp index 78b7f03a9..983de1d44 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -11,7 +11,6 @@ #include "table/sprites.h" #include "table/strings.h" #include "landscape.h" -#include "map.h" #include "viewport.h" #include "vehicle.h" #include "station.h" diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index c9f90a17d..c29dd003f 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -12,7 +12,6 @@ #include "table/strings.h" #include "tile_cmd.h" #include "landscape.h" -#include "map.h" #include "vehicle.h" #include "viewport.h" #include "command_func.h" diff --git a/src/waypoint.cpp b/src/waypoint.cpp index f98489e8a..224af027f 100644 --- a/src/waypoint.cpp +++ b/src/waypoint.cpp @@ -7,7 +7,6 @@ #include "command_func.h" #include "landscape.h" -#include "map.h" #include "order.h" #include "rail_map.h" #include "rail.h" diff --git a/src/window.cpp b/src/window.cpp index dc6a86364..ef74e42f2 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -6,7 +6,6 @@ #include #include "openttd.h" #include "debug.h" -#include "map.h" #include "player.h" #include "viewport.h" #include "console.h" @@ -17,6 +16,8 @@ #include "window_gui.h" #include "zoom_func.h" #include "core/alloc_func.hpp" +#include "vehicle.h" +#include "map_func.h" /* delta between mouse cursor and upper left corner of dragged window */ static Point _drag_delta; diff --git a/src/window_gui.h b/src/window_gui.h index 1b36117ea..316c76c93 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -10,7 +10,7 @@ #include "rail_type.h" #include "road_type.h" #include "airport.h" -#include "vehicle.h" +#include "vehicle_type.h" #include "viewport.h" /** diff --git a/src/yapf/track_dir.hpp b/src/yapf/track_dir.hpp index bb3de4488..1f9c547d1 100644 --- a/src/yapf/track_dir.hpp +++ b/src/yapf/track_dir.hpp @@ -3,9 +3,6 @@ #ifndef TRACK_DIR_HPP #define TRACK_DIR_HPP -#include "../tile_type.h" #include "../openttd.h" -#include "../map.h" -#include "../rail_type.h" #endif /* TRACK_DIR_HPP */ -- cgit v1.2.3-54-g00ecf