Skip to content

Commit

Permalink
translatable warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
ThirteenAG committed Aug 15, 2024
1 parent 4ec8822 commit 0f8f762
Show file tree
Hide file tree
Showing 8 changed files with 53 additions and 26 deletions.
4 changes: 2 additions & 2 deletions data/update/TBoGT/common/data/frontend_menus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1110,12 +1110,12 @@
<!--optionspc action="MENUOPT_ADJUST" label="MO_DOF" value="PREF_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" /-->
<optionspc action="MENUOPT_ADJUST" label="MO_VSYNC" value="PREF_VSYNC" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<optionspc action="MENUOPT_ADJUST" label="Sun Shafts" value="PREF_SUNSHAFTS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Antialiasing" value="PREF_ANTIALIASING" scaler="8" displayValue="MENU_DISPLAY_ANTIALIASING" />
<optionspc action="MENUOPT_ADJUST" label="FPS Limiter" value="PREF_FPS_LIMIT_PRESET" scaler="15" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST" label="MO_FOV" value="PREF_EPISODIC_RACECLASS_RACE_3" scaler="10" displayValue="MENU_DISPLAY_SLIDERBAR" />
<optionspc action="MENUOPT_ADJUST" label="LamppostShadows" value="PREF_LAMPPOSTSHADOWS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_GRAPHICS_ANALYZER"
label="MO_ANALYZER" value="PREF_NULL" scaler="1"
Expand Down Expand Up @@ -1164,12 +1164,12 @@
<optionspc action="MENUOPT_ADJUST" label="MO_CARS" value="PREF_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="MO_VSYNC" value="PREF_VSYNC" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<optionspc action="MENUOPT_ADJUST" label="Sun Shafts" value="PREF_SUNSHAFTS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Antialiasing" value="PREF_ANTIALIASING" scaler="8" displayValue="MENU_DISPLAY_ANTIALIASING" />
<optionspc action="MENUOPT_ADJUST" label="FPS Limiter" value="PREF_FPS_LIMIT_PRESET" scaler="15" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST" label="MO_FOV" value="PREF_EPISODIC_RACECLASS_RACE_3" scaler="10" displayValue="MENU_DISPLAY_SLIDERBAR" />
<optionspc action="MENUOPT_ADJUST" label="LamppostShadows" value="PREF_LAMPPOSTSHADOWS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_GRAPHICS_ANALYZER"
label="MO_ANALYZER" value="PREF_NULL" scaler="1"
Expand Down
4 changes: 2 additions & 2 deletions data/update/TLAD/common/data/frontend_menus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1183,12 +1183,12 @@
<!--optionspc action="MENUOPT_ADJUST" label="MO_DOF" value="PREF_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" /-->
<optionspc action="MENUOPT_ADJUST" label="MO_VSYNC" value="PREF_VSYNC" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<optionspc action="MENUOPT_ADJUST" label="Sun Shafts" value="PREF_SUNSHAFTS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Antialiasing" value="PREF_ANTIALIASING" scaler="8" displayValue="MENU_DISPLAY_ANTIALIASING" />
<optionspc action="MENUOPT_ADJUST" label="FPS Limiter" value="PREF_FPS_LIMIT_PRESET" scaler="15" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST" label="MO_FOV" value="PREF_EPISODIC_RACECLASS_RACE_3" scaler="10" displayValue="MENU_DISPLAY_SLIDERBAR" />
<optionspc action="MENUOPT_ADJUST" label="LamppostShadows" value="PREF_LAMPPOSTSHADOWS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_GRAPHICS_ANALYZER" label="MO_ANALYZER" value="PREF_NULL" scaler="1" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_BENCHMARK" label="MO_BENCHMARK" value="PREF_NULL" scaler="1" displayValue="MENU_DISPLAY_NONE" />
Expand All @@ -1210,12 +1210,12 @@
<!--optionspc action="MENUOPT_ADJUST" label="MO_DOF" value="PREF_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" /-->
<optionspc action="MENUOPT_ADJUST" label="MO_VSYNC" value="PREF_VSYNC" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<optionspc action="MENUOPT_ADJUST" label="Sun Shafts" value="PREF_SUNSHAFTS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Antialiasing" value="PREF_ANTIALIASING" scaler="8" displayValue="MENU_DISPLAY_ANTIALIASING" />
<optionspc action="MENUOPT_ADJUST" label="FPS Limiter" value="PREF_FPS_LIMIT_PRESET" scaler="15" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST" label="MO_FOV" value="PREF_EPISODIC_RACECLASS_RACE_3" scaler="10" displayValue="MENU_DISPLAY_SLIDERBAR" />
<optionspc action="MENUOPT_ADJUST" label="LamppostShadows" value="PREF_LAMPPOSTSHADOWS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_GRAPHICS_ANALYZER" label="MO_ANALYZER" value="PREF_NULL" scaler="1" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_BENCHMARK" label="MO_BENCHMARK" value="PREF_NULL" scaler="1" displayValue="MENU_DISPLAY_NONE" />
Expand Down
4 changes: 2 additions & 2 deletions data/update/common/data/frontend_menus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -780,12 +780,12 @@
<!--optionspc action="MENUOPT_ADJUST" label="MO_DOF" value="PREF_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" /-->
<optionspc action="MENUOPT_ADJUST" label="MO_VSYNC" value="PREF_VSYNC" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<optionspc action="MENUOPT_ADJUST" label="Sun Shafts" value="PREF_SUNSHAFTS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF"/>
<optionspc action="MENUOPT_ADJUST" label="Antialiasing" value="PREF_ANTIALIASING" scaler="8" displayValue="MENU_DISPLAY_ANTIALIASING" />
<optionspc action="MENUOPT_ADJUST" label="FPS Limiter" value="PREF_FPS_LIMIT_PRESET" scaler="15" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST" label="MO_FOV" value="PREF_EPISODIC_RACECLASS_RACE_3" scaler="10" displayValue="MENU_DISPLAY_SLIDERBAR" />
<optionspc action="MENUOPT_ADJUST" label="LamppostShadows" value="PREF_LAMPPOSTSHADOWS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_GRAPHICS_ANALYZER" label="MO_ANALYZER" value="PREF_NULL" scaler="1" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_BENCHMARK" label="MO_BENCHMARK" value="PREF_NULL" scaler="1" displayValue="MENU_DISPLAY_NONE" />
Expand All @@ -808,12 +808,12 @@
<!--optionspc action="MENUOPT_ADJUST" label="MO_DOF" value="PREF_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" /-->
<optionspc action="MENUOPT_ADJUST" label="MO_VSYNC" value="PREF_VSYNC" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<optionspc action="MENUOPT_ADJUST" label="Sun Shafts" value="PREF_SUNSHAFTS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF"/>
<optionspc action="MENUOPT_ADJUST" label="Antialiasing" value="PREF_ANTIALIASING" scaler="8" displayValue="MENU_DISPLAY_ANTIALIASING" />
<optionspc action="MENUOPT_ADJUST" label="FPS Limiter" value="PREF_FPS_LIMIT_PRESET" scaler="15" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST" label="MO_FOV" value="PREF_EPISODIC_RACECLASS_RACE_3" scaler="10" displayValue="MENU_DISPLAY_SLIDERBAR" />
<optionspc action="MENUOPT_ADJUST" label="LamppostShadows" value="PREF_LAMPPOSTSHADOWS" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST" label="Shadow Filter" value="PREF_SHADOWFILTER" scaler="5" displayValue="MENU_DISPLAY_SHADOWFILTER" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_GRAPHICS_ANALYZER" label="MO_ANALYZER" value="PREF_NULL" scaler="1" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_BENCHMARK" label="MO_BENCHMARK" value="PREF_NULL" scaler="1" displayValue="MENU_DISPLAY_NONE" />
Expand Down
2 changes: 1 addition & 1 deletion external/hooking
Submodule hooking updated 1 files
+1 −0 Hooking.Patterns.h
2 changes: 1 addition & 1 deletion shaders/GTAIV.EFLC.FusionShaders
22 changes: 16 additions & 6 deletions source/extrainfo.ixx
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,22 @@ public:
extra = s;
extra += L"~n~";
extra += L" ";
extra += L"~p~IMG Files: " + std::to_wstring(imgNum) + L" / " + std::to_wstring(imgArrSize);
if (imgNum >= imgArrSize) extra += L"; ~r~WARNING: 255 IMG limit exceeded, will cause streaming issues.";

auto FF_WARN0 = CText::getText("FF_WARN0");
extra += FF_WARN0[0] ? FF_WARN0 : L"~p~IMG Files: " + std::to_wstring(imgNum) + L" / " + std::to_wstring(imgArrSize);
auto FF_WARN1 = CText::getText("FF_WARN1");
if (imgNum >= imgArrSize) extra += FF_WARN1[0] ? FF_WARN1 : L"; ~r~WARNING: 255 IMG limit exceeded, will cause streaming issues.";

static auto LamppostShadows = FusionFixSettings.GetRef("PREF_LAMPPOSTSHADOWS");
if (LamppostShadows->get())
{
extra += L"~n~";
extra += L" ";
extra += L"~r~WARNING: Lamppost shadows may cause visual artifacts and performance issues.";
auto FF_WARN2 = CText::getText("FF_WARN2");
if (FF_WARN2[0])
extra += FF_WARN2;
else
extra += L"~r~WARNING: Lamppost shadows may cause visual artifacts and performance issues.";
}

static auto ViewDistance = FusionFixSettings.GetRef("PREF_VIEW_DISTANCE");
Expand All @@ -59,12 +66,15 @@ public:
{
extra += L"~n~";
extra += L" ";
auto FF_WARN3 = CText::getText("FF_WARN3");
auto FF_WARN4 = CText::getText("FF_WARN4");
auto FF_WARN5 = CText::getText("FF_WARN5");
if (ViewDistance->get() > 24 && DetailQuality->get() > 30)
extra += L"~r~WARNING: View Distance slider above 25 and Detail Distance slider above 31 may cause object pop-in.";
extra += FF_WARN3[0] ? FF_WARN3 : L"~r~WARNING: View Distance slider above 25 and Detail Distance slider above 31 may cause object pop-in.";
else if (ViewDistance->get() > 24)
extra += L"~r~WARNING: View Distance slider above 25 may cause object pop-in.";
extra += FF_WARN4[0] ? FF_WARN4 : L"~r~WARNING: View Distance slider above 25 may cause object pop-in.";
else if (DetailQuality->get() > 30)
extra += L"~r~WARNING: Detail Distance slider above 31 may cause object pop-in.";
extra += FF_WARN5[0] ? FF_WARN5 : L"~r~WARNING: Detail Distance slider above 31 may cause object pop-in.";
}

regs.eax = (uintptr_t)extra.c_str();
Expand Down
36 changes: 25 additions & 11 deletions source/settings.ixx
Original file line number Diff line number Diff line change
Expand Up @@ -15,44 +15,58 @@ import gxtloader;

namespace CText
{
using CText = void;
CText* g_text = nullptr;

const wchar_t* (__fastcall* Get)(CText* text, void* edx, const char* key);

SafetyHookInline shGetText{};
const wchar_t* __fastcall getText(void* g_text, void* edx, const char* key)
const wchar_t* __fastcall getText(CText* text, void* edx, const char* key)
{
auto hash = GetHash(key);
if (gxtEntries.contains(hash))
return gxtEntries[hash].c_str();

return shGetText.fastcall<const wchar_t*>(g_text, edx, key);
return shGetText.fastcall<const wchar_t*>(text, edx, key);
}

SafetyHookInline shGetTextByKey{};
const wchar_t* __fastcall getTextByKey(void* g_text, void* edx, uint32_t hash, int a3)
const wchar_t* __fastcall getTextByKey(CText* text, void* edx, uint32_t hash, int a3)
{
if (gxtEntries.contains(hash))
return gxtEntries[hash].c_str();

return shGetTextByKey.fastcall<const wchar_t*>(g_text, edx, hash, a3);
return shGetTextByKey.fastcall<const wchar_t*>(text, edx, hash, a3);
}

SafetyHookInline shDoesTextLabelExist{};
char __fastcall doesTextLabelExist(void* g_text, void* edx, const char* key)
char __fastcall doesTextLabelExist(CText* text, void* edx, const char* key)
{
if (gxtEntries.contains(GetHash(key)))
return 1;

return shDoesTextLabelExist.fastcall<char>(g_text, edx, key);
return shDoesTextLabelExist.fastcall<char>(text, edx, key);
}

export const wchar_t* getText(const char* key)
{
return Get(g_text, nullptr, key);
}

void Hook()
{
//auto pattern = find_pattern("83 EC 44 A1 ? ? ? ? 33 C4 89 44 24 40 8B 44 24 48 56 8B F1", "83 EC 44 A1 ? ? ? ? 33 C4 89 44 24 40 8B 44 24 48 85 C0");
//CText::shGetText = safetyhook::create_inline(pattern.get_first(), CText::getText);
auto pattern = find_pattern("B9 ? ? ? ? E8 ? ? ? ? 50 8D 84 24 ? ? ? ? 50 E8 ? ? ? ? 83 C4 0C", "B9 ? ? ? ? E8 ? ? ? ? 50 8D 84 24 ? ? ? ? 68 ? ? ? ? 50 BA ? ? ? ? E8 ? ? ? ? 83 C4 14");
g_text = *pattern.get_first<CText*>(1);

pattern = find_pattern("83 EC 44 A1 ? ? ? ? 33 C4 89 44 24 40 8B 44 24 48 56 8B F1", "83 EC 44 A1 ? ? ? ? 33 C4 89 44 24 40 8B 44 24 48 85 C0");
Get = *pattern.get_first<const wchar_t* (__fastcall)(void*, void*, const char*)>(0);
//shGetText = safetyhook::create_inline(pattern.get_first(), getText);

auto pattern = find_pattern("83 EC 48 A1 ? ? ? ? 33 C4 89 44 24 44 53 55", "83 EC 48 A1 ? ? ? ? 33 C4 89 44 24 44 53 55");
shGetTextByKey = safetyhook::create_inline(pattern.get_first(), CText::getTextByKey);
pattern = find_pattern("83 EC 48 A1 ? ? ? ? 33 C4 89 44 24 44 53 55", "83 EC 48 A1 ? ? ? ? 33 C4 89 44 24 44 53 55");
shGetTextByKey = safetyhook::create_inline(pattern.get_first(), getTextByKey);

pattern = find_pattern("51 8B 44 24 08 53 8B D9 C6 44 24", "51 8B 44 24 08 85 C0 53 8B D9");
CText::shDoesTextLabelExist = safetyhook::create_inline(pattern.get_first(), CText::doesTextLabelExist);
shDoesTextLabelExist = safetyhook::create_inline(pattern.get_first(), doesTextLabelExist);
}
}

Expand Down
5 changes: 4 additions & 1 deletion text/americanFF.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,11 @@ Tree Alpha
[Shadow Filter]
Shadow Filter

[FF_WARN0]
~p~IMG Files:

[FF_WARN1]
~r~WARNING: 255 IMG limit exceeded, will cause streaming issues.
; ~r~WARNING: 255 IMG limit exceeded, will cause streaming issues.

[FF_WARN2]
~r~WARNING: Lamppost shadows may cause visual artifacts and performance issues.
Expand Down

0 comments on commit 0f8f762

Please sign in to comment.