[Scummvm-cvs-logs] SF.net SVN: scummvm: [26230] scummvm/trunk/engines/parallaction
peres001 at users.sourceforge.net
peres001 at users.sourceforge.net
Sun Mar 18 22:00:23 CET 2007
Revision: 26230
http://scummvm.svn.sourceforge.net/scummvm/?rev=26230&view=rev
Author: peres001
Date: 2007-03-18 14:00:22 -0700 (Sun, 18 Mar 2007)
Log Message:
-----------
changed DoorData::_cnv to be a pointer, in view of changes to Disk::loadFrames()
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/commands.cpp
scummvm/trunk/engines/parallaction/graphics.cpp
scummvm/trunk/engines/parallaction/zone.cpp
scummvm/trunk/engines/parallaction/zone.h
Modified: scummvm/trunk/engines/parallaction/commands.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/commands.cpp 2007-03-18 20:35:12 UTC (rev 26229)
+++ scummvm/trunk/engines/parallaction/commands.cpp 2007-03-18 21:00:22 UTC (rev 26230)
@@ -284,7 +284,7 @@
case CMD_OPEN: // open
u->_zone->_flags &= ~kFlagsClosed;
- if (u->_zone->u.door->_cnv._count != 0) {
+ if (u->_zone->u.door->_cnv) {
_vm->addJob(&jobToggleDoor, (void*)u->_zone, kPriority18 );
}
break;
@@ -350,3 +350,4 @@
} // namespace Parallaction
+
Modified: scummvm/trunk/engines/parallaction/graphics.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.cpp 2007-03-18 20:35:12 UTC (rev 26229)
+++ scummvm/trunk/engines/parallaction/graphics.cpp 2007-03-18 21:00:22 UTC (rev 26230)
@@ -521,11 +521,11 @@
byte *s = _buffers[kBit2] + x + y * SCREEN_WIDTH;
byte *d = data->_background;
- for (uint16 i = 0; i < data->_cnv._height ; i++) {
- memcpy(d, s, data->_cnv._width);
+ for (uint16 i = 0; i < data->_cnv->_height ; i++) {
+ memcpy(d, s, data->_cnv->_width);
s += SCREEN_WIDTH;
- d += data->_cnv._width;
+ d += data->_cnv->_width;
}
return;
Modified: scummvm/trunk/engines/parallaction/zone.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/zone.cpp 2007-03-18 20:35:12 UTC (rev 26229)
+++ scummvm/trunk/engines/parallaction/zone.cpp 2007-03-18 21:00:22 UTC (rev 26230)
@@ -152,7 +152,9 @@
case kZoneDoor:
free(z->u.door->_location);
free(z->u.door->_background);
- _vm->_gfx->freeCnv(&z->u.door->_cnv);
+ _vm->_gfx->freeCnv(z->u.door->_cnv);
+ if (z->u.door->_cnv)
+ delete z->u.door->_cnv;
delete z->u.door;
break;
@@ -265,19 +267,19 @@
if (!scumm_stricmp(_tokens[0], "file")) {
// printf("file: '%s'", _tokens[0]);
- Cnv *doorcnv = &u->door->_cnv;
+ u->door->_cnv = new Cnv;
strcpy(vC8, _tokens[1]);
StaticCnv vE0;
- _disk->loadFrames(vC8, doorcnv);
+ _disk->loadFrames(vC8, u->door->_cnv);
// printf("door width: %i, height: %i", doorcnv->_width, doorcnv->_height );
- vE0._width = doorcnv->_width;
- vE0._height = doorcnv->_height;
+ vE0._width = u->door->_cnv->_width;
+ vE0._height = u->door->_cnv->_height;
uint16 _ax = (z->_flags & kFlagsClosed ? 0 : 1);
- vE0._data0 = doorcnv->_array[_ax];
+ vE0._data0 = u->door->_cnv->_array[_ax];
// _ax = (z->_flags & kFlagsClosed ? 0 : 1);
// vE0._data1 = doorcnv->field_8[_ax];
@@ -445,7 +447,7 @@
case kZoneDoor:
if (z->_flags & kFlagsLocked) break;
z->_flags ^= kFlagsClosed;
- if (z->u.door->_cnv._count == 0) break;
+ if (z->u.door->_cnv == NULL) break;
_vm->addJob(&jobToggleDoor, z, kPriority18 );
break;
@@ -473,20 +475,19 @@
Zone *z = (Zone*)parm;
- Cnv *v18 = &z->u.door->_cnv;
StaticCnv v14;
- if (v18) {
- v14._width = v18->_width;
- v14._height = v18->_height;
+ if (z->u.door->_cnv) {
+ v14._width = z->u.door->_cnv->_width;
+ v14._height = z->u.door->_cnv->_height;
- Common::Rect r(z->_left, z->_top, z->_left+v18->_width, z->_top+v18->_height);
+ Common::Rect r(z->_left, z->_top, z->_left+z->u.door->_cnv->_width, z->_top+z->u.door->_cnv->_height);
_vm->_gfx->restoreZoneBackground(r, z->u.door->_background);
uint16 _ax = (z->_flags & kFlagsClosed ? 0 : 1);
- v14._data0 = v18->_array[_ax];
+ v14._data0 = z->u.door->_cnv->_array[_ax];
_vm->_gfx->flatBlitCnv(&v14, z->_left, z->_top, Gfx::kBitBack);
_vm->_gfx->flatBlitCnv(&v14, z->_left, z->_top, Gfx::kBit2);
Modified: scummvm/trunk/engines/parallaction/zone.h
===================================================================
--- scummvm/trunk/engines/parallaction/zone.h 2007-03-18 20:35:12 UTC (rev 26229)
+++ scummvm/trunk/engines/parallaction/zone.h 2007-03-18 21:00:22 UTC (rev 26230)
@@ -125,7 +125,7 @@
};
struct DoorData { // size = 28
char* _location;
- Cnv _cnv;
+ Cnv *_cnv;
byte* _background;
Common::Point _startPos;
uint16 _startFrame;
@@ -134,6 +134,7 @@
_location = NULL;
_background = NULL;
_startFrame = 0;
+ _cnv = NULL;
}
};
struct HearData { // size = 20
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list