(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

pull/155/head
truebrain 13 years ago
parent b4464e8076
commit 8ca67aae5d

@ -66,7 +66,7 @@
static SmallVector<GRFFile *, 16> _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);
}

@ -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);

Loading…
Cancel
Save