- consolidated the 3 I_Error implementations

Debug output is now being handled by the respective interface functions, not by the Windows I_Error itself.
This commit is contained in:
Christoph Oelckers 2019-10-07 00:01:12 +02:00
parent d7289f6469
commit cd086ae1da
4 changed files with 33 additions and 52 deletions

View file

@ -2268,6 +2268,34 @@ static void CheckCmdLine()
} }
} }
//==========================================================================
//
// I_Error
//
// Throw an error that will send us to the console if we are far enough
// along in the startup process.
//
//==========================================================================
void I_Error(const char *error, ...)
{
va_list argptr;
char errortext[MAX_ERRORTEXT];
va_start(argptr, error);
myvsnprintf(errortext, MAX_ERRORTEXT, error, argptr);
va_end(argptr);
I_DebugPrint(errortext);
throw CRecoverableError(errortext);
}
//==========================================================================
//
// I_Quit
//
//==========================================================================
void I_Quit() void I_Quit()
{ {
if (demorecording) if (demorecording)

View file

@ -132,19 +132,6 @@ void I_FatalError(const char* const error, ...)
} }
void I_Error (const char *error, ...)
{
va_list argptr;
char errortext[MAX_ERRORTEXT];
va_start(argptr, error);
myvsnprintf (errortext, MAX_ERRORTEXT, error, argptr);
va_end (argptr);
throw CRecoverableError(errortext);
}
void I_SetIWADInfo() void I_SetIWADInfo()
{ {
} }

View file

@ -182,18 +182,6 @@ void I_FatalError(const char* const error, ...)
} }
void I_Error (const char *error, ...)
{
va_list argptr;
char errortext[MAX_ERRORTEXT];
va_start(argptr, error);
myvsnprintf (errortext, MAX_ERRORTEXT, error, argptr);
va_end (argptr);
throw CRecoverableError(errortext);
}
void I_SetIWADInfo () void I_SetIWADInfo ()
{ {
} }

View file

@ -374,31 +374,6 @@ void I_FatalError(const char *error, ...)
std::terminate(); std::terminate();
} }
//==========================================================================
//
// I_Error
//
// Throw an error that will send us to the console if we are far enough
// along in the startup process.
//
//==========================================================================
void I_Error(const char *error, ...)
{
va_list argptr;
char errortext[MAX_ERRORTEXT];
va_start(argptr, error);
myvsnprintf(errortext, MAX_ERRORTEXT, error, argptr);
va_end(argptr);
if (IsDebuggerPresent())
{
auto wstr = WideString(errortext);
OutputDebugStringW(wstr.c_str());
}
throw CRecoverableError(errortext);
}
//========================================================================== //==========================================================================
// //
@ -559,10 +534,13 @@ static void DoPrintStr(const char *cpt, HWND edit, HANDLE StdOut)
static TArray<FString> bufferedConsoleStuff; static TArray<FString> bufferedConsoleStuff;
void I_DebugPrint(const char *cp) void I_DebugPrint(const char *cp)
{
if (IsDebuggerPresent())
{ {
auto wstr = WideString(cp); auto wstr = WideString(cp);
OutputDebugStringW(wstr.c_str()); OutputDebugStringW(wstr.c_str());
} }
}
void I_PrintStr(const char *cp) void I_PrintStr(const char *cp)
{ {