[Scummvm-cvs-logs] CVS: scummvm/simon intern.h,1.37,1.38 res.cpp,1.34,1.35 saveload.cpp,1.14,1.15 simon.cpp,1.513,1.514

kirben kirben at users.sourceforge.net
Thu Oct 6 07:36:01 CEST 2005


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

Modified Files:
	intern.h res.cpp saveload.cpp simon.cpp 
Log Message:

Add FF table.


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/intern.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- intern.h	3 Oct 2005 14:08:07 -0000	1.37
+++ intern.h	6 Oct 2005 14:34:24 -0000	1.38
@@ -160,14 +160,17 @@
 
 enum {
 	GAME_SIMON1DOS = GF_SIMON1 | GF_OLD_BUNDLE,
-	GAME_SIMON2DOS = GF_SIMON2,
-	GAME_SIMON1TALKIE = GF_SIMON1 | GF_TALKIE,
-	GAME_SIMON2TALKIE = GF_SIMON2 | GF_TALKIE,
-	GAME_SIMON2WIN = GF_SIMON2 | GF_WIN | GF_TALKIE,
 	GAME_SIMON1DEMO = GF_SIMON1 | GF_DEMO | GF_OLD_BUNDLE,
 	GAME_SIMON1AMIGA = GF_SIMON1 | GF_AMIGA | GF_OLD_BUNDLE,
 	GAME_SIMON1CD32 = GF_SIMON1 | GF_TALKIE | GF_AMIGA | GF_OLD_BUNDLE,
-	GAME_SIMON1ACORN = GF_SIMON1 | GF_TALKIE | GF_ACORN
+	GAME_SIMON1ACORN = GF_SIMON1 | GF_TALKIE | GF_ACORN,
+	GAME_SIMON1TALKIE = GF_SIMON1 | GF_TALKIE,
+
+	GAME_SIMON2DOS = GF_SIMON2,
+	GAME_SIMON2TALKIE = GF_SIMON2 | GF_TALKIE,
+	GAME_SIMON2WIN = GF_SIMON2 | GF_WIN | GF_TALKIE,
+
+	GAME_FEEBLEFILES = GF_SIMON2 | GF_WIN | GF_TALKIE | GF_OLD_BUNDLE
 };
 
 #endif

Index: res.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/res.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- res.cpp	3 Oct 2005 14:08:07 -0000	1.34
+++ res.cpp	6 Oct 2005 14:34:24 -0000	1.35
@@ -96,6 +96,23 @@
 	" ", " ", "BT ", " ", "B "
 };
 
+static const char *const opcode_arg_table_feeblefiles[256] = {
+	" ", "I ", "I ", "I ", "I ", "I ", "I ", "II ", "II ", "II ", "II ", "B ", "B ", "BN ", "BN ",
+	"BN ", "BN ", "BB ", "BB ", "BB ", "BB ", "II ", "II ", "N ", "I ", "I ", "I ", "IN ", "IB ",
+	"II ", "I ", "I ", "II ", "II ", "IBB ", "BIB ", "BB ", "B ", "BI ", "IB ", "B ", "B ", "BN ",
+	"BN ", "BN ", "BB ", "BB ", "BN ", "BN ", "BB ", "BB ", "BN ", "BB ", "BN ", "B ", "I ", "IB ",
+	"IB ", "II ", "I ", "I ", "IN ", "B ", "T ", "T ", "NNNNNB ", "BT ", "BTS ", "T ", " ", "B ",
+	"N ", "IBN ", "I ", "I ", "I ", "NN ", " ", " ", "IT ", "II ", "I ", "B ", " ", "IB ", "IBB ",
+	"IIB ", "T ", " ", " ", "IB ", "IB ", "IB ", "B ", "BB ", "IBB ", "NB ", "N ", "NNBNNN ", "NN ",
+	" ", "BNNNNNN ", "B ", " ", "B ", "B ", "BB ", "NNNNNIN ", "N ", "N ", "N ", "NNN ", "NBNN ",
+	"IBNN ", "IB ", "IB ", "IB ", "IB ", "N ", "N ", "N ", "BI ", " ", " ", "N ", "I ", "IBB ",
+	"NNB ", "N ", "N ", "Ban ", " ", " ", " ", " ", " ", "IB ", "B ", " ", "II ", " ", "BI ",
+	"N ", "I ", "IB ", "IB ", "IB ", "IB ", "IB ", "IB ", "IB ", "BI ", "BB ", "B ", "B ", "B ",
+	"B ", "IBB ", "IBN ", "IB ", "B ", "BNNN ", "BBTS ", "N ", " ", "Ian ", "B ", "B ", "B ", "B ",
+	"T ", "N ", " ", " ", "I ", " ", " ", "BBI ", "NNBB ", "BBB ", " ", " ", "T ", " ", "N ", "N ",
+	" ", " ", "BT ", " ", "B ", " ", "BBBB ", " ", " ", "BBBB ", "B ", "B ", "B ", "B "
+};
+
 void SimonEngine::loadGamePcFile(const char *filename) {
 	Common::File in;
 	int num_inited_objects;
@@ -148,6 +165,9 @@
 	_tablesHeapPtrOrg = _tablesHeapPtr;
 	_tablesHeapCurPosOrg = _tablesHeapCurPos;
 
+	if (_game == GAME_FEEBLEFILES)
+		return;
+
 	/* Read list of TEXT resources */
 	if (_game == GAME_SIMON1ACORN)
 		in.open("STRIPPED");
@@ -260,7 +280,9 @@
 
 	const char *const *table;
 
-	if ((_game & GF_SIMON2) && (_game & GF_TALKIE))
+	if (_game == GAME_FEEBLEFILES) {
+		table = opcode_arg_table_feeblefiles;
+	} else if ((_game & GF_SIMON2) && (_game & GF_TALKIE))
 		table = opcode_arg_table_simon2win;
 	else if (_game & GF_SIMON2)
 		table = opcode_arg_table_simon2dos;

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/saveload.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- saveload.cpp	3 Oct 2005 14:08:07 -0000	1.14
+++ saveload.cpp	6 Oct 2005 14:34:24 -0000	1.15
@@ -496,7 +496,7 @@
 }
 
 bool SimonEngine::load_game(uint slot) {
-	char ident[18];
+	char ident[100];
 	Common::InSaveFile *f;
 	uint num, item_index, i, j;
 
@@ -508,7 +508,11 @@
 		return false;
 	}
 
-	f->read(ident, 18);
+	if (_game == GAME_FEEBLEFILES) {
+		f->read(ident, 18);
+	} else {
+		f->read(ident, 100);
+	}
 
 	num = f->readUint32BE();
 

Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.513
retrieving revision 1.514
diff -u -d -r1.513 -r1.514
--- simon.cpp	5 Oct 2005 12:16:49 -0000	1.513
+++ simon.cpp	6 Oct 2005 14:34:24 -0000	1.514
@@ -75,6 +75,7 @@
 	{"simon2mac", "Simon the Sorcerer 2 Talkie (Amiga or Mac)", GAME_SIMON2WIN, 0},
 	{"simon1cd32", "Simon the Sorcerer 1 Talkie (Amiga CD32)", GAME_SIMON1CD32, "gameamiga"},
 	{"simon1demo", "Simon the Sorcerer 1 (DOS Demo)", GAME_SIMON1DEMO, "GDEMO"},
+	{"ff", "The Feeble Files", GAME_FEEBLEFILES, "GAME22"},
 
 	{NULL, NULL, 0, NULL}
 };
@@ -261,6 +262,20 @@
 	"",                                     // flac_effects_filename
 	"GAME32",                               // gamepc_filename
 };
+
+static const GameSpecificSettings feeblefiles_settings = {
+	"",	                                // gme_filename
+	"",                                     // wav_filename
+	"",                                     // voc_filename
+	"",                                     // mp3_filename
+	"",                                     // vorbis_filename
+	"",					// flac_filename
+	"",                                     // voc_effects_filename
+	"",                                     // mp3_effects_filename
+	"",                                     // vorbis_effects_filename
+	"",                                     // flac_effects_filename
+	"GAME22",                               // gamepc_filename
+};
 #endif
 
 static const char* bad_versions[3] = {
@@ -378,7 +393,9 @@
 	}
 
 	_language = Common::parseLanguage(ConfMan.get("language"));
-	if (_game & GF_SIMON2) {
+	if (_game == GAME_FEEBLEFILES) {
+		gss = PTR(feeblefiles_settings);
+	} else if (_game & GF_SIMON2) {
 		if (_game & GF_TALKIE) {
 			gss = PTR(simon2win_settings);
 
@@ -1367,9 +1384,9 @@
 				readSubroutineBlock(in);
 				closeTablesFile(in);
 
-				if (_game & GF_SIMON2) {
+				if (_game == GAME_SIMON2DOS || _game == GAME_SIMON2WIN) {
 					_sound->loadSfxTable(_gameFile, _gameOffsetsPtr[atoi(filename + 6) - 1 + SOUND_INDEX_BASE]);
-				} else if (_game & GF_TALKIE) {
+				} else if (_game == GAME_SIMON1TALKIE) {
 					memcpy(filename, "SFXXXX", 6);
 					_sound->readSfxFile(filename);
 				}
@@ -3815,7 +3832,8 @@
 #endif
 	}
 
-	loadIconFile();
+	if (_game != GAME_FEEBLEFILES)
+		loadIconFile();
 
 	vc34_setMouseOff();
 





More information about the Scummvm-git-logs mailing list