diff --git a/src/map.cpp b/src/map.cpp index 91d02b3f9d..0308640bf0 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -17,11 +17,6 @@ #include "safeguards.h" -#if defined(_MSC_VER) -/* Why the hell is that not in all MSVC headers?? */ -extern "C" _CRTIMP void __cdecl _assert(void *, void *, unsigned); -#endif - /* static */ uint Map::log_x; ///< 2^_map_log_x == _map_size_x /* static */ uint Map::log_y; ///< 2^_map_log_y == _map_size_y /* static */ uint Map::size_x; ///< Size of the map along the X @@ -69,32 +64,18 @@ extern "C" _CRTIMP void __cdecl _assert(void *, void *, unsigned); #ifdef _DEBUG -TileIndex TileAdd(TileIndex tile, TileIndexDiff add, - const char *exp, const char *file, int line) +TileIndex TileAdd(TileIndex tile, TileIndexDiff offset) { - int dx; - int dy; - uint x; - uint y; - - dx = add & Map::MaxX(); + int dx = offset & Map::MaxX(); if (dx >= (int)Map::SizeX() / 2) dx -= Map::SizeX(); - dy = (add - dx) / (int)Map::SizeX(); + int dy = (offset - dx) / (int)Map::SizeX(); - x = TileX(tile) + dx; - y = TileY(tile) + dy; + uint32_t x = TileX(tile) + dx; + uint32_t y = TileY(tile) + dy; - if (x >= Map::SizeX() || y >= Map::SizeY()) { - std::string message = fmt::format("TILE_ADD({}) when adding 0x{:04X} and 0x{:04X} failed", - exp, tile, add); -#if !defined(_MSC_VER) - fmt::print(stderr, "{}:{} {}\n", file, line, message); -#else - _assert(message.data(), (char*)file, line); -#endif - } - - assert(TileXY(x, y) == Map::WrapToMap(tile + add)); + assert(x < Map::SizeX()); + assert(y < Map::SizeY()); + assert(TileXY(x, y) == Map::WrapToMap(tile + offset)); return TileXY(x, y); } diff --git a/src/map_func.h b/src/map_func.h index 14d65db690..1684f0fd57 100644 --- a/src/map_func.h +++ b/src/map_func.h @@ -465,9 +465,8 @@ inline TileIndexDiff ToTileIndexDiff(TileIndexDiffC tidc) */ # 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__)) + extern TileIndex TileAdd(TileIndex tile, TileIndexDiff offset); +# define TILE_ADD(x, y) (TileAdd((x), (y)) #endif /**