[Scummvm-cvs-logs] scummvm master -> a2c282bc5c43e16183d386478a4a0c5a71cf2cce

Strangerke Strangerke at scummvm.org
Fri Mar 29 07:51:01 CET 2013


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

Summary:
1100216f86 HOPKINS: Implement Load from GUI
a2c282bc5c HOPKINS: Add debugger command to change scene


Commit: 1100216f86ff6fd8d63c3080d9d8926d9697115e
    https://github.com/scummvm/scummvm/commit/1100216f86ff6fd8d63c3080d9d8926d9697115e
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-28T23:34:34-07:00

Commit Message:
HOPKINS: Implement Load from GUI

Changed paths:
    engines/hopkins/hopkins.cpp
    engines/hopkins/hopkins.h



diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index 72c59a7..0f52608 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -56,6 +56,8 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe
 	_scriptManager = new ScriptManager(this);
 	_soundManager = new SoundManager(this);
 	_talkManager = new TalkManager(this);
+
+	_startGameSlot = ConfMan.hasKey("save_slot") ? ConfMan.getInt("save_slot") : -1;
 }
 
 HopkinsEngine::~HopkinsEngine() {
@@ -143,11 +145,13 @@ bool HopkinsEngine::runWin95Demo() {
 	_graphicsManager->unlockScreen();
 	_graphicsManager->clearPalette();
 
-	_graphicsManager->loadImage("H2");
-	_graphicsManager->fadeInLong();
+	if (_startGameSlot == -1) {
+		_graphicsManager->loadImage("H2");
+		_graphicsManager->fadeInLong();
 
-	if (!_eventsManager->_escKeyFl)
-		playIntro();
+		if (!_eventsManager->_escKeyFl)
+			playIntro();
+	}
 
 	_eventsManager->_rateCounter = 0;
 	_globals->iRegul = 1;
@@ -163,14 +167,21 @@ bool HopkinsEngine::runWin95Demo() {
 		_globals->_speed = 2;
 	if (_eventsManager->_rateCounter > 700)
 		_globals->_speed = 3;
-	_graphicsManager->fadeOutLong();
-	_globals->iRegul = 1;
-	_globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
+
+	if (_startGameSlot == -1) {
+		_graphicsManager->fadeOutLong();
+		_globals->iRegul = 1;
+		_globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
+	}
+
 	_globals->_characterType = 0;
 	_objectsManager->_mapCarPosX = _objectsManager->_mapCarPosY = 0;
 	memset(_globals->_saveData, 0, 2000);
 	_globals->_exitId = 0;
 
+	if (_startGameSlot != -1)
+		_saveLoadManager->loadGame(_startGameSlot);
+
 	if (getLanguage() != Common::PL_POL)
 		if (!displayAdultDisclaimer())
 			return Common::kNoError;
@@ -441,18 +452,20 @@ bool HopkinsEngine::runLinuxDemo() {
 	_graphicsManager->clearScreen();
 	_graphicsManager->unlockScreen();
 
-	_graphicsManager->loadImage("LINUX");
-	_graphicsManager->fadeInLong();
-	_eventsManager->delay(1500);
-	_graphicsManager->fadeOutLong();
+	if (_startGameSlot == -1) {
+		_graphicsManager->loadImage("LINUX");
+		_graphicsManager->fadeInLong();
+		_eventsManager->delay(1500);
+		_graphicsManager->fadeOutLong();
 
-	_graphicsManager->loadImage("H2");
-	_graphicsManager->fadeInLong();
-	_eventsManager->delay(500);
-	_graphicsManager->fadeOutLong();
+		_graphicsManager->loadImage("H2");
+		_graphicsManager->fadeInLong();
+		_eventsManager->delay(500);
+		_graphicsManager->fadeOutLong();
 
-	if (!_eventsManager->_escKeyFl)
-		playIntro();
+		if (!_eventsManager->_escKeyFl)
+			playIntro();
+	}
 
 	_globals->iRegul = 0;
 	_globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
@@ -461,6 +474,9 @@ bool HopkinsEngine::runLinuxDemo() {
 	memset(_globals->_saveData, 0, 2000);
 	_globals->_exitId = 0;
 
+	if (_startGameSlot != -1)
+		_saveLoadManager->loadGame(_startGameSlot);
+
 	for (;;) {
 		if (_globals->_exitId == 300)
 			_globals->_exitId = 0;
@@ -751,7 +767,7 @@ bool HopkinsEngine::runLinuxDemo() {
 }
 
 bool HopkinsEngine::runFull() {
-	if (getPlatform() == Common::kPlatformLinux)
+	if (_startGameSlot == -1 && getPlatform() == Common::kPlatformLinux)
 		_soundManager->playSound(16);
 
 	_objectsManager->loadObjects();
@@ -769,18 +785,22 @@ bool HopkinsEngine::runFull() {
 		// This code displays the game version.
 		// It wasn't present in the original and could be put in the debugger
 		// It has been added there for debug purposes
-		_graphicsManager->loadImage("VERSW");
-		_graphicsManager->fadeInLong();
-		_eventsManager->delay(500);
-		_graphicsManager->fadeOutLong();
+		if (_startGameSlot == -1) {
+			_graphicsManager->loadImage("VERSW");
+			_graphicsManager->fadeInLong();
+			_eventsManager->delay(500);
+			_graphicsManager->fadeOutLong();
+		}
 		_graphicsManager->clearVesaScreen();
 	} else {
 		// This piece of code, though named "display_version" in the original, 
 		// displays a "loading please wait" screen.
-		_graphicsManager->loadImage("VERSW");
-		_graphicsManager->fadeInLong();
-		_eventsManager->delay(500);
-		_graphicsManager->fadeOutLong();
+		if (_startGameSlot == -1) {
+			_graphicsManager->loadImage("VERSW");
+			_graphicsManager->fadeInLong();
+			_eventsManager->delay(500);
+			_graphicsManager->fadeOutLong();
+		}
 		_graphicsManager->clearVesaScreen();
 
 		_globals->iRegul = 1;
@@ -791,27 +811,28 @@ bool HopkinsEngine::runFull() {
 	_graphicsManager->unlockScreen();
 	_graphicsManager->clearPalette();
 	
-	if (getPlatform() == Common::kPlatformLinux) {
-		_graphicsManager->loadImage("H2");
-		_graphicsManager->fadeInLong();
-		_eventsManager->delay(500);
-		_graphicsManager->fadeOutLong();
-
-		_globals->_speed = 2;
-		_globals->iRegul = 1;
-		_graphicsManager->_fadingFl = true;
-		_animationManager->playAnim("MP.ANM", 10, 16, 200);
-	} else {
-		_animationManager->playAnim("MP.ANM", 10, 16, 200);
-		_graphicsManager->fadeOutLong();
+	if (_startGameSlot == -1) {
+		if (getPlatform() == Common::kPlatformLinux) {
+				_graphicsManager->loadImage("H2");
+				_graphicsManager->fadeInLong();
+				_eventsManager->delay(500);
+				_graphicsManager->fadeOutLong();
+				_globals->_speed = 2;
+				_globals->iRegul = 1;
+				_graphicsManager->_fadingFl = true;
+				_animationManager->playAnim("MP.ANM", 10, 16, 200);
+		} else {
+			_animationManager->playAnim("MP.ANM", 10, 16, 200);
+			_graphicsManager->fadeOutLong();
+		}
 	}
 
-	if (!_eventsManager->_escKeyFl) {
+	if (!_eventsManager->_escKeyFl && _startGameSlot == -1) {
 		playIntro();
 		if (shouldQuit())
 			return false;
 	}
-	if (getPlatform() != Common::kPlatformLinux) {
+	if (getPlatform() != Common::kPlatformLinux && _startGameSlot == -1) {
 		_graphicsManager->fadeOutShort();
 		_graphicsManager->loadImage("H2");
 		_graphicsManager->fadeInLong();
@@ -826,6 +847,9 @@ bool HopkinsEngine::runFull() {
 	
 	_globals->_exitId = 0;
 
+	if (_startGameSlot != -1)
+		_saveLoadManager->loadGame(_startGameSlot);
+
 	for (;;) {
 		if (_globals->_exitId == 300)
 			_globals->_exitId = 0;
diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h
index c6e2224..629633e 100644
--- a/engines/hopkins/hopkins.h
+++ b/engines/hopkins/hopkins.h
@@ -177,7 +177,7 @@ public:
 	virtual bool canSaveGameStateCurrently();
 	virtual Common::Error loadGameState(int slot);
 	virtual Common::Error saveGameState(int slot, const Common::String &desc);
-
+	int _startGameSlot;
 	/**
 	 * Run the introduction sequence
 	 */


Commit: a2c282bc5c43e16183d386478a4a0c5a71cf2cce
    https://github.com/scummvm/scummvm/commit/a2c282bc5c43e16183d386478a4a0c5a71cf2cce
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-28T23:50:07-07:00

Commit Message:
HOPKINS: Add debugger command to change scene

Changed paths:
    engines/hopkins/debugger.cpp
    engines/hopkins/debugger.h



diff --git a/engines/hopkins/debugger.cpp b/engines/hopkins/debugger.cpp
index 71162b0..2e69c23 100644
--- a/engines/hopkins/debugger.cpp
+++ b/engines/hopkins/debugger.cpp
@@ -32,6 +32,7 @@ Debugger::Debugger(HopkinsEngine *vm) : GUI::Debugger() {
 	_vm = vm;
 	DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit));
 	DCmd_Register("rects", WRAP_METHOD(Debugger, cmd_DirtyRects));
+	DCmd_Register("teleport", WRAP_METHOD(Debugger, cmd_Teleport));
 }
 
 // Turns dirty rects on or off
@@ -45,5 +46,15 @@ bool Debugger::cmd_DirtyRects(int argc, const char **argv) {
 	}
 }
 
+// Change room number
+bool Debugger::cmd_Teleport(int argc, const char **argv) {
+	if (argc != 2) {
+		DebugPrintf("%s: [Room number]\n", argv[0]);
+		return true;
+	} else {
+		_vm->_globals->_exitId = atoi(argv[1]);
+		return false;
+	}
+}
 
 } // End of namespace Hopkins
diff --git a/engines/hopkins/debugger.h b/engines/hopkins/debugger.h
index ed99b44..e7e8c7a 100644
--- a/engines/hopkins/debugger.h
+++ b/engines/hopkins/debugger.h
@@ -39,6 +39,7 @@ public:
 	virtual ~Debugger() {}
 
 	bool cmd_DirtyRects(int argc, const char **argv);
+	bool cmd_Teleport(int argc, const char **argv);
 };
 
 } // End of namespace Hopkins






More information about the Scummvm-git-logs mailing list