[Scummvm-cvs-logs] scummvm master -> 3d59d9a13765b841fb7bc6495dcaabf17ee45c60

Strangerke Strangerke at scummvm.org
Wed Nov 16 00:00:36 CET 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
3d59d9a137 CGE: Add RTL, hook Main Menu to right click on audio button


Commit: 3d59d9a13765b841fb7bc6495dcaabf17ee45c60
    https://github.com/scummvm/scummvm/commit/3d59d9a13765b841fb7bc6495dcaabf17ee45c60
Author: Strangerke (strangerke at scummvm.org)
Date: 2011-11-15T15:00:07-08:00

Commit Message:
CGE: Add RTL, hook Main Menu to right click on audio button

Changed paths:
    engines/cge/cge.cpp
    engines/cge/cge.h
    engines/cge/cge_main.cpp
    engines/cge/events.cpp
    engines/cge/events.h



diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp
index 74a855f..87654c5 100644
--- a/engines/cge/cge.cpp
+++ b/engines/cge/cge.cpp
@@ -53,9 +53,7 @@ CGEEngine::CGEEngine(OSystem *syst, const ADGameDescription *gameDescription)
 	_oldLev      = 0;
 	_pocPtr      = 0;
 	_bitmapPalette = NULL;
-
-
-
+	_quitFlag = false;
 }
 
 void CGEEngine::initSceneValues() {
@@ -144,7 +142,6 @@ void CGEEngine::deinit() {
 	DebugMan.clearAllDebugChannels();
 
 	delete _console;
-	_midiPlayer->killMidi();
 
 	// Delete engine objects
 	delete _vga;
@@ -161,8 +158,9 @@ void CGEEngine::deinit() {
 	delete _keyboard;
 	delete _mouse;
 	delete _eventManager;
-	delete _fx;
 	delete _sound;
+	delete _fx;
+	delete _midiPlayer;
 	delete _font;
 	delete _commandHandler;
 	delete _commandHandlerTurbo;
diff --git a/engines/cge/cge.h b/engines/cge/cge.h
index 2ce154a..2aada42 100644
--- a/engines/cge/cge.h
+++ b/engines/cge/cge.h
@@ -140,6 +140,7 @@ public:
 	virtual Common::Error saveGameState(int slot, const Common::String &desc);
 
 	static const int _maxSceneArr[5];
+	bool _quitFlag;
 
 	const   ADGameDescription *_gameDescription;
 	int    _startupMode;
diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp
index 532ebdc..e583140 100644
--- a/engines/cge/cge_main.cpp
+++ b/engines/cge/cge_main.cpp
@@ -923,7 +923,7 @@ void CGEEngine::optionTouch(int opt, uint16 mask) {
 		if (mask & kMouseLeftUp)
 			switchMusic();
 		else if (mask & kMouseRightUp)
-			warning("TODO: Use ScummVM sound dialog");
+			openMainMenuDialog();
 		break;
 	case 3:
 		if (mask & kMouseLeftUp)
@@ -1255,12 +1255,15 @@ void CGEEngine::mainLoop() {
 
 	// Handle any pending events
 	_eventManager->poll();
+
+	// Check shouldQuit()
+	_quitFlag = shouldQuit();
 }
 
 void CGEEngine::handleFrame() {
 	// Game frame delay
 	uint32 millis = g_system->getMillis();
-	while (!_eventManager->_quitFlag && (millis < (_lastFrame + kGameFrameDelay))) {
+	while (!_quitFlag && (millis < (_lastFrame + kGameFrameDelay))) {
 		// Handle any pending events
 		_eventManager->poll();
 
@@ -1309,7 +1312,7 @@ void CGEEngine::loadUser() {
 }
 
 void CGEEngine::runGame() {
-	if (_eventManager->_quitFlag)
+	if (_quitFlag)
 		return;
 
 	loadHeroXY();
@@ -1407,7 +1410,7 @@ void CGEEngine::runGame() {
 
 	_keyboard->setClient(_sys);
 	// main loop
-	while (!_finis && !_eventManager->_quitFlag) {
+	while (!_finis && !_quitFlag) {
 		if (_flag[3])
 			_commandHandler->addCallback(kCmdExec,  -1, 0, kQGame);
 		mainLoop();
@@ -1430,7 +1433,7 @@ void CGEEngine::runGame() {
 void CGEEngine::movie(const char *ext) {
 	assert(ext);
 
-	if (_eventManager->_quitFlag)
+	if (_quitFlag)
 		return;
 
 	char fn[12];
@@ -1442,7 +1445,7 @@ void CGEEngine::movie(const char *ext) {
 		feedSnail(_vga->_showQ->locate(999), kTake);
 		_vga->_showQ->append(_mouse);
 		_keyboard->setClient(_sys);
-		while (!_commandHandler->idle() && !_eventManager->_quitFlag)
+		while (!_commandHandler->idle() && !_quitFlag)
 			mainLoop();
 
 		_keyboard->setClient(NULL);
@@ -1454,7 +1457,7 @@ void CGEEngine::movie(const char *ext) {
 }
 
 bool CGEEngine::showTitle(const char *name) {
-	if (_eventManager->_quitFlag)
+	if (_quitFlag)
 		return false;
 
 	_bitmapPalette = _vga->_sysPal;
@@ -1487,7 +1490,7 @@ bool CGEEngine::showTitle(const char *name) {
 		_mouse->on();
 		for (; !_commandHandler->idle() || Vmenu::_addr;) {
 			mainLoop();
-			if (_eventManager->_quitFlag)
+			if (_quitFlag)
 				return false;
 		}
 
diff --git a/engines/cge/events.cpp b/engines/cge/events.cpp
index 8f76d2e..e277d79 100644
--- a/engines/cge/events.cpp
+++ b/engines/cge/events.cpp
@@ -282,7 +282,6 @@ void Mouse::newMouse(Common::Event &event) {
 /*----------------- EventManager interface -----------------*/
 
 EventManager::EventManager(CGEEngine *vm) : _vm(vm){
-	_quitFlag = false;
 	_eventQueueHead = 0;
 	_eventQueueTail = 0;
 	memset(&_eventQueue, 0, kEventMax * sizeof(CGEEvent));
@@ -292,10 +291,6 @@ EventManager::EventManager(CGEEngine *vm) : _vm(vm){
 void EventManager::poll() {
 	while (g_system->getEventManager()->pollEvent(_event)) {
 		switch (_event.type) {
-		case Common::EVENT_QUIT:
-			// Signal to quit
-			_quitFlag = true;
-			return;
 		case Common::EVENT_KEYDOWN:
 		case Common::EVENT_KEYUP:
 			// Handle keyboard events
diff --git a/engines/cge/events.h b/engines/cge/events.h
index a4cdfed..ac1e623 100644
--- a/engines/cge/events.h
+++ b/engines/cge/events.h
@@ -140,8 +140,6 @@ private:
 
 	void handleEvents();
 public:
-	bool _quitFlag;
-
 	EventManager(CGEEngine *vm);
 	void poll();	
 	void clearEvent(Sprite *spr);






More information about the Scummvm-git-logs mailing list