Fixed a bug where camera distance would not be triggered
This commit is contained in:
@@ -39,7 +39,7 @@ static bool g_Vignetting_fix_enabled = false;
|
|||||||
static bool g_Fog_fix_enabled = false;
|
static bool g_Fog_fix_enabled = false;
|
||||||
static bool g_cam_distance_fix_enabled = false;
|
static bool g_cam_distance_fix_enabled = false;
|
||||||
static int g_AdditionalFOVValue = 0;
|
static int g_AdditionalFOVValue = 0;
|
||||||
static float g_cameraDistanceMultiplier = 0.f;
|
static float g_cameraDistanceMultiplier = 1.f;
|
||||||
|
|
||||||
// Shared values
|
// Shared values
|
||||||
static float g_FOV_In = 0;
|
static float g_FOV_In = 0;
|
||||||
@@ -168,6 +168,11 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
|
|||||||
if (CameraDistanceaddress == nullptr) {
|
if (CameraDistanceaddress == nullptr) {
|
||||||
constexpr auto CamDistanceStringObfuscated = make_obfuscated<0x4A>("E8 ?? ?? ?? ?? F2 0F ?? ?? ?? ?? 48 8D ?? ?? F3 0F ?? ?? ?? ?? ?? ?? 48 8D ?? ?? ?? ?? ?? 0F");
|
constexpr auto CamDistanceStringObfuscated = make_obfuscated<0x4A>("E8 ?? ?? ?? ?? F2 0F ?? ?? ?? ?? 48 8D ?? ?? F3 0F ?? ?? ?? ?? ?? ?? 48 8D ?? ?? ?? ?? ?? 0F");
|
||||||
CameraDistanceaddress = Memory::AOBScan(gameExecutable, CamDistanceStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
|
CameraDistanceaddress = Memory::AOBScan(gameExecutable, CamDistanceStringObfuscated.decrypt(), PAGE_EXECUTE_READ);
|
||||||
|
//"Cronos-Win64-Shipping.exe" + 55E908F - F2 0F 10 44 24 68 - movsd xmm0, [rsp + 68]
|
||||||
|
//"Cronos-Win64-Shipping.exe" + 55E9095 - 48 8D 55 D8 - lea rdx, [rbp - 28]
|
||||||
|
//"Cronos-Win64-Shipping.exe" + 55E9099 - F3 0F 10 8F 30 02 00 00 - movss xmm1, [rdi + 00000230]
|
||||||
|
//"Cronos-Win64-Shipping.exe" + 55E90A1 - 48 8D 8D B0 02 00 00 - lea rcx, [rbp + 000002B0]
|
||||||
|
//"Cronos-Win64-Shipping.exe" + 55E90A8 - 0F5A C9 - cvtps2pd xmm1, xmm1
|
||||||
|
|
||||||
if (!CameraDistanceaddress)
|
if (!CameraDistanceaddress)
|
||||||
logger->warn("Camera distance signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
|
logger->warn("Camera distance signature not found. Maybe your game has been updated and is no more compatible with this plugin.");
|
||||||
@@ -177,7 +182,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FOVaddress && Aspectaddress && DOFaddress && Vignettingaddress && Fogaddress) {
|
if (FOVaddress && Aspectaddress && DOFaddress && Vignettingaddress && Fogaddress && CameraDistanceaddress) {
|
||||||
logger->info("All AOB signatures found. Ready to patch...");
|
logger->info("All AOB signatures found. Ready to patch...");
|
||||||
AOBScanDone = true;
|
AOBScanDone = true;
|
||||||
}
|
}
|
||||||
@@ -191,7 +196,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init)
|
|||||||
if (DOFaddress) DOFFixEnabled(g_DOF_fix_enabled);
|
if (DOFaddress) DOFFixEnabled(g_DOF_fix_enabled);
|
||||||
if (Vignettingaddress) VignettingFixEnabled(g_Vignetting_fix_enabled);
|
if (Vignettingaddress) VignettingFixEnabled(g_Vignetting_fix_enabled);
|
||||||
if (Fogaddress) FogFixEnabled(g_Fog_fix_enabled);
|
if (Fogaddress) FogFixEnabled(g_Fog_fix_enabled);
|
||||||
if (CameraDistanceaddress) CameraDistanceFixEnabled(g_cameraDistanceMultiplier);
|
if (CameraDistanceaddress) CameraDistanceFixEnabled(g_cam_distance_fix_enabled);
|
||||||
//ProcessEvent();
|
//ProcessEvent();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user