[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.546,2.547 scumm.cpp,1.690,1.691 scumm.h,1.666,1.667 vars.cpp,1.162,1.163

kirben kirben at users.sourceforge.net
Mon Jan 16 03:37:03 CET 2006


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

Modified Files:
	intern.h scumm.cpp scumm.h vars.cpp 
Log Message:

HE80+ games set color depth in scumm variable.
Fixes missing palette fade at the end of Pajama Sam 1.
Cleanup.


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.546
retrieving revision 2.547
diff -u -d -r2.546 -r2.547
--- intern.h	16 Jan 2006 10:11:52 -0000	2.546
+++ intern.h	16 Jan 2006 11:36:16 -0000	2.547
@@ -1062,16 +1062,8 @@
 	byte VAR_NUM_COSTUMES;
 	byte VAR_NUM_IMAGES;
 	byte VAR_NUM_CHARSETS;
-	byte VAR_NUM_SPRITE_GROUPS;
-	byte VAR_NUM_SPRITES;
-	byte VAR_NUM_PALETTES;
-	byte VAR_NUM_UNK;
+
 	byte VAR_POLYGONS_ONLY;
-	byte VAR_PLATFORM;
-	byte VAR_WINDOWS_VERSION;
-	byte VAR_CURRENT_CHARSET;
-	byte VAR_U32_VERSION;
-	byte VAR_U32_ARRAY_UNK;
 };
 
 class ScummEngine_v80he : public ScummEngine_v72he {
@@ -1094,6 +1086,7 @@
 	virtual void executeOpcode(byte i);
 	virtual const char *getOpcodeDesc(byte i);
 
+	virtual void setupScummVars();
 	virtual void initScummVars();
 
 	virtual void initCharset(int charset);
@@ -1118,6 +1111,11 @@
 	void o80_drawWizPolygon();
 	void o80_drawLine();
 	void o80_pickVarRandom();
+
+	byte VAR_PLATFORM;
+	byte VAR_WINDOWS_VERSION;
+	byte VAR_CURRENT_CHARSET;
+	byte VAR_COLOR_DEPTH;
 };
 
 class ScummEngine_v90he : public ScummEngine_v80he {
@@ -1168,6 +1166,7 @@
 	virtual void executeOpcode(byte i);
 	virtual const char *getOpcodeDesc(byte i);
 
+	virtual void setupScummVars();
 	virtual void initScummVars();
 
 	virtual void saveOrLoad(Serializer *s);
@@ -1241,6 +1240,14 @@
 	void o90_getActorAnimProgress();
 	void o90_kernelGetFunctions();
 	void o90_kernelSetFunctions();
+
+	byte VAR_NUM_SPRITE_GROUPS;
+	byte VAR_NUM_SPRITES;
+	byte VAR_NUM_PALETTES;
+	byte VAR_NUM_UNK;
+
+	byte VAR_U32_VERSION;
+	byte VAR_U32_ARRAY_UNK;
 };
 
 class ScummEngine_v99he : public ScummEngine_v90he {

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.690
retrieving revision 1.691
diff -u -d -r1.690 -r1.691
--- scumm.cpp	15 Jan 2006 08:37:00 -0000	1.690
+++ scumm.cpp	16 Jan 2006 11:36:16 -0000	1.691
@@ -1608,15 +1608,7 @@
 	VAR_NUM_COSTUMES = 0xFF;
 	VAR_NUM_IMAGES = 0xFF;
 	VAR_NUM_CHARSETS = 0xFF;
-	VAR_NUM_SPRITE_GROUPS = 0xFF;
-	VAR_NUM_SPRITES = 0xFF;
-	VAR_NUM_PALETTES = 0xFF;
-	VAR_NUM_UNK = 0xFF;
 	VAR_POLYGONS_ONLY = 0xFF;
-	VAR_PLATFORM = 0xFF;
-	VAR_WINDOWS_VERSION = 0xFF;
-	VAR_CURRENT_CHARSET = 0xFF;
-	VAR_U32_VERSION = 0xFF;
 }
 
 ScummEngine_v80he::ScummEngine_v80he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16], int substResFileNameIndex)
@@ -1625,11 +1617,24 @@
 	_curSndId = 0;
 	_sndPtrOffs = 0;
 	_sndTmrOffs = 0;
+
+	VAR_PLATFORM = 0xFF;
+	VAR_WINDOWS_VERSION = 0xFF;
+	VAR_CURRENT_CHARSET = 0xFF;
+	VAR_COLOR_DEPTH = 0xFF;
 }
 
 ScummEngine_v90he::ScummEngine_v90he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16], int substResFileNameIndex)
 	: ScummEngine_v80he(detector, syst, gs, md5sum, substResFileNameIndex) {
 	_sprite = new Sprite(this);
+
+	VAR_NUM_SPRITE_GROUPS = 0xFF;
+	VAR_NUM_SPRITES = 0xFF;
+	VAR_NUM_PALETTES = 0xFF;
+	VAR_NUM_UNK = 0xFF;
+
+	VAR_U32_VERSION = 0xFF;
+	VAR_U32_ARRAY_UNK = 0xFF;
 }
 
 ScummEngine_v90he::~ScummEngine_v90he() {

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.666
retrieving revision 1.667
diff -u -d -r1.666 -r1.667
--- scumm.h	15 Jan 2006 08:37:01 -0000	1.666
+++ scumm.h	16 Jan 2006 11:36:16 -0000	1.667
@@ -1329,21 +1329,21 @@
 	byte VAR_CLICK_AREA;
 
 	// HE specific variables
-	byte VAR_REDRAW_ALL_ACTORS;
-	byte VAR_SKIP_RESET_TALK_ACTOR;
+	byte VAR_REDRAW_ALL_ACTORS;		// Used in setActorRedrawFlags()
+	byte VAR_SKIP_RESET_TALK_ACTOR;		// Used in setActorCostume()
 
-	byte VAR_SOUND_CHANNEL;
-	byte VAR_TALK_CHANNEL;
-	byte VAR_SOUNDCODE_TMR;
-	byte VAR_RESERVED_SOUND_CHANNELS;
+	byte VAR_SOUND_CHANNEL;			// Used in o_startSound()
+	byte VAR_TALK_CHANNEL;			// Used in startHETalkSound()
+	byte VAR_SOUNDCODE_TMR;			// Used in processSoundCode()
+	byte VAR_RESERVED_SOUND_CHANNELS;	// Used in findFreeSoundChannel()
 
-	byte VAR_MAIN_SCRIPT;
+	byte VAR_MAIN_SCRIPT;			// Used in scummLoop()
 
-	byte VAR_SCRIPT_CYCLE;
-	byte VAR_NUM_SCRIPT_CYCLES;
+	byte VAR_SCRIPT_CYCLE;			// Used in runScript()/runObjectScript()
+	byte VAR_NUM_SCRIPT_CYCLES;		// Used in runAllScripts()
 
-	byte VAR_KEY_STATE;		// Used in parseEvents()
-	byte VAR_MOUSE_STATE;
+	byte VAR_KEY_STATE;			// Used in parseEvents()
+	byte VAR_MOUSE_STATE;			// Used in checkExecVerbs();
 
 	// Exists both in V7 and in V72HE:
 	byte VAR_NUM_GLOBAL_OBJS;

Index: vars.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/vars.cpp,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -d -r1.162 -r1.163
--- vars.cpp	15 Jan 2006 08:37:01 -0000	1.162
+++ vars.cpp	16 Jan 2006 11:36:16 -0000	1.163
@@ -294,18 +294,27 @@
 	if (_heversion <= 73) {
 		VAR_NUM_SOUND_CHANNELS = 56;
 	}
-	if (_heversion >= 80)
-		VAR_PLATFORM = 78;  		// 1 is PC, 2 is Macintosh
- 		VAR_WINDOWS_VERSION = 79; 	// 31 is Windows 3.1, 40 is Windows 95+
-		VAR_CURRENT_CHARSET = 80;
-		VAR_SOUNDCODE_TMR = 84;
-		VAR_KEY_STATE = 86;
-		VAR_NUM_SOUND_CHANNELS = 88;
-		VAR_REDRAW_ALL_ACTORS = 95;
-	if (_heversion >= 90) {
-		VAR_SCRIPT_CYCLE = 103;
-		VAR_NUM_SCRIPT_CYCLES = 104;
-	}
+}
+
+void ScummEngine_v80he::setupScummVars() {
+	ScummEngine_v72he::setupScummVars();
+
+	VAR_PLATFORM = 78;  		// 1 is PC, 2 is Macintosh
+	VAR_WINDOWS_VERSION = 79; 	// 31 is Windows 3.1, 40 is Windows 95+
+	VAR_CURRENT_CHARSET = 80;
+	VAR_SOUNDCODE_TMR = 84;
+	VAR_KEY_STATE = 86;
+	VAR_NUM_SOUND_CHANNELS = 88;
+	VAR_COLOR_DEPTH = 89;
+	VAR_REDRAW_ALL_ACTORS = 95;
+}
+
+void ScummEngine_v90he::setupScummVars() {
+	ScummEngine_v80he::setupScummVars();
+
+	VAR_SCRIPT_CYCLE = 103;
+	VAR_NUM_SCRIPT_CYCLES = 104;
+
 	if (_heversion >= 95) {
 		VAR_NUM_SPRITE_GROUPS = 105;
 		VAR_NUM_SPRITES = 106;
@@ -604,6 +613,7 @@
 
 	VAR(VAR_PLATFORM) = 1;
 	VAR(VAR_WINDOWS_VERSION) = 40;
+	VAR(VAR_COLOR_DEPTH) = 256;
 }
 
 void ScummEngine_v90he::initScummVars() {





More information about the Scummvm-git-logs mailing list