aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction
diff options
context:
space:
mode:
authorNicola Mettifogo2007-03-18 17:33:54 +0000
committerNicola Mettifogo2007-03-18 17:33:54 +0000
commit29bf77d5b1b47879ab9c2982f646c3d9457d5a25 (patch)
tree3360f3d09d60449ec3d8532fb75912668b553315 /engines/parallaction
parentc1f84742f908dacc446b28852554188a0d525593 (diff)
downloadscummvm-rg350-29bf77d5b1b47879ab9c2982f646c3d9457d5a25.tar.gz
scummvm-rg350-29bf77d5b1b47879ab9c2982f646c3d9457d5a25.tar.bz2
scummvm-rg350-29bf77d5b1b47879ab9c2982f646c3d9457d5a25.zip
hidden _cnv member of Animation from callers
svn-id: r26217
Diffstat (limited to 'engines/parallaction')
-rw-r--r--engines/parallaction/animation.cpp7
-rw-r--r--engines/parallaction/walk.cpp6
-rw-r--r--engines/parallaction/zone.h8
3 files changed, 14 insertions, 7 deletions
diff --git a/engines/parallaction/animation.cpp b/engines/parallaction/animation.cpp
index e6b7523649..53021dfbec 100644
--- a/engines/parallaction/animation.cpp
+++ b/engines/parallaction/animation.cpp
@@ -127,7 +127,6 @@ Animation *Parallaction::parseAnimation(Script& script, Node *list, char *name)
strcat(vC8, "tras");
}
}
-
_disk->loadFrames(vC8, &vD0->_cnv);
// int16 _ax = _vm->_gfx->loadCnv(vC8, &vD0->_cnv);
// if (_ax == -1) exit(-1);
@@ -193,8 +192,8 @@ void jobDisplayAnimations(void *parm, Job *j) {
if ((v18->_zone._flags & kFlagsActive) && ((v18->_zone._flags & kFlagsRemove) == 0)) {
v14._width = v18->width();
v14._height = v18->height();
- v14._data0 = v18->_cnv._array[v18->_frame];
-// v14._data1 = v18->_cnv.field_8[v18->_frame];
+ v14._data0 = v18->getFrameData(v18->_frame);
+// v14._data1 = v18->_cnv->field_8[v18->_frame];
if (v18->_zone._flags & kFlagsNoMasked)
_si = 3;
@@ -573,7 +572,7 @@ void jobRunScripts(void *parm, Job *j) {
case INST_PUT: // put
v18._width = inst->_opBase._a->width();
v18._height = inst->_opBase._a->height();
- v18._data0 = inst->_opBase._a->_cnv._array[inst->_opBase._a->_frame];
+ v18._data0 = inst->_opBase._a->getFrameData(inst->_opBase._a->_frame);
v18._data1 = NULL; // inst->_opBase._a->_cnv.field_8[inst->_opBase._a->_frame];
if (inst->_flags & kInstMaskedPut) {
diff --git a/engines/parallaction/walk.cpp b/engines/parallaction/walk.cpp
index d8fb254d36..3529b838e7 100644
--- a/engines/parallaction/walk.cpp
+++ b/engines/parallaction/walk.cpp
@@ -94,7 +94,7 @@ WalkNode *buildWalkPath(uint16 x, uint16 y) {
if (close == right) {
to.x += right;
- walkData3 = (_vm->_char._ani._cnv._count == 20) ? 7 : 9;
+ walkData3 = (_vm->_char._ani.getFrameNum() == 20) ? 7 : 9;
} else
if (close == left) {
to.x -= left;
@@ -105,7 +105,7 @@ WalkNode *buildWalkPath(uint16 x, uint16 y) {
} else
if (close == bottom) {
to.y += bottom;
- walkData3 = (_vm->_char._ani._cnv._count == 20) ? 17 : 21;
+ walkData3 = (_vm->_char._ani.getFrameNum() == 20) ? 17 : 21;
}
}
@@ -333,7 +333,7 @@ void jobWalk(void *parm, Job *j) {
// walk frame selection
int16 v16;
- if (_vm->_char._ani._cnv._count == 20) {
+ if (_vm->_char._ani.getFrameNum() == 20) {
if (dist.x > dist.y) {
walkData2 = (node->_x > _si) ? 0 : 7;
diff --git a/engines/parallaction/zone.h b/engines/parallaction/zone.h
index b2b109e1f8..f4e8f6fa1f 100644
--- a/engines/parallaction/zone.h
+++ b/engines/parallaction/zone.h
@@ -227,6 +227,14 @@ struct Animation {
uint16 height() const {
return _cnv._height;
}
+
+ uint16 getFrameNum() {
+ return _cnv._count;
+ }
+
+ byte* getFrameData(uint32 index) {
+ return _cnv.getFramePtr(index);
+ }
};
extern Node _zones;