1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#ifndef COMMON_DEBUG_H
#define COMMON_DEBUG_H
#include "common/scummsys.h"
#ifdef DISABLE_TEXT_CONSOLE
inline void debug(const char *s, ...) {}
inline void debug(int level, const char *s, ...) {}
inline void debugN(const char *s, ...) {}
inline void debugN(int level, const char *s, ...) {}
inline void debugC(int level, uint32 debugChannels, const char *s, ...) {}
inline void debugC(uint32 debugChannels, const char *s, ...) {}
inline void debugCN(int level, uint32 debugChannels, const char *s, ...) {}
inline void debugCN(uint32 debugChannels, const char *s, ...) {}
#else
/**
* Print a debug message to the text console (stdout).
* Automatically appends a newline.
*/
void debug(const char *s, ...) GCC_PRINTF(1, 2);
/**
* Print a debug message to the text console (stdout), but only if
* the gDebugLevel equals at least the specified level.
* As a rule of thumb, the more important the message, the lower the level.
* Automatically appends a newline.
*/
void debug(int level, const char *s, ...) GCC_PRINTF(2, 3);
/**
* Print a debug message to the text console (stdout).
* Does not append a newline.
*/
void debugN(const char *s, ...) GCC_PRINTF(1, 2);
/**
* Print a debug message to the text console (stdout), but only if
* the gDebugLevel equals at least the specified level.
* As a rule of thumb, the more important the message, the lower the level.
* Does not append a newline.
*/
void debugN(int level, const char *s, ...) GCC_PRINTF(2, 3);
/**
* Print a debug message to the text console (stdout), but only if
* the gDebugLevel equals at least the specified level AND
* if the specified special debug level is active.
* As a rule of thumb, the more important the message, the lower the level.
* Automatically appends a newline.
*
* @see enableDebugChannel
*/
void debugC(int level, uint32 debugChannels, const char *s, ...) GCC_PRINTF(3, 4);
/**
* Print a debug message to the text console (stdout), but only if
* the gDebugLevel equals at least the specified level AND
* if the specified special debug level is active.
* As a rule of thumb, the more important the message, the lower the level.
* Does not append a newline automatically.
*
* @see enableDebugChannel
*/
void debugCN(int level, uint32 debugChannels, const char *s, ...) GCC_PRINTF(3, 4);
/**
* Print a debug message to the text console (stdout), but only if
* the specified special debug level is active.
* Automatically appends a newline.
*
* @see enableDebugChannel
*/
void debugC(uint32 debugChannels, const char *s, ...) GCC_PRINTF(2, 3);
/**
* Print a debug message to the text console (stdout), but only if
* the specified special debug level is active.
* Does not append a newline automatically.
*
* @see enableDebugChannel
*/
void debugCN(uint32 debugChannels, const char *s, ...) GCC_PRINTF(2, 3);
#endif
/**
* Returns true if the debug level is set to the specified level
*/
bool debugLevelSet(int level);
/**
* Returns true if the debug level and channel are active
*
* @param level debug level to check against. If set to -1, only channel check is active
* @see enableDebugChannel
*/
bool debugChannelSet(int level, uint32 debugChannels);
/**
* The debug level. Initially set to -1, indicating that no debug output
* should be shown. Positive values usually imply an increasing number of
* debug output shall be generated, the higher the value, the more verbose the
* information (although the exact semantics are up to the engines).
*/
extern int gDebugLevel;
/**
* Specify if we want to show only the debug channels and suppress
* the non-channeled output.
*
* This option is useful when you want to have higher levels of channels
* visible without the noise from other subsystems or OSystem.
*/
extern bool gDebugChannelsOnly;
//Global constant for EventRecorder debug channel
enum GlobalDebugLevels {
kDebugLevelEventRec = 1 << 30
};
#endif
|