[Scummvm-cvs-logs] SF.net SVN: scummvm: [27635] scummvm/trunk/engines/sky

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Jun 23 00:18:57 CEST 2007


Revision: 27635
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27635&view=rev
Author:   fingolfin
Date:     2007-06-22 15:18:56 -0700 (Fri, 22 Jun 2007)

Log Message:
-----------
Converted BASS to use Common::KeyState

Modified Paths:
--------------
    scummvm/trunk/engines/sky/control.cpp
    scummvm/trunk/engines/sky/control.h
    scummvm/trunk/engines/sky/intro.cpp
    scummvm/trunk/engines/sky/mouse.cpp
    scummvm/trunk/engines/sky/sky.cpp
    scummvm/trunk/engines/sky/sky.h

Modified: scummvm/trunk/engines/sky/control.cpp
===================================================================
--- scummvm/trunk/engines/sky/control.cpp	2007-06-22 22:18:15 UTC (rev 27634)
+++ scummvm/trunk/engines/sky/control.cpp	2007-06-22 22:18:56 UTC (rev 27635)
@@ -497,7 +497,7 @@
 		_system->updateScreen();
 		_mouseClicked = false;
 		delay(50);
-		if (_keyPressed == 27) { // escape pressed
+		if (_keyPressed.keycode == Common::KEYCODE_ESCAPE) { // escape pressed
 			_mouseClicked = false;
 			quitPanel = true;
 		}
@@ -841,7 +841,7 @@
 
 uint16 Control::saveRestorePanel(bool allowSave) {
 
-	_keyPressed = 0;
+	_keyPressed.reset();
 	_mouseWheel = 0;
 	buttonControl(NULL);
 	_text->drawToScreen(WITH_MASK); // flush text restore buffer
@@ -898,21 +898,21 @@
 		_system->updateScreen();
 		_mouseClicked = false;
 		delay(50);
-		if (_keyPressed == 27) { // escape pressed
+		if (_keyPressed.keycode == Common::KEYCODE_ESCAPE) { // escape pressed
 			_mouseClicked = false;
 			clickRes = CANCEL_PRESSED;
 			quitPanel = true;
-		} else if ((_keyPressed == 13) || (_keyPressed == 15)) {
+		} else if ((_keyPressed.keycode == Common::KEYCODE_RETURN) || (_keyPressed.keycode == Common::KEYCODE_KP_ENTER)) {
 			clickRes = handleClick(lookList[0]);
 			if (clickRes == GAME_SAVED)
 				saveDescriptions(saveGameTexts);
 			quitPanel = true;
 			_mouseClicked = false;
-			_keyPressed = 0;
-		} if (allowSave && _keyPressed) {
+			_keyPressed.reset();
+		} if (allowSave && _keyPressed.keycode) {
 			handleKeyPress(_keyPressed, _selectedGame * MAX_TEXT_LEN + saveGameTexts);
 			refreshNames = true;
-			_keyPressed = 0;
+			_keyPressed.reset();
 		}
 
 		if (_mouseWheel) {
@@ -991,9 +991,9 @@
 	return false;
 }
 
-void Control::handleKeyPress(uint8 key, uint8 *textBuf) {
+void Control::handleKeyPress(Common::KeyState kbd, uint8 *textBuf) {
 
-	if (key == 8) { // backspace
+	if (kbd.keycode == Common::KEYCODE_BACKSPACE) { // backspace
 		for (uint8 cnt = 0; cnt < 6; cnt++)
 			if (!textBuf[cnt])
 				return;
@@ -1004,15 +1004,15 @@
 	} else {
 		if (_enteredTextWidth >= PAN_LINE_WIDTH - 10)
 			return;
-		if (((key >= 'A') && (key <= 'Z')) || ((key >= 'a') && (key <= 'z')) ||
-			((key >= '0') && (key <= '9')) || checkKeyList(key)) {
+		if (((kbd.ascii >= 'A') && (kbd.ascii <= 'Z')) || ((kbd.ascii >= 'a') && (kbd.ascii <= 'z')) ||
+			((kbd.ascii >= '0') && (kbd.ascii <= '9')) || checkKeyList(kbd.ascii)) {
 				uint8 strLen = 0;
 				while (textBuf[0]) {
 					textBuf++;
 					strLen++;
 				}
 				if (strLen < MAX_TEXT_LEN) {
-					textBuf[0] = key;
+					textBuf[0] = kbd.ascii;
 					textBuf[1] = 0;
 				}
 		}
@@ -1556,18 +1556,14 @@
 
 	uint32 start = _system->getMillis();
 	uint32 cur = start;
-	_keyPressed = 0;	//reset
+	_keyPressed.reset();
 
 	do {
 		Common::EventManager *eventMan = _system->getEventManager();
 		while (eventMan->pollEvent(event)) {
 			switch (event.type) {
 			case Common::EVENT_KEYDOWN:
-				// Make sure backspace works right (this fixes a small issue on OS X)
-				if (event.kbd.keycode == 8)
-					_keyPressed = 8;
-				else
-					_keyPressed = (byte)event.kbd.ascii;
+				_keyPressed = event.kbd;
 				break;
 			case Common::EVENT_MOUSEMOVE:
 				if (!(SkyEngine::_systemVars.systemFlags & SF_MOUSE_LOCKED))

Modified: scummvm/trunk/engines/sky/control.h
===================================================================
--- scummvm/trunk/engines/sky/control.h	2007-06-22 22:18:15 UTC (rev 27634)
+++ scummvm/trunk/engines/sky/control.h	2007-06-22 22:18:56 UTC (rev 27635)
@@ -27,6 +27,7 @@
 #define SKY_CONTROL_H
 
 #include "common/stdafx.h"
+#include "common/events.h"
 #include "common/scummsys.h"
 
 class OSystem;
@@ -220,7 +221,7 @@
 	void setUpGameSprites(uint8 *nameBuf, dataFileHeader **nameSprites, uint16 firstNum, uint16 selectedGame);
 	void showSprites(dataFileHeader **nameSprites, bool allowSave);
 	bool checkKeyList(uint8 key);
-	void handleKeyPress(uint8 key, uint8 *textBuf);
+	void handleKeyPress(Common::KeyState kbd, uint8 *textBuf);
 
 	uint16 _selectedGame;
 	uint16 saveGameToFile(void);
@@ -243,7 +244,7 @@
 	Sound *_skySound;
 	OSystem *_system;
 	bool _mouseClicked;
-	byte _keyPressed;
+	Common::KeyState _keyPressed;
 	int _mouseWheel;
 
 	struct {

Modified: scummvm/trunk/engines/sky/intro.cpp
===================================================================
--- scummvm/trunk/engines/sky/intro.cpp	2007-06-22 22:18:15 UTC (rev 27634)
+++ scummvm/trunk/engines/sky/intro.cpp	2007-06-22 22:18:56 UTC (rev 27635)
@@ -917,7 +917,7 @@
 	do {
 		while (eventMan->pollEvent(event)) {
 			if (event.type == Common::EVENT_KEYDOWN) {
-				if (event.kbd.keycode == 27)
+				if (event.kbd.keycode == Common::KEYCODE_ESCAPE)
 					return false;
 			} else if (event.type == Common::EVENT_QUIT) {
 				_quitProg = true;

Modified: scummvm/trunk/engines/sky/mouse.cpp
===================================================================
--- scummvm/trunk/engines/sky/mouse.cpp	2007-06-22 22:18:15 UTC (rev 27634)
+++ scummvm/trunk/engines/sky/mouse.cpp	2007-06-22 22:18:56 UTC (rev 27635)
@@ -191,7 +191,7 @@
 		while (eventMan->pollEvent(event)) {
 			switch (event.type) {
 			case Common::EVENT_KEYDOWN:
-				if (event.kbd.ascii == 27) {
+				if (event.kbd.keycode == Common::KEYCODE_ESCAPE) {
 					minDelay = 0;
 					mousePressed = false;
 				}

Modified: scummvm/trunk/engines/sky/sky.cpp
===================================================================
--- scummvm/trunk/engines/sky/sky.cpp	2007-06-22 22:18:15 UTC (rev 27634)
+++ scummvm/trunk/engines/sky/sky.cpp	2007-06-22 22:18:56 UTC (rev 27635)
@@ -217,33 +217,29 @@
 
 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) {
+		switch (_keyPressed.ascii) {
 		case '`':
 		case '~':
 		case '#':
 			_debugger->attach();
 			break;
-		case 63:
+		case Common::ASCII_F5:
 			_skyControl->doControlPanel();
 			break;
 
-		case 27:
+		case Common::ASCII_ESCAPE:
 			if (!_systemVars.pastIntro)
 				_skyControl->restartGame();
 			break;
@@ -260,14 +256,14 @@
 
 		}
 	}
-	_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 +513,7 @@
 	Common::Event event;
 
 	uint32 start = _system->getMillis();
-	_keyFlags = _keyPressed = 0;	//reset
+	_keyPressed.reset();
 
 	if (amount < 0)
 		amount = 0;
@@ -526,11 +522,7 @@
 		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))

Modified: scummvm/trunk/engines/sky/sky.h
===================================================================
--- scummvm/trunk/engines/sky/sky.h	2007-06-22 22:18:15 UTC (rev 27634)
+++ scummvm/trunk/engines/sky/sky.h	2007-06-22 22:18:56 UTC (rev 27635)
@@ -27,6 +27,7 @@
 #define SKY_H
 
 #include "common/stdafx.h"
+#include "common/events.h"
 #include "engines/engine.h"
 
 namespace Sky {
@@ -60,7 +61,7 @@
 class SkyEngine : public Engine {
 	GUI::Debugger *getDebugger();
 protected:
-	byte _keyPressed, _keyFlags;
+	Common::KeyState _keyPressed;
 	bool _floppyIntro;
 
 	Sound *_skySound;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list