TUCKER: add missing code for kSupportsLoadingDuringStartup

This commit is contained in:
Gregory Montoir 2011-03-20 18:31:18 +01:00
parent ac7c153315
commit 3d0f255912
2 changed files with 13 additions and 6 deletions

View File

@ -122,8 +122,8 @@ static const ADParams detectionParams = {
0,
// Flags
0,
// Additional GUI options (for every game}
Common::GUIO_NOLAUNCHLOAD,
// Additional GUI options (for every game)
Common::GUIO_NONE,
// Maximum directory depth
1,
// List of directory globs
@ -156,6 +156,7 @@ public:
virtual bool hasFeature(MetaEngineFeature f) const {
switch (f) {
case kSupportsListSaves:
case kSupportsLoadingDuringStartup:
case kSupportsDeleteSave:
return true;
default:

View File

@ -124,10 +124,7 @@ void TuckerEngine::restart() {
_timerCounter2 = 0;
_partNum = _currentPartNum = 0;
_locationNum = 0;
_nextLocationNum = ConfMan.getInt("boot_param");
if (_nextLocationNum == 0) {
_nextLocationNum = (_gameFlags & kGameFlagDemo) == 0 ? kStartupLocationGame : kStartupLocationDemo;
}
_nextLocationNum = (_gameFlags & kGameFlagDemo) == 0 ? kStartupLocationGame : kStartupLocationDemo;
_gamePaused = false;
_gameDebug = false;
_displayGameHints = false;
@ -353,6 +350,15 @@ void TuckerEngine::mainLoop() {
_spriteAnimationFrameIndex = _spriteAnimationsTable[14].firstFrameIndex;
if (ConfMan.hasKey("save_slot")) {
const int slot = ConfMan.getInt("save_slot");
if (slot >= 0 && slot <= kLastSaveSlot) {
loadGameState(slot);
}
} else if (ConfMan.hasKey("boot_param")) {
_nextLocationNum = ConfMan.getInt("boot_param");
}
do {
++_syncCounter;
if (_flagsTable[137] != _flagsTable[138]) {