[Scummvm-cvs-logs] SF.net SVN: scummvm: [24002] scummvm/trunk/engines/simon

kirben at users.sourceforge.net kirben at users.sourceforge.net
Fri Sep 29 07:33:30 CEST 2006


Revision: 24002
          http://svn.sourceforge.net/scummvm/?rev=24002&view=rev
Author:   kirben
Date:     2006-09-28 22:33:22 -0700 (Thu, 28 Sep 2006)

Log Message:
-----------
Add last game (dimp) of PP

Modified Paths:
--------------
    scummvm/trunk/engines/simon/game.cpp
    scummvm/trunk/engines/simon/intern.h
    scummvm/trunk/engines/simon/res.cpp
    scummvm/trunk/engines/simon/simon.cpp

Modified: scummvm/trunk/engines/simon/game.cpp
===================================================================
--- scummvm/trunk/engines/simon/game.cpp	2006-09-29 05:31:33 UTC (rev 24001)
+++ scummvm/trunk/engines/simon/game.cpp	2006-09-29 05:33:22 UTC (rev 24002)
@@ -73,6 +73,7 @@
 	{"simon1", "Simon the Sorcerer 1"},
 	{"simon2", "Simon the Sorcerer 2"},
 	{"feeble", "The Feeble Files"},
+	{"dimp", "Demon in my Pocket"},
 	{"jumble", "Jumble"},
 	{"puzzle", "NoPatience"},
 	{"swampy", "Swampy Adventures"},
@@ -614,6 +615,10 @@
 	{ "tbllist",		GAME_TBLFILE,	"319f6b227c7822a551f57d24e70f8149"},
 };
 
+static GameFileDescription DIMP_GameFiles[] = {
+	{ "Gdimp",		GAME_BASEFILE,	"0b1e89ae1dc2e012b7fa7a987b4ac42a"},
+};
+
 static GameFileDescription JUMBLE_GameFiles[] = {
 	{ "Gjumble",		GAME_BASEFILE,	"d54cce46d339038d1a6b74ea213655bc"},
 };
@@ -1436,8 +1441,21 @@
 		Common::kPlatformWindows,
 	},
 
-	// Jumble
+	// Simon the Sorcerer's Puzzle Pack - Demon in my Pocket
 	{
+		"dimp",
+		GType_PP,
+		GID_DIMP,
+		"CD",
+		ARRAYSIZE(DIMP_GameFiles),
+		DIMP_GameFiles,
+		GF_OLD_BUNDLE | GF_TALKIE,
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+	},
+
+	// Simon the Sorcerer's Puzzle Pack - Jumble
+	{
 		"jumble",
 		GType_PP,
 		GID_JUMBLE,
@@ -1449,7 +1467,7 @@
 		Common::kPlatformWindows,
 	},
 
-	// Puzzle
+	// Simon the Sorcerer's Puzzle Pack - NoPatience
 	{
 		"puzzle",
 		GType_PP,
@@ -1462,7 +1480,7 @@
 		Common::kPlatformWindows,
 	},
 
-	// Swampy Adventures
+	// Simon the Sorcerer's Puzzle Pack - Swampy Adventures
 	{
 		"swampy",
 		GType_PP,

Modified: scummvm/trunk/engines/simon/intern.h
===================================================================
--- scummvm/trunk/engines/simon/intern.h	2006-09-29 05:31:33 UTC (rev 24001)
+++ scummvm/trunk/engines/simon/intern.h	2006-09-29 05:33:22 UTC (rev 24002)
@@ -251,6 +251,7 @@
 	GID_FEEBLEFILES_IT,
 	GID_FEEBLEFILES_ES,
 
+	GID_DIMP,
 	GID_JUMBLE,
 	GID_PUZZLE,
 	GID_SWAMPY

Modified: scummvm/trunk/engines/simon/res.cpp
===================================================================
--- scummvm/trunk/engines/simon/res.cpp	2006-09-29 05:31:33 UTC (rev 24001)
+++ scummvm/trunk/engines/simon/res.cpp	2006-09-29 05:33:22 UTC (rev 24002)
@@ -932,12 +932,64 @@
 	return dst;
 }
 
+static const char *dimpSoundList[32] = {
+	"Beep",
+	"Birth",
+	"Boiling",
+	"Burp",
+	"Cough",
+	"Die1",
+	"Die2",
+	"Fart",
+	"Inject",
+	"Killchik",
+	"Puke",
+	"Lights",
+	"Shock",
+	"Snore",
+	"Snotty",
+	"Whip",
+	"Whistle",
+	"Work1",
+	"Work2",
+	"Yawn",
+	"And0w",
+	"And0x",
+	"And0y",
+	"And0z",
+	"And10",
+	"And11",
+	"And12",
+	"And13",
+	"And14",
+	"And15",
+	"And16",
+	"And17",
+};
+
+
 void SimonEngine::loadSound(uint sound, int pan, int vol, uint type) {
 	byte *dst;
 
-	if (getFeatures() & GF_ZLIBCOMP) {
+	if (getGameId() == GID_DIMP) {
+		File in;
 		char filename[15];
 
+		assert(sound >= 1 && sound <= 32);
+		sprintf(filename, "%s.wav", dimpSoundList[sound - 1]);
+
+		in.open(filename);
+		if (in.isOpen() == false)
+			error("loadSound: Can't load %s", filename);
+
+		uint32 dstSize = in.size();
+		dst = (byte *)malloc(dstSize);
+		if (in.read(dst, dstSize) != dstSize)
+			error("loadSound: Read failed");
+		in.close();
+	} else if (getFeatures() & GF_ZLIBCOMP) {
+		char filename[15];
+
 		uint32 file, offset, srcSize, dstSize;
 		if (getPlatform() == Common::kPlatformAmiga) {
 			loadOffsets((const char*)"sfxindex.dat", _zoneNumber * 22 + sound, file, offset, srcSize, dstSize);

Modified: scummvm/trunk/engines/simon/simon.cpp
===================================================================
--- scummvm/trunk/engines/simon/simon.cpp	2006-09-29 05:31:33 UTC (rev 24001)
+++ scummvm/trunk/engines/simon/simon.cpp	2006-09-29 05:33:22 UTC (rev 24002)
@@ -422,7 +422,10 @@
 		return -1;
 	}
 
-	if (getGameType() == GType_FF || getGameType() == GType_PP) {
+	if (getGameId() == GID_DIMP) {
+		_screenWidth = 496;
+		_screenHeight = 400;
+	} else if (getGameType() == GType_FF || getGameType() == GType_PP) {
 		_screenWidth = 640;
 		_screenHeight = 480;
 	} else {


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