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 }
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); }
dboolean D_TryGetWad(const char* name) { #ifndef __CELLOS_LV2__ dboolean result = false; char wadname[PATH_MAX]; char* cmdline = NULL; char* wadname_p = NULL; char* msg = NULL; const char* format = "The necessary wad has not been found\n" "Do you want to search for \'%s\'?\n\n" "Command line:\n%s\n\n" "Be careful! Execution of an unknown program is unsafe."; if (!getwad_cmdline || !name || !(*getwad_cmdline) || !(*name)) return false; strncpy(wadname, PathFindFileName(name), sizeof(wadname) - 4); AddDefaultExtension(wadname, ".wad"); cmdline = malloc(strlen(getwad_cmdline) + strlen(wadname) + 2); wadname_p = strstr(getwad_cmdline, "%wadname%"); if (wadname_p) { strncpy(cmdline, getwad_cmdline, wadname_p - getwad_cmdline); strcat(cmdline, wadname); strcat(cmdline, wadname_p + strlen("%wadname%")); } else { sprintf(cmdline, "%s %s", getwad_cmdline, wadname); } msg = malloc(strlen(format) + strlen(wadname) + strlen(cmdline)); sprintf(msg, format, wadname, cmdline); if (PRB_IDYES == I_MessageBox(msg, PRB_MB_DEFBUTTON2 | PRB_MB_YESNO)) { int ret; lprintf(LO_INFO, "D_TryGetWad: Trying to get %s from somewhere\n", name); ret = system(cmdline); if (ret != 0) { lprintf(LO_ERROR, "D_TryGetWad: Execution failed - %s\n", strerror(errno)); } else { char *str = I_FindFile(name, ".wad"); if (str) { lprintf(LO_INFO, "D_TryGetWad: Successfully received\n"); free(str); result = true; } } } free(msg); free(cmdline); return result; #else return false; #endif }