[Scummvm-cvs-logs] SF.net SVN: scummvm: [21125] scummvm/trunk/engines/kyra
vinterstum at users.sourceforge.net
vinterstum at users.sourceforge.net
Tue Mar 7 06:18:02 CET 2006
Revision: 21125
Author: vinterstum
Date: 2006-03-07 06:16:52 -0800 (Tue, 07 Mar 2006)
ViewCVS: http://svn.sourceforge.net/scummvm/?rev=21125&view=rev
Log Message:
-----------
Added the proper death dialog, changed the sequence skipping code a bit to avoid
possible frame losses, and removed a (now) redundant call to showOverlay() in the
debugger.
Modified Paths:
--------------
scummvm/trunk/engines/kyra/debugger.cpp
scummvm/trunk/engines/kyra/gui.cpp
scummvm/trunk/engines/kyra/kyra.cpp
scummvm/trunk/engines/kyra/kyra.h
scummvm/trunk/engines/kyra/script_v1.cpp
scummvm/trunk/engines/kyra/staticres.cpp
Modified: scummvm/trunk/engines/kyra/debugger.cpp
===================================================================
--- scummvm/trunk/engines/kyra/debugger.cpp 2006-03-07 13:52:53 UTC (rev 21124)
+++ scummvm/trunk/engines/kyra/debugger.cpp 2006-03-07 14:16:52 UTC (rev 21125)
@@ -79,13 +79,10 @@
direction = 2;
}
- // Dirty way of hiding the debug console while the room entry scripts are running,
- // otherwise the graphics didn't update.
_vm->_system->hideOverlay();
_vm->_currentCharacter->facing = direction;
_vm->enterNewScene(room, _vm->_currentCharacter->facing, 0, 0, 1);
- _vm->_system->showOverlay();
_vm->_screen->_mouseLockCount = 0;
_detach_now = true;
Modified: scummvm/trunk/engines/kyra/gui.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui.cpp 2006-03-07 13:52:53 UTC (rev 21124)
+++ scummvm/trunk/engines/kyra/gui.cpp 2006-03-07 14:16:52 UTC (rev 21125)
@@ -414,22 +414,24 @@
_screen->savePageToDisk("SEENPAGE.TMP", 0);
gui_fadePalette();
- calcCoords(_menu[0]);
- calcCoords(_menu[1]);
- calcCoords(_menu[2]);
- calcCoords(_menu[3]);
+ for ( int i = 0; i < 5; i++)
+ calcCoords(_menu[i]);
_menuRestoreScreen = true;
+ _toplevelMenu = 0;
if (_menuDirectlyToLoad)
gui_loadGameMenu(0);
else {
- initMenu(_menu[0]);
+ if (!caller)
+ _toplevelMenu = 4;
+
+ initMenu(_menu[_toplevelMenu]);
processAllMenuButtons();
}
while (_displayMenu) {
- gui_processHighlights(_menu[0]);
+ gui_processHighlights(_menu[_toplevelMenu]);
processButtonList(_menuButtonList);
gui_getInput();
}
@@ -723,7 +725,7 @@
_screen->savePageToDisk("SEENPAGE.TMP", 0);
if (_cancelSubMenu) {
- initMenu(_menu[0]);
+ initMenu(_menu[_toplevelMenu]);
processAllMenuButtons();
} else {
gui_restorePalette();
@@ -854,7 +856,7 @@
if (gui_quitConfirm("Are you sure you want to quit playing?"))
quitGame();
else {
- initMenu(_menu[0]);
+ initMenu(_menu[_toplevelMenu]);
processAllMenuButtons();
}
Modified: scummvm/trunk/engines/kyra/kyra.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra.cpp 2006-03-07 13:52:53 UTC (rev 21124)
+++ scummvm/trunk/engines/kyra/kyra.cpp 2006-03-07 14:16:52 UTC (rev 21125)
@@ -668,10 +668,13 @@
}
if (_deathHandler != 0xFF) {
- // this is only used until the original gui is implemented
- GUI::MessageDialog dialog("Brandon is dead! Game over!", "Quit");
- dialog.runModal();
- break;
+ _deathHandler = 0xFF;
+ snd_playWanderScoreViaMap(0, 1);
+ // This causes a failed assert in playWanderScoreViaMap.
+ //snd_playSoundEffect(49);
+ // Playing the track directly instead.
+ _sound->playTrack(29);
+ buttonMenuCallback(0);
}
if (_brandonStatusBit & 2) {
@@ -699,6 +702,8 @@
}
void KyraEngine::quitGame() {
+ debugC(9, kDebugLevelMain, "KyraEngine::quitGame()");
+
res_unloadResources(RES_ALL);
for (int i = 0; i < ARRAYSIZE(_movieObjects); ++i) {
@@ -823,13 +828,15 @@
void KyraEngine::delayWithTicks(int ticks) {
uint32 nextTime = _system->getMillis() + ticks * _tickLength;
- while (_system->getMillis() < nextTime && !_skipFlag) {
+ while (_system->getMillis() < nextTime) {
_sprites->updateSceneAnims();
_animator->updateAllObjectShapes();
if (_currentCharacter->sceneId == 210) {
updateKyragemFading();
seq_playEnd();
}
+ if (_skipFlag)
+ break;
}
}
Modified: scummvm/trunk/engines/kyra/kyra.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra.h 2006-03-07 13:52:53 UTC (rev 21124)
+++ scummvm/trunk/engines/kyra/kyra.h 2006-03-07 14:16:52 UTC (rev 21125)
@@ -817,6 +817,7 @@
bool _menuRestoreScreen;
bool _displaySubMenu;
bool _cancelSubMenu;
+ uint8 _toplevelMenu;
int _savegameOffset;
int _gameToLoad;
char _savegameName[31];
Modified: scummvm/trunk/engines/kyra/script_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v1.cpp 2006-03-07 13:52:53 UTC (rev 21124)
+++ scummvm/trunk/engines/kyra/script_v1.cpp 2006-03-07 14:16:52 UTC (rev 21125)
@@ -484,9 +484,12 @@
_movieObjects[wsaIndex]->displayFrame(frame);
_animator->_updateScreen = true;
uint32 continueTime = waitTime * _tickLength + _system->getMillis();
- while (_system->getMillis() < continueTime && !_skipFlag) {
+ while (_system->getMillis() < continueTime) {
_sprites->updateSceneAnims();
_animator->updateAllObjectShapes();
+ if (_skipFlag)
+ break;
+
if (continueTime - _system->getMillis() >= 10)
delay(10);
}
@@ -719,6 +722,9 @@
while (_system->getMillis() < continueTime) {
_sprites->updateSceneAnims();
_animator->updateAllObjectShapes();
+ if (_skipFlag)
+ break;
+
if (continueTime - _system->getMillis() >= 10)
delay(10);
}
@@ -752,9 +758,12 @@
_movieObjects[wsaIndex]->displayFrame(frame);
_animator->_updateScreen = true;
uint32 continueTime = waitTime * _tickLength + _system->getMillis();
- while (_system->getMillis() < continueTime && !_skipFlag) {
+ while (_system->getMillis() < continueTime) {
_sprites->updateSceneAnims();
_animator->updateAllObjectShapes();
+ if (_skipFlag)
+ break;
+
if (continueTime - _system->getMillis() >= 10)
delay(10);
}
@@ -766,16 +775,19 @@
_movieObjects[wsaIndex]->displayFrame(frame);
_animator->_updateScreen = true;
uint32 continueTime = waitTime * _tickLength + _system->getMillis();
- while (_system->getMillis() < continueTime && !_skipFlag) {
+ while (_system->getMillis() < continueTime) {
_sprites->updateSceneAnims();
_animator->updateAllObjectShapes();
+ if (_skipFlag)
+ break;
+
if (continueTime - _system->getMillis() >= 10)
delay(10);
}
--frame;
}
}
- if (!_skipFlag)
+ if (_skipFlag)
break;
else
++curTime;
Modified: scummvm/trunk/engines/kyra/staticres.cpp
===================================================================
--- scummvm/trunk/engines/kyra/staticres.cpp 2006-03-07 13:52:53 UTC (rev 21124)
+++ scummvm/trunk/engines/kyra/staticres.cpp 2006-03-07 14:16:52 UTC (rev 21125)
@@ -946,11 +946,17 @@
{
{1, 0, 0, "Save", 24, 0, 44, 72, 15, 252, 253, -1, 255,
248, 249, 250, &KyraEngine::gui_savegameConfirm, -1, 0, 0, 0, 0, 0},
- // {1, 0, 0, "Cancel", 110, 0, 44, 72, 15, 252, 253, -1, 255,
- // 248, 249, 250, /*&menu_cancelconfirmsave*/ 0, -1, 0, 0, 0, 0, 0},
{1, 0, 0, "Cancel", 192, 0, 44, 72, 15, 252, 253, -1, 255,
248, 249, 250, &KyraEngine::gui_cancelSubMenu, -1, 0, 0, 0, 0, 0}
}
+ },
+ { -1, -1, 208, 76, 248, 249, 250, "Rest in peace, Brandon.", 251, -1, 8, 0, 2, -1, -1, -1, -1,
+ {
+ {1, 0, 0, "Load a game", -1, -1, 30, 148, 15, 252, 253, 24, 0,
+ 248, 249, 250, &KyraEngine::gui_loadGameMenu, -1, 0, 0, 0, 0, 0},
+ {1, 0, 0, "Quit playing", -1, -1, 47, 148, 15, 252, 253, 24, 0,
+ 248, 249, 250, &KyraEngine::gui_quitPlaying, -1, 0, 0, 0, 0, 0}
+ }
}
};
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