TmpMenu/BigBaseV2/src/hooks/disable_error_screen.cpp

43 lines
902 B
C++
Raw Normal View History

2021-05-20 15:49:36 +02:00
#include "gta/joaat.hpp"
#include "hooking.hpp"
#include "natives.hpp"
#include "script_global.hpp"
2021-05-20 15:49:36 +02:00
namespace big
{
void hooks::set_warning_message_with_header(
const char* entryHeader,
const char* entryLine1,
2021-05-20 15:49:36 +02:00
int instructionalKey,
const char* entryLine2,
bool p4,
2021-05-20 15:49:36 +02:00
Any p5,
Any* showBackground,
Any* p7,
bool p8,
Any p9
2021-05-20 15:49:36 +02:00
)
{
if (SCRIPT::GET_HASH_OF_THIS_SCRIPT_NAME() == RAGE_JOAAT("shop_controller") && strcmp(entryLine1, "CTALERT_F_2") == 0)
{
// dismisses popup instead of killing it silently
*script_global(4529830).as<int*>() = 0;
// we still return to prevent our original call from rendering a single frame
return;
}
return g_hooking->m_error_screen_hook.get_original<decltype(&hooks::set_warning_message_with_header)>()(
entryHeader,
entryLine1,
instructionalKey,
entryLine2,
p4,
p5,
showBackground,
p7,
p8,
p9
);
2021-05-20 15:49:36 +02:00
}
}