[Scummvm-cvs-logs] SF.net SVN: scummvm:[43991] scummvm/trunk/engines/kyra
athrxx at users.sourceforge.net
athrxx at users.sourceforge.net
Sun Sep 6 19:04:58 CEST 2009
Revision: 43991
http://scummvm.svn.sourceforge.net/scummvm/?rev=43991&view=rev
Author: athrxx
Date: 2009-09-06 17:04:58 +0000 (Sun, 06 Sep 2009)
Log Message:
-----------
LOL: fixed bug in delete menu code
Modified Paths:
--------------
scummvm/trunk/engines/kyra/gui.cpp
scummvm/trunk/engines/kyra/gui_lol.cpp
Modified: scummvm/trunk/engines/kyra/gui.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui.cpp 2009-09-06 13:26:14 UTC (rev 43990)
+++ scummvm/trunk/engines/kyra/gui.cpp 2009-09-06 17:04:58 UTC (rev 43991)
@@ -385,7 +385,9 @@
int GUI::getNextSavegameSlot() {
Common::InSaveFile *in;
- for (int i = 1; i < 990; i++) {
+ int start = _vm->gameFlags().gameID == GI_LOL ? 0 : 1;
+
+ for (int i = start; i < 990; i++) {
if ((in = _vm->_saveFileMan->openForLoading(_vm->getSavegameFilename(i))))
delete in;
else
Modified: scummvm/trunk/engines/kyra/gui_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lol.cpp 2009-09-06 13:26:14 UTC (rev 43990)
+++ scummvm/trunk/engines/kyra/gui_lol.cpp 2009-09-06 17:04:58 UTC (rev 43991)
@@ -2662,7 +2662,7 @@
_newMenu = &_savenameMenu;
int16 s = (int16)button->arg;
- _menuResult = _saveMenu.item[-s - 2].saveSlot;
+ _menuResult = _saveMenu.item[-s - 2].saveSlot + 1;
_saveDescription = (char*)_vm->_tempBuffer5120 + 1000;
_saveDescription[0] = 0;
if (_saveMenu.item[-s - 2].saveSlot != -3)
@@ -2682,7 +2682,7 @@
_choiceMenu.menuNameId = 0x400b;
_newMenu = &_choiceMenu;
int16 s = (int16)button->arg;
- _menuResult = _deleteMenu.item[-s - 2].saveSlot;
+ _menuResult = _deleteMenu.item[-s - 2].saveSlot + 1;
return 1;
}
@@ -2817,7 +2817,7 @@
Util::convertDOSToISO(_saveDescription);
- int slot = _menuResult == -3 ? getNextSavegameSlot() : _menuResult;
+ int slot = _menuResult == -2 ? getNextSavegameSlot() : _menuResult - 1;
Graphics::Surface thumb;
createScreenThumbnail(thumb);
_vm->saveGameState(slot, _saveDescription, &thumb);
@@ -2838,15 +2838,13 @@
if (_lastMenu == &_mainMenu) {
_vm->quitGame();
} else if (_lastMenu == &_deleteMenu) {
- _vm->_saveFileMan->removeSavefile(_vm->getSavegameFilename(_menuResult));
- Common::Array<int>::iterator i = Common::find(_saveSlots.begin(), _saveSlots.end(), _menuResult);
- while (i != _saveSlots.end()) {
- ++i;
- if (i == _saveSlots.end())
- break;
+ _vm->_saveFileMan->removeSavefile(_vm->getSavegameFilename(_menuResult - 1));
+ Common::Array<int>::iterator i = Common::find(_saveSlots.begin(), _saveSlots.end(), _menuResult - 1);
+ while (i != _saveSlots.begin()) {
+ --i;
// We are only renaming all savefiles until we get some slots missing
// Also not rename quicksave slot filenames
- if (*(i-1) != *i || *i >= 990)
+ if (/**(i-1) != *i ||*/ *i >= 990)
break;
Common::String oldName = _vm->getSavegameFilename(*i);
Common::String newName = _vm->getSavegameFilename(*i-1);
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