[Scummvm-cvs-logs] SF.net SVN: scummvm: [23938] scummvm/trunk/engines/scumm
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Tue Sep 19 00:22:42 CEST 2006
Revision: 23938
http://svn.sourceforge.net/scummvm/?rev=23938&view=rev
Author: fingolfin
Date: 2006-09-18 15:22:35 -0700 (Mon, 18 Sep 2006)
Log Message:
-----------
Cleaned up Gdi::roomChanged
Modified Paths:
--------------
scummvm/trunk/engines/scumm/gfx.cpp
scummvm/trunk/engines/scumm/gfx.h
scummvm/trunk/engines/scumm/room.cpp
Modified: scummvm/trunk/engines/scumm/gfx.cpp
===================================================================
--- scummvm/trunk/engines/scumm/gfx.cpp 2006-09-18 22:06:39 UTC (rev 23937)
+++ scummvm/trunk/engines/scumm/gfx.cpp 2006-09-18 22:22:35 UTC (rev 23938)
@@ -201,7 +201,7 @@
_paletteMod = 0;
_roomPalette = vm->_roomPalette;
- _transparentColor = 0;
+ _transparentColor = 255;
_decomp_shr = 0;
_decomp_mask = 0;
_vertStripNextInc = 0;
@@ -248,16 +248,14 @@
}
}
-void Gdi::roomChanged(byte *roomptr, uint32 IM00_offs, byte transparentColor) {
- _transparentColor = transparentColor;
+void Gdi::roomChanged(byte *roomptr) {
}
-void GdiNES::roomChanged(byte *roomptr, uint32 IM00_offs, byte transparentColor) {
+void GdiNES::roomChanged(byte *roomptr) {
decodeNESGfx(roomptr);
- _transparentColor = transparentColor;
}
-void GdiV1::roomChanged(byte *roomptr, uint32 IM00_offs, byte transparentColor) {
+void GdiV1::roomChanged(byte *roomptr) {
for (int i = 0; i < 4; i++){
_C64.colors[i] = roomptr[6 + i];
}
@@ -267,14 +265,11 @@
decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 16), _C64.maskMap, roomptr[4] * roomptr[5]);
decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 18) + 2, _C64.maskChar, READ_LE_UINT16(roomptr + READ_LE_UINT16(roomptr + 18)));
_objectMode = true;
-
- _transparentColor = transparentColor;
}
-void GdiV2::roomChanged(byte *roomptr, uint32 IM00_offs, byte transparentColor) {
- _roomStrips = generateStripTable(roomptr + IM00_offs, _vm->_roomWidth, _vm->_roomHeight, _roomStrips);
-
- _transparentColor = transparentColor;
+void GdiV2::roomChanged(byte *roomptr) {
+ _roomStrips = generateStripTable(roomptr + READ_LE_UINT16(roomptr + 0x0A),
+ _vm->_roomWidth, _vm->_roomHeight, _roomStrips);
}
#pragma mark -
Modified: scummvm/trunk/engines/scumm/gfx.h
===================================================================
--- scummvm/trunk/engines/scumm/gfx.h 2006-09-18 22:06:39 UTC (rev 23937)
+++ scummvm/trunk/engines/scumm/gfx.h 2006-09-18 22:22:35 UTC (rev 23938)
@@ -253,7 +253,8 @@
virtual ~Gdi();
virtual void init();
- virtual void roomChanged(byte *roomptr, uint32 IM00_offs, byte transparentColor);
+ virtual void roomChanged(byte *roomptr);
+ void setTransparentColor(byte transparentColor) { _transparentColor = transparentColor; }
void drawBitmap(const byte *ptr, VirtScreen *vs, int x, int y, const int width, const int height,
int stripnr, int numstrip, byte flag);
@@ -308,7 +309,7 @@
public:
GdiNES(ScummEngine *vm);
- virtual void roomChanged(byte *roomptr, uint32 IM00_offs, byte transparentColor);
+ virtual void roomChanged(byte *roomptr);
};
class GdiV1 : public Gdi {
@@ -342,7 +343,7 @@
public:
GdiV1(ScummEngine *vm);
- virtual void roomChanged(byte *roomptr, uint32 IM00_offs, byte transparentColor);
+ virtual void roomChanged(byte *roomptr);
};
class GdiV2 : public Gdi {
@@ -369,7 +370,7 @@
GdiV2(ScummEngine *vm);
~GdiV2();
- virtual void roomChanged(byte *roomptr, uint32 IM00_offs, byte transparentColor);
+ virtual void roomChanged(byte *roomptr);
};
} // End of namespace Scumm
Modified: scummvm/trunk/engines/scumm/room.cpp
===================================================================
--- scummvm/trunk/engines/scumm/room.cpp 2006-09-18 22:06:39 UTC (rev 23937)
+++ scummvm/trunk/engines/scumm/room.cpp 2006-09-18 22:22:35 UTC (rev 23938)
@@ -438,7 +438,8 @@
putClass(182, kObjectClassUntouchable, 0);
}
- _gdi->roomChanged(roomptr, _IM00_offs, trans);
+ _gdi->roomChanged(roomptr);
+ _gdi->setTransparentColor(trans);
}
/**
@@ -692,7 +693,7 @@
}
}
- _gdi->roomChanged(roomptr, _IM00_offs, 255);
+ _gdi->roomChanged(roomptr);
}
void ScummEngine_v3old::resetRoomSubBlocks() {
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