[Scummvm-cvs-logs] SF.net SVN: scummvm:[49096] scummvm/trunk/engines/cine
sev at users.sourceforge.net
sev at users.sourceforge.net
Wed May 19 14:34:12 CEST 2010
Revision: 49096
http://scummvm.svn.sourceforge.net/scummvm/?rev=49096&view=rev
Author: sev
Date: 2010-05-19 12:34:10 +0000 (Wed, 19 May 2010)
Log Message:
-----------
Implement FR #2841445: FW: Restart doesn't work
Modified Paths:
--------------
scummvm/trunk/engines/cine/cine.cpp
scummvm/trunk/engines/cine/cine.h
scummvm/trunk/engines/cine/main_loop.cpp
scummvm/trunk/engines/cine/various.cpp
scummvm/trunk/engines/cine/various.h
Modified: scummvm/trunk/engines/cine/cine.cpp
===================================================================
--- scummvm/trunk/engines/cine/cine.cpp 2010-05-19 12:17:59 UTC (rev 49095)
+++ scummvm/trunk/engines/cine/cine.cpp 2010-05-19 12:34:10 UTC (rev 49096)
@@ -90,13 +90,20 @@
}
g_saveFileMan = _saveFileMan;
- initialize();
+ _restartRequested = false;
- CursorMan.showMouse(true);
- mainLoop(1);
+ do {
+ initialize();
- delete renderer;
- delete[] collisionPage;
+ _restartRequested = false;
+
+ CursorMan.showMouse(true);
+ mainLoop(1);
+
+ delete renderer;
+ delete[] collisionPage;
+ } while (_restartRequested);
+
delete g_sound;
return Common::kNoError;
@@ -186,7 +193,7 @@
currentDatName[0] = 0;
_preLoad = false;
- if (ConfMan.hasKey("save_slot")) {
+ if (ConfMan.hasKey("save_slot") && !_restartRequested) {
char saveNameBuffer[256];
sprintf(saveNameBuffer, "%s.%1d", _targetName.c_str(), ConfMan.getInt("save_slot"));
Modified: scummvm/trunk/engines/cine/cine.h
===================================================================
--- scummvm/trunk/engines/cine/cine.h 2010-05-19 12:17:59 UTC (rev 49095)
+++ scummvm/trunk/engines/cine/cine.h 2010-05-19 12:34:10 UTC (rev 49096)
@@ -134,6 +134,8 @@
StringPtrHashMap _volumeEntriesMap;
TextHandler _textHandler;
+ bool _restartRequested;
+
private:
void initialize();
void resetEngine();
Modified: scummvm/trunk/engines/cine/main_loop.cpp
===================================================================
--- scummvm/trunk/engines/cine/main_loop.cpp 2010-05-19 12:17:59 UTC (rev 49095)
+++ scummvm/trunk/engines/cine/main_loop.cpp 2010-05-19 12:34:10 UTC (rev 49096)
@@ -422,7 +422,7 @@
manageEvents();
- } while (!shouldQuit() && _danKeysPressed != 7);
+ } while (!shouldQuit() && !_restartRequested);
hideMouse();
g_sound->stopMusic();
Modified: scummvm/trunk/engines/cine/various.cpp
===================================================================
--- scummvm/trunk/engines/cine/various.cpp 2010-05-19 12:17:59 UTC (rev 49095)
+++ scummvm/trunk/engines/cine/various.cpp 2010-05-19 12:34:10 UTC (rev 49096)
@@ -78,7 +78,6 @@
uint16 menuCommandLen;
bool _paletteNeedUpdate;
uint16 _messageLen;
-byte _danKeysPressed;
int16 playerCommand;
@@ -375,7 +374,7 @@
{
getMouseData(mouseUpdateStatus, (uint16 *)&mouseButton, (uint16 *)&mouseX, (uint16 *)&mouseY);
if (!makeMenuChoice(confirmMenu, 2, mouseX, mouseY + 8, 100)) {
- //reinitEngine();
+ _restartRequested = true;
}
break;
}
Modified: scummvm/trunk/engines/cine/various.h
===================================================================
--- scummvm/trunk/engines/cine/various.h 2010-05-19 12:17:59 UTC (rev 49095)
+++ scummvm/trunk/engines/cine/various.h 2010-05-19 12:34:10 UTC (rev 49096)
@@ -92,7 +92,6 @@
extern uint16 menuCommandLen;
extern bool _paletteNeedUpdate;
extern uint16 _messageLen;
-extern byte _danKeysPressed;
extern int16 playerCommand;
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