[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