Maybe glass fix v9999?

This commit is contained in:
momo5502 2016-11-01 22:31:22 +01:00
parent aad579048c
commit bfb17dd71d
3 changed files with 20 additions and 2 deletions

View File

@ -175,6 +175,23 @@ namespace Components
} }
} }
__declspec(naked) void Maps::GetWorldDataStub()
{
__asm
{
push eax
pushad
call Maps::GetWorldData
mov [esp + 20h], eax
popad
pop eax
retn
}
}
void Maps::GetBSPName(char* buffer, size_t size, const char* format, const char* mapname) void Maps::GetBSPName(char* buffer, size_t size, const char* format, const char* mapname)
{ {
if (!Utils::String::StartsWith(mapname, "mp_") && !Utils::String::StartsWith(mapname, "zm_")) if (!Utils::String::StartsWith(mapname, "mp_") && !Utils::String::StartsWith(mapname, "zm_"))
@ -533,7 +550,7 @@ namespace Components
Utils::Hook(0x444810, Maps::IgnoreEntityStub, HOOK_JUMP).Install()->Quick(); Utils::Hook(0x444810, Maps::IgnoreEntityStub, HOOK_JUMP).Install()->Quick();
// WorldData pointer replacement // WorldData pointer replacement
Utils::Hook(0x4D90B6, Maps::GetWorldData, HOOK_CALL).Install()->Quick(); Utils::Hook(0x4D90B6, Maps::GetWorldDataStub, HOOK_CALL).Install()->Quick();
Game::ReallocateAssetPool(Game::XAssetType::ASSET_TYPE_GAME_MAP_SP, 1); Game::ReallocateAssetPool(Game::XAssetType::ASSET_TYPE_GAME_MAP_SP, 1);
Game::ReallocateAssetPool(Game::XAssetType::ASSET_TYPE_IMAGE, 7168); Game::ReallocateAssetPool(Game::XAssetType::ASSET_TYPE_IMAGE, 7168);

View File

@ -43,6 +43,7 @@ namespace Components
static int IgnoreEntityStub(const char* entity); static int IgnoreEntityStub(const char* entity);
static Game::GameMap_Data* GetWorldData(); static Game::GameMap_Data* GetWorldData();
static void GetWorldDataStub();
static void AddDlc(DLC dlc); static void AddDlc(DLC dlc);
static void UpdateDlcStatus(); static void UpdateDlcStatus();

View File

@ -1492,7 +1492,7 @@ namespace Components
}, HOOK_CALL); }, HOOK_CALL);
Utils::Hook(0x4597DD, Zones::LoadStatement, HOOK_CALL).Install()->Quick(); Utils::Hook(0x4597DD, Zones::LoadStatement, HOOK_CALL).Install()->Quick();
Utils::Hook(0x471A39, Zones::LoadWindowImage, HOOK_JUMP).Install()->Quick(); //Utils::Hook(0x471A39, Zones::LoadWindowImage, HOOK_JUMP).Install()->Quick();
#ifdef DEBUG #ifdef DEBUG
// Easy dirty disk debugging // Easy dirty disk debugging