[Localization] Load language specific files
This commit is contained in:
parent
f68c895286
commit
45200eba58
@ -133,8 +133,17 @@ namespace Components
|
||||
|
||||
DWORD Localization::SELoadLanguageStub()
|
||||
{
|
||||
//'official' iw4x localized strings
|
||||
Game::SE_Load("localizedstrings/iw4x.str", 0);
|
||||
if (ZoneBuilder::IsEnabled())
|
||||
{
|
||||
if (FileSystem::File(fmt::sprintf("localizedstrings/iw4x_%s.str", Game::Win_GetLanguage())).Exists())
|
||||
{
|
||||
Game::SE_Load(Utils::String::VA("localizedstrings/iw4x_%s.str", Game::Win_GetLanguage()), 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
Game::SE_Load("localizedstrings/iw4x_english.str", 0);
|
||||
}
|
||||
}
|
||||
|
||||
return Utils::Hook::Call<DWORD()>(0x629E20)();
|
||||
}
|
||||
@ -161,10 +170,8 @@ namespace Components
|
||||
// Resolving hook
|
||||
Utils::Hook(0x629B90, Localization::Get, HOOK_JUMP).Install()->Quick();
|
||||
|
||||
#ifdef DEBUG
|
||||
// Set loading entry point
|
||||
Utils::Hook(0x41D859, Localization::SELoadLanguageStub, HOOK_CALL).Install()->Quick();
|
||||
#endif
|
||||
|
||||
// Overwrite SetString
|
||||
Utils::Hook(0x4CE5EE, Localization::SetStringStub, HOOK_CALL).Install()->Quick();
|
||||
|
@ -458,7 +458,7 @@ namespace Game
|
||||
typedef int(__cdecl * Script_CleanString_t)(char* buffer);
|
||||
extern Script_CleanString_t Script_CleanString;
|
||||
|
||||
typedef char* (__cdecl * SE_Load_t)(char* file, int Unk);
|
||||
typedef char* (__cdecl * SE_Load_t)(const char* file, int Unk);
|
||||
extern SE_Load_t SE_Load;
|
||||
|
||||
typedef char* (__cdecl * SEH_StringEd_GetString_t)(const char* string);
|
||||
|
Loading…
Reference in New Issue
Block a user