From da460f6928851dee007fab7637c75a242398370c Mon Sep 17 00:00:00 2001 From: truebrain Date: Sun, 1 Jan 2012 16:38:38 +0000 Subject: (svn r23703) -Codechange: allow a compiler to inline a wrapper function, avoiding creation of a function stack, massively increasing its speed, for a function that is called often --- src/newgrf.cpp | 12 +----------- src/newgrf.h | 13 ++++++++++++- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 4d58fe590..49f3f8ab8 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -66,7 +66,7 @@ static SmallVector _grf_files; /** Miscellaneous GRF features, set by Action 0x0D, parameter 0x9E */ -static byte _misc_grf_features = 0; +byte _misc_grf_features = 0; /** 32 * 8 = 256 flags. Apparently TTDPatch uses this many.. */ static uint32 _ttdpatch_flags[8]; @@ -9062,13 +9062,3 @@ void LoadNewGRF(uint load_index, uint file_index) _tick_counter = tick_counter; _display_opt = display_opt; } - -/** - * Check for grf miscelaneous bits - * @param bit The bit to check. - * @return Whether the bit is set. - */ -bool HasGrfMiscBit(GrfMiscBit bit) -{ - return HasBit(_misc_grf_features, bit); -} diff --git a/src/newgrf.h b/src/newgrf.h index 6137654ab..74a95f8b8 100644 --- a/src/newgrf.h +++ b/src/newgrf.h @@ -15,6 +15,7 @@ #include "cargotype.h" #include "rail_type.h" #include "fileio_type.h" +#include "core/bitmath_func.hpp" /** * List of different canal 'features'. @@ -162,6 +163,17 @@ struct GRFLoadedFeatures { ShoreReplacement shore; ///< It which way shore sprites were replaced. }; +/** + * Check for grf miscelaneous bits + * @param bit The bit to check. + * @return Whether the bit is set. + */ +static inline bool HasGrfMiscBit(GrfMiscBit bit) +{ + extern byte _misc_grf_features; + return HasBit(_misc_grf_features, bit); +} + /* Indicates which are the newgrf features currently loaded ingame */ extern GRFLoadedFeatures _loaded_newgrf_features; @@ -173,7 +185,6 @@ void ResetPersistentNewGRFData(); void CDECL grfmsg(int severity, const char *str, ...) WARN_FORMAT(2, 3); -bool HasGrfMiscBit(GrfMiscBit bit); bool GetGlobalVariable(byte param, uint32 *value, const GRFFile *grffile); StringID MapGRFStringID(uint32 grfid, StringID str); -- cgit v1.2.3-54-g00ecf