Skip to content

Commit 7ea722b

Browse files
committed
Fix crash
1 parent a954b9a commit 7ea722b

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

Client/game_sa/CSettingsSA.cpp

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -572,25 +572,25 @@ void CSettingsSA::ResetFieldOfViewSniperAiming()
572572
{
573573
// Restore original bytes
574574
// Zoom in
575-
MemPut<void*>(0x51089F, (void*)0x858CE0);
576-
MemPut<void*>(0x5108B9, (void*)0x858CE0);
577-
MemPut<void*>(0x5108AE, "\x8C\x42");
578-
MemPut<void*>(0x5108CF, "\x8C\x42");
575+
MemCpy((void*)0x51089D, "\xD8\x1D\xE0\x8C\x85\x00", 6);
576+
MemCpy((void*)0x5108B6, "\xD8\x1D\xE0\x8C\x85\x00", 6);
577+
MemCpy((void*)0x5108AA, "\xC7\x07\x00\x00\x8C\x42", 6);
578+
MemCpy((void*)0x5108C7, "\xC7\x05\xE8\xFF\xB6\x00\x00\x00\x8C\x42", 10);
579579

580580
// Zoom out
581-
MemPut<void*>(0x5109A3, (void*)0x858B48);
582-
MemPut<void*>(0x5109BC, (void*)0x858B48);
583-
MemPut<void*>(0x5109B2, "\x70\x41");
584-
MemPut<void*>(0x5109CF, "\x70\x41");
581+
MemCpy((void*)0x5109A1, "\xD8\x1D\x48\x8B\x85\x00", 6);
582+
MemCpy((void*)0x5109BA, "\xD8\x1D\x48\x8B\x85\x00", 6);
583+
MemCpy((void*)0x5109AE, "\xC7\x07\x00\x00\x70\x41", 6);
584+
MemCpy((void*)0x5109C7, "\xC7\x05\xE8\xFF\xB6\x00\x00\x00\x70\x41 ", 10);
585585

586586
ms_fovSniperAimingFromScript = false;
587587
ms_fovSniperAiming = 70.0f;
588588
}
589589

590590
void CSettingsSA::ResetFieldOfView1stPersonAiming()
591591
{
592-
MemPut((void*)0x510711, "\xC7\x07\x00\x00\x8C\x42");
593-
MemPut((void*)0x511B71, "\xC7\x86\xB4\x00\x00\x00\x00\x00\x8C\x42");
592+
MemCpy((void*)0x510711, "\xC7\x07\x00\x00\x8C\x42", 6);
593+
MemCpy((void*)0x511B71, "\xC7\x86\xB4\x00\x00\x00\x00\x00\x8C\x42", 10);
594594

595595
ms_fov1stPersonAimingFromScript = false;
596596
ms_fov1stPersonAiming = 70.0f;
@@ -701,7 +701,7 @@ bool CSettingsSA::SetFieldOfViewAiming(float angle, bool fromScript)
701701

702702
CCamera* camera = pGame->GetCamera();
703703
CCam* cam = camera->GetCam(camera->GetActiveCam());
704-
eCamMode cameraViewMode = static_cast<eCamMode>(camera->GetCam(camera->GetActiveCam())->GetMode());
704+
eCamMode cameraViewMode = static_cast<eCamMode>(cam->GetMode());
705705

706706
if (cameraViewMode != MODE_AIMWEAPON && cameraViewMode != MODE_AIMWEAPON_FROMCAR && cameraViewMode != MODE_AIMWEAPON_ATTACHED)
707707
return false;
@@ -720,23 +720,24 @@ bool CSettingsSA::SetFieldOfViewSniperAiming(float angle, bool fromScript)
720720

721721
CCamera* camera = pGame->GetCamera();
722722
CCam* cam = camera->GetCam(camera->GetActiveCam());
723-
eCamMode cameraViewMode = static_cast<eCamMode>(camera->GetCam(camera->GetActiveCam())->GetMode());
723+
eCamMode cameraViewMode = static_cast<eCamMode>(cam->GetMode());
724724

725725
if (!ms_fovSniperAimingFromScript && fromScript)
726726
{
727727
// Patch sniper zoom-in/zoom-out limit
728-
// zoom in
728+
// Zoom in
729+
//MemCpy((void*)0x51089D, "\xD8\x1D\xE0\x8C\x85\x00", 6);
730+
//MemCpy((void*)0x5108B6, "\xD8\x1D\xE0\x8C\x85\x00", 6);
729731
MemPut<void*>(0x51089F, &ms_fovSniperAiming_Max);
730-
MemPut<void*>(0x5108B9, &ms_fovSniperAiming_Max);
732+
MemPut<void*>(0x5108B8, &ms_fovSniperAiming_Max);
733+
MemCpy((void*)0x5108AA, "\xC7\x07\x00\x00\x33\x43", 6);
734+
MemCpy((void*)0x5108C7, "\xC7\x05\xE8\xFF\xB6\x00\x00\x00\x33\x43", 10);
731735

732-
MemPut<void*>(0x5108AE, "\x33\x43");
733-
MemPut<void*>(0x5108CF, "\x33\x43");
734-
735-
// zoom out
736+
// Zoom out
736737
MemPut<void*>(0x5109A3, &ms_fovSniperAiming_Min);
737738
MemPut<void*>(0x5109BC, &ms_fovSniperAiming_Min);
738-
MemPut<void*>(0x5109B2, "\x00\x00");
739-
MemPut<void*>(0x5109CF, "\x00\x00");
739+
MemCpy((void*)0x5109AE, "\xC7\x07\x00\x00\x00\x00", 6);
740+
MemCpy((void*)0x5109C7, "\xC7\x05\xE8\xFF\xB6\x00\x00\x00\x00\x00", 10);
740741
}
741742

742743
if (cameraViewMode == MODE_SNIPER)
@@ -754,7 +755,7 @@ bool CSettingsSA::SetFieldOfView1stPersonAiming(float angle, bool fromScript)
754755

755756
CCamera* camera = pGame->GetCamera();
756757
CCam* cam = camera->GetCam(camera->GetActiveCam());
757-
eCamMode cameraViewMode = static_cast<eCamMode>(camera->GetCam(camera->GetActiveCam())->GetMode());
758+
eCamMode cameraViewMode = static_cast<eCamMode>(cam->GetMode());
758759

759760
if (!ms_fov1stPersonAimingFromScript && fromScript)
760761
{

0 commit comments

Comments
 (0)