[Scummvm-cvs-logs] SF.net SVN: scummvm: [22009] scummvm/trunk/engines/sword1

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Tue Apr 18 11:25:02 CEST 2006


Revision: 22009
Author:   eriktorbjorn
Date:     2006-04-18 11:23:57 -0700 (Tue, 18 Apr 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22009&view=rev

Log Message:
-----------
Added support for the --save-slot option for Broken Sword 1. (Feature request
#1460977.)

Modified Paths:
--------------
    scummvm/trunk/engines/sword1/control.h
    scummvm/trunk/engines/sword1/sword1.cpp
Modified: scummvm/trunk/engines/sword1/control.h
===================================================================
--- scummvm/trunk/engines/sword1/control.h	2006-04-18 13:32:51 UTC (rev 22008)
+++ scummvm/trunk/engines/sword1/control.h	2006-04-18 18:23:57 UTC (rev 22009)
@@ -83,11 +83,11 @@
 	void doRestore(void);
 	void askForCd(void);
 	bool savegamesExist(void);
+	bool restoreGameFromFile(uint8 slot);
 private:
 	int displayMessage(const char *altButton, const char *message, ...);
 
 	void saveGameToFile(uint8 slot);
-	bool restoreGameFromFile(uint8 slot);
 	void readSavegameDescriptions(void);
 	void writeSavegameDescriptions(void);
 	void showSavegameNames(void);

Modified: scummvm/trunk/engines/sword1/sword1.cpp
===================================================================
--- scummvm/trunk/engines/sword1/sword1.cpp	2006-04-18 13:32:51 UTC (rev 22008)
+++ scummvm/trunk/engines/sword1/sword1.cpp	2006-04-18 18:23:57 UTC (rev 22009)
@@ -445,19 +445,23 @@
 }
 
 int SwordEngine::go() {
-
 	uint16 startPos = ConfMan.getInt("boot_param");
-	if (startPos)
+	if (startPos) {
 		_logic->startPositions(startPos);
-	else {
-		if (_control->savegamesExist()) {
+	} else {
+		int saveSlot = ConfMan.getInt("save_slot");
+		if (_control->restoreGameFromFile(saveSlot - 1)) {
+			_control->doRestore();
+		} else if (_control->savegamesExist()) {
 			_systemVars.controlPanelMode = CP_NEWGAME;
 			if (_control->runPanel() == CONTROL_GAME_RESTORED)
 				_control->doRestore();
 			else if (!_systemVars.engineQuit)
 				_logic->startPositions(0);
-		} else // no savegames, start new game.
+		} else {
+			// no savegames, start new game.
 			_logic->startPositions(0);
+		}
 	}
 	_systemVars.controlPanelMode = CP_NORMAL;
 


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