@@ -491,6 +491,8 @@ void CSettingsSA::SetRadarMode ( eRadarMode hudMode )
491
491
float ms_fFOV = 70 ;
492
492
float ms_fFOVCar = 70 ;
493
493
float ms_fFOVCarMax = 100 ; // at high vehicle velocity
494
+ bool ms_bFOVPlayerFromScript = false ;
495
+ bool ms_bFOVVehicleFromScript = false ;
494
496
495
497
// consider moving this to the camera class - qaisjp
496
498
float CSettingsSA::GetFieldOfViewPlayer ( void )
@@ -508,22 +510,39 @@ float CSettingsSA::GetFieldOfViewVehicleMax ( void )
508
510
return ms_fFOVCarMax;
509
511
}
510
512
511
- void CSettingsSA::SetFieldOfView ( float fAngle )
513
+ void CSettingsSA::UpdateFieldOfViewFromSettings ( void )
512
514
{
513
- SetFieldOfViewPlayer ( fAngle );
514
- SetFieldOfViewVehicle ( fAngle );
515
+ float fFieldOfView ;
516
+ g_pCore->GetCVars ()->Get ( " fov" , fFieldOfView );
517
+ fFieldOfView = Clamp ( 70 .f , fFieldOfView , 100 .f );
518
+ SetFieldOfViewPlayer ( fFieldOfView , false );
519
+ SetFieldOfViewVehicle ( fFieldOfView , false );
520
+ SetFieldOfViewVehicleMax ( 100 , false );
515
521
}
516
-
517
- void CSettingsSA::SetFieldOfViewPlayer ( float fAngle )
522
+
523
+ void CSettingsSA::ResetFieldOfViewFromScript ( void )
524
+ {
525
+ ms_bFOVPlayerFromScript = false ;
526
+ ms_bFOVVehicleFromScript = false ;
527
+ UpdateFieldOfViewFromSettings ();
528
+ }
529
+
530
+ void CSettingsSA::SetFieldOfViewPlayer ( float fAngle , bool bFromScript )
518
531
{
532
+ if ( !bFromScript && ms_bFOVPlayerFromScript )
533
+ return ;
534
+ ms_bFOVPlayerFromScript = bFromScript;
519
535
ms_fFOV = fAngle ;
520
536
MemPut < void * > ( 0x0522F3A , &ms_fFOV );
521
537
MemPut < void * > ( 0x0522F5D , &ms_fFOV );
522
538
MemPut < float > ( 0x0522F7A , ms_fFOV );
523
539
}
524
540
525
- void CSettingsSA::SetFieldOfViewVehicle ( float fAngle )
541
+ void CSettingsSA::SetFieldOfViewVehicle ( float fAngle , bool bFromScript )
526
542
{
543
+ if ( !bFromScript && ms_bFOVVehicleFromScript )
544
+ return ;
545
+ ms_bFOVVehicleFromScript = bFromScript;
527
546
ms_fFOVCar = fAngle ;
528
547
MemPut < void * > ( 0x0524B76 , &ms_fFOVCar );
529
548
MemPut < void * > ( 0x0524B9A , &ms_fFOVCar );
@@ -532,8 +551,11 @@ void CSettingsSA::SetFieldOfViewVehicle ( float fAngle )
532
551
MemPut < float > ( 0x0524BE4 , ms_fFOVCar );
533
552
}
534
553
535
- void CSettingsSA::SetFieldOfViewVehicleMax ( float fAngle )
554
+ void CSettingsSA::SetFieldOfViewVehicleMax ( float fAngle , bool bFromScript )
536
555
{
556
+ if ( !bFromScript && ms_bFOVVehicleFromScript )
557
+ return ;
558
+ ms_bFOVVehicleFromScript = bFromScript;
537
559
ms_fFOVCarMax = fAngle ;
538
560
MemPut < void * > ( 0x0524BB4 , &ms_fFOVCarMax );
539
561
MemPut < float > ( 0x0524BC5 , ms_fFOVCarMax );
0 commit comments