diff options
| author | Strangerke | 2011-11-16 00:00:07 +0100 | 
|---|---|---|
| committer | Strangerke | 2011-11-16 00:00:07 +0100 | 
| commit | 3d59d9a13765b841fb7bc6495dcaabf17ee45c60 (patch) | |
| tree | 0841c3981f4a174733ec8077923e45976f26f698 | |
| parent | ea34280c80bad4cbbaa901c4ddca19ea68306cd0 (diff) | |
| download | scummvm-rg350-3d59d9a13765b841fb7bc6495dcaabf17ee45c60.tar.gz scummvm-rg350-3d59d9a13765b841fb7bc6495dcaabf17ee45c60.tar.bz2 scummvm-rg350-3d59d9a13765b841fb7bc6495dcaabf17ee45c60.zip | |
CGE: Add RTL, hook Main Menu to right click on audio button
| -rw-r--r-- | engines/cge/cge.cpp | 8 | ||||
| -rw-r--r-- | engines/cge/cge.h | 1 | ||||
| -rw-r--r-- | engines/cge/cge_main.cpp | 19 | ||||
| -rw-r--r-- | engines/cge/events.cpp | 5 | ||||
| -rw-r--r-- | engines/cge/events.h | 2 | 
5 files changed, 15 insertions, 20 deletions
| diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp index 74a855f442..87654c53f4 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 2ce154a4fb..2aada420ed 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 532ebdc9a6..e5831400ee 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 8f76d2efd5..e277d79ee1 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 a4cdfed793..ac1e6231fe 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); | 
