change gsc to const, check file size and use memcmp
This commit is contained in:
parent
a73b0e21d3
commit
7942e360be
@ -12,6 +12,8 @@ namespace script
|
|||||||
{
|
{
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
constexpr size_t GSC_MAGIC = 0x1C000A0D43534780;
|
||||||
|
|
||||||
utils::hook::detour db_findxassetheader_hook;
|
utils::hook::detour db_findxassetheader_hook;
|
||||||
utils::hook::detour gscr_get_bgb_remaining_hook;
|
utils::hook::detour gscr_get_bgb_remaining_hook;
|
||||||
|
|
||||||
@ -69,11 +71,14 @@ namespace script
|
|||||||
{
|
{
|
||||||
std::string data;
|
std::string data;
|
||||||
auto script_file = script.generic_string();
|
auto script_file = script.generic_string();
|
||||||
if (!std::filesystem::is_directory(script) && utils::io::read_file(script_file, &data) && *(uint64_t*)data.c_str() == 0x1C000A0D43534780)
|
if (!std::filesystem::is_directory(script) && utils::io::read_file(script_file, &data))
|
||||||
|
{
|
||||||
|
if (data.size() >= sizeof(GSC_MAGIC) && !std::memcmp(data.data(), &GSC_MAGIC, sizeof(GSC_MAGIC)))
|
||||||
{
|
{
|
||||||
print_loading_script(script_file);
|
print_loading_script(script_file);
|
||||||
load_script(script_file, data);
|
load_script(script_file, data);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if (std::filesystem::is_directory(script))
|
else if (std::filesystem::is_directory(script))
|
||||||
{
|
{
|
||||||
load_scripts_folder(script_file);
|
load_scripts_folder(script_file);
|
||||||
|
Loading…
Reference in New Issue
Block a user