Change grfmsg to be a macro which checks the debug level first

This is to avoid doing a sprintf when the result will be thrown away
pull/59/head
Jonathan G Rennison 6 years ago
parent 0d0d55f81d
commit 641e877441

@ -377,7 +377,7 @@ static GRFLineToSpriteOverride _grf_line_to_action6_sprite_override;
* @param severity debugging severity level, see debug.h
* @param str message in printf() format
*/
void CDECL grfmsg(int severity, const char *str, ...)
void CDECL _intl_grfmsg(int severity, const char *str, ...)
{
char buf[1024];
va_list va;

@ -15,6 +15,7 @@
#include "cargotype.h"
#include "rail_type.h"
#include "fileio_type.h"
#include "debug.h"
#include "core/bitmath_func.hpp"
#include "core/alloc_type.hpp"
#include "core/smallvec_type.hpp"
@ -188,7 +189,8 @@ void ReloadNewGRFData(); // in saveload/afterload.cpp
void ResetNewGRFData();
void ResetPersistentNewGRFData();
void CDECL grfmsg(int severity, const char *str, ...) WARN_FORMAT(2, 3);
#define grfmsg(severity, ...) if ((severity) == 0 || _debug_grf_level >= (severity)) _intl_grfmsg(severity, __VA_ARGS__)
void CDECL _intl_grfmsg(int severity, const char *str, ...) WARN_FORMAT(2, 3);
bool GetGlobalVariable(byte param, uint32 *value, const GRFFile *grffile);

@ -9,6 +9,7 @@
/** @file newgrf_class_func.h Implementation of the NewGRF class' functions. */
#include "newgrf.h"
#include "newgrf_class.h"
#include "table/strings.h"

Loading…
Cancel
Save