[Scummvm-cvs-logs] CVS: scummvm/simon items.cpp,1.1.1.1,1.2 midi.cpp,1.6,1.7 res.cpp,1.6,1.7 simon.cpp,1.28,1.29 simon.h,1.4,1.5

Travis Howell kirben at users.sourceforge.net
Thu Oct 24 02:41:02 CEST 2002


Update of /cvsroot/scummvm/scummvm/simon
In directory usw-pr-cvs1:/tmp/cvs-serv30013/simon

Modified Files:
	items.cpp midi.cpp res.cpp simon.cpp simon.h 
Log Message:

Add simon1demo


Index: items.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/items.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- items.cpp	21 Aug 2002 16:07:37 -0000	1.1.1.1
+++ items.cpp	24 Oct 2002 09:40:20 -0000	1.2
@@ -1015,7 +1015,7 @@
 					uint d = _array_4[a];
 					if (d != 0)
 						talk_with_speech(d, b);
-				} else if (_game == GAME_SIMON1DOS) {
+				} else if ((_game == GAME_SIMON1DEMO) || (_game == GAME_SIMON1DOS)) {
 					uint b = getVarOrByte();
 					uint c = getVarOrByte();
 					uint a = getVarOrByte();
@@ -1289,7 +1289,7 @@
 			offs = getOffsetOfChild2Param(child, 0x100);
 			talk_with_speech(child->array[offs] + 3550, a);
 		}
-	} else if (_game == GAME_SIMON1DOS) {
+	} else if ((_game == GAME_SIMON1DEMO) || (_game == GAME_SIMON1DOS)) {
 		uint a = getVarOrByte();
 		uint b = getVarOrByte();
 		Child2 *child = findChildOfType2(getNextItemPtr());

Index: midi.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/midi.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- midi.cpp	21 Oct 2002 22:19:59 -0000	1.6
+++ midi.cpp	24 Oct 2002 09:40:20 -0000	1.7
@@ -135,7 +135,7 @@
 		break;
 
 	default:
-		error("Midi song has no 'MThd'");
+		warning("Midi song has no 'MThd'");
 	}
 
 }

Index: res.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/res.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- res.cpp	22 Oct 2002 13:33:48 -0000	1.6
+++ res.cpp	24 Oct 2002 09:40:20 -0000	1.7
@@ -265,6 +265,9 @@
 	case GAME_SIMON1DOS:
 		table = opcode_arg_table_simon1dos;
 		break;
+	case GAME_SIMON1DEMO:
+		table = opcode_arg_table_simon1dos;
+		break;
 	default:
 		error("Invalid game specified");
 	}

Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- simon.cpp	24 Oct 2002 07:24:14 -0000	1.28
+++ simon.cpp	24 Oct 2002 09:40:20 -0000	1.29
@@ -54,6 +54,25 @@
 	"GAMEPC",											/* gamepc_filename */
 };
 
+static const GameSpecificSettings simon1demo_settings = {
+	1,														/* VGA_DELAY_BASE */
+	1576 / 4,											/* TABLE_INDEX_BASE */
+	1460 / 4,											/* TEXT_INDEX_BASE */
+	1700 / 4,											/* NUM_GAME_OFFSETS */
+	64,														/* NUM_VIDEO_OP_CODES */
+	1000000,											/* VGA_MEM_SIZE */
+	50000,												/* TABLES_MEM_SIZE */
+	3624,													/* NUM_VOICE_RESOURCES */
+	141,													/* NUM_EFFECT_RESOURCES */
+	1316 / 4,											/* MUSIC_INDEX_BASE */
+	0,														/* SOUND_INDEX_BASE */
+	"",									/* gme_filename */
+	"",									/* wav_filename */
+	"",									/* wav_filename2 */
+	"",									/* effects_filename */
+	"GDEMO",											/* gamepc_filename */
+};
+
 static const GameSpecificSettings simon2win_settings = {
 	5,														/* VGA_DELAY_BASE */
 	1580 / 4,											/* TABLE_INDEX_BASE */
@@ -896,7 +915,7 @@
 
 uint SimonState::loadTextFile(const char *filename, byte *dst)
 {
-	if (_game == GAME_SIMON1DOS)
+	if ((_game == GAME_SIMON1DEMO) || (_game == GAME_SIMON1DOS))
 		return loadTextFile_simon1(filename, dst);
 	else
 		return loadTextFile_gme(filename, dst);
@@ -904,7 +923,7 @@
 
 File *SimonState::openTablesFile(const char *filename)
 {
-	if (_game == GAME_SIMON1DOS)
+	if ((_game == GAME_SIMON1DEMO) || (_game == GAME_SIMON1DOS))
 		return openTablesFile_simon1(filename);
 	else
 		return openTablesFile_gme(filename);
@@ -912,7 +931,7 @@
 
 void SimonState::closeTablesFile(File *in)
 {
-	if (_game == GAME_SIMON1DOS)
+	if ((_game == GAME_SIMON1DEMO) || (_game == GAME_SIMON1DOS))
 		closeTablesFile_simon1(in);
 	else
 		closeTablesFile_gme(in);
@@ -1714,6 +1733,10 @@
 		string_ptr = getStringPtrByID(string_id);
 		break;
 
+	case GAME_SIMON1DEMO:
+		string_ptr = getStringPtrByID(string_id);
+		break;
+
 	case GAME_SIMON1DOS:
 		string_ptr = getStringPtrByID(string_id);
 		break;
@@ -1759,6 +1782,10 @@
 #endif
 		break;
 
+	case GAME_SIMON1DEMO:
+		talk_with_text(num_1, num_2, (char *)string_ptr, tv->a, tv->b, tv->c);
+		break;
+
 	case GAME_SIMON1DOS:
 		talk_with_text(num_1, num_2, (char *)string_ptr, tv->a, tv->b, tv->c);
 		break;
@@ -4000,7 +4027,7 @@
 
 void SimonState::read_vga_from_datfile_1(uint vga_id)
 {
-	if (_game == GAME_SIMON1DOS) {
+	if ((_game == GAME_SIMON1DEMO) || (_game == GAME_SIMON1DOS)) {
 		File in;
 		char buf[50];
 		uint32 size;
@@ -4032,7 +4059,7 @@
 
 byte *SimonState::read_vga_from_datfile_2(uint id)
 {
-	if (_game == GAME_SIMON1DOS) {
+	if ((_game == GAME_SIMON1DEMO) || (_game == GAME_SIMON1DOS)) {
 		File in;
 		char buf[50];
 		uint32 size;
@@ -4076,7 +4103,7 @@
 
 void SimonState::openGameFile()
 {
-	if (_game != GAME_SIMON1DOS) {
+	if ((_game != GAME_SIMON1DEMO) && (_game != GAME_SIMON1DOS)) {
 		_game_file = new File();
 		_game_file->open(gss->gme_filename, _gameDataPath);
 
@@ -4297,6 +4324,8 @@
 		gss = &simon2win_settings;
 	} else if (_game == GAME_SIMON2DOS) {
 		gss = &simon2dos_settings;
+	} else if (_game == GAME_SIMON1DEMO) {
+		gss = &simon1demo_settings;
 	} else {
 		gss = &simon1_settings;
 	}

Index: simon.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- simon.h	24 Oct 2002 07:14:28 -0000	1.4
+++ simon.h	24 Oct 2002 09:40:20 -0000	1.5
@@ -121,6 +121,7 @@
 		GAME_SIMON1WIN = 2,
 		GAME_SIMON2DOS = 1,
 		GAME_SIMON2WIN = 3,
+		GAME_SIMON1DEMO = 4,
 	};
 
 





More information about the Scummvm-git-logs mailing list