[Scummvm-cvs-logs] SF.net SVN: scummvm: [23422] scummvm/branches/branch-0-9-0/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sat Jul 8 14:25:56 CEST 2006


Revision: 23422
Author:   lordhoto
Date:     2006-07-08 05:25:49 -0700 (Sat, 08 Jul 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=23422&view=rev

Log Message:
-----------
Adds a message dialog if kyra.dat is missing which tells the user to download the kyra.dat file. ('backport')

Modified Paths:
--------------
    scummvm/branches/branch-0-9-0/engines/kyra/kyra.cpp
    scummvm/branches/branch-0-9-0/engines/kyra/resource.cpp
    scummvm/branches/branch-0-9-0/engines/kyra/staticres.cpp
Modified: scummvm/branches/branch-0-9-0/engines/kyra/kyra.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/engines/kyra/kyra.cpp	2006-07-08 12:23:44 UTC (rev 23421)
+++ scummvm/branches/branch-0-9-0/engines/kyra/kyra.cpp	2006-07-08 12:25:49 UTC (rev 23422)
@@ -177,12 +177,12 @@
 	}
 	_sound->setVolume(255);
 	
-	_res = new Resource(this);
-	assert(_res);
 	_screen = new Screen(this, _system);
 	assert(_screen);
 	if (!_screen->init())
 		error("_screen->init() failed");
+	_res = new Resource(this);
+	assert(_res);
 	_sprites = new Sprites(this, _system);
 	assert(_sprites);
 	_seq = new SeqPlayer(this, _system);

Modified: scummvm/branches/branch-0-9-0/engines/kyra/resource.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/engines/kyra/resource.cpp	2006-07-08 12:23:44 UTC (rev 23421)
+++ scummvm/branches/branch-0-9-0/engines/kyra/resource.cpp	2006-07-08 12:25:49 UTC (rev 23422)
@@ -23,6 +23,9 @@
 #include "common/stdafx.h"
 #include "common/endian.h"
 #include "common/file.h"
+
+#include "gui/message.h"
+
 #include "kyra/resource.h"
 #include "kyra/script.h"
 #include "kyra/wsamovie.h"
@@ -118,10 +121,10 @@
 	if (_engine->game() == GI_KYRA1) {
 		/*if (_engine->features() & GF_AMIGA)
 			usedFilelist = kyra1AmigaFilelist;
-			else*/ if (_engine->features() & GF_FLOPPY)
-				usedFilelist = kyra1Filelist;
-			else if (_engine->features() & GF_TALKIE)
-				usedFilelist = kyra1CDFilelist;
+		else*/ if (_engine->features() & GF_FLOPPY)
+			usedFilelist = kyra1Filelist;
+		else if (_engine->features() & GF_TALKIE)
+			usedFilelist = kyra1CDFilelist;
 	} else if (_engine->game() == GI_KYRA2) {
 		// TODO: add kyra2 floppy file list
 		usedFilelist = kyra2CDFilelist;
@@ -132,6 +135,8 @@
 	// we're loading KYRA.DAT here too (but just for Kyrandia 1)
 	if (_engine->game() == GI_KYRA1) {
 		if (!loadPakFile("KYRA.DAT")) {
+			GUI::MessageDialog errorMsg("You're missing the 'KYRA.DAT' file, get it from the ScummVM website");
+			errorMsg.runModal();
 			error("couldn't open Kyrandia resource file ('KYRA.DAT') make sure you got one file for your version");
 		}
 	}
@@ -171,7 +176,9 @@
 	if (isInPakList(filename))
 		return true;
 	PAKFile *file = new PAKFile(filename.c_str());
-	if (!file) {
+	if (!file)
+		return false;
+	if (!file->isValid()) {
 		warning("couldn't load file: '%s'", filename.c_str());
 		return false;
 	}

Modified: scummvm/branches/branch-0-9-0/engines/kyra/staticres.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/engines/kyra/staticres.cpp	2006-07-08 12:23:44 UTC (rev 23421)
+++ scummvm/branches/branch-0-9-0/engines/kyra/staticres.cpp	2006-07-08 12:25:49 UTC (rev 23422)
@@ -149,7 +149,8 @@
 	int tempSize = 0;
 	uint8 *temp = getFile("INDEX", tempSize);
 	if (!temp) {
-		error("no matching INDEX file found");
+		warning("no matching INDEX file found");
+		return false;
 	}
 	
 	uint32 version = READ_BE_UINT32(temp);


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