diff --git a/src/ai/ai.cpp b/src/ai/ai.cpp index 3a4a435a10..4a075b3ad9 100644 --- a/src/ai/ai.cpp +++ b/src/ai/ai.cpp @@ -5,7 +5,7 @@ #include "../variables.h" #include "../command_func.h" #include "../network/network.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include "ai.h" #include "default/default.h" diff --git a/src/ai/default/default.cpp b/src/ai/default/default.cpp index 93f1309dc5..b16fd8e300 100644 --- a/src/ai/default/default.cpp +++ b/src/ai/default/default.cpp @@ -25,7 +25,6 @@ #include "../../variables.h" #include "../../bridge.h" #include "../../date.h" -#include "../../helpers.hpp" #include "../../tunnelbridge_map.h" #include "default.h" diff --git a/src/airport.cpp b/src/airport.cpp index 2fd5c09a17..f32df33025 100644 --- a/src/airport.cpp +++ b/src/airport.cpp @@ -11,6 +11,7 @@ #include "airport_movement.h" #include "date.h" #include "core/bitmath_func.hpp" +#include "core/alloc_func.hpp" /* Uncomment this to print out a full report of the airport-structure * You should either use diff --git a/src/aystar.cpp b/src/aystar.cpp index cb4f3ab72f..99ca1b2076 100644 --- a/src/aystar.cpp +++ b/src/aystar.cpp @@ -21,7 +21,7 @@ #include "stdafx.h" #include "openttd.h" #include "aystar.h" -#include "helpers.hpp" +#include "core/alloc_func.hpp" int _aystar_stats_open_size; int _aystar_stats_closed_size; diff --git a/src/blitter/32bpp_anim.cpp b/src/blitter/32bpp_anim.cpp index 0b6e862302..40bf358db7 100644 --- a/src/blitter/32bpp_anim.cpp +++ b/src/blitter/32bpp_anim.cpp @@ -1,7 +1,7 @@ /* $Id$ */ #include "../stdafx.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include "../gfx_func.h" #include "../zoom_func.h" #include "../debug.h" diff --git a/src/blitter/8bpp_optimized.cpp b/src/blitter/8bpp_optimized.cpp index b795e2891e..7b71659751 100644 --- a/src/blitter/8bpp_optimized.cpp +++ b/src/blitter/8bpp_optimized.cpp @@ -5,7 +5,7 @@ #include "../stdafx.h" #include "../zoom_func.h" #include "../debug.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include "8bpp_optimized.hpp" static FBlitter_8bppOptimized iFBlitter_8bppOptimized; diff --git a/src/bmp.cpp b/src/bmp.cpp index 0dc5cd8f26..c5677fbd78 100644 --- a/src/bmp.cpp +++ b/src/bmp.cpp @@ -3,9 +3,9 @@ /** @file bmp.cpp */ #include "stdafx.h" -#include "helpers.hpp" #include "bmp.h" #include "core/bitmath_func.hpp" +#include "core/alloc_func.hpp" void BmpInitializeBuffer(BmpBuffer *buffer, FILE *file) { diff --git a/src/console.cpp b/src/console.cpp index 7d0efa6dc3..f18c6749c9 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -15,10 +15,10 @@ #include #include #include "console.h" -#include "helpers.hpp" #include "network/network.h" #include "network/network_data.h" #include "network/network_server.h" +#include "core/alloc_func.hpp" #define ICON_BUFFER 79 #define ICON_HISTORY_SIZE 20 diff --git a/src/core/alloc_func.hpp b/src/core/alloc_func.hpp new file mode 100644 index 0000000000..5d88e64e83 --- /dev/null +++ b/src/core/alloc_func.hpp @@ -0,0 +1,84 @@ +/* $Id$ */ + +/** @file alloc_func.hpp Functions related to the allocation of memory */ + +#ifndef ALLOC_FUNC_HPP +#define ALLOC_FUNC_HPP + +/** + * Simplified allocation function that allocates the specified number of + * elements of the given type. It also explicitly casts it to the requested + * type. + * @note throws an error when there is no memory anymore. + * @note the memory contains garbage data (i.e. possibly non-zero values). + * @param T the type of the variable(s) to allocation. + * @param num_elements the number of elements to allocate of the given type. + * @return NULL when num_elements == 0, non-NULL otherwise. + */ +template FORCEINLINE T* MallocT(size_t num_elements) +{ + /* + * MorphOS cannot handle 0 elements allocations, or rather that always + * returns NULL. So we do that for *all* allocations, thus causing it + * to behave the same on all OSes. + */ + if (num_elements == 0) return NULL; + + T *t_ptr = (T*)malloc(num_elements * sizeof(T)); + if (t_ptr == NULL) error("Out of memory. Cannot allocate %i bytes", num_elements * sizeof(T)); + return t_ptr; +} + +/** + * Simplified allocation function that allocates the specified number of + * elements of the given type. It also explicitly casts it to the requested + * type. + * @note throws an error when there is no memory anymore. + * @note the memory contains all zero values. + * @param T the type of the variable(s) to allocation. + * @param num_elements the number of elements to allocate of the given type. + * @return NULL when num_elements == 0, non-NULL otherwise. + */ +template FORCEINLINE T* CallocT(size_t num_elements) +{ + /* + * MorphOS cannot handle 0 elements allocations, or rather that always + * returns NULL. So we do that for *all* allocations, thus causing it + * to behave the same on all OSes. + */ + if (num_elements == 0) return NULL; + + T *t_ptr = (T*)calloc(num_elements, sizeof(T)); + if (t_ptr == NULL) error("Out of memory. Cannot allocate %i bytes", num_elements * sizeof(T)); + return t_ptr; +} + +/** + * Simplified reallocation function that allocates the specified number of + * elements of the given type. It also explicitly casts it to the requested + * type. It extends/shrinks the memory allocation given in t_ptr. + * @note throws an error when there is no memory anymore. + * @note the memory contains all zero values. + * @param T the type of the variable(s) to allocation. + * @param t_ptr the previous allocation to extend/shrink. + * @param num_elements the number of elements to allocate of the given type. + * @return NULL when num_elements == 0, non-NULL otherwise. + */ +template FORCEINLINE T* ReallocT(T *t_ptr, size_t num_elements) +{ + /* + * MorphOS cannot handle 0 elements allocations, or rather that always + * returns NULL. So we do that for *all* allocations, thus causing it + * to behave the same on all OSes. + */ + if (num_elements == 0) { + free(t_ptr); + return NULL; + } + + t_ptr = (T*)realloc(t_ptr, num_elements * sizeof(T)); + if (t_ptr == NULL) error("Out of memory. Cannot reallocate %i bytes", num_elements * sizeof(T)); + return t_ptr; +} + +#endif /* ALLOC_FUNC_HPP */ diff --git a/src/core/math_func.hpp b/src/core/math_func.hpp index c05e7ffebb..e20dc60656 100644 --- a/src/core/math_func.hpp +++ b/src/core/math_func.hpp @@ -211,4 +211,16 @@ template static inline bool IsInsideMM(const T x, const uint min, co return (uint)(x - min) < (max - min); } +/** + * Type safe swap operation + * @param a variable to swap with b + * @param b variable to swap with a + */ +template void Swap(T& a, T& b) +{ + T t = a; + a = b; + b = t; +} + #endif /* MATH_FUNC_HPP */ diff --git a/src/fileio.cpp b/src/fileio.cpp index b7a679e1fc..3190013ca3 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -10,6 +10,7 @@ #include "variables.h" #include "debug.h" #include "fios.h" +#include "core/alloc_func.hpp" #ifdef WIN32 #include #else diff --git a/src/fileio.h b/src/fileio.h index 3ca2f35347..9e589ba712 100644 --- a/src/fileio.h +++ b/src/fileio.h @@ -5,7 +5,6 @@ #ifndef FILEIO_H #define FILEIO_H -#include "helpers.hpp" #include #include diff --git a/src/fios.cpp b/src/fios.cpp index 2dc10002c7..b2352d9572 100644 --- a/src/fios.cpp +++ b/src/fios.cpp @@ -10,10 +10,10 @@ #include "variables.h" #include "functions.h" #include "heightmap.h" -#include "helpers.hpp" #include "table/strings.h" #include "fios.h" #include "fileio.h" +#include "core/alloc_func.hpp" #include #include diff --git a/src/fontcache.cpp b/src/fontcache.cpp index e693d0a7da..1f48d20db1 100644 --- a/src/fontcache.cpp +++ b/src/fontcache.cpp @@ -11,10 +11,10 @@ #include "spritecache.h" #include "string.h" #include "fontcache.h" -#include "helpers.hpp" #include "spriteloader/spriteloader.hpp" #include "blitter/factory.hpp" #include "gfx_func.h" +#include "core/alloc_func.hpp" #ifdef WITH_FREETYPE diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index 9b186b127d..f4b7e09a76 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -13,9 +13,9 @@ #include "economy_func.h" #include "variables.h" #include "date.h" -#include "helpers.hpp" #include "cargotype.h" #include "strings_func.h" +#include "core/alloc_func.hpp" /* Bitmasks of player and cargo indices that shouldn't be drawn. */ static uint _legend_excluded_players; diff --git a/src/group_gui.cpp b/src/group_gui.cpp index ca655ee754..09606ce37f 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -18,10 +18,10 @@ #include "train.h" #include "date.h" #include "group.h" -#include "helpers.hpp" #include "viewport.h" #include "debug.h" #include "strings_func.h" +#include "core/alloc_func.hpp" struct Sorting { diff --git a/src/heightmap.cpp b/src/heightmap.cpp index b287748f6a..cf23bb1cf1 100644 --- a/src/heightmap.cpp +++ b/src/heightmap.cpp @@ -14,8 +14,8 @@ #include "gui.h" #include "saveload.h" #include "bmp.h" -#include "helpers.hpp" #include "gfx_func.h" +#include "core/alloc_func.hpp" /** * Convert RGB colors to Grayscale using 29.9% Red, 58.7% Green, 11.4% Blue diff --git a/src/helpers.hpp b/src/helpers.hpp deleted file mode 100644 index aaa38acb59..0000000000 --- a/src/helpers.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/* $Id$ */ - -/** @file helpers.hpp */ - -#ifndef HELPERS_HPP -#define HELPERS_HPP - -/** When allocating using malloc/calloc in C++ it is usually needed to cast the return value -* from void* to the proper pointer type. Another alternative would be MallocT<> as follows */ -template FORCEINLINE T* MallocT(size_t num_elements) -{ - T *t_ptr = (T*)malloc(num_elements * sizeof(T)); - if (t_ptr == NULL && num_elements != 0) error("Out of memory. Cannot allocate %i bytes", num_elements * sizeof(T)); - return t_ptr; -} -/** When allocating using malloc/calloc in C++ it is usually needed to cast the return value -* from void* to the proper pointer type. Another alternative would be MallocT<> as follows */ -template FORCEINLINE T* CallocT(size_t num_elements) -{ - T *t_ptr = (T*)calloc(num_elements, sizeof(T)); - if (t_ptr == NULL && num_elements != 0) error("Out of memory. Cannot allocate %i bytes", num_elements * sizeof(T)); - return t_ptr; -} -/** When allocating using malloc/calloc in C++ it is usually needed to cast the return value -* from void* to the proper pointer type. Another alternative would be MallocT<> as follows */ -template FORCEINLINE T* ReallocT(T* t_ptr, size_t num_elements) -{ - t_ptr = (T*)realloc(t_ptr, num_elements * sizeof(T)); - if (t_ptr == NULL && num_elements != 0) error("Out of memory. Cannot reallocate %i bytes", num_elements * sizeof(T)); - return t_ptr; -} - - -/** type safe swap operation */ -template void Swap(T& a, T& b) -{ - T t = a; - a = b; - b = t; -} - -#endif /* HELPERS_HPP */ diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp index 1ca817d264..2dbdf993aa 100644 --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -17,7 +17,6 @@ #include "industry.h" #include "town.h" #include "variables.h" -#include "helpers.hpp" #include "cargotype.h" #include "newgrf.h" #include "newgrf_callbacks.h" diff --git a/src/landscape.cpp b/src/landscape.cpp index 0abef68eb7..3c87ce6c2f 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -22,6 +22,7 @@ #include "tgp.h" #include "genworld.h" #include "tile_cmd.h" +#include "core/alloc_func.hpp" extern const TileTypeProcs _tile_type_clear_procs, diff --git a/src/livery.h b/src/livery.h index 74797926b0..51da83c51f 100644 --- a/src/livery.h +++ b/src/livery.h @@ -5,7 +5,6 @@ #ifndef LIVERY_H #define LIVERY_H -#include "helpers.hpp" /* List of different livery schemes. */ enum LiveryScheme { diff --git a/src/map.cpp b/src/map.cpp index 33e255e7b3..cd65a146ea 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -7,9 +7,9 @@ #include "debug.h" #include "functions.h" #include "map.h" -#include "helpers.hpp" #include "direction_func.h" #include "core/bitmath_func.hpp" +#include "core/alloc_func.hpp" #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/misc/blob.hpp b/src/misc/blob.hpp index fd08385f8b..c485e92072 100644 --- a/src/misc/blob.hpp +++ b/src/misc/blob.hpp @@ -2,8 +2,10 @@ /** @file blob.hpp */ -#ifndef BLOB_HPP -#define BLOB_HPP +#ifndef BLOB_HPP +#define BLOB_HPP + +#include "../core/alloc_func.hpp" /** Type-safe version of memcpy(). * @param d destination buffer diff --git a/src/network/core/packet.cpp b/src/network/core/packet.cpp index 21c6b5ba63..d313751834 100644 --- a/src/network/core/packet.cpp +++ b/src/network/core/packet.cpp @@ -8,7 +8,6 @@ #include "../../stdafx.h" #include "../../string.h" -#include "../../helpers.hpp" #include "packet.h" diff --git a/src/network/core/tcp.cpp b/src/network/core/tcp.cpp index 1520a55f44..deb72a60b7 100644 --- a/src/network/core/tcp.cpp +++ b/src/network/core/tcp.cpp @@ -16,7 +16,6 @@ #include "../network_data.h" #include "packet.h" #include "tcp.h" -#include "../../helpers.hpp" /** Very ugly temporary hack !!! */ void NetworkTCPSocketHandler::Initialize() diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp index 58c586813c..8cd22ce620 100644 --- a/src/network/core/udp.cpp +++ b/src/network/core/udp.cpp @@ -10,6 +10,7 @@ #include "../../debug.h" #include "../../core/bitmath_func.hpp" #include "../../core/math_func.hpp" +#include "../../core/alloc_func.hpp" #include "packet.h" #include "udp.h" diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index ed47953ed0..e1ac2d5c5b 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -19,7 +19,7 @@ #include "../console.h" #include "../variables.h" #include "../ai/ai.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include "../fileio.h" #include "../md5.h" #include "../strings_func.h" diff --git a/src/network/network_data.cpp b/src/network/network_data.cpp index 8dddce4bfe..8e525cec97 100644 --- a/src/network/network_data.cpp +++ b/src/network/network_data.cpp @@ -9,7 +9,7 @@ #include "network_client.h" #include "../command_func.h" #include "../callback_table.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" // Add a command to the local command queue void NetworkAddCommandQueue(NetworkTCPSocketHandler *cs, CommandPacket *cp) diff --git a/src/network/network_gamelist.cpp b/src/network/network_gamelist.cpp index ade47801c1..91c469537c 100644 --- a/src/network/network_gamelist.cpp +++ b/src/network/network_gamelist.cpp @@ -10,7 +10,7 @@ #include "../stdafx.h" #include "../debug.h" #include "../newgrf_config.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include "core/game.h" #include "network_udp.h" #include "network_gamelist.h" diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 20e8f18a9a..485db74d47 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -26,7 +26,6 @@ #include "../string.h" #include "../town.h" #include "../newgrf.h" -#include "../helpers.hpp" #define BGC 5 #define BTC 15 diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 5406f9d062..47cd192284 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -23,7 +23,7 @@ #include "../station.h" #include "../variables.h" #include "../genworld.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include "../fileio.h" // This file handles all the server-commands diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 8ad70d1752..5a481000b1 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -33,7 +33,6 @@ #include "newgrf_house.h" #include "newgrf_sound.h" #include "newgrf_spritegroup.h" -#include "helpers.hpp" #include "table/town_land.h" #include "cargotype.h" #include "industry.h" diff --git a/src/newgrf.h b/src/newgrf.h index 3785fcc5d6..283b35ec80 100644 --- a/src/newgrf.h +++ b/src/newgrf.h @@ -8,7 +8,6 @@ #include "station.h" #include "town.h" #include "newgrf_config.h" -#include "helpers.hpp" #include "cargotype.h" #include "industry.h" diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index 326719a612..fb6a844247 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -13,7 +13,6 @@ #include "network/network_data.h" #include "newgrf.h" #include "newgrf_config.h" -#include "helpers.hpp" #include "fileio.h" #include "fios.h" diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 3f6f90dfb5..7afb4a91f2 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -19,7 +19,6 @@ #include "newgrf_spritegroup.h" #include "newgrf_cargo.h" #include "date.h" -#include "helpers.hpp" #include "cargotype.h" diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 84532927dd..531cf3aa53 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -13,7 +13,6 @@ #include "table/sprites.h" #include "newgrf.h" #include "newgrf_config.h" -#include "helpers.hpp" #include "strings_func.h" /** Parse an integerlist string and set each found value diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 788a07207d..6d0db261e2 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -19,7 +19,6 @@ #include "newgrf_station.h" #include "newgrf_spritegroup.h" #include "date.h" -#include "helpers.hpp" #include "cargotype.h" #include "town_map.h" #include "newgrf_town.h" diff --git a/src/newgrf_station.h b/src/newgrf_station.h index a143303037..b9a671804c 100644 --- a/src/newgrf_station.h +++ b/src/newgrf_station.h @@ -8,7 +8,6 @@ #include "engine.h" #include "newgrf_callbacks.h" #include "newgrf_cargo.h" -#include "helpers.hpp" enum StationClassID { STAT_CLASS_BEGIN = 0, ///< the lowest valid value diff --git a/src/newgrf_storage.cpp b/src/newgrf_storage.cpp index c5c06b2f9e..526e003136 100644 --- a/src/newgrf_storage.cpp +++ b/src/newgrf_storage.cpp @@ -3,7 +3,6 @@ /** @file newgrf_storage.cpp Functionality related to the temporary and persistent storage arrays for NewGRFs. */ #include "stdafx.h" -#include "helpers.hpp" #include "newgrf_storage.h" #include diff --git a/src/newgrf_storage.h b/src/newgrf_storage.h index cf7690a924..e3320d0551 100644 --- a/src/newgrf_storage.h +++ b/src/newgrf_storage.h @@ -5,6 +5,8 @@ #ifndef NEWGRF_STORAGE_H #define NEWGRF_STORAGE_H +#include "core/alloc_func.hpp" + /** * Base class for all NewGRF storage arrays. Nothing fancy, only here * so we have a generalised class to use. diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp index cd241632f9..c3df2f1bed 100644 --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -18,7 +18,6 @@ #include "newgrf.h" #include "newgrf_text.h" #include "table/control_codes.h" -#include "helpers.hpp" #include "date.h" #include "strings_func.h" diff --git a/src/newgrf_townname.cpp b/src/newgrf_townname.cpp index 1d46e19834..90855aa271 100644 --- a/src/newgrf_townname.cpp +++ b/src/newgrf_townname.cpp @@ -11,6 +11,7 @@ #include "table/strings.h" #include "newgrf_townname.h" #include "string.h" +#include "core/alloc_func.hpp" static GRFTownName *_grf_townnames = NULL; diff --git a/src/oldpool.cpp b/src/oldpool.cpp index 3d8326828a..9c447f4213 100644 --- a/src/oldpool.cpp +++ b/src/oldpool.cpp @@ -7,7 +7,7 @@ #include "debug.h" #include "functions.h" #include "oldpool.h" -#include "helpers.hpp" +#include "core/alloc_func.hpp" /** * Clean a pool in a safe way (does free all blocks) diff --git a/src/openttd.cpp b/src/openttd.cpp index d1e85eb15b..004bb32759 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -9,7 +9,6 @@ #include "driver.h" #include "saveload.h" #include "map.h" -#include "helpers.hpp" #include "openttd.h" #include "table/strings.h" diff --git a/src/openttd.h b/src/openttd.h index 3df5e7403e..a067f312d5 100644 --- a/src/openttd.h +++ b/src/openttd.h @@ -8,7 +8,6 @@ #define VARDEF extern #endif -#include "helpers.hpp" #include "strings_type.h" #include "map.h" diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index fe1634b473..16649da07e 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -20,6 +20,7 @@ #include "cargotype.h" #include "aircraft.h" #include "strings_func.h" +#include "core/alloc_func.hpp" DEFINE_OLD_POOL_GENERIC(Order, Order) diff --git a/src/queue.cpp b/src/queue.cpp index 1778458657..ebd3a37efb 100644 --- a/src/queue.cpp +++ b/src/queue.cpp @@ -5,7 +5,7 @@ #include "stdafx.h" #include "openttd.h" #include "queue.h" -#include "helpers.hpp" +#include "core/alloc_func.hpp" /* diff --git a/src/saveload.cpp b/src/saveload.cpp index 22cb8588dd..93edeeafb1 100644 --- a/src/saveload.cpp +++ b/src/saveload.cpp @@ -29,6 +29,7 @@ #include "window_func.h" #include "strings_func.h" #include "gfx_func.h" +#include "core/alloc_func.hpp" #include extern const uint16 SAVEGAME_VERSION = 83; diff --git a/src/screenshot.cpp b/src/screenshot.cpp index c77dce7228..d95ce98a95 100644 --- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -12,11 +12,11 @@ #include "variables.h" #include "date.h" #include "string.h" -#include "helpers.hpp" #include "blitter/factory.hpp" #include "fileio.h" #include "strings_func.h" #include "zoom_func.h" +#include "core/alloc_func.hpp" char _screenshot_format_name[8]; uint _num_screenshot_formats; diff --git a/src/settings.cpp b/src/settings.cpp index 52e1e4fa2e..d78c7b752a 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -40,7 +40,6 @@ #include "date.h" #include "rail.h" #include "train.h" -#include "helpers.hpp" #include "news.h" #include "window_func.h" #include "strings_func.h" diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 175939d207..bdd8e161fd 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -22,7 +22,6 @@ #include "settings.h" #include "vehicle.h" #include "date.h" -#include "helpers.hpp" #include "newgrf_townname.h" #include "strings_func.h" diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp index c816b809b1..2dbbd9f9bc 100644 --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -14,9 +14,9 @@ #include "signs.h" #include "debug.h" #include "variables.h" -#include "helpers.hpp" #include "command_func.h" #include "strings_func.h" +#include "core/alloc_func.hpp" static const Sign **_sign_sort; static uint _num_sign_sort; diff --git a/src/sound.cpp b/src/sound.cpp index 0e8acfc3c7..62176687af 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -13,9 +13,9 @@ #include "viewport.h" #include "fileio.h" #include "newgrf_sound.h" -#include "helpers.hpp" #include "fios.h" #include "window_gui.h" +#include "core/alloc_func.hpp" static uint _file_count; static FileEntry *_files; diff --git a/src/sound/win32_s.cpp b/src/sound/win32_s.cpp index 578011986b..3efff337ac 100644 --- a/src/sound/win32_s.cpp +++ b/src/sound/win32_s.cpp @@ -5,7 +5,7 @@ #include "../driver.h" #include "../functions.h" #include "../mixer.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include "win32_s.h" #include #include diff --git a/src/spritecache.cpp b/src/spritecache.cpp index ad22fff894..cf587c0eaf 100644 --- a/src/spritecache.cpp +++ b/src/spritecache.cpp @@ -11,8 +11,8 @@ #include "spritecache.h" #include "table/sprites.h" #include "fileio.h" -#include "helpers.hpp" #include "spriteloader/grf.hpp" +#include "core/alloc_func.hpp" #ifdef WITH_PNG #include "spriteloader/png.hpp" #endif /* WITH_PNG */ diff --git a/src/spriteloader/grf.cpp b/src/spriteloader/grf.cpp index e225ea52d2..d0bc0e334e 100644 --- a/src/spriteloader/grf.cpp +++ b/src/spriteloader/grf.cpp @@ -6,6 +6,7 @@ #include "../gfx_func.h" #include "../fileio.h" #include "../debug.h" +#include "../core/alloc_func.hpp" #include "grf.hpp" bool SpriteLoaderGrf::LoadSprite(SpriteLoader::Sprite *sprite, const char *filename, uint8 file_slot, uint32 file_pos) diff --git a/src/spriteloader/png.cpp b/src/spriteloader/png.cpp index 0a626d5fe0..a252433bde 100644 --- a/src/spriteloader/png.cpp +++ b/src/spriteloader/png.cpp @@ -9,6 +9,7 @@ #include "../fileio.h" #include "../variables.h" #include "../debug.h" +#include "../core/alloc_func.hpp" #include "png.hpp" #include diff --git a/src/station.cpp b/src/station.cpp index e713ceee82..c03e77e855 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -28,7 +28,6 @@ #include "newgrf_station.h" #include "yapf/yapf.h" #include "date.h" -#include "helpers.hpp" #include "cargotype.h" #include "roadveh.h" #include "station_gui.h" diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 899aab80af..08ca8c0e2b 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -34,7 +34,6 @@ #include "newgrf_station.h" #include "yapf/yapf.h" #include "date.h" -#include "helpers.hpp" #include "misc/autoptr.hpp" #include "road_type.h" #include "road_internal.h" /* For drawing catenary/checking road removal */ diff --git a/src/station_gui.cpp b/src/station_gui.cpp index e4378eac81..26b48fe4f3 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -20,11 +20,11 @@ #include "date.h" #include "vehicle.h" #include "table/sprites.h" -#include "helpers.hpp" #include "cargotype.h" #include "station_gui.h" #include "station.h" #include "strings_func.h" +#include "core/alloc_func.hpp" typedef int CDECL StationSortListingTypeFunction(const void*, const void*); diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp index 342678ba73..f981e7cd83 100644 --- a/src/strgen/strgen.cpp +++ b/src/strgen/strgen.cpp @@ -3,7 +3,7 @@ #include "../stdafx.h" #include "../string.h" #include "../table/control_codes.h" -#include "../helpers.hpp" +#include "../core/alloc_func.hpp" #include #include #include diff --git a/src/string.cpp b/src/string.cpp index 0a5343df59..7441ecc27c 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -7,8 +7,8 @@ #include "functions.h" #include "string.h" #include "table/control_codes.h" -#include "helpers.hpp" #include "debug.h" +#include "core/alloc_func.hpp" #include #include // required for tolower() diff --git a/src/strings.cpp b/src/strings.cpp index 862d5b47b9..101ec69b1e 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -23,7 +23,6 @@ #include "date.h" #include "industry.h" #include "fileio.h" -#include "helpers.hpp" #include "cargotype.h" #include "group.h" #include "debug.h" diff --git a/src/texteff.cpp b/src/texteff.cpp index c5a33ca72c..56ab24d924 100644 --- a/src/texteff.cpp +++ b/src/texteff.cpp @@ -20,6 +20,7 @@ #include "video/video_driver.hpp" #include "transparency.h" #include "strings_func.h" +#include "core/alloc_func.hpp" enum { MAX_TEXTMESSAGE_LENGTH = 200, diff --git a/src/tgp.cpp b/src/tgp.cpp index 0d5c278708..b65c394515 100644 --- a/src/tgp.cpp +++ b/src/tgp.cpp @@ -15,7 +15,7 @@ #include "tgp.h" #include "console.h" #include "genworld.h" -#include "helpers.hpp" +#include "core/alloc_func.hpp" /* * diff --git a/src/thread.cpp b/src/thread.cpp index 61b6ccabbe..4e4f065fbd 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -4,8 +4,8 @@ #include "stdafx.h" #include "thread.h" +#include "core/alloc_func.hpp" #include -#include "helpers.hpp" #if defined(__AMIGA__) || defined(PSP) || defined(NO_THREADS) OTTDThread *OTTDCreateThread(OTTDThreadFunc function, void *arg) { return NULL; } diff --git a/src/town.h b/src/town.h index d59c6c03ea..0c22618ab6 100644 --- a/src/town.h +++ b/src/town.h @@ -8,7 +8,6 @@ #include "oldpool.h" #include "player.h" #include "functions.h" -#include "helpers.hpp" enum { HOUSE_NO_CLASS = 0, diff --git a/src/town_gui.cpp b/src/town_gui.cpp index 1f74d79cd9..e5921b9224 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -17,9 +17,9 @@ #include "player.h" #include "network/network.h" #include "variables.h" -#include "helpers.hpp" #include "strings_func.h" #include "economy_func.h" +#include "core/alloc_func.hpp" enum TownAuthorityWidget { TWA_CLOSEBOX = 0, diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 79138d85c6..b5826bb176 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -38,7 +38,6 @@ #include "newgrf_callbacks.h" #include "newgrf_engine.h" #include "newgrf_sound.h" -#include "helpers.hpp" #include "group.h" #include "order.h" #include "strings_func.h" diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 3c1613212b..7b6c5ac84a 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -28,7 +28,6 @@ #include "aircraft.h" #include "roadveh.h" #include "depot.h" -#include "helpers.hpp" #include "cargotype.h" #include "group.h" #include "group_gui.h" diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp index 70732bb73f..5bc52032fc 100644 --- a/src/video/dedicated_v.cpp +++ b/src/video/dedicated_v.cpp @@ -14,6 +14,7 @@ #include "../genworld.h" #include "../fileio.h" #include "../blitter/factory.hpp" +#include "../core/alloc_func.hpp" #include "dedicated_v.h" #ifdef BEOS_NET_SERVER diff --git a/src/win32.cpp b/src/win32.cpp index b2c780cddd..4b3ebc6fb9 100644 --- a/src/win32.cpp +++ b/src/win32.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "debug.h" #include "functions.h" -#include "helpers.hpp" #include "saveload.h" #include "string.h" #include "gfx_func.h" @@ -22,6 +21,7 @@ #include "win32.h" #include "fios.h" // opendir/readdir/closedir #include "fileio.h" +#include "core/alloc_func.hpp" #include #include #include diff --git a/src/window.cpp b/src/window.cpp index 4a9a4e6006..605679f481 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -14,10 +14,10 @@ #include "variables.h" #include "table/sprites.h" #include "genworld.h" -#include "helpers.hpp" #include "blitter/factory.hpp" #include "window_gui.h" #include "zoom_func.h" +#include "core/alloc_func.hpp" /* delta between mouse cursor and upper left corner of dragged window */ static Point _drag_delta;