summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
Diffstat (limited to 'win32')
-rw-r--r--win32/plugins/dfxvideo/winsrc/draw.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/win32/plugins/dfxvideo/winsrc/draw.c b/win32/plugins/dfxvideo/winsrc/draw.c
index 7fd2b365..94095d38 100644
--- a/win32/plugins/dfxvideo/winsrc/draw.c
+++ b/win32/plugins/dfxvideo/winsrc/draw.c
@@ -3488,6 +3488,15 @@ void DoBufferSwap(void) // SWAP BUFFERS
{
ViewportRect.right = PreviousPSXDisplay.DisplayMode.x;
ViewportRect.bottom = PreviousPSXDisplay.DisplayMode.y;
+
+ if(iRumbleTime)
+ {
+ ScreenRect.left+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
+ ScreenRect.right+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
+ ScreenRect.top+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
+ ScreenRect.bottom+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
+ iRumbleTime--;
+ }
}
if(iUseScanLines==2) // stupid nvidia scanline mode
@@ -3519,6 +3528,17 @@ void DoBufferSwap(void) // SWAP BUFFERS
ViewportRect.right=1024;
ViewportRect.bottom=iGPUHeight;
}
+ else
+ {
+ if(iRumbleTime)
+ {
+ ScreenRect.left+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
+ ScreenRect.right+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
+ ScreenRect.top+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
+ ScreenRect.bottom+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2);
+ iRumbleTime--;
+ }
+ }
if(iUseScanLines==2) // stupid nvidia scanline mode
{