@@ -380,7 +380,7 @@ protected override LibWaterboxCore.FrameInfo FrameAdvancePrep(IController contro
380
380
DOSBox . MouseState mouseState = new ( )
381
381
{
382
382
PosX = controller . AxisValue ( $ "{ Inputs . Mouse } { MouseInputs . PosX } ") ,
383
- PosY = controller . AxisValue ( $ "{ Inputs . Mouse } { MouseInputs . PosY } ") ,
383
+ PosY = controller . AxisValue ( $ "{ Inputs . Mouse } { MouseInputs . PosY } ") ,
384
384
LeftButtonHeld = controller . IsPressed ( $ "{ Inputs . Mouse } { MouseInputs . LeftButton } ") ,
385
385
MiddleButtonHeld = controller . IsPressed ( $ "{ Inputs . Mouse } { MouseInputs . MiddleButton } ") ,
386
386
RightButtonHeld = controller . IsPressed ( $ "{ Inputs . Mouse } { MouseInputs . RightButton } ") ,
@@ -499,6 +499,10 @@ protected override void SaveStateBinaryInternal(BinaryWriter writer)
499
499
writer . Write ( _lastMouseState . LeftButtonHeld ) ;
500
500
writer . Write ( _lastMouseState . MiddleButtonHeld ) ;
501
501
writer . Write ( _lastMouseState . RightButtonHeld ) ;
502
+
503
+ // Storing current refresh rate
504
+ writer . Write ( VsyncNumerator ) ;
505
+ writer . Write ( VsyncDenominator ) ;
502
506
}
503
507
504
508
protected override void LoadStateBinaryInternal ( BinaryReader reader )
@@ -513,6 +517,14 @@ protected override void LoadStateBinaryInternal(BinaryReader reader)
513
517
_lastMouseState . LeftButtonHeld = reader . ReadBoolean ( ) ;
514
518
_lastMouseState . MiddleButtonHeld = reader . ReadBoolean ( ) ;
515
519
_lastMouseState . RightButtonHeld = reader . ReadBoolean ( ) ;
520
+
521
+ // Restoring refresh rate
522
+ var newVsyncNumerator = reader . ReadInt32 ( ) ;
523
+ var newVsyncDenominator = reader . ReadInt32 ( ) ;
524
+
525
+ // Updating it now, if different
526
+ if ( newVsyncNumerator != VsyncNumerator || newVsyncDenominator != VsyncDenominator )
527
+ updateFramerate ( newVsyncNumerator , newVsyncDenominator ) ;
516
528
}
517
529
518
530
private static class FileNames
0 commit comments