X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=7863159bf22ca434afb0952cc7b4bb0e9962b2e2;hb=035b753f2a4929225a7db8a9d49d46b54457cd81;hp=0b70e206b6002424b9adf0b94254a77b44919ab9;hpb=de49192b75b9ff43a8c2ed6cb200efb4240d8d6d;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 0b70e206..7863159b 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -363,6 +363,38 @@ static void Log(int log_level, char *mode, char *format, ...) va_end(ap); } +void DebugContinued(char *mode, char *format, ...) +{ + static char message[MAX_LINE_LEN] = { 0 }; + + // initialize message (optional) + if (strEqual(format, "")) + { + message[0] = '\0'; + + return; + } + + char *message_ptr = message + strlen(message); + int size_left = MAX_LINE_LEN - strlen(message); + va_list ap; + + // append message + va_start(ap, format); + vsnprintf(message_ptr, size_left, format, ap); + va_end(ap); + + // finalize message + if (strSuffix(format, "\n")) + { + message[strlen(message) - 1] = '\0'; + + Debug(mode, message); + + message[0] = '\0'; + } +} + void Debug(char *mode, char *format, ...) { va_list ap; @@ -1321,30 +1353,6 @@ void GetOptions(int argc, char *argv[], } -// ---------------------------------------------------------------------------- -// error handling functions -// ---------------------------------------------------------------------------- - -#define MAX_INTERNAL_ERROR_SIZE 1024 - -// used by SetError() and GetError() to store internal error messages -static char internal_error[MAX_INTERNAL_ERROR_SIZE]; - -void SetError(char *format, ...) -{ - va_list ap; - - va_start(ap, format); - vsnprintf(internal_error, MAX_INTERNAL_ERROR_SIZE, format, ap); - va_end(ap); -} - -char *GetError(void) -{ - return internal_error; -} - - // ---------------------------------------------------------------------------- // checked memory allocation and freeing functions // ---------------------------------------------------------------------------- @@ -3777,7 +3785,7 @@ void NotifyUserAboutErrorFile(void) #if DEBUG -#define DEBUG_PRINT_INIT_TIMESTAMPS FALSE +#define DEBUG_PRINT_INIT_TIMESTAMPS TRUE #define DEBUG_PRINT_INIT_TIMESTAMPS_DEPTH 10 #define DEBUG_NUM_TIMESTAMPS 10 @@ -3845,7 +3853,7 @@ void debug_print_timestamp(int counter_nr, char *message) counter[counter_nr][1] = counter[counter_nr][0]; if (message) - Debug("time", "%s%s%s %.3f %s", + Debug("time:init", "%s%s%s %.3f %s", debug_print_timestamp_get_padding(counter_nr * indent_size), message, debug_print_timestamp_get_padding(padding_size - strlen(message)),