[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.244,1.245 akos.cpp,1.130,1.131 bomp.cpp,2.18,2.19 bomp.h,2.7,2.8 script_v7he.cpp,2.25,2.26 scumm.h,1.416,1.417

Travis Howell kirben at users.sourceforge.net
Sun Jun 27 08:42:01 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14012/scumm

Modified Files:
	actor.cpp akos.cpp bomp.cpp bomp.h script_v7he.cpp scumm.h 
Log Message:

Another palette change needed for HE 7.0 games.
Rename a few HE sound vars


Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.244
retrieving revision 1.245
diff -u -d -r1.244 -r1.245
--- actor.cpp	23 Jun 2004 01:36:47 -0000	1.244
+++ actor.cpp	27 Jun 2004 15:41:01 -0000	1.245
@@ -981,6 +981,8 @@
 	bcr->_shadow_mode = shadow_mode;
 	if (_vm->_features & GF_SMALL_HEADER)
 		bcr->_shadow_table = NULL;
+	else if (_vm->_heversion == 70)
+		bcr->_shadow_table = _vm->_he_actor_palette;
 	else
 		bcr->_shadow_table = _vm->_shadowPalette;
 

Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -d -r1.130 -r1.131
--- akos.cpp	27 Jun 2004 15:22:31 -0000	1.130
+++ akos.cpp	27 Jun 2004 15:41:01 -0000	1.131
@@ -959,7 +959,8 @@
 			bompApplyMask(akos16.buffer, maskptr, maskbit, t_width, transparency);
 			maskptr += maskpitch;
 		}
-		bompApplyShadow(_shadow_mode, _shadow_table, akos16.buffer, dest, t_width, transparency);
+		bool humongous = (_vm->_features & GF_HUMONGOUS);
+		bompApplyShadow(_shadow_mode, _shadow_table, akos16.buffer, dest, t_width, transparency, humongous);
 
 		if (numskip_after != 0)	{
 			akos16SkipData(numskip_after);

Index: bomp.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/bomp.cpp,v
retrieving revision 2.18
retrieving revision 2.19
diff -u -d -r2.18 -r2.19
--- bomp.cpp	4 Apr 2004 17:56:30 -0000	2.18
+++ bomp.cpp	27 Jun 2004 15:41:01 -0000	2.19
@@ -29,7 +29,7 @@
 
 static void bompScaleFuncX(byte *line_buffer, byte *scaling_x_ptr, byte skip, int32 size);
 
-static void bompApplyShadow0(const byte *line_buffer, byte *dst, int32 size, byte transparency);
+static void bompApplyShadow0(const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency, byte humongous);
 static void bompApplyShadow1(const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency);
 static void bompApplyShadow3(const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency);
 static void bompApplyActorPalette(byte *actorPalette, byte *line_buffer, int32 size);
@@ -111,11 +111,11 @@
 	}
 }
 
-void bompApplyShadow(int shadowMode, const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency) {
+void bompApplyShadow(int shadowMode, const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency, byte humongous) {
 	assert(size > 0);
 	switch(shadowMode) {
 	case 0:
-		bompApplyShadow0(line_buffer, dst, size, transparency);
+		bompApplyShadow0(shadowPalette, line_buffer, dst, size, transparency, humongous);
 		break;
 	case 1:
 		bompApplyShadow1(shadowPalette, line_buffer, dst, size, transparency);
@@ -127,11 +127,14 @@
 		error("Unknown shadow mode %d", shadowMode);
 	}
 }
-void bompApplyShadow0(const byte *line_buffer, byte *dst, int32 size, byte transparency) {
+void bompApplyShadow0(const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency, byte humongous = false) {
 	while (size-- > 0) {
 		byte tmp = *line_buffer++;
 		if (tmp != transparency) {
-			*dst = tmp;
+			if (humongous)
+ 				*dst = shadowPalette[tmp];
+			else
+				*dst = tmp;
 		}
 		dst++;
 	}

Index: bomp.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/bomp.h,v
retrieving revision 2.7
retrieving revision 2.8
diff -u -d -r2.7 -r2.8
--- bomp.h	6 Jan 2004 12:45:29 -0000	2.7
+++ bomp.h	27 Jun 2004 15:41:01 -0000	2.8
@@ -29,7 +29,7 @@
 int32 setupBompScale(byte *scaling, int32 size, byte scale);
 
 void bompApplyMask(byte *line_buffer, byte *mask, byte maskbit, int32 size, byte transparency);
-void bompApplyShadow(int shadowMode, const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency);
+void bompApplyShadow(int shadowMode, const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency, byte humongous = false);
 
 void decompressBomp(byte *dst, const byte *src, int w, int h);
 void bompDecodeLine(byte *dst, const byte *src, int size);

Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.25
retrieving revision 2.26
diff -u -d -r2.25 -r2.26
--- script_v7he.cpp	27 Jun 2004 15:22:31 -0000	2.25
+++ script_v7he.cpp	27 Jun 2004 15:41:01 -0000	2.26
@@ -665,32 +665,32 @@
 		break;
 
 	case 230:
-		_heSndVar2 = pop();
+		_heSndTimer = pop();
 		break;
 
 	case 231:
-		_heSndVar3 = pop();
+		_heSndOffset = pop();
 		break;
 
 	case 232:
 		_heSndSoundId = pop();
-		_heSndVar3 = 0;
+		_heSndTimer = 0;
 		_heSndSoundFreq = 11025;
-		_heSndVar2 = VAR(VAR_MUSIC_TIMER);
+		_heSndTimer = VAR(VAR_MUSIC_TIMER);
 		break;
 
 	case 245:
-		_heSndVar5 |= 1;
+		_heSndLoop |= 1;
 		break;
 
 	case 255:
-		// _sound->addSoundToQueue(_heSndSoundId, _heSndVar3, _heSndVar2, _heSndVar5);
+		// _sound->addSoundToQueue(_heSndSoundId, _heSndOffset, _heSndTimer, _heSndLoop);
 		// FIXME: Music resources (Id 4000+?) are currently unsupported,
 		// so don't attempt to play them.
  		if (_heSndSoundId < 4000)
 			_sound->addSoundToQueue(_heSndSoundId);
-		debug(1, "o7_startSound stub (%d, %d, %d, %d)", _heSndSoundId, _heSndVar3, _heSndVar2, _heSndVar5);
-		_heSndVar5 = 0;
+		debug(1, "o7_startSound stub (%d, %d, %d, %d)", _heSndSoundId, _heSndOffset, _heSndTimer, _heSndLoop);
+		_heSndLoop = 0;
 		break;
 
 	default:

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.416
retrieving revision 1.417
diff -u -d -r1.416 -r1.417
--- scumm.h	27 Jun 2004 15:22:31 -0000	1.416
+++ scumm.h	27 Jun 2004 15:41:01 -0000	1.417
@@ -1012,7 +1012,7 @@
 	byte _proc_special_palette[256];
 	byte _roomPalette[256];
 	byte *_shadowPalette;
-	int _heSndSoundFreq, _heSndVar2, _heSndVar3, _heSndSoundId, _heSndVar5;
+	int _heSndSoundFreq, _heSndOffset, _heSndTimer, _heSndSoundId, _heSndLoop;
 
 protected:
 	int _shadowPaletteSize;





More information about the Scummvm-git-logs mailing list