Skip to content

Commit

Permalink
dof toggle
Browse files Browse the repository at this point in the history
  • Loading branch information
ThirteenAG committed Jul 30, 2023
1 parent 57be766 commit c9e5a7b
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 2 deletions.
1 change: 1 addition & 0 deletions data/plugins/GTAIV.EFLC.FusionFix.ini
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ PedDeathAnimFixFromTBOGT = 1
DisableCameraCenteringInCover = 1
MouseFix = 1
ScreenFilter = 5 // used by main menu toggle, do not modify
DepthOfField = 1 // used by main menu toggle, do not modify
[BudgetedIV]
VehicleBudget = 0 // may cause issues, set to e.g. 260000000 to increase budget limit
Expand Down
4 changes: 3 additions & 1 deletion data/update/TBoGT/common/data/frontend_menus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@
<options text="144" action="ACTION_NONE" value="9" />
<options text="165" action="ACTION_NONE" value="10" />
<options text="240" action="ACTION_NONE" value="11" />
<options text="360" action="ACTION_NONE" value="12" />
<options text="360" action="ACTION_NONE" value="12" />
</menupc>
</sMenuDisplayValue>
<sMenuScreen>
Expand Down Expand Up @@ -553,6 +553,7 @@
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Console Gamma" value="PREF_CONSOLE_GAMMA" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="FPS limiter" value="PREF_FPS_LIMIT_PRESET" scaler="14" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Screen Filter" value="PREF_TIMECYC" scaler="10" displayValue="MENU_DISPLAY_TIMECYC" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Depth of Field" value="PREF_TCYC_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<options action="MENUOPT_SET" label="MO_DEF"
value="SET_DEFAULT_DISPLAY" scaler="0"
Expand Down Expand Up @@ -1234,6 +1235,7 @@
<optionspc action="MENUOPT_ADJUST" label="MO_VSYNC" value="PREF_VSYNC" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="FPS limiter" value="PREF_FPS_LIMIT_PRESET" scaler="14" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Screen Filter" value="PREF_TIMECYC" scaler="10" displayValue="MENU_DISPLAY_TIMECYC" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Depth of Field" value="PREF_TCYC_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL"
scaler="0" displayValue="MENU_DISPLAY_NONE" />
Expand Down
4 changes: 3 additions & 1 deletion data/update/TLAD/common/data/frontend_menus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@
<options text="144" action="ACTION_NONE" value="9" />
<options text="165" action="ACTION_NONE" value="10" />
<options text="240" action="ACTION_NONE" value="11" />
<options text="360" action="ACTION_NONE" value="12" />
<options text="360" action="ACTION_NONE" value="12" />
</menupc>
</sMenuDisplayValue>
<sMenuScreen>
Expand Down Expand Up @@ -584,6 +584,7 @@
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Console Gamma" value="PREF_CONSOLE_GAMMA" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="FPS limiter" value="PREF_FPS_LIMIT_PRESET" scaler="14" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Screen Filter" value="PREF_TIMECYC" scaler="10" displayValue="MENU_DISPLAY_TIMECYC" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Depth of Field" value="PREF_TCYC_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<options action="MENUOPT_SET" label="MO_DEF" value="SET_DEFAULT_DISPLAY" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<options action="END_OF_MENU_OPTIONS" label="" value="0" scaler="0" displayValue="0" />
Expand Down Expand Up @@ -1202,6 +1203,7 @@
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="FPS limiter" value="PREF_FPS_LIMIT_PRESET" scaler="14" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Screen Filter" value="PREF_TIMECYC" scaler="10" displayValue="MENU_DISPLAY_TIMECYC" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Depth of Field" value="PREF_TCYC_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<options action="MENUOPT_SET" label="MO_DEF" value="SET_DEFAULT_DISPLAY" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<options action="END_OF_MENU_OPTIONS" label="" value="0" scaler="0" displayValue="MENU_DISPLAY_NONE" />
Expand Down
2 changes: 2 additions & 0 deletions data/update/common/data/frontend_menus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -454,6 +454,7 @@
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Console Gamma" value="PREF_CONSOLE_GAMMA" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="FPS limiter" value="PREF_FPS_LIMIT_PRESET" scaler="14" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Screen Filter" value="PREF_TIMECYC" scaler="10" displayValue="MENU_DISPLAY_TIMECYC" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Depth of Field" value="PREF_TCYC_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<options action="MENUOPT_SET" label="MO_DEF" value="SET_DEFAULT_DISPLAY" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<options action="END_OF_MENU_OPTIONS" label="" value="0" scaler="0" displayValue="0" />
Expand Down Expand Up @@ -805,6 +806,7 @@
<options action="MENUOPT_NONE" label="" value="PREF_NULL" scaler="0" displayValue="MENU_DISPLAY_NONE" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="FPS limiter" value="PREF_FPS_LIMIT_PRESET" scaler="14" displayValue="MENU_DISPLAY_FRAMELIMIT" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Screen Filter" value="PREF_TIMECYC" scaler="10" displayValue="MENU_DISPLAY_TIMECYC" />
<optionspc action="MENUOPT_ADJUST_GAMEMODE" label="Depth of Field" value="PREF_TCYC_DOF" scaler="2" displayValue="MENU_DISPLAY_ON_OFF" />
<options action="MENUOPT_SET" label="MO_DEF" value="SET_DEFAULT_DISPLAY" scaler="0" displayValue="MENU_DISPLAY_NONE" />

<options action="END_OF_MENU_OPTIONS" label="" value="0" scaler="0" displayValue="MENU_DISPLAY_NONE" />
Expand Down
42 changes: 42 additions & 0 deletions source/dllmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ class CSettings
{ 0, "PREF_FXAA", "MISC", "FXAA", 1, nullptr },
{ 0, "PREF_CONSOLE_GAMMA", "MISC", "ConsoleGamma", 0, nullptr },
{ 0, "PREF_TIMECYC", "MISC", "ScreenFilter", 5, nullptr },
{ 0, "PREF_TCYC_DOF", "MISC", "DepthOfField", 1, nullptr },
};

auto i = firstCustomID;
Expand Down Expand Up @@ -555,6 +556,34 @@ void* __cdecl sub_8C4CF0(char* a1, char* a2)
return injector::cstd<void* (char*, char*)>::call(CFileMgrOpenFile, a1, a2);
}

int timecyc_scanf(const char* i, const char* fmt, int* a1, int* a2, int* a3, int* a4, int* a5, int* a6, int* a7, int* a8, int* a9, int* a10,
int* a11, int* a12, int* a13, int* a14, int* a15, int* a16, int* a17, int* a18, int* a19, int* a20, int* a21, float* a22, float* a23,
float* a24, float* a25, int* a26, int* a27, int* a28, int* a29, int* a30, int* a31, int* a32, int* a33, int* a34, int* a35, float* a36,
float* a37, float* a38, float* a39, int* a40, int* a41, int* a42, int* a43, int* a44, int* a45, float* a46, float* a47, float* a48, float* a49,
float* a50, float* a51, float* a52, float* a53, float* a54, float* a55, float* a56, int* a57, float* a58, float* a59, float* a60, float* a61,
float* a62, int* a63, float* a64, float* a65, float* a66, float* a67, float* a68, float* a69, float* a70, float* a71, float* a72, float* a73,
float* a74, float* a75, float* a76, float* a77, float* a78, float* a79, float* a80, float* a81, float* a82, float* a83, float* a84, float* a85,
float* a86, float* a87, float* a88, float* a89, float* a90, float* a91, float* a92, float* a93, float* a94, float* a95, float* a96, float* a97,
float* a98, float* a99, float* a100, float* a101, float* a102, float* a103, float* a104, float* a105, float* a106, float* a107, float* a108,
float* a109, float* a110, float* a111, float* a112, float* a113, float* a114, float* a115, float* a116, float* a117, float* a118, float* a119,
float* a120, float* a121, float* a122, float* a123, float* a124, float* a125, float* a126, float* a127, float* a128, float* a129, float* a130,
float* a131, float* a132, float* a133, float* a134)
{
auto res = sscanf(i, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55,
a56, a57, a58, a59, a60, a61, a62, a63, a64, a65, a66, a67, a68, a69, a70, a71, a72, a73, a74, a75, a76, a77, a78, a79, a80, a81, a82, a83,
a84, a85, a86, a87, a88, a89, a90, a91, a92, a93, a94, a95, a96, a97, a98, a99, a100, a101, a102, a103, a104, a105, a106, a107, a108, a109,
a110, a111, a112, a113, a114, a115, a116, a117, a118, a119, a120, a121, a122, a123, a124, a125, a126, a127, a128, a129, a130, a131, a132,
a133, a134);

if (FusionFixSettings("PREF_TCYC_DOF") == 0) {
*a124 = 0.0f;
*a125 = 0.0f;
}

return res;
}

int32_t bExtraDynamicShadows;
bool bDynamicShadowForTrees;
std::string curModelName;
Expand Down Expand Up @@ -951,6 +980,11 @@ void Init()

pattern = hook::pattern("8B 4C 24 04 8B 54 24 08 8B 41 08");
injector::MakeJMP(pattern.get_first(0), sub_411F50, true);

//unlimit loadscreens fps
//static float f0 = 0.0f;
//pattern = hook::pattern("F3 0F 10 05 ? ? ? ? 2B C1 1B D6 89 44 24 18 89 54 24 1C DF 6C 24 18 D9 5C 24 18 F3 0F 10 4C 24 ? F3 0F 59 0D ? ? ? ? 0F 2F C1");
//injector::WriteMemory(pattern.get_first(4), &f0, true);
}

if (fScriptCutsceneFovLimit)
Expand Down Expand Up @@ -1101,6 +1135,14 @@ void Init()
}; injector::MakeInline<MenuTimecycHook>(pattern.get_first(0), pattern.get_first(6));
pattern = hook::pattern("0A 05 ? ? ? ? 0A 05 ? ? ? ? 74 20");
injector::MakeInline<MenuTimecycHook>(pattern.get_first(0), pattern.get_first(6));

pattern = hook::pattern("E8 ? ? ? ? 0F B6 8C 24 ? ? ? ? 0F B6 84 24");
injector::MakeCALL(pattern.get_first(0), timecyc_scanf, true);

FusionFixSettings.SetCallback("PREF_TCYC_DOF", [](int32_t value) {
injector::fastcall<void()>::call(CTimeCycleInitialise);
bTimecycUpdated = 200;
});
}

// runtime settings
Expand Down

0 comments on commit c9e5a7b

Please sign in to comment.