[Scummvm-cvs-logs] scummvm master -> 2be8db90ee8b8f427c1e3483b79b187e67183eb6

bluegr md5 at scummvm.org
Mon Sep 26 04:30:01 CEST 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
2be8db90ee AGI: Fixed bug #3196882 - "KQ3: PCSpeaker affects render mode"


Commit: 2be8db90ee8b8f427c1e3483b79b187e67183eb6
    https://github.com/scummvm/scummvm/commit/2be8db90ee8b8f427c1e3483b79b187e67183eb6
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2011-09-25T19:23:42-07:00

Commit Message:
AGI: Fixed bug #3196882 - "KQ3: PCSpeaker affects render mode"

Changed paths:
    engines/agi/agi.cpp
    engines/agi/agi.h
    engines/agi/preagi.cpp



diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 49b4335..4ed606c 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -525,6 +525,21 @@ AgiBase::~AgiBase() {
 	}
 }
 
+void AgiBase::initRenderMode() {
+	_renderMode = Common::kRenderEGA;
+
+	if (ConfMan.hasKey("platform")) {
+		Common::Platform platform = Common::parsePlatform(ConfMan.get("platform"));
+		_renderMode = (platform == Common::kPlatformAmiga) ? Common::kRenderAmiga : Common::kRenderEGA;
+	}
+
+	if (ConfMan.hasKey("render_mode")) {
+		Common::RenderMode tmpMode = Common::parseRenderMode(ConfMan.get("render_mode").c_str());
+		if (tmpMode != Common::kRenderDefault)
+			_renderMode = tmpMode;
+	}
+}
+
 AgiEngine::AgiEngine(OSystem *syst, const AGIGameDescription *gameDesc) : AgiBase(syst, gameDesc) {
 
 	// Setup mixer
@@ -620,23 +635,7 @@ void AgiEngine::initialize() {
 		}
 	}
 
-	if (ConfMan.hasKey("render_mode")) {
-		_renderMode = Common::parseRenderMode(ConfMan.get("render_mode").c_str());
-	} else if (ConfMan.hasKey("platform")) {
-		switch (Common::parsePlatform(ConfMan.get("platform"))) {
-		case Common::kPlatformAmiga:
-			_renderMode = Common::kRenderAmiga;
-			break;
-		case Common::kPlatformPC:
-			_renderMode = Common::kRenderEGA;
-			break;
-		default:
-			_renderMode = Common::kRenderEGA;
-			break;
-		}
-	} else {
-		_renderMode = Common::kRenderDefault;
-	}
+	initRenderMode();
 
 	_buttonStyle = AgiButtonStyle(_renderMode);
 	_defaultButtonStyle = AgiButtonStyle();
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index d82bc58..07729b6 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -776,6 +776,8 @@ protected:
 
 	virtual void initialize() = 0;
 
+	void initRenderMode();
+
 public:
 	GfxMgr *_gfx;
 
diff --git a/engines/agi/preagi.cpp b/engines/agi/preagi.cpp
index 8d407ec..0b5afc7 100644
--- a/engines/agi/preagi.cpp
+++ b/engines/agi/preagi.cpp
@@ -54,21 +54,7 @@ PreAgiEngine::PreAgiEngine(OSystem *syst, const AGIGameDescription *gameDesc) :
 }
 
 void PreAgiEngine::initialize() {
-	if (ConfMan.hasKey("render_mode")) {
-		_renderMode = Common::parseRenderMode(ConfMan.get("render_mode").c_str());
-	} else if (ConfMan.hasKey("platform")) {
-		switch (Common::parsePlatform(ConfMan.get("platform"))) {
-		case Common::kPlatformAmiga:
-			_renderMode = Common::kRenderAmiga;
-			break;
-		case Common::kPlatformPC:
-			_renderMode = Common::kRenderEGA;
-			break;
-		default:
-			_renderMode = Common::kRenderEGA;
-			break;
-		}
-	}
+	initRenderMode();
 
 	_gfx = new GfxMgr(this);
 	_picture = new PictureMgr(this, _gfx);






More information about the Scummvm-git-logs mailing list