[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.278,1.279 actor.h,1.59,1.60 akos.cpp,1.156,1.157 script_v6he.cpp,2.108,2.109 scumm.cpp,1.165,1.166 scumm.h,1.466,1.467
Max Horn
fingolfin at users.sourceforge.net
Sat Sep 4 03:30:01 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13844
Modified Files:
actor.cpp actor.h akos.cpp script_v6he.cpp scumm.cpp scumm.h
Log Message:
cleanup (this actor clip stuff is really evil -- I have to agree with Kirben, it's totally unclear why they didn't just use the good old virt screen system...
Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.278
retrieving revision 1.279
diff -u -d -r1.278 -r1.279
--- actor.cpp 4 Sep 2004 08:13:47 -0000 1.278
+++ actor.cpp 4 Sep 2004 10:29:06 -0000 1.279
@@ -133,11 +133,8 @@
walkScript = 0;
talkScript = 0;
- clipOverride.right = _vm->_actorClipRight;
- clipOverride.left = _vm->_actorClipLeft;
- clipOverride.top = _vm->_actorClipTop;
- clipOverride.bottom = _vm->_actorClipBottom;
-
+ clipOverride = _vm->_actorClipOverride;
+
_vm->_classData[number] = (_vm->_version >= 7) ? _vm->_classData[0] : 0;
}
Index: actor.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.h,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- actor.h 4 Sep 2004 00:18:55 -0000 1.59
+++ actor.h 4 Sep 2004 10:29:06 -0000 1.60
@@ -82,8 +82,12 @@
static void initActorClass(ScummEngine *scumm);
public:
+ /** The position of the actor inside the virtual screen. */
Common::Point _pos;
+
+ /** HE specific: This rect is used to clip actor drawing. */
Common::Rect clipOverride;
+
int offs_x, offs_y;
int top, bottom;
uint width;
Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.156
retrieving revision 1.157
diff -u -d -r1.156 -r1.157
--- akos.cpp 4 Sep 2004 08:13:47 -0000 1.156
+++ akos.cpp 4 Sep 2004 10:29:06 -0000 1.157
@@ -740,14 +740,7 @@
v1.scaleXstep = _mirror ? 1 : -1;
if (_vm->_heversion >= 71) {
- if (rect.top < _clipOverride.top)
- rect.top = _clipOverride.top;
- if (rect.bottom > _clipOverride.bottom)
- rect.bottom = _clipOverride.bottom;
- if (rect.left < _clipOverride.left)
- rect.left = _clipOverride.left;
- if (rect.right > _clipOverride.right)
- rect.right = _clipOverride.right;
+ rect.clip(_clipOverride);
}
if (_actorHitMode) {
@@ -1021,14 +1014,7 @@
maxh = _outheight;
if (_vm->_heversion >= 71) {
- if (clip.top < _clipOverride.top)
- clip.top = _clipOverride.top;
- if (clip.bottom > _clipOverride.bottom)
- clip.bottom = _clipOverride.bottom;
- if (clip.left < _clipOverride.left)
- clip.left = _clipOverride.left;
- if (clip.right > _clipOverride.right)
- clip.right = _clipOverride.right;
+ clip.clip(_clipOverride);
}
_vm->markRectAsDirty(kMainVirtScreen, clip, _actorID);
Index: script_v6he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6he.cpp,v
retrieving revision 2.108
retrieving revision 2.109
diff -u -d -r2.108 -r2.109
--- script_v6he.cpp 4 Sep 2004 08:13:47 -0000 2.108
+++ script_v6he.cpp 4 Sep 2004 10:29:06 -0000 2.109
@@ -571,18 +571,18 @@
break;
case 30:
// _heversion >= 70
- _actorClipBottom = pop();
- _actorClipRight = pop();
- _actorClipTop = pop();
- _actorClipLeft = pop();
+ _actorClipOverride.bottom = pop();
+ _actorClipOverride.right = pop();
+ _actorClipOverride.top = pop();
+ _actorClipOverride.left = pop();
warning("o6_actorOps: stub case %d", b);
break;
case 64:
// _heversion >= 72
- _actorClipBottom = pop();
- _actorClipRight = pop();
- _actorClipTop = pop();
- _actorClipLeft = pop();
+ _actorClipOverride.bottom = pop();
+ _actorClipOverride.right = pop();
+ _actorClipOverride.top = pop();
+ _actorClipOverride.left = pop();
warning("o6_actorOps: stub case %d", b);
break;
case 76: // SO_COSTUME
Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.165
retrieving revision 1.166
diff -u -d -r1.165 -r1.166
--- scumm.cpp 4 Sep 2004 08:13:48 -0000 1.165
+++ scumm.cpp 4 Sep 2004 10:29:06 -0000 1.166
@@ -654,10 +654,10 @@
_2byteFontPtr = 0;
_V1_talkingActor = 0;
- _actorClipTop = 0;
- _actorClipBottom = 479;
- _actorClipLeft = 0;
- _actorClipRight = 639;
+ _actorClipOverride.top = 0;
+ _actorClipOverride.bottom = 479;
+ _actorClipOverride.left = 0;
+ _actorClipOverride.right = 639;
_skipDrawObject = 0;
_skipProcessActors = 0;
Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.466
retrieving revision 1.467
diff -u -d -r1.466 -r1.467
--- scumm.h 4 Sep 2004 08:13:48 -0000 1.466
+++ scumm.h 4 Sep 2004 10:29:06 -0000 1.467
@@ -849,10 +849,7 @@
int16 _queueTalkColor[16];
byte _queueTalkString[16][128];
- int _actorClipTop;
- int _actorClipBottom;
- int _actorClipLeft;
- int _actorClipRight;
+ Common::Rect _actorClipOverride;
bool akos_increaseAnims(const byte *akos, Actor *a);
bool akos_increaseAnim(Actor *a, int i, const byte *aksq, const uint16 *akfo, int numakfo);
More information about the Scummvm-git-logs
mailing list