int lprintf(OutputLevels pri, const char *s, ...) { int r=0; char msg[MAX_MESSAGE_SIZE]; int lvl=pri; va_list v; va_start(v,s); doom_vsnprintf(msg,sizeof(msg),s,v); /* print message in buffer */ va_end(v); if (lvl&cons_output_mask) /* mask output as specified */ { #ifdef _WIN32 // do not crash with unicode dirs if (fileno(stdout) != -1) #endif r=fprintf(stdout,"%s",msg); #ifdef _WIN32 I_ConPrintString(msg); #endif } if (!isatty(1) && lvl&cons_error_mask) /* if stdout redirected */ r=fprintf(stderr,"%s",msg); /* select output at console */ return r; }
void I_vWarning(const char *message, va_list argList) { char msg[1024]; doom_vsnprintf(msg,sizeof(msg),message,argList); lprintf(LO_ERROR, "%s\n", msg); #ifdef _MSC_VER I_MessageBox(msg, PRB_MB_OK); #endif }
int doom_snprintf(char *buf, size_t max, const char *fmt, ...) { int rv; va_list va; va_start(va, fmt); rv = doom_vsnprintf(buf, max, fmt, va); va_end(va); return rv; }
void I_Error(const char *error, ...) { char errmsg[MAX_MESSAGE_SIZE]; va_list argptr; va_start(argptr,error); doom_vsnprintf(errmsg,sizeof(errmsg),error,argptr); va_end(argptr); lprintf(LO_ERROR, "%s\n", errmsg); #ifdef _MSC_VER if (!M_CheckParm ("-nodraw")) { I_MessageBox(errmsg, PRB_MB_OK); } #endif I_SafeExit(-1); }
void I_Error(const char *error, ...) { char errmsg[MAX_MESSAGE_SIZE]; va_list argptr; va_start(argptr,error); doom_vsnprintf(errmsg,sizeof(errmsg),error,argptr); va_end(argptr); lprintf(LO_ERROR, "%s\n", errmsg); #ifdef _MSC_VER if (!M_CheckParm ("-nodraw")) { //Init_ConsoleWin(); MessageBox(con_hWnd,errmsg,"PrBoom",MB_OK | MB_TASKMODAL | MB_TOPMOST); } #endif I_SafeExit(-1); }