From 15cf79289363c3f7036de22016a78a5322b29e3d Mon Sep 17 00:00:00 2001 From: Wanne Date: Fri, 23 Jan 2009 17:05:09 +0000 Subject: [PATCH] Bugfix: Fixed Runtime Error in Strategy Screen when user plays in 640x480 and moves cursor over merc list (by Heinz) git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2548 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- TileEngine/Render Dirty.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/TileEngine/Render Dirty.cpp b/TileEngine/Render Dirty.cpp index 8074a87a..1f2ec9f2 100644 --- a/TileEngine/Render Dirty.cpp +++ b/TileEngine/Render Dirty.cpp @@ -621,8 +621,14 @@ BOOLEAN RestoreExternBackgroundRect( INT16 sLeft, INT16 sTop, INT16 sWidth, INT1 UINT32 uiDestPitchBYTES, uiSrcPitchBYTES; UINT8 *pDestBuf, *pSrcBuf; - - Assert( ( sLeft >= 0 ) && ( sTop >= 0 ) && ( sLeft + sWidth <= SCREEN_WIDTH ) && ( sTop + sHeight <= SCREEN_HEIGHT ) ); +//Heinz (18.01.2009): fixed RUNTIME ERROR when user use screen resolution 640x480 + //Assert( ( sLeft >= 0 ) && ( sTop >= 0 ) && ( sLeft + sWidth <= SCREEN_WIDTH ) && ( sTop + sHeight <= SCREEN_HEIGHT ) ); + if(sLeft < 0) sLeft = 0; + if(sTop <0 ) sTop = 0; + if(sLeft > SCREEN_WIDTH) sLeft = SCREEN_WIDTH; + if(sTop > SCREEN_HEIGHT) sTop = SCREEN_HEIGHT; + if(sLeft + sWidth > SCREEN_WIDTH) sWidth = SCREEN_WIDTH - sLeft; + if(sTop + sHeight > SCREEN_HEIGHT) sHeight = SCREEN_HEIGHT - sTop; pDestBuf = LockVideoSurface(guiRENDERBUFFER, &uiDestPitchBYTES); pSrcBuf = LockVideoSurface(guiSAVEBUFFER, &uiSrcPitchBYTES);