diff options
| author | David Corrales | 2007-06-23 18:51:33 +0000 | 
|---|---|---|
| committer | David Corrales | 2007-06-23 18:51:33 +0000 | 
| commit | cacd7a28fd51d960947de88abbf30c487e66529d (patch) | |
| tree | f3baa59853bfb307e452b86b9d93c4737b1fa6ab /engines/sky/sky.cpp | |
| parent | 0ac96302fe9c04df79cb01a77d19535b45fe2db0 (diff) | |
| parent | 90c2210dae8c91fa8babc6b05564e15c9d445d18 (diff) | |
| download | scummvm-rg350-cacd7a28fd51d960947de88abbf30c487e66529d.tar.gz scummvm-rg350-cacd7a28fd51d960947de88abbf30c487e66529d.tar.bz2 scummvm-rg350-cacd7a28fd51d960947de88abbf30c487e66529d.zip  | |
Merged the FSNode branch with trunk r27031:27680
svn-id: r27681
Diffstat (limited to 'engines/sky/sky.cpp')
| -rw-r--r-- | engines/sky/sky.cpp | 45 | 
1 files changed, 19 insertions, 26 deletions
diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp index d8e642d717..1ff23dbd07 100644 --- a/engines/sky/sky.cpp +++ b/engines/sky/sky.cpp @@ -217,57 +217,54 @@ void SkyEngine::initVirgin() {  void SkyEngine::handleKey(void) { -	if (_keyPressed && _systemVars.paused) { +	if (_keyPressed.keycode && _systemVars.paused) {  		_skySound->fnUnPauseFx();  		_systemVars.paused = false;  		_skyScreen->setPaletteEndian((uint8 *)_skyCompact->fetchCpt(SkyEngine::_systemVars.currentPalette)); -		_keyFlags = _keyPressed = 0; -		return; -	} - -	if (_keyFlags == Common::KBD_CTRL) { -		if (_keyPressed == 'f') +	} else if (_keyPressed.flags == Common::KBD_CTRL) { +		if (_keyPressed.keycode == 'f')  			_fastMode ^= 1; -		else if (_keyPressed == 'g') +		else if (_keyPressed.keycode == 'g')  			_fastMode ^= 2; -		else if (_keyPressed == 'd') +		else if (_keyPressed.keycode == 'd')  			_debugger->attach(); -	} else { -		switch (_keyPressed) { -		case '`': -		case '~': -		case '#': +	} else if (_keyPressed.keycode) { +		switch (_keyPressed.keycode) { +		case Common::KEYCODE_BACKQUOTE: +		case Common::KEYCODE_HASH:  			_debugger->attach();  			break; -		case 63: +		case Common::KEYCODE_F5:  			_skyControl->doControlPanel();  			break; -		case 27: +		case Common::KEYCODE_ESCAPE:  			if (!_systemVars.pastIntro)  				_skyControl->restartGame();  			break; -		case '.': +		case Common::KEYCODE_PERIOD:  			_skyMouse->logicClick();  			break; -		case 'p': +		case Common::KEYCODE_p:  			_skyScreen->halvePalette();  			_skySound->fnPauseFx();  			_systemVars.paused = true;  			break; +		default: +			break;  		}  	} -	_keyFlags = _keyPressed = 0; +	_keyPressed.reset();  }  int SkyEngine::go() {  	_systemVars.quitGame = false; -	_keyFlags = _keyPressed = 0; +	_keyPressed.reset();  	uint16 result = 0;  	if (ConfMan.hasKey("save_slot") && ConfMan.getInt("save_slot") >= 0) @@ -517,7 +514,7 @@ void SkyEngine::delay(int32 amount) {  	Common::Event event;  	uint32 start = _system->getMillis(); -	_keyFlags = _keyPressed = 0;	//reset +	_keyPressed.reset();  	if (amount < 0)  		amount = 0; @@ -526,11 +523,7 @@ void SkyEngine::delay(int32 amount) {  		while (_eventMan->pollEvent(event)) {  			switch (event.type) {  			case Common::EVENT_KEYDOWN: -				_keyFlags = event.kbd.flags; -				if (_keyFlags == Common::KBD_CTRL) -					_keyPressed = event.kbd.keycode; -				else -					_keyPressed = (byte)event.kbd.ascii; +				_keyPressed = event.kbd;  				break;  			case Common::EVENT_MOUSEMOVE:  				if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED))  | 
