[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