mirror of
https://github.com/halpz/re3.git
synced 2025-05-13 09:56:38 +03:00
gamestates fixed, mpeg now working
This commit is contained in:
parent
caa61ad10b
commit
31f349d9c2
3 changed files with 231 additions and 46 deletions
74
src/re3.cpp
74
src/re3.cpp
|
@ -1,4 +1,5 @@
|
|||
#include <direct.h>
|
||||
#include <csignal>
|
||||
#include <Windows.h>
|
||||
#include "common.h"
|
||||
#include "patcher.h"
|
||||
|
@ -136,6 +137,79 @@ HeadlightsFix_DontLimit:
|
|||
}
|
||||
}
|
||||
|
||||
const int re3_buffsize = 1024;
|
||||
static char re3_buff[re3_buffsize];
|
||||
|
||||
void re3_assert(const char *expr, const char *filename, unsigned int lineno, const char *func)
|
||||
{
|
||||
int nCode;
|
||||
|
||||
strcpy_s(re3_buff, re3_buffsize, "Assertion failed!" );
|
||||
strcat_s(re3_buff, re3_buffsize, "\n" );
|
||||
|
||||
strcat_s(re3_buff, re3_buffsize, "File: ");
|
||||
strcat_s(re3_buff, re3_buffsize, filename );
|
||||
strcat_s(re3_buff, re3_buffsize, "\n" );
|
||||
|
||||
strcat_s(re3_buff, re3_buffsize, "Line: " );
|
||||
_itoa_s( lineno, re3_buff + strlen(re3_buff), re3_buffsize - strlen(re3_buff), 10 );
|
||||
strcat_s(re3_buff, re3_buffsize, "\n");
|
||||
|
||||
strcat_s(re3_buff, re3_buffsize, "Function: ");
|
||||
strcat_s(re3_buff, re3_buffsize, func );
|
||||
strcat_s(re3_buff, re3_buffsize, "\n" );
|
||||
|
||||
strcat_s(re3_buff, re3_buffsize, "Expression: ");
|
||||
strcat_s(re3_buff, re3_buffsize, expr);
|
||||
strcat_s(re3_buff, re3_buffsize, "\n");
|
||||
|
||||
strcat_s(re3_buff, re3_buffsize, "\n" );
|
||||
strcat_s(re3_buff, re3_buffsize, "(Press Retry to debug the application)");
|
||||
|
||||
|
||||
nCode = ::MessageBoxA(NULL, re3_buff, "RE3 Assertion Failed!",
|
||||
MB_ABORTRETRYIGNORE|MB_ICONHAND|MB_SETFOREGROUND|MB_TASKMODAL);
|
||||
|
||||
if (nCode == IDABORT)
|
||||
{
|
||||
raise(SIGABRT);
|
||||
_exit(3);
|
||||
}
|
||||
|
||||
if (nCode == IDRETRY)
|
||||
{
|
||||
__debugbreak();
|
||||
return;
|
||||
}
|
||||
|
||||
if (nCode == IDIGNORE)
|
||||
return;
|
||||
|
||||
abort();
|
||||
}
|
||||
|
||||
void re3_debug(char *format, ...)
|
||||
{
|
||||
va_list va;
|
||||
va_start(va, format);
|
||||
vsprintf_s(re3_buff, re3_buffsize, format, va);
|
||||
va_end(va);
|
||||
|
||||
printf("%s\n", re3_buff);
|
||||
}
|
||||
|
||||
void re3_trace(const char *filename, unsigned int lineno, const char *func, char *format, ...)
|
||||
{
|
||||
char buff[re3_buffsize *2];
|
||||
va_list va;
|
||||
va_start(va, format);
|
||||
vsprintf_s(re3_buff, re3_buffsize, format, va);
|
||||
va_end(va);
|
||||
|
||||
sprintf_s(buff, re3_buffsize * 2, "[%s.%s:%d]: %s", filename, func, lineno, re3_buff);
|
||||
|
||||
OutputDebugStringA(buff);
|
||||
}
|
||||
|
||||
void
|
||||
patch()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue