[Scummvm-cvs-logs] CVS: scummvm/simon intern.h,1.19,1.20 res.cpp,1.23,1.24 simon.cpp,1.297,1.298 sound.cpp,1.45,1.46

Travis Howell kirben at users.sourceforge.net
Tue Sep 23 23:21:01 CEST 2003


Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1:/tmp/cvs-serv8279/simon

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

Add Acorn version of Simon the Sorcerer 1 Talkie


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/intern.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- intern.h	6 Aug 2003 09:10:19 -0000	1.19
+++ intern.h	24 Sep 2003 06:19:30 -0000	1.20
@@ -140,7 +140,8 @@
 	GF_TALKIE = 1 << 2,
 	GF_DEMO   = 1 << 3,
 	GF_MAC    = 1 << 4,
-	GF_AMIGA  = 1 << 5
+	GF_AMIGA  = 1 << 5,
+	GF_ACORN  = 1 << 6
 };
 
 enum {
@@ -153,7 +154,8 @@
 	GAME_SIMON1DEMO = GF_DEMO,
 	GAME_SIMON2MAC =  GF_SIMON2 | GF_WIN | GF_TALKIE | GF_MAC,
 	GAME_SIMON1AMIGA = GF_AMIGA,
-	GAME_SIMON1CD32 = GF_TALKIE | GF_AMIGA
+	GAME_SIMON1CD32 = GF_TALKIE | GF_AMIGA,
+	GAME_SIMON1ACORN = GF_TALKIE | GF_ACORN
 };
 
 #endif

Index: res.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/res.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- res.cpp	15 Jun 2003 13:07:06 -0000	1.23
+++ res.cpp	24 Sep 2003 06:19:30 -0000	1.24
@@ -147,7 +147,10 @@
 	_tablesheap_curpos_org = _tablesheap_curpos;
 
 	/* Read list of TEXT resources */
-	in.open("STRIPPED.TXT", _gameDataPath);
+	if (_game == GAME_SIMON1ACORN)
+		in.open("STRIPPED", _gameDataPath);
+	else
+		in.open("STRIPPED.TXT", _gameDataPath);
 	if (in.isOpen() == false)
 		error("Can't open text resources file 'STRIPPED.TXT'");
 
@@ -259,6 +262,7 @@
 	case GAME_SIMON1TALKIE:
 	case GAME_SIMON1WIN:
 	case GAME_SIMON1CD32:
+	case GAME_SIMON1ACORN:
 		table = opcode_arg_table_simon1win;
 		break;
 	case GAME_SIMON2DOS:

Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.297
retrieving revision 1.298
diff -u -d -r1.297 -r1.298
--- simon.cpp	20 Sep 2003 22:26:10 -0000	1.297
+++ simon.cpp	24 Sep 2003 06:19:30 -0000	1.298
@@ -47,6 +47,7 @@
 
 static const TargetSettings simon_settings[] = {
 	// Simon the Sorcerer 1 & 2 (not SCUMM games)
+	{"simon1acorn", "Simon the Sorcerer 1 (Acorn)", GID_SIMON_FIRST, 99, MDT_ADLIB | MDT_NATIVE, GAME_SIMON1ACORN, "DATA"},
 	{"simon1dos", "Simon the Sorcerer 1 (DOS)", GID_SIMON_FIRST, 99, MDT_ADLIB | MDT_NATIVE, GAME_SIMON1DOS, "GAMEPC"},
 	{"simon1amiga", "Simon the Sorcerer 1 (Amiga)", GID_SIMON_FIRST, 99, MDT_NONE, GAME_SIMON1AMIGA, "gameamiga"},
 	{"simon2dos", "Simon the Sorcerer 2 (DOS)", GID_SIMON_FIRST, 99, MDT_ADLIB | MDT_NATIVE, GAME_SIMON2DOS, "GAME32"},
@@ -89,6 +90,24 @@
 	"GAMEPC",									// gamepc_filename
 };
 
+static const GameSpecificSettings simon1acorn_settings = {
+	1,										// VGA_DELAY_BASE
+	1576 / 4,									// TABLE_INDEX_BASE
+	1460 / 4,									// TEXT_INDEX_BASE
+	64,										// NUM_VIDEO_OP_CODES
+	1000000,									// VGA_MEM_SIZE
+	50000,										// TABLES_MEM_SIZE
+	1316 / 4,									// MUSIC_INDEX_BASE
+	0,										// SOUND_INDEX_BASE
+	"DATA",										// gme_filename
+	"",										// wav_filename
+	"SIMON",									// voc_filename
+	"SIMON.MP3",									// mp3_filename
+	"EFFECTS",									// voc_effects_filename
+	"EFFECTS.MP3",									// mp3_effects_filename
+	"GAMEBASE",									// gamepc_filename
+};
+
 static const GameSpecificSettings simon1amiga_settings = {
 	1,										// VGA_DELAY_BASE
 	1576 / 4,									// TABLE_INDEX_BASE
@@ -197,6 +216,8 @@
 		gss = &simon2win_settings;
 	} else if (_game == GAME_SIMON2DOS) {
 		gss = &simon2dos_settings;
+	} else if (_game == GAME_SIMON1ACORN) {
+		gss =&simon1acorn_settings;
 	} else if (_game & GF_AMIGA) {
 		gss = &simon1amiga_settings;
 	} else if (_game == GAME_SIMON1DEMO) {
@@ -1697,7 +1718,9 @@
 
 void SimonEngine::loadIconFile() {
 	File in;
-	if (_game & GF_AMIGA)
+	if (_game & GF_ACORN)
+		in.open("ICONDATA", _gameDataPath);
+	else if (_game & GF_AMIGA)
 		in.open("icon.pkd", _gameDataPath);
 	else
 		in.open("ICON.DAT", _gameDataPath);
@@ -2092,6 +2115,7 @@
 	case GAME_SIMON1TALKIE:
 	case GAME_SIMON1WIN:
 	case GAME_SIMON1CD32:
+	case GAME_SIMON1ACORN:
 		if (speech_id != 0)
 			talk_with_speech(speech_id, num_1);
 		if (string_ptr != NULL && (speech_id == 0 || _subtitles))
@@ -4834,7 +4858,7 @@
 		if (_game & GF_AMIGA) {
 			if (_game != GAME_SIMON1CD32) {
 				// TODO Add support for decruncher
-				debug(5,"playMusic - Decrunch %dtune attempt", music);
+				debug(5,"loadMusic - Decrunch %dtune attempt", music);
 			}
 			// TODO Add Protracker support for simon1amiga/cd32
 			debug(5,"playMusic - Load %dtune attempt", music);

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/sound.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- sound.cpp	10 Sep 2003 12:31:06 -0000	1.45
+++ sound.cpp	24 Sep 2003 06:19:30 -0000	1.46
@@ -312,7 +312,7 @@
 	}
 #endif
 
-	if (_game == GAME_SIMON1TALKIE) {
+	if (_game == GAME_SIMON1ACORN || _game == GAME_SIMON1TALKIE) {
 		file = new File();
 #ifdef USE_MAD
 		file->open(gss->mp3_effects_filename, gameDataPath);





More information about the Scummvm-git-logs mailing list