mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r11669) -Codechange: refactor tile.h -> tile_type.h and tile_map.h
This commit is contained in:
parent
d582aea639
commit
5b49e75453
|
@ -372,7 +372,7 @@
|
|||
RelativePath=".\..\src\thread.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\tile.cpp">
|
||||
RelativePath=".\..\src\tile_map.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\vehicle.cpp">
|
||||
|
|
|
@ -728,7 +728,7 @@
|
|||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\tile.cpp"
|
||||
RelativePath=".\..\src\tile_map.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
|
|
|
@ -725,7 +725,7 @@
|
|||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\tile.cpp"
|
||||
RelativePath=".\..\src\tile_map.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
|
|
|
@ -75,7 +75,7 @@ strings.cpp
|
|||
texteff.cpp
|
||||
tgp.cpp
|
||||
thread.cpp
|
||||
tile.cpp
|
||||
tile_map.cpp
|
||||
#if WIN32
|
||||
#else
|
||||
#if WINCE
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include "../../road_map.h"
|
||||
#include "../../roadveh.h"
|
||||
#include "../../station_map.h"
|
||||
#include "../../tile.h"
|
||||
#include "../../player.h"
|
||||
#include "../../tunnel_map.h"
|
||||
#include "../../vehicle.h"
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include "../../functions.h"
|
||||
#include "../../map.h"
|
||||
#include "../../road_map.h"
|
||||
#include "../../tile.h"
|
||||
#include "../../vehicle.h"
|
||||
#include "../../command.h"
|
||||
#include "trolly.h"
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include "../../debug.h"
|
||||
#include "../../functions.h"
|
||||
#include "../../map.h"
|
||||
#include "../../tile.h"
|
||||
#include "../../command.h"
|
||||
#include "trolly.h"
|
||||
#include "../../depot.h"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include "../../station_map.h"
|
||||
#include "table/strings.h"
|
||||
#include "../../map.h"
|
||||
#include "../../tile.h"
|
||||
#include "../../command.h"
|
||||
#include "trolly.h"
|
||||
#include "../../town.h"
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include "strings.h"
|
||||
#include "table/strings.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "vehicle.h"
|
||||
#include "timetable.h"
|
||||
#include "depot.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include "map.h"
|
||||
#include "rail_type.h"
|
||||
#include "road_map.h"
|
||||
#include "tile.h"
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include "functions.h"
|
||||
#include "map.h"
|
||||
#include "player.h"
|
||||
#include "tile.h"
|
||||
#include "viewport.h"
|
||||
#include "command.h"
|
||||
#include "tunnel_map.h"
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#define CLEAR_MAP_H
|
||||
|
||||
#include "macros.h"
|
||||
#include "tile.h"
|
||||
#include "bridge_map.h"
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "functions.h"
|
||||
#include "landscape.h"
|
||||
#include "map.h"
|
||||
#include "tile_map.h"
|
||||
#include "gui.h"
|
||||
#include "command.h"
|
||||
#include "player.h"
|
||||
|
@ -16,7 +17,6 @@
|
|||
#include "variables.h"
|
||||
#include "genworld.h"
|
||||
#include "newgrf_storage.h"
|
||||
#include "tile.h"
|
||||
|
||||
const char *_cmd_text = NULL;
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include "depot.h"
|
||||
#include "functions.h"
|
||||
#include "landscape.h"
|
||||
#include "tile.h"
|
||||
#include "map.h"
|
||||
#include "table/strings.h"
|
||||
#include "saveload.h"
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
#include "direction_type.h"
|
||||
#include "oldpool.h"
|
||||
#include "tile.h"
|
||||
#include "variables.h"
|
||||
#include "road_map.h"
|
||||
#include "rail_map.h"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include "table/strings.h"
|
||||
#include "strings.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "vehicle.h"
|
||||
#include "command.h"
|
||||
#include "news.h"
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "table/strings.h"
|
||||
#include "functions.h"
|
||||
#include "map.h"
|
||||
#include "tile_map.h"
|
||||
#include "station.h"
|
||||
#include "gui.h"
|
||||
#include "window_gui.h"
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
#include "stdafx.h"
|
||||
#include "openttd.h"
|
||||
#include "station_map.h"
|
||||
#include "tile.h"
|
||||
#include "viewport.h"
|
||||
#include "functions.h" /* We should REALLY get rid of this goddamn file, as it is butt-ugly */
|
||||
#include "variables.h" /* ... same here */
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include "window_gui.h"
|
||||
#include "textbuf_gui.h"
|
||||
#include "gfx.h"
|
||||
#include "tile.h"
|
||||
#include "strings.h"
|
||||
#include "gfxinit.h"
|
||||
#include "player.h"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#include "window_type.h"
|
||||
#include "rail_type.h"
|
||||
#include "road_type.h"
|
||||
#include "vehicle.h"
|
||||
#include "vehicle_type.h"
|
||||
|
||||
/* main_gui.cpp */
|
||||
void CcPlaySound10(bool success, TileIndex tile, uint32 p1, uint32 p2);
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include "strings.h"
|
||||
#include "table/sprites.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "train.h"
|
||||
#include "landscape.h"
|
||||
#include "viewport.h"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
#include "industry.h"
|
||||
#include "macros.h"
|
||||
#include "tile.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include "player.h"
|
||||
#include "spritecache.h"
|
||||
#include "table/sprites.h"
|
||||
#include "tile.h"
|
||||
#include <stdarg.h>
|
||||
#include "viewport.h"
|
||||
#include "command.h"
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include "table/sprites.h"
|
||||
#include "table/strings.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "gui.h"
|
||||
#include "window_gui.h"
|
||||
#include "window_func.h"
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include "stdafx.h"
|
||||
#include "direction_func.h"
|
||||
#include "tile_type.h"
|
||||
|
||||
extern uint _map_tile_mask;
|
||||
|
||||
|
@ -135,11 +136,6 @@ uint ScaleByMapSize(uint);
|
|||
*/
|
||||
uint ScaleByMapSize1D(uint);
|
||||
|
||||
/**
|
||||
* The index/ID of a Tile.
|
||||
*/
|
||||
typedef uint32 TileIndex;
|
||||
|
||||
/**
|
||||
* An offset value between to tiles.
|
||||
*
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "strings.h"
|
||||
#include "table/tree_land.h"
|
||||
#include "map.h"
|
||||
#include "tile_map.h"
|
||||
#include "gui.h"
|
||||
#include "window_gui.h"
|
||||
#include "station_gui.h"
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "newgrf_commons.h"
|
||||
#include "newgrf_spritegroup.h"
|
||||
#include "newgrf_canal.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
|
||||
/** Table of canal 'feature' sprite groups */
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include "industry.h"
|
||||
#include "newgrf.h"
|
||||
#include "newgrf_commons.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
/** Constructor of generic class
|
||||
* @param offset end of original data for this entity. i.e: houses = 110
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include "viewport.h"
|
||||
#include "landscape.h"
|
||||
#include "date.h"
|
||||
#include "tile.h"
|
||||
#include "town.h"
|
||||
#include "town_map.h"
|
||||
#include "sound.h"
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
#include "pathfind.h"
|
||||
#include "station.h"
|
||||
#include "station_map.h"
|
||||
#include "tile.h"
|
||||
#include "depot.h"
|
||||
#include "tunnel_map.h"
|
||||
#include "network/network.h"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#include "aystar.h"
|
||||
#include "station.h"
|
||||
#include "vehicle.h"
|
||||
#include "tile.h"
|
||||
#include "tile_type.h"
|
||||
|
||||
/* mowing grass */
|
||||
enum {
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
#include "driver.h"
|
||||
#include "saveload.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "void_map.h"
|
||||
#include "helpers.hpp"
|
||||
|
||||
#include "openttd.h"
|
||||
|
@ -79,6 +77,7 @@
|
|||
#include "unmovable_map.h"
|
||||
#include "tree_map.h"
|
||||
#include "tunnelbridge_map.h"
|
||||
#include "void_map.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
|
|
|
@ -26,10 +26,10 @@ struct Pair {
|
|||
};
|
||||
|
||||
#include "map.h"
|
||||
#include "slope.h"
|
||||
#include "slope_type.h"
|
||||
#include "vehicle_type.h"
|
||||
|
||||
// Forward declarations of structs.
|
||||
struct Vehicle;
|
||||
struct Depot;
|
||||
struct Waypoint;
|
||||
struct Station;
|
||||
|
@ -55,7 +55,6 @@ static const StringID INVALID_STRING_ID = 0xFFFF;
|
|||
typedef EngineID *EngineList; ///< engine list type placeholder acceptable for C code (see helpers.cpp)
|
||||
|
||||
/* IDs used in Pools */
|
||||
typedef uint16 VehicleID;
|
||||
typedef uint16 StationID;
|
||||
static const StationID INVALID_STATION = 0xFFFF;
|
||||
typedef uint16 RoadStopID;
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include "strings.h"
|
||||
#include "functions.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "gui.h"
|
||||
#include "window_gui.h"
|
||||
#include "gfx.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include "functions.h"
|
||||
#include "landscape.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "pathfind.h"
|
||||
#include "rail_type.h"
|
||||
#include "debug.h"
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "group.h"
|
||||
#include "settings.h"
|
||||
#include "window_func.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
/**
|
||||
* Sets the local player and updates the patch settings that are set on a
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include "gfx.h"
|
||||
#include "rail_type.h"
|
||||
#include "track_type.h"
|
||||
#include "tile.h"
|
||||
#include "variables.h"
|
||||
|
||||
/** This struct contains all the info that is needed to draw and construct tracks.
|
||||
|
@ -228,8 +227,6 @@ void DrawCatenaryOnTunnel(const TileInfo *ti);
|
|||
|
||||
Foundation GetRailFoundation(Slope tileh, TrackBits bits);
|
||||
|
||||
void FloodHalftile(TileIndex t);
|
||||
|
||||
int32 SettingsDisableElrail(int32 p1); ///< _patches.disable_elrail callback
|
||||
|
||||
#endif /* RAIL_H */
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include "table/strings.h"
|
||||
#include "map.h"
|
||||
#include "landscape.h"
|
||||
#include "tile.h"
|
||||
#include "town_map.h"
|
||||
#include "tunnel_map.h"
|
||||
#include "vehicle.h"
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include "landscape.h"
|
||||
#include "date.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "gui.h"
|
||||
#include "window_gui.h"
|
||||
#include "station_gui.h"
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#include "direction_func.h"
|
||||
#include "track_func.h"
|
||||
#include "rail.h"
|
||||
#include "tile.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
|
||||
/** Different types of Rail-related tiles */
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
#include "functions.h"
|
||||
#include "map.h"
|
||||
#include "landscape.h"
|
||||
#include "tile.h"
|
||||
#include "town_map.h"
|
||||
#include "vehicle.h"
|
||||
#include "viewport.h"
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#include "strings.h"
|
||||
#include "functions.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "gui.h"
|
||||
#include "window_gui.h"
|
||||
#include "station_gui.h"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#include "track_func.h"
|
||||
#include "rail_type.h"
|
||||
#include "road_func.h"
|
||||
#include "tile.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
|
||||
enum RoadTileType {
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include "table/strings.h"
|
||||
#include "strings.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "vehicle.h"
|
||||
#include "timetable.h"
|
||||
#include "engine.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include "functions.h"
|
||||
#include "landscape.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "vehicle.h"
|
||||
#include "timetable.h"
|
||||
#include "command.h"
|
||||
|
|
|
@ -1,71 +1,12 @@
|
|||
/* $Id$ */
|
||||
|
||||
/** @file slope.h Definitions of a slope.
|
||||
* This file defines the enumeration and helper functions for handling
|
||||
* the slope info of a tile.
|
||||
*/
|
||||
/** @file slope_func.h Functions related to slopes. */
|
||||
|
||||
#ifndef SLOPE_H
|
||||
#define SLOPE_H
|
||||
#ifndef SLOPE_FUNC_H
|
||||
#define SLOPE_FUNC_H
|
||||
|
||||
/**
|
||||
* Enumeration of tile corners
|
||||
*/
|
||||
enum Corner {
|
||||
CORNER_W = 0,
|
||||
CORNER_S = 1,
|
||||
CORNER_E = 2,
|
||||
CORNER_N = 3,
|
||||
CORNER_END,
|
||||
CORNER_INVALID = 0xFF
|
||||
};
|
||||
|
||||
/**
|
||||
* Enumeration for the slope-type.
|
||||
*
|
||||
* This enumeration use the chars N,E,S,W corresponding the
|
||||
* direction north, east, south and west. The top corner of a tile
|
||||
* is the north-part of the tile. The whole slope is encoded with
|
||||
* 5 bits, 4 bits for each corner and 1 bit for a steep-flag.
|
||||
*
|
||||
* For halftile slopes an extra 3 bits are used to represent this
|
||||
* properly; 1 bit for a halftile-flag and 2 bits to encode which
|
||||
* extra side (corner) is leveled when the slope of the first 5
|
||||
* bits is applied. This means that there can only be one leveled
|
||||
* slope for steep slopes, which is logical because two leveled
|
||||
* slopes would mean that it is not a steep slope as halftile
|
||||
* slopes only span one height level.
|
||||
*/
|
||||
enum Slope {
|
||||
SLOPE_FLAT = 0x00, ///< a flat tile
|
||||
SLOPE_W = 0x01, ///< the west corner of the tile is raised
|
||||
SLOPE_S = 0x02, ///< the south corner of the tile is raised
|
||||
SLOPE_E = 0x04, ///< the east corner of the tile is raised
|
||||
SLOPE_N = 0x08, ///< the north corner of the tile is raised
|
||||
SLOPE_STEEP = 0x10, ///< indicates the slope is steep
|
||||
SLOPE_NW = SLOPE_N | SLOPE_W, ///< north and west corner are raised
|
||||
SLOPE_SW = SLOPE_S | SLOPE_W, ///< south and west corner are raised
|
||||
SLOPE_SE = SLOPE_S | SLOPE_E, ///< south and east corner are raised
|
||||
SLOPE_NE = SLOPE_N | SLOPE_E, ///< north and east corner are raised
|
||||
SLOPE_EW = SLOPE_E | SLOPE_W, ///< east and west corner are raised
|
||||
SLOPE_NS = SLOPE_N | SLOPE_S, ///< north and south corner are raised
|
||||
SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W, ///< all corner are raised, similar to SLOPE_FLAT
|
||||
SLOPE_NWS = SLOPE_N | SLOPE_W | SLOPE_S, ///< north, west and south corner are raised
|
||||
SLOPE_WSE = SLOPE_W | SLOPE_S | SLOPE_E, ///< west, south and east corner are raised
|
||||
SLOPE_SEN = SLOPE_S | SLOPE_E | SLOPE_N, ///< south, east and north corner are raised
|
||||
SLOPE_ENW = SLOPE_E | SLOPE_N | SLOPE_W, ///< east, north and west corner are raised
|
||||
SLOPE_STEEP_W = SLOPE_STEEP | SLOPE_NWS, ///< a steep slope falling to east (from west)
|
||||
SLOPE_STEEP_S = SLOPE_STEEP | SLOPE_WSE, ///< a steep slope falling to north (from south)
|
||||
SLOPE_STEEP_E = SLOPE_STEEP | SLOPE_SEN, ///< a steep slope falling to west (from east)
|
||||
SLOPE_STEEP_N = SLOPE_STEEP | SLOPE_ENW, ///< a steep slope falling to south (from north)
|
||||
|
||||
SLOPE_HALFTILE = 0x20, ///< one halftile is leveled (non continuous slope)
|
||||
SLOPE_HALFTILE_MASK = 0xE0, ///< three bits used for halftile slopes
|
||||
SLOPE_HALFTILE_W = SLOPE_HALFTILE | (CORNER_W << 6), ///< the west halftile is leveled (non continuous slope)
|
||||
SLOPE_HALFTILE_S = SLOPE_HALFTILE | (CORNER_S << 6), ///< the south halftile is leveled (non continuous slope)
|
||||
SLOPE_HALFTILE_E = SLOPE_HALFTILE | (CORNER_E << 6), ///< the east halftile is leveled (non continuous slope)
|
||||
SLOPE_HALFTILE_N = SLOPE_HALFTILE | (CORNER_N << 6), ///< the north halftile is leveled (non continuous slope)
|
||||
};
|
||||
#include "slope_type.h"
|
||||
#include "direction_type.h"
|
||||
|
||||
/**
|
||||
* Rangecheck for Corner enumeration.
|
||||
|
@ -78,6 +19,7 @@ static inline bool IsValidCorner(Corner corner)
|
|||
return IsInsideMM(corner, 0, CORNER_END);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if a slope is steep.
|
||||
*
|
||||
|
@ -227,32 +169,6 @@ static inline Slope HalftileSlope(Slope s, Corner corner)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Enumeration for Foundations.
|
||||
*/
|
||||
enum Foundation {
|
||||
FOUNDATION_NONE, ///< The tile has no foundation, the slope remains unchanged.
|
||||
FOUNDATION_LEVELED, ///< The tile is leveled up to a flat slope.
|
||||
FOUNDATION_INCLINED_X, ///< The tile has an along X-axis inclined foundation.
|
||||
FOUNDATION_INCLINED_Y, ///< The tile has an along Y-axis inclined foundation.
|
||||
FOUNDATION_STEEP_LOWER, ///< The tile has a steep slope. The lowest corner is raised by a foundation to allow building railroad on the lower halftile.
|
||||
|
||||
/* Halftile foundations */
|
||||
FOUNDATION_STEEP_BOTH, ///< The tile has a steep slope. The lowest corner is raised by a foundation and the upper halftile is leveled.
|
||||
FOUNDATION_HALFTILE_W, ///< Level west halftile non-continuously.
|
||||
FOUNDATION_HALFTILE_S, ///< Level south halftile non-continuously.
|
||||
FOUNDATION_HALFTILE_E, ///< Level east halftile non-continuously.
|
||||
FOUNDATION_HALFTILE_N, ///< Level north halftile non-continuously.
|
||||
|
||||
/* Special anti-zig-zag foundations for single horizontal/vertical track */
|
||||
FOUNDATION_RAIL_W, ///< Foundation for TRACK_BIT_LEFT, but not a leveled foundation.
|
||||
FOUNDATION_RAIL_S, ///< Foundation for TRACK_BIT_LOWER, but not a leveled foundation.
|
||||
FOUNDATION_RAIL_E, ///< Foundation for TRACK_BIT_RIGHT, but not a leveled foundation.
|
||||
FOUNDATION_RAIL_N, ///< Foundation for TRACK_BIT_UPPER, but not a leveled foundation.
|
||||
|
||||
FOUNDATION_INVALID = 0xFF ///< Used inside "rail_cmd.cpp" to indicate invalid slope/track combination.
|
||||
};
|
||||
|
||||
/**
|
||||
* Tests for FOUNDATION_NONE.
|
||||
*
|
||||
|
@ -383,4 +299,4 @@ static inline Foundation SpecialRailFoundation(Corner corner)
|
|||
return (Foundation)(FOUNDATION_RAIL_W + corner);
|
||||
}
|
||||
|
||||
#endif /* SLOPE_H */
|
||||
#endif /* SLOPE_FUNC_H */
|
|
@ -0,0 +1,101 @@
|
|||
/* $Id$ */
|
||||
|
||||
/**
|
||||
* @file slope_type.h Definitions of a slope.
|
||||
* This file defines the enumeration and helper functions for handling
|
||||
* the slope info of a tile.
|
||||
*/
|
||||
|
||||
#ifndef SLOPE_TYPE_H
|
||||
#define SLOPE_TYPE_H
|
||||
|
||||
#include "core/enum_type.hpp"
|
||||
|
||||
/**
|
||||
* Enumeration of tile corners
|
||||
*/
|
||||
enum Corner {
|
||||
CORNER_W = 0,
|
||||
CORNER_S = 1,
|
||||
CORNER_E = 2,
|
||||
CORNER_N = 3,
|
||||
CORNER_END,
|
||||
CORNER_INVALID = 0xFF
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Enumeration for the slope-type.
|
||||
*
|
||||
* This enumeration use the chars N,E,S,W corresponding the
|
||||
* direction north, east, south and west. The top corner of a tile
|
||||
* is the north-part of the tile. The whole slope is encoded with
|
||||
* 5 bits, 4 bits for each corner and 1 bit for a steep-flag.
|
||||
*
|
||||
* For halftile slopes an extra 3 bits are used to represent this
|
||||
* properly; 1 bit for a halftile-flag and 2 bits to encode which
|
||||
* extra side (corner) is leveled when the slope of the first 5
|
||||
* bits is applied. This means that there can only be one leveled
|
||||
* slope for steep slopes, which is logical because two leveled
|
||||
* slopes would mean that it is not a steep slope as halftile
|
||||
* slopes only span one height level.
|
||||
*/
|
||||
enum Slope {
|
||||
SLOPE_FLAT = 0x00, ///< a flat tile
|
||||
SLOPE_W = 0x01, ///< the west corner of the tile is raised
|
||||
SLOPE_S = 0x02, ///< the south corner of the tile is raised
|
||||
SLOPE_E = 0x04, ///< the east corner of the tile is raised
|
||||
SLOPE_N = 0x08, ///< the north corner of the tile is raised
|
||||
SLOPE_STEEP = 0x10, ///< indicates the slope is steep
|
||||
SLOPE_NW = SLOPE_N | SLOPE_W, ///< north and west corner are raised
|
||||
SLOPE_SW = SLOPE_S | SLOPE_W, ///< south and west corner are raised
|
||||
SLOPE_SE = SLOPE_S | SLOPE_E, ///< south and east corner are raised
|
||||
SLOPE_NE = SLOPE_N | SLOPE_E, ///< north and east corner are raised
|
||||
SLOPE_EW = SLOPE_E | SLOPE_W, ///< east and west corner are raised
|
||||
SLOPE_NS = SLOPE_N | SLOPE_S, ///< north and south corner are raised
|
||||
SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W, ///< all corner are raised, similar to SLOPE_FLAT
|
||||
SLOPE_NWS = SLOPE_N | SLOPE_W | SLOPE_S, ///< north, west and south corner are raised
|
||||
SLOPE_WSE = SLOPE_W | SLOPE_S | SLOPE_E, ///< west, south and east corner are raised
|
||||
SLOPE_SEN = SLOPE_S | SLOPE_E | SLOPE_N, ///< south, east and north corner are raised
|
||||
SLOPE_ENW = SLOPE_E | SLOPE_N | SLOPE_W, ///< east, north and west corner are raised
|
||||
SLOPE_STEEP_W = SLOPE_STEEP | SLOPE_NWS, ///< a steep slope falling to east (from west)
|
||||
SLOPE_STEEP_S = SLOPE_STEEP | SLOPE_WSE, ///< a steep slope falling to north (from south)
|
||||
SLOPE_STEEP_E = SLOPE_STEEP | SLOPE_SEN, ///< a steep slope falling to west (from east)
|
||||
SLOPE_STEEP_N = SLOPE_STEEP | SLOPE_ENW, ///< a steep slope falling to south (from north)
|
||||
|
||||
SLOPE_HALFTILE = 0x20, ///< one halftile is leveled (non continuous slope)
|
||||
SLOPE_HALFTILE_MASK = 0xE0, ///< three bits used for halftile slopes
|
||||
SLOPE_HALFTILE_W = SLOPE_HALFTILE | (CORNER_W << 6), ///< the west halftile is leveled (non continuous slope)
|
||||
SLOPE_HALFTILE_S = SLOPE_HALFTILE | (CORNER_S << 6), ///< the south halftile is leveled (non continuous slope)
|
||||
SLOPE_HALFTILE_E = SLOPE_HALFTILE | (CORNER_E << 6), ///< the east halftile is leveled (non continuous slope)
|
||||
SLOPE_HALFTILE_N = SLOPE_HALFTILE | (CORNER_N << 6), ///< the north halftile is leveled (non continuous slope)
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Enumeration for Foundations.
|
||||
*/
|
||||
enum Foundation {
|
||||
FOUNDATION_NONE, ///< The tile has no foundation, the slope remains unchanged.
|
||||
FOUNDATION_LEVELED, ///< The tile is leveled up to a flat slope.
|
||||
FOUNDATION_INCLINED_X, ///< The tile has an along X-axis inclined foundation.
|
||||
FOUNDATION_INCLINED_Y, ///< The tile has an along Y-axis inclined foundation.
|
||||
FOUNDATION_STEEP_LOWER, ///< The tile has a steep slope. The lowest corner is raised by a foundation to allow building railroad on the lower halftile.
|
||||
|
||||
/* Halftile foundations */
|
||||
FOUNDATION_STEEP_BOTH, ///< The tile has a steep slope. The lowest corner is raised by a foundation and the upper halftile is leveled.
|
||||
FOUNDATION_HALFTILE_W, ///< Level west halftile non-continuously.
|
||||
FOUNDATION_HALFTILE_S, ///< Level south halftile non-continuously.
|
||||
FOUNDATION_HALFTILE_E, ///< Level east halftile non-continuously.
|
||||
FOUNDATION_HALFTILE_N, ///< Level north halftile non-continuously.
|
||||
|
||||
/* Special anti-zig-zag foundations for single horizontal/vertical track */
|
||||
FOUNDATION_RAIL_W, ///< Foundation for TRACK_BIT_LEFT, but not a leveled foundation.
|
||||
FOUNDATION_RAIL_S, ///< Foundation for TRACK_BIT_LOWER, but not a leveled foundation.
|
||||
FOUNDATION_RAIL_E, ///< Foundation for TRACK_BIT_RIGHT, but not a leveled foundation.
|
||||
FOUNDATION_RAIL_N, ///< Foundation for TRACK_BIT_UPPER, but not a leveled foundation.
|
||||
|
||||
FOUNDATION_INVALID = 0xFF ///< Used inside "rail_cmd.cpp" to indicate invalid slope/track combination.
|
||||
};
|
||||
|
||||
#endif /* SLOPE_TYPE_H */
|
|
@ -15,7 +15,6 @@
|
|||
#include "table/sprites.h"
|
||||
#include "landscape.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "gui.h"
|
||||
#include "window_gui.h"
|
||||
#include "tree_map.h"
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include "table/sprites.h"
|
||||
#include "table/strings.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "station.h"
|
||||
#include "gfx.h"
|
||||
#include "viewport.h"
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#include "player.h"
|
||||
#include "oldpool.h"
|
||||
#include "sprite.h"
|
||||
#include "tile.h"
|
||||
#include "road_type.h"
|
||||
#include "newgrf_station.h"
|
||||
#include "cargopacket.h"
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include "table/sprites.h"
|
||||
#include "table/strings.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "station.h"
|
||||
#include "gfx.h"
|
||||
#include "viewport.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include "table/strings.h"
|
||||
#include "functions.h"
|
||||
#include "player.h"
|
||||
#include "tile.h"
|
||||
#include "gui.h"
|
||||
#include "window_gui.h"
|
||||
#include "viewport.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include "map.h"
|
||||
#include "table/strings.h"
|
||||
#include "clear_map.h"
|
||||
#include "tile.h"
|
||||
#include "variables.h"
|
||||
#include "void_map.h"
|
||||
#include "tgp.h"
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
/** @file tile.cpp */
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "tile.h"
|
||||
#include "openttd.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
Slope GetTileSlope(TileIndex tile, uint *h)
|
||||
{
|
|
@ -1,57 +1,13 @@
|
|||
/* $Id$ */
|
||||
|
||||
/** @file tile.h */
|
||||
/** @file tile_map.h Map writing/reading functions for tiles. */
|
||||
|
||||
#ifndef TILE_H
|
||||
#define TILE_H
|
||||
#ifndef TILE_MAP_H
|
||||
#define TILE_MAP_H
|
||||
|
||||
#include "macros.h"
|
||||
#include "openttd.h"
|
||||
#include "tile_type.h"
|
||||
#include "slope_type.h"
|
||||
#include "map.h"
|
||||
#include "slope.h"
|
||||
|
||||
/** Maximum allowed tile height */
|
||||
#define MAX_TILE_HEIGHT 15
|
||||
|
||||
/** Maximum allowed snowline height */
|
||||
#define MAX_SNOWLINE_HEIGHT (MAX_TILE_HEIGHT - 2)
|
||||
|
||||
/**
|
||||
* The different type of a tile.
|
||||
*
|
||||
* Each tile belongs to one type, according whatever is build on it.
|
||||
*
|
||||
* @note A railway with a crossing street is marked as MP_ROAD.
|
||||
*/
|
||||
enum TileType {
|
||||
MP_CLEAR, ///< A tile without any structures, i.e. grass, rocks, farm fields etc.
|
||||
MP_RAILWAY, ///< A railway
|
||||
MP_ROAD, ///< A tile with road (or tram tracks)
|
||||
MP_HOUSE, ///< A house by a town
|
||||
MP_TREES, ///< Tile got trees
|
||||
MP_STATION, ///< A tile of a station
|
||||
MP_WATER, ///< Water tile
|
||||
MP_VOID, ///< Invisible tiles at the SW and SE border
|
||||
MP_INDUSTRY, ///< Part of an industry
|
||||
MP_TUNNELBRIDGE, ///< Tunnel entry/exit and bridge heads
|
||||
MP_UNMOVABLE, ///< Contains an object with cannot be removed like transmitters
|
||||
};
|
||||
|
||||
/**
|
||||
* Additional infos of a tile on a tropic game.
|
||||
*
|
||||
* Each non-water tile in a tropic game is either a rainforest tile or a
|
||||
* desert one.
|
||||
*/
|
||||
enum TropicZone {
|
||||
TROPICZONE_INVALID = 0, ///< Invalid tropiczone-type
|
||||
TROPICZONE_DESERT = 1, ///< Tile is desert
|
||||
TROPICZONE_RAINFOREST = 2, ///< Rainforest tile
|
||||
};
|
||||
|
||||
Slope GetTileSlope(TileIndex tile, uint *h);
|
||||
uint GetTileZ(TileIndex tile);
|
||||
uint GetTileMaxZ(TileIndex tile);
|
||||
|
||||
/**
|
||||
* Returns the height of a tile
|
||||
|
@ -226,4 +182,9 @@ static inline TropicZone GetTropicZone(TileIndex tile)
|
|||
assert(tile < MapSize());
|
||||
return (TropicZone)GB(_m[tile].m6, 0, 2);
|
||||
}
|
||||
#endif /* TILE_H */
|
||||
|
||||
Slope GetTileSlope(TileIndex tile, uint *h);
|
||||
uint GetTileZ(TileIndex tile);
|
||||
uint GetTileMaxZ(TileIndex tile);
|
||||
|
||||
#endif /* TILE_TYPE_H */
|
|
@ -0,0 +1,54 @@
|
|||
/* $Id$ */
|
||||
|
||||
/** @file tile_type.h Types related to tiles. */
|
||||
|
||||
#ifndef TILE_TYPE_H
|
||||
#define TILE_TYPE_H
|
||||
|
||||
#include "core/enum_type.hpp"
|
||||
|
||||
/** Maximum allowed tile height */
|
||||
#define MAX_TILE_HEIGHT 15
|
||||
|
||||
/** Maximum allowed snowline height */
|
||||
#define MAX_SNOWLINE_HEIGHT (MAX_TILE_HEIGHT - 2)
|
||||
|
||||
/**
|
||||
* The different type of a tile.
|
||||
*
|
||||
* Each tile belongs to one type, according whatever is build on it.
|
||||
*
|
||||
* @note A railway with a crossing street is marked as MP_ROAD.
|
||||
*/
|
||||
enum TileType {
|
||||
MP_CLEAR, ///< A tile without any structures, i.e. grass, rocks, farm fields etc.
|
||||
MP_RAILWAY, ///< A railway
|
||||
MP_ROAD, ///< A tile with road (or tram tracks)
|
||||
MP_HOUSE, ///< A house by a town
|
||||
MP_TREES, ///< Tile got trees
|
||||
MP_STATION, ///< A tile of a station
|
||||
MP_WATER, ///< Water tile
|
||||
MP_VOID, ///< Invisible tiles at the SW and SE border
|
||||
MP_INDUSTRY, ///< Part of an industry
|
||||
MP_TUNNELBRIDGE, ///< Tunnel entry/exit and bridge heads
|
||||
MP_UNMOVABLE, ///< Contains an object with cannot be removed like transmitters
|
||||
};
|
||||
|
||||
/**
|
||||
* Additional infos of a tile on a tropic game.
|
||||
*
|
||||
* Each non-water tile in a tropic game is either a rainforest tile or a
|
||||
* desert one.
|
||||
*/
|
||||
enum TropicZone {
|
||||
TROPICZONE_INVALID = 0, ///< Invalid tropiczone-type
|
||||
TROPICZONE_DESERT = 1, ///< Tile is desert
|
||||
TROPICZONE_RAINFOREST = 2, ///< Rainforest tile
|
||||
};
|
||||
|
||||
/**
|
||||
* The index/ID of a Tile.
|
||||
*/
|
||||
typedef uint32 TileIndex;
|
||||
|
||||
#endif /* TILE_TYPE_H */
|
|
@ -13,7 +13,6 @@
|
|||
#include "table/sprites.h"
|
||||
#include "map.h"
|
||||
#include "landscape.h"
|
||||
#include "tile.h"
|
||||
#include "town_map.h"
|
||||
#include "tunnel_map.h"
|
||||
#include "viewport.h"
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include "town.h"
|
||||
#include "date.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
/**
|
||||
* Get the index of which town this house/street is attached to.
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include "track_type.h"
|
||||
#include "direction_type.h"
|
||||
#include "slope_func.h"
|
||||
|
||||
/**
|
||||
* Convert an Axis to the corresponding Track
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include "table/strings.h"
|
||||
#include "strings.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "tunnel_map.h"
|
||||
#include "vehicle.h"
|
||||
#include "timetable.h"
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include "functions.h"
|
||||
#include "map.h"
|
||||
#include "landscape.h"
|
||||
#include "tile.h"
|
||||
#include "tree_map.h"
|
||||
#include "viewport.h"
|
||||
#include "command.h"
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
#include "stdafx.h"
|
||||
#include "openttd.h"
|
||||
#include "tile.h"
|
||||
#include "tunnel_map.h"
|
||||
#include "tunnelbridge_map.h"
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "map.h"
|
||||
#include "rail_type.h"
|
||||
#include "road_type.h"
|
||||
#include "tile_map.h"
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
#include "functions.h"
|
||||
#include "map.h"
|
||||
#include "landscape.h"
|
||||
#include "tile.h"
|
||||
#include "tunnel_map.h"
|
||||
#include "unmovable_map.h"
|
||||
#include "vehicle.h"
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#include "direction_func.h"
|
||||
#include "core/bitmath_func.hpp" /* GB, HasBit, SB */
|
||||
#include "map.h" /* Tile, TileIndex */
|
||||
#include "tile.h" /* TileType, IsTileType */
|
||||
#include "tile_map.h" /* TileType, IsTileType */
|
||||
#include "openttd.h" /* TransportType */
|
||||
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#include "functions.h"
|
||||
#include "landscape.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "command.h"
|
||||
#include "viewport.h"
|
||||
#include "player.h"
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include "functions.h"
|
||||
#include "landscape.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "vehicle.h"
|
||||
#include "timetable.h"
|
||||
#include "gfx.h"
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#ifndef VEHICLE_H
|
||||
#define VEHICLE_H
|
||||
|
||||
#include "vehicle_type.h"
|
||||
#include "oldpool.h"
|
||||
#include "order.h"
|
||||
#include "track_type.h"
|
||||
|
@ -69,20 +70,6 @@ enum RoadVehicleStates {
|
|||
RVSB_ROAD_STOP_TRACKDIR_MASK = 0x09 ///< Only bits 0 and 3 are used to encode the trackdir for road stops
|
||||
};
|
||||
|
||||
enum VehicleType {
|
||||
VEH_TRAIN,
|
||||
VEH_ROAD,
|
||||
VEH_SHIP,
|
||||
VEH_AIRCRAFT,
|
||||
VEH_SPECIAL,
|
||||
VEH_DISASTER,
|
||||
VEH_END,
|
||||
VEH_INVALID = 0xFF,
|
||||
};
|
||||
DECLARE_POSTFIX_INCREMENT(VehicleType);
|
||||
template <> struct EnumPropsT<VehicleType> : MakeEnumPropsT<VehicleType, byte, VEH_TRAIN, VEH_END, VEH_INVALID> {};
|
||||
typedef TinyEnumT<VehicleType> VehicleTypeByte;
|
||||
|
||||
enum VehStatus {
|
||||
VS_HIDDEN = 0x01,
|
||||
VS_STOPPED = 0x02,
|
||||
|
@ -218,7 +205,6 @@ struct VehicleShip {
|
|||
TrackBitsByte state;
|
||||
};
|
||||
|
||||
struct Vehicle;
|
||||
DECLARE_OLD_POOL(Vehicle, Vehicle, 9, 125)
|
||||
|
||||
/* Some declarations of functions, so we can make them friendly */
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/* $Id$ */
|
||||
|
||||
/** @file vehicle_type.h Types related to vehicles. */
|
||||
|
||||
#ifndef VEHICLE_TYPE_H
|
||||
#define VEHICLE_TYPE_H
|
||||
|
||||
#include "core/enum_type.hpp"
|
||||
|
||||
typedef uint16 VehicleID;
|
||||
|
||||
enum VehicleType {
|
||||
VEH_TRAIN,
|
||||
VEH_ROAD,
|
||||
VEH_SHIP,
|
||||
VEH_AIRCRAFT,
|
||||
VEH_SPECIAL,
|
||||
VEH_DISASTER,
|
||||
VEH_END,
|
||||
VEH_INVALID = 0xFF,
|
||||
};
|
||||
DECLARE_POSTFIX_INCREMENT(VehicleType);
|
||||
template <> struct EnumPropsT<VehicleType> : MakeEnumPropsT<VehicleType, byte, VEH_TRAIN, VEH_END, VEH_INVALID> {};
|
||||
typedef TinyEnumT<VehicleType> VehicleTypeByte;
|
||||
|
||||
struct Vehicle;
|
||||
|
||||
#endif /* VEHICLE_TYPE_H */
|
|
@ -5,6 +5,8 @@
|
|||
#ifndef VOID_MAP_H
|
||||
#define VOID_MAP_H
|
||||
|
||||
#include "tile_map.h"
|
||||
|
||||
/**
|
||||
* Make a nice void tile ;)
|
||||
* @param t the tile to make void
|
||||
|
|
|
@ -10,5 +10,6 @@ void DrawShipDepotSprite(int x, int y, int image);
|
|||
void DrawCanalWater(TileIndex tile);
|
||||
void MakeWaterOrCanalDependingOnOwner(TileIndex tile, Owner o);
|
||||
void MakeWaterOrCanalDependingOnSurroundings(TileIndex t, Owner o);
|
||||
void FloodHalftile(TileIndex t);
|
||||
|
||||
#endif /* WATER_H */
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
#include "functions.h"
|
||||
#include "landscape.h"
|
||||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include "vehicle.h"
|
||||
#include "viewport.h"
|
||||
#include "command.h"
|
||||
|
@ -25,6 +24,7 @@
|
|||
#include "vehicle_gui.h"
|
||||
#include "train.h"
|
||||
#include "roadveh.h"
|
||||
#include "water.h"
|
||||
#include "water_map.h"
|
||||
#include "industry_map.h"
|
||||
#include "newgrf.h"
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include "bridge_map.h"
|
||||
#include "saveload.h"
|
||||
#include "station.h"
|
||||
#include "tile.h"
|
||||
#include "town.h"
|
||||
#include "waypoint.h"
|
||||
#include "variables.h"
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
#ifndef TRACK_DIR_HPP
|
||||
#define TRACK_DIR_HPP
|
||||
|
||||
#include "../tile.h"
|
||||
#include "../tile_type.h"
|
||||
#include "../openttd.h"
|
||||
#include "../map.h"
|
||||
#include "../rail.h"
|
||||
#include "../rail_type.h"
|
||||
|
||||
#endif /* TRACK_DIR_HPP */
|
||||
|
|
Loading…
Reference in New Issue