[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