/* <9a0ba> ../engine/sv_log.c:37 */ void Log_Printf(const char *fmt, ...) { va_list argptr; char string[1024]; time_t ltime; tm *today; LOGLIST_T *list; if (!g_psvs.log.net_log_ && !firstLog && !g_psvs.log.active) return; time(<ime); today = localtime(<ime); va_start(argptr, fmt); Q_snprintf(string,sizeof(string), "L %02i/%02i/%04i - %02i:%02i:%02i: ", today->tm_mon + 1, today->tm_mday, today->tm_year + 1900, today->tm_hour, today->tm_min, today->tm_sec); Q_vsnprintf(&string[Q_strlen(string)], sizeof(string) - Q_strlen(string), fmt, argptr); va_end(argptr); #ifdef REHLDS_FLIGHT_REC FR_Log("REHLDS_LOG", string); #endif if (g_psvs.log.net_log_ || firstLog != NULL) { if (g_psvs.log.net_log_) Netchan_OutOfBandPrint(NS_SERVER, g_psvs.log.net_address_, "log %s", string); for (list = firstLog; list != NULL; list = list->next) { if (sv_logsecret.value == 0.0f) Netchan_OutOfBandPrint(NS_SERVER, list->log.net_address_, "log %s", string); else Netchan_OutOfBandPrint(NS_SERVER, list->log.net_address_, "%c%s%s", S2A_LOGKEY, sv_logsecret.string, string); } } if (g_psvs.log.active && (g_psvs.maxclients > 1 || sv_log_singleplayer.value != 0.0f)) { if (mp_logecho.value != 0.0f) Con_Printf("%s", string); if (g_psvs.log.file) { if (mp_logfile.value != 0.0f) FS_FPrintf((FileHandle_t)g_psvs.log.file, "%s", string); } } }
void EXT_FUNC Log_api(const char* prefix, const char* msg) { #ifdef REHLDS_FLIGHT_REC FR_Log(prefix, msg); #endif }