[Scummvm-cvs-logs] scummvm master -> f1e3bb92b904fc79484c198354b750749577426b
dreammaster
dreammaster at scummvm.org
Mon May 16 12:19:46 CEST 2011
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
98c4d739f2 TSAGE: Fix for crash when hiding cursor in Ringworld demo
67f8a8b346 TSAGE: Implemented the Exit dialog in the Ringworld demo
d610b40f78 TSAGE: Bugfixes for dialogs correctly handling ESCAPE and ENTER
f1e3bb92b9 TSAGE: Changed demo quit dialog to correctly handle ESCAPE and ENTER keys
Commit: 98c4d739f2820e174e40b9da37cb37940781e417
https://github.com/scummvm/scummvm/commit/98c4d739f2820e174e40b9da37cb37940781e417
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-05-16T03:13:37-07:00
Commit Message:
TSAGE: Fix for crash when hiding cursor in Ringworld demo
Changed paths:
engines/tsage/events.cpp
diff --git a/engines/tsage/events.cpp b/engines/tsage/events.cpp
index 132225d..e889c56 100644
--- a/engines/tsage/events.cpp
+++ b/engines/tsage/events.cpp
@@ -151,8 +151,13 @@ void EventsClass::setCursor(CursorType cursorType) {
switch (cursorType) {
case CURSOR_NONE:
// No cursor
- cursor = _resourceManager->getSubResource(4, 1, 6, &size);
_globals->setFlag(122);
+
+ if (_vm->getFeatures() & GF_DEMO) {
+ CursorMan.showMouse(false);
+ return;
+ }
+ cursor = _resourceManager->getSubResource(4, 1, 6, &size);
break;
case CURSOR_LOOK:
Commit: 67f8a8b346d233d5e1e0aae67e20a3b2613eade3
https://github.com/scummvm/scummvm/commit/67f8a8b346d233d5e1e0aae67e20a3b2613eade3
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-05-16T03:13:37-07:00
Commit Message:
TSAGE: Implemented the Exit dialog in the Ringworld demo
Changed paths:
engines/tsage/ringworld_demo.cpp
engines/tsage/ringworld_demo.h
engines/tsage/staticres.cpp
engines/tsage/staticres.h
diff --git a/engines/tsage/ringworld_demo.cpp b/engines/tsage/ringworld_demo.cpp
index 2dacea6..5db2a89 100644
--- a/engines/tsage/ringworld_demo.cpp
+++ b/engines/tsage/ringworld_demo.cpp
@@ -39,6 +39,11 @@ Scene *RingworldDemoGame::createScene(int sceneNumber) {
return new RingworldDemoScene();
}
+void RingworldDemoGame::quitGame() {
+ if (MessageDialog::show(DEMO_EXIT_MSG, EXIT_BTN_STRING, DEMO_BTN_STRING) == 0)
+ _vm->quitGame();
+}
+
/*--------------------------------------------------------------------------
* Ringworld Demo scene
*
diff --git a/engines/tsage/ringworld_demo.h b/engines/tsage/ringworld_demo.h
index 8b69da8..34bfb4f 100644
--- a/engines/tsage/ringworld_demo.h
+++ b/engines/tsage/ringworld_demo.h
@@ -35,6 +35,7 @@ class RingworldDemoGame: public Game {
public:
virtual void start();
virtual Scene *createScene(int sceneNumber);
+ virtual void quitGame();
};
class RingworldDemoScene: public Scene {
diff --git a/engines/tsage/staticres.cpp b/engines/tsage/staticres.cpp
index 6c2d924..851d168 100644
--- a/engines/tsage/staticres.cpp
+++ b/engines/tsage/staticres.cpp
@@ -113,5 +113,8 @@ Wait for it's return in the lander bay.";
const char *DEMO_HELP_MSG = " Help...\rF2 - Sound Options\rF3 - Exit demo\r\rPress ENTER\rto continue";
const char *DEMO_PAUSED_MSG = " demo is paused";
+const char *DEMO_EXIT_MSG = "Press ENTER to resume the Ringworld\x14 demo. Press ESC to exit";
+const char *EXIT_BTN_STRING = "Exit";
+const char *DEMO_BTN_STRING = "Demo";
} // End of namespace tSage
diff --git a/engines/tsage/staticres.h b/engines/tsage/staticres.h
index bed9e0d..d60e11a 100644
--- a/engines/tsage/staticres.h
+++ b/engines/tsage/staticres.h
@@ -79,6 +79,11 @@ extern const char *SCENE6100_VERY_WELL;
// Demo messages
extern const char *DEMO_HELP_MSG;
extern const char *DEMO_PAUSED_MSG;
+extern const char *DEMO_HELP_MSG;
+extern const char *DEMO_PAUSED_MSG;
+extern const char *DEMO_EXIT_MSG;
+extern const char *EXIT_BTN_STRING;
+extern const char *DEMO_BTN_STRING;
} // End of namespace tSage
Commit: d610b40f7832f0502c796ccf44e192ac1e93b5dc
https://github.com/scummvm/scummvm/commit/d610b40f7832f0502c796ccf44e192ac1e93b5dc
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-05-16T03:17:02-07:00
Commit Message:
TSAGE: Bugfixes for dialogs correctly handling ESCAPE and ENTER
Changed paths:
engines/tsage/graphics.cpp
diff --git a/engines/tsage/graphics.cpp b/engines/tsage/graphics.cpp
index 5da00e8..85dfc5d 100644
--- a/engines/tsage/graphics.cpp
+++ b/engines/tsage/graphics.cpp
@@ -967,9 +967,10 @@ GfxButton *GfxDialog::execute(GfxButton *defaultButton) {
// Event loop
GfxButton *selectedButton = NULL;
- while (!_vm->getEventManager()->shouldQuit()) {
+ bool breakFlag = false;
+ while (!_vm->getEventManager()->shouldQuit() && !breakFlag) {
Event event;
- while (_globals->_events.getEvent(event)) {
+ while (_globals->_events.getEvent(event) && !breakFlag) {
// Adjust mouse positions to be relative within the dialog
event.mousePos.x -= _gfxManager._bounds.left;
event.mousePos.y -= _gfxManager._bounds.top;
@@ -978,19 +979,23 @@ GfxButton *GfxDialog::execute(GfxButton *defaultButton) {
if ((*i)->process(event))
selectedButton = static_cast<GfxButton *>(*i);
}
- }
- if (selectedButton)
- break;
- else if (!event.handled) {
- if ((event.eventType == EVENT_KEYPRESS) && (event.kbd.keycode == Common::KEYCODE_ESCAPE)) {
- selectedButton = NULL;
- break;
- } else if ((event.eventType == EVENT_KEYPRESS) && (event.kbd.keycode == Common::KEYCODE_RETURN)) {
- selectedButton = defaultButton;
+ if (selectedButton) {
+ breakFlag = true;
break;
+ } else if (!event.handled) {
+ if ((event.eventType == EVENT_KEYPRESS) && (event.kbd.keycode == Common::KEYCODE_ESCAPE)) {
+ selectedButton = NULL;
+ breakFlag = true;
+ break;
+ } else if ((event.eventType == EVENT_KEYPRESS) && (event.kbd.keycode == Common::KEYCODE_RETURN)) {
+ selectedButton = defaultButton;
+ breakFlag = true;
+ break;
+ }
}
}
+
g_system->delayMillis(10);
g_system->updateScreen();
}
Commit: f1e3bb92b904fc79484c198354b750749577426b
https://github.com/scummvm/scummvm/commit/f1e3bb92b904fc79484c198354b750749577426b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-05-16T03:17:02-07:00
Commit Message:
TSAGE: Changed demo quit dialog to correctly handle ESCAPE and ENTER keys
Changed paths:
engines/tsage/ringworld_demo.cpp
diff --git a/engines/tsage/ringworld_demo.cpp b/engines/tsage/ringworld_demo.cpp
index 5db2a89..6213ec4 100644
--- a/engines/tsage/ringworld_demo.cpp
+++ b/engines/tsage/ringworld_demo.cpp
@@ -40,7 +40,17 @@ Scene *RingworldDemoGame::createScene(int sceneNumber) {
}
void RingworldDemoGame::quitGame() {
- if (MessageDialog::show(DEMO_EXIT_MSG, EXIT_BTN_STRING, DEMO_BTN_STRING) == 0)
+ _globals->_events.setCursor(CURSOR_ARROW);
+ MessageDialog *dlg = new MessageDialog(DEMO_EXIT_MSG, EXIT_BTN_STRING, DEMO_BTN_STRING);
+ dlg->draw();
+
+ GfxButton *selectedButton = dlg->execute(&dlg->_btn2);
+ bool exitFlag = selectedButton != &dlg->_btn2;
+
+ delete dlg;
+ _globals->_events.hideCursor();
+
+ if (exitFlag)
_vm->quitGame();
}
More information about the Scummvm-git-logs
mailing list