[Scummvm-cvs-logs] CVS: scummvm/scumm actor.h,1.15,1.16 actor.cpp,1.67,1.68
Max Horn
fingolfin at users.sourceforge.net
Thu Mar 6 18:44:11 CET 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv5984
Modified Files:
actor.h actor.cpp
Log Message:
properly init Actor objects instead of one big evil hackish memset...
Index: actor.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- actor.h 6 Mar 2003 21:45:48 -0000 1.15
+++ actor.h 7 Mar 2003 02:43:21 -0000 1.16
@@ -109,8 +109,22 @@
// Constructor, sets all data to 0
Actor() {
- memset(this, 0, sizeof(Actor));
- } void initActorClass(Scumm *scumm) {
+ top = bottom = 0;
+ number = 0;
+ needRedraw = needBgReset = costumeNeedsInit = visible = false;
+ flip = false;
+ frame = 0;
+ walkbox = 0;
+ animProgress = 0;
+ memset(animVariable, 0, sizeof(animVariable));
+ memset(palette, 0, sizeof(palette));
+
+ walk_script = 0;
+
+ initActor(1);
+ }
+
+ void initActorClass(Scumm *scumm) {
_vm = scumm;
}
//protected:
Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -d -r1.67 -r1.68
--- actor.cpp 6 Mar 2003 21:45:46 -0000 1.67
+++ actor.cpp 7 Mar 2003 02:43:21 -0000 1.68
@@ -53,14 +53,7 @@
talkPosY = 0;
scaley = scalex = 0xFF;
charset = 0;
- sound[0] = 0;
- sound[1] = 0;
- sound[2] = 0;
- sound[3] = 0;
- sound[4] = 0;
- sound[5] = 0;
- sound[6] = 0;
- sound[7] = 0;
+ memset(sound, 0, sizeof(sound));
newDirection = 0;
stopActorMoving();
@@ -74,6 +67,7 @@
ignoreBoxes = 0;
forceClip = 0;
ignoreTurns = false;
+
initFrame = 1;
walkFrame = 2;
standFrame = 3;
@@ -83,15 +77,14 @@
walk_script = 0;
talk_script = 0;
- if (_vm->_features & GF_AFTER_V7) {
- _vm->_classData[number] = _vm->_classData[0];
- } else {
- _vm->_classData[number] = 0;
+ if (_vm) {
+ _vm->_classData[number] = (_vm->_features & GF_AFTER_V7) ? _vm->_classData[0] : 0;
}
}
void Actor::stopActorMoving() {
- _vm->stopScriptNr(walk_script);
+ if (_vm)
+ _vm->stopScriptNr(walk_script);
moving = 0;
}
More information about the Scummvm-git-logs
mailing list