[Scummvm-cvs-logs] CVS: scummvm/scumm akos.cpp,1.221,1.222
kirben
kirben at users.sourceforge.net
Wed Apr 27 02:17:41 CEST 2005
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/common scaler.cpp,1.66,1.67
- Next message: [Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.121,1.122 actor.h,1.65,1.66 isomap.cpp,1.44,1.45 saveload.cpp,1.2,1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2192/scumm
Modified Files:
akos.cpp
Log Message:
Correct actor clipping in HE games.
The original games rect clipping was not as strict.
Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.221
retrieving revision 1.222
diff -u -d -r1.221 -r1.222
--- akos.cpp 20 Apr 2005 01:33:40 -0000 1.221
+++ akos.cpp 27 Apr 2005 09:15:18 -0000 1.222
@@ -308,7 +308,6 @@
}
}
-
if (_vm->_heversion == 70) {
for (i = 0; i < size; i++)
palette[i] = _vm->_HEV7ActorPalette[palette[i]];
@@ -869,8 +868,22 @@
v1.scaleXstep = _mirror ? 1 : -1;
if (_vm->_heversion >= 71) {
- if (_clipOverride.right > _clipOverride.left && _clipOverride.bottom > _clipOverride.top)
- rect.clip(_clipOverride);
+ if (_clipOverride.right > _clipOverride.left && _clipOverride.bottom > _clipOverride.top) {
+ if (rect.left < _clipOverride.left)
+ rect.left = _clipOverride.left;
+
+ if (rect.right > _clipOverride.right)
+ rect.right = _clipOverride.right;
+
+ if (rect.top < _clipOverride.top)
+ rect.top = _clipOverride.top;
+
+ if (rect.bottom > _clipOverride.bottom)
+ rect.bottom = _clipOverride.bottom;
+ }
+
+ if (rect.isValidRect() == false)
+ return 1;
}
if (_actorHitMode) {
@@ -1140,8 +1153,22 @@
maxh = _out.h;
if (_vm->_heversion >= 71) {
- if (_clipOverride.right > _clipOverride.left && _clipOverride.bottom > _clipOverride.top)
- clip.clip(_clipOverride);
+ if (_clipOverride.right > _clipOverride.left && _clipOverride.bottom > _clipOverride.top) {
+ if (clip.left < _clipOverride.left)
+ clip.left = _clipOverride.left;
+
+ if (clip.right > _clipOverride.right)
+ clip.right = _clipOverride.right;
+
+ if (clip.top < _clipOverride.top)
+ clip.top = _clipOverride.top;
+
+ if (clip.bottom > _clipOverride.bottom)
+ clip.bottom = _clipOverride.bottom;
+ }
+
+ if (clip.isValidRect() == false)
+ return 0;
}
markRectAsDirty(clip);
@@ -1258,6 +1285,9 @@
dst.bottom -= diff;
}
+ if (dst.isValidRect() == false)
+ return 0;
+
markRectAsDirty(dst);
if (_draw_top > dst.top)
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/common scaler.cpp,1.66,1.67
- Next message: [Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.121,1.122 actor.h,1.65,1.66 isomap.cpp,1.44,1.45 saveload.cpp,1.2,1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list