[Scummvm-cvs-logs] SF.net SVN: scummvm: [28897] scummvm/trunk/engines/saga

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Thu Sep 13 13:21:23 CEST 2007


Revision: 28897
          http://scummvm.svn.sourceforge.net/scummvm/?rev=28897&view=rev
Author:   thebluegr
Date:     2007-09-13 04:21:23 -0700 (Thu, 13 Sep 2007)

Log Message:
-----------
The early ITE demos were not interactive

Modified Paths:
--------------
    scummvm/trunk/engines/saga/detection_tables.h
    scummvm/trunk/engines/saga/saga.h
    scummvm/trunk/engines/saga/sfuncs.cpp

Modified: scummvm/trunk/engines/saga/detection_tables.h
===================================================================
--- scummvm/trunk/engines/saga/detection_tables.h	2007-09-12 22:17:08 UTC (rev 28896)
+++ scummvm/trunk/engines/saga/detection_tables.h	2007-09-13 11:21:23 UTC (rev 28897)
@@ -235,10 +235,8 @@
 	},
 
 
-	// Note: This version is NOT supported yet
-	// Exiting the faire leads to a crash
-
 	// Inherit the earth - MAC Demo version 1
+	// Non-interactive demo
 	{
 		{
 			"ite",
@@ -257,7 +255,7 @@
 		},
 		GType_ITE,
 		GID_ITE_MACDEMO1,
-		GF_BIG_ENDIAN_DATA | GF_WYRMKEEP | GF_CD_FX,
+		GF_BIG_ENDIAN_DATA | GF_WYRMKEEP | GF_CD_FX | GF_NON_INTERACTIVE,
 		ITE_DEFAULT_SCENE,
 		&ITE_Resources,
 		ARRAYSIZE(ITEWINDEMO_GameFonts),
@@ -301,10 +299,8 @@
 	},
 
 
-	// Note: This version is NOT supported yet
-	// Exiting the faire leads to a crash
-
 	// Inherit the earth - Win32 Demo version 1
+	// Non-interactive demo
 	{
 		{
 			"ite",
@@ -322,7 +318,7 @@
 		},
 		GType_ITE,
 		GID_ITE_WINDEMO1,
-		GF_WYRMKEEP | GF_CD_FX,
+		GF_WYRMKEEP | GF_CD_FX | GF_NON_INTERACTIVE,
 		ITE_DEFAULT_SCENE,
 		&ITE_Resources,
 		ARRAYSIZE(ITEWINDEMO_GameFonts),

Modified: scummvm/trunk/engines/saga/saga.h
===================================================================
--- scummvm/trunk/engines/saga/saga.h	2007-09-12 22:17:08 UTC (rev 28896)
+++ scummvm/trunk/engines/saga/saga.h	2007-09-13 11:21:23 UTC (rev 28897)
@@ -158,7 +158,8 @@
 	GF_WYRMKEEP          = 1 << 1,
 	GF_CD_FX             = 1 << 2,
 	GF_SCENE_SUBSTITUTES = 1 << 3,
-	GF_COMPRESSED_SOUNDS = 1 << 4
+	GF_COMPRESSED_SOUNDS = 1 << 4,
+	GF_NON_INTERACTIVE   = 1 << 5
 };
 
 enum VerbTypeIds {

Modified: scummvm/trunk/engines/saga/sfuncs.cpp
===================================================================
--- scummvm/trunk/engines/saga/sfuncs.cpp	2007-09-12 22:17:08 UTC (rev 28896)
+++ scummvm/trunk/engines/saga/sfuncs.cpp	2007-09-13 11:21:23 UTC (rev 28897)
@@ -332,6 +332,20 @@
 
 	if (_vm->getGameType() == GType_ITE)
 		setPointerVerb();
+
+	// The early Windows and Mac demos of ITE were non-interactive. In those demos,
+	// the intro is shown and then when the first scene is shown, there's a dialog
+	// thanking the user for playing the demo and asking him to buy the full game,
+	// without allowing him to continue any further. The game data itself for these
+	// demos does not contain any scripts for the first scene (i.e. there's no text
+	// in the game data to look at Rif's silver medallion). Also, there are no more
+	// scenes apart from the Grand Tournament scene. This opcode is called in those
+	// demos, and I assume that its use there is to just show the popup window and
+	// exit the game. Therefore, once this opcode is called in the older ITE demos,
+	// exit the game. Known non-interactive demos are GID_ITE_MACDEMO1 and
+	// GID_ITE_WINDEMO1
+	if (_vm->getFeatures() & GF_NON_INTERACTIVE)
+		_vm->shutDown();
 }
 
 // Script function #6 (0x06) blocking


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