(svn r13727) -Fix (r13375): compilation with NO_DEBUG_MESSAGES was broken

This commit is contained in:
smatz 2008-07-18 12:11:46 +00:00
parent 69cb2f088f
commit 927507818f
5 changed files with 16 additions and 7 deletions

View File

@ -61,7 +61,7 @@ struct DebugLevel {
#if !defined(NO_DEBUG_MESSAGES) #if !defined(NO_DEBUG_MESSAGES)
void CDECL debug_print(const char *dbg, const char *buf) static void debug_print(const char *dbg, const char *buf)
{ {
#if defined(ENABLE_NETWORK) #if defined(ENABLE_NETWORK)
if (_debug_socket != INVALID_SOCKET) { if (_debug_socket != INVALID_SOCKET) {

View File

@ -50,7 +50,6 @@
extern int _debug_gamelog_level; extern int _debug_gamelog_level;
void CDECL debug(const char *dbg, ...); void CDECL debug(const char *dbg, ...);
void CDECL debug_print(const char *dbg, const char *buf);
#endif /* NO_DEBUG_MESSAGES */ #endif /* NO_DEBUG_MESSAGES */
void SetDebugString(const char *s); void SetDebugString(const char *s);

View File

@ -114,10 +114,12 @@ void GamelogStopAction()
{ {
assert(_gamelog_action_type != GLAT_NONE); // nobody should try to stop if there is no action in progress assert(_gamelog_action_type != GLAT_NONE); // nobody should try to stop if there is no action in progress
bool print = _current_action != NULL;
_current_action = NULL; _current_action = NULL;
_gamelog_action_type = GLAT_NONE; _gamelog_action_type = GLAT_NONE;
if (_debug_gamelog_level > 4) GamelogPrintDebug(); if (print) GamelogPrintDebug(5);
} }
/** Resets and frees all memory allocated - used before loading or starting a new game /** Resets and frees all memory allocated - used before loading or starting a new game
@ -318,14 +320,22 @@ void GamelogPrintConsole()
GamelogPrint(&GamelogPrintConsoleProc); GamelogPrint(&GamelogPrintConsoleProc);
} }
static int _gamelog_print_level = 0; ///< gamelog debug level we need to print stuff
static void GamelogPrintDebugProc(const char *s) static void GamelogPrintDebugProc(const char *s)
{ {
debug_print("gamelog", s); DEBUG(gamelog, _gamelog_print_level, s);
} }
void GamelogPrintDebug()
/** Prints gamelog to debug output. Code is executed even when
* there will be no output. It is called very seldom, so it
* doesn't matter that much. At least it gives more uniform code...
* @param level debug level we need to print stuff
*/
void GamelogPrintDebug(int level)
{ {
_gamelog_print_level = level;
GamelogPrint(&GamelogPrintDebugProc); GamelogPrint(&GamelogPrintDebugProc);
} }

View File

@ -25,7 +25,7 @@ void GamelogReset();
typedef void GamelogPrintProc(const char *s); typedef void GamelogPrintProc(const char *s);
void GamelogPrint(GamelogPrintProc *proc); // needed for WIN32 / WINCE crash.log void GamelogPrint(GamelogPrintProc *proc); // needed for WIN32 / WINCE crash.log
void GamelogPrintDebug(); void GamelogPrintDebug(int level);
void GamelogPrintConsole(); void GamelogPrintConsole();
void GamelogRevision(); void GamelogRevision();

View File

@ -2455,7 +2455,7 @@ bool AfterLoadGame()
} }
} }
if (_debug_gamelog_level > 0) GamelogPrintDebug(); GamelogPrintDebug(1);
return InitializeWindowsAndCaches(); return InitializeWindowsAndCaches();
} }