[Scummvm-cvs-logs] CVS: scummvm/scumm module.mk,1.26,1.27 script_v6.cpp,1.216,1.217 scumm.h,1.329,1.330 scummvm.cpp,2.492,2.493

Eugene Sandulenko sev at users.sourceforge.net
Fri Dec 5 21:48:02 CET 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv12604/scumm

Modified Files:
	module.mk script_v6.cpp scumm.h scummvm.cpp 
Log Message:
Preliminary support for FT INSANE is added. To enable the code define
INSANE in config.h. But only non-interactive parts work and there is no
insane scene skip. Only one choice during those scenes is Ctrl+X.


Index: module.mk
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/module.mk,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- module.mk	24 Sep 2003 06:56:30 -0000	1.26
+++ module.mk	6 Dec 2003 05:47:24 -0000	1.27
@@ -51,7 +51,8 @@
 	scumm/smush/smush_player.o \
 	scumm/smush/saud_channel.o \
 	scumm/smush/smush_mixer.o \
-	scumm/smush/smush_font.o
+	scumm/smush/smush_font.o \
+	scumm/smush/insane.o
 
 MODULE_DIRS += \
 	scumm \

Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.216
retrieving revision 1.217
diff -u -d -r1.216 -r1.217
--- script_v6.cpp	5 Dec 2003 00:02:00 -0000	1.216
+++ script_v6.cpp	6 Dec 2003 05:47:24 -0000	1.217
@@ -37,6 +37,7 @@
 #include "sound/mididrv.h"
 #include "sound/mixer.h"
 
+#include "scumm/smush/insane.h"
 #include "scumm/dialogs.h"		// FIXME: This is just for the FT-INSANE warning. 
 				// Remove when INSANE is implemented
 
@@ -2404,7 +2405,7 @@
 					speed = 1000000 / _smushFrameRate;
 				}
 
-				debug(1, "INSANE Arg: %d", args[1]);
+				debug(1, "INSANE Arg: %d %d", args[1], args[2]);
 
 				SmushPlayer *sp = new SmushPlayer(this, speed, !_noSubtitles);
 
@@ -2412,6 +2413,13 @@
 				if (args[1] == 0) {
 					sp->play((char *)getStringAddressVar(VAR_VIDEONAME), getGameDataPath());
 				} else if (_gameId == GID_FT) {
+#ifdef INSANE
+					const int insaneVarNum = (_features & GF_DEMO) ? 232 : 233;
+
+					_insane->setSmushParams(speed, !_noSubtitles);
+					_insane->runScene(insaneVarNum);
+				    
+#else
 					const int insaneVarNum = (_features & GF_DEMO) ? 232 : 233;
 					const int insaneMode = readArray(insaneVarNum,0,0);
 
@@ -2468,6 +2476,7 @@
 					// Other INSANE modes
 					warning("Unknown insane mode for %d", args[1]);
 					sp->play((char *)getStringAddressVar(VAR_VIDEONAME), getGameDataPath());
+#endif
 				}
 				delete sp;
 			}
@@ -2733,7 +2742,6 @@
 			return;
 		}
 
-
 		if ((args[1] == 27) && (_lastKeyHit == 27)) {
 			push(1); // abort
 			return;
@@ -2883,7 +2891,6 @@
 
 	return (_keyDownMap[key]) ? 1 : 0;
 }
-
 
 void ScummEngine_v6::o6_delayFrames() {
 	ScriptSlot *ss = &vm.slot[_currentScript];

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.329
retrieving revision 1.330
diff -u -d -r1.329 -r1.330
--- scumm.h	5 Dec 2003 00:02:00 -0000	1.329
+++ scumm.h	6 Dec 2003 05:47:24 -0000	1.330
@@ -45,6 +45,7 @@
 class CharsetRenderer;
 class IMuse;
 class IMuseDigital;
+class Insane;
 class MusicEngine;
 class ScummEngine;
 class ScummDebugger;
@@ -257,6 +258,7 @@
 class ScummEngine : public Engine {
 	friend class ScummDebugger;
 	friend class SmushPlayer;
+	friend class Insane;
 	void errorString(const char *buf_input, char *buf_output);
 public:
 	/* Put often used variables at the top.
@@ -969,6 +971,11 @@
 	bool _confirmExit;
 public:
 	bool _silentDigitalImuse, _noDigitalSamples;
+
+#ifdef INSANE
+public:
+	Insane *_insane;
+#endif
 
 public:
 	uint16 _extraBoxFlags[65];

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.492
retrieving revision 2.493
diff -u -d -r2.492 -r2.493
--- scummvm.cpp	5 Dec 2003 00:02:01 -0000	2.492
+++ scummvm.cpp	6 Dec 2003 05:47:24 -0000	2.493
@@ -52,6 +52,8 @@
 #include "scumm/sound.h"
 #include "scumm/verbs.h"
 
+#include "scumm/smush/insane.h"
+
 #include "sound/mididrv.h"
 #include "sound/mixer.h"
 
@@ -803,6 +805,12 @@
 		_costumeRenderer = new AkosRenderer(this);
 	else
 		_costumeRenderer = new CostumeRenderer(this);
+
+#ifdef INSANE
+	// Create FT INSANE object
+	if (_gameId == GID_FT)
+		_insane = new Insane(this);
+#endif
 }
 
 ScummEngine::~ScummEngine() {
@@ -1822,7 +1830,11 @@
 		// normally use F4 for this, we add in a hack that makes escape work,
 		// too (just for convenience).
 		if (_insaneState) {
+#ifdef INSANE
+			_insane->escapeKeyHandler();
+#else
 			_videoFinished = true;
+#endif
 		} else
 			abortCutscene();
 		if (_version <= 2) {





More information about the Scummvm-git-logs mailing list