mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-05 17:57:14 +00:00
Fix for bug #1656880 (BASS: mouse initialized wrong in control panel)
svn-id: r26130
This commit is contained in:
parent
68a6598fe3
commit
93e316bec7
@ -1560,14 +1560,14 @@ void Control::delay(unsigned int amount) {
|
||||
_keyPressed = (byte)event.kbd.ascii;
|
||||
break;
|
||||
case OSystem::EVENT_MOUSEMOVE:
|
||||
_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
|
||||
_mouseX = event.mouse.x;
|
||||
_mouseY = event.mouse.y;
|
||||
break;
|
||||
case OSystem::EVENT_LBUTTONDOWN:
|
||||
#ifdef PALMOS_MODE
|
||||
_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
|
||||
_mouseX = event.mouse.x;
|
||||
_mouseY = event.mouse.y;
|
||||
#endif
|
||||
_mouseClicked = true;
|
||||
break;
|
||||
case OSystem::EVENT_LBUTTONUP:
|
||||
|
@ -216,15 +216,12 @@ void Mouse::spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY) {
|
||||
CursorMan.showMouse(true);
|
||||
}
|
||||
|
||||
void Mouse::mouseEngine(uint16 mouseX, uint16 mouseY) {
|
||||
_mouseX = mouseX;
|
||||
_mouseY = mouseY;
|
||||
|
||||
void Mouse::mouseEngine() {
|
||||
_logicClick = (_mouseB > 0); // click signal is available for Logic for one gamecycle
|
||||
|
||||
if (!Logic::_scriptVariables[MOUSE_STOP]) {
|
||||
if (Logic::_scriptVariables[MOUSE_STATUS] & (1 << 1)) {
|
||||
pointerEngine(mouseX + TOP_LEFT_X, mouseY + TOP_LEFT_Y);
|
||||
pointerEngine(_mouseX + TOP_LEFT_X, _mouseY + TOP_LEFT_Y);
|
||||
if (Logic::_scriptVariables[MOUSE_STATUS] & (1 << 2)) //buttons enabled?
|
||||
buttonEngine1();
|
||||
}
|
||||
@ -271,10 +268,14 @@ void Mouse::pointerEngine(uint16 xPos, uint16 yPos) {
|
||||
}
|
||||
|
||||
void Mouse::buttonPressed(uint8 button) {
|
||||
|
||||
_mouseB = button;
|
||||
}
|
||||
|
||||
void Mouse::mouseMoved(uint16 mouseX, uint16 mouseY) {
|
||||
_mouseX = mouseX;
|
||||
_mouseY = mouseY;
|
||||
}
|
||||
|
||||
void Mouse::buttonEngine1(void) {
|
||||
//checks for clicking on special item
|
||||
//"compare the size of this routine to S1 mouse_button"
|
||||
|
@ -41,7 +41,7 @@ public:
|
||||
Mouse(OSystem *system, Disk *skyDisk, SkyCompact *skyCompact);
|
||||
~Mouse(void);
|
||||
|
||||
void mouseEngine(uint16 mouseX, uint16 mouseY);
|
||||
void mouseEngine();
|
||||
void replaceMouseCursors(uint16 fileNo);
|
||||
bool fnAddHuman(void);
|
||||
void fnSaveCoods(void);
|
||||
@ -54,6 +54,7 @@ public:
|
||||
void spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY);
|
||||
void useLogicInstance(Logic *skyLogic) { _skyLogic = skyLogic; };
|
||||
void buttonPressed(uint8 button);
|
||||
void mouseMoved(uint16 mouseX, uint16 mouseY);
|
||||
void waitMouseNotPressed(int minDelay = 0);
|
||||
uint16 giveMouseX(void) { return _mouseX; };
|
||||
uint16 giveMouseY(void) { return _mouseY; };
|
||||
|
@ -263,8 +263,6 @@ int SkyEngine::go() {
|
||||
|
||||
_systemVars.quitGame = false;
|
||||
|
||||
_mouseX = GAME_SCREEN_WIDTH / 2;
|
||||
_mouseY = GAME_SCREEN_HEIGHT / 2;
|
||||
_keyFlags = _keyPressed = 0;
|
||||
|
||||
uint16 result = 0;
|
||||
@ -303,7 +301,7 @@ int SkyEngine::go() {
|
||||
_lastSaveTime += 30 * 1000; // try again in 30 secs
|
||||
}
|
||||
_skySound->checkFxQueue();
|
||||
_skyMouse->mouseEngine((uint16)_mouseX, (uint16)_mouseY);
|
||||
_skyMouse->mouseEngine();
|
||||
handleKey();
|
||||
if (_systemVars.paused) {
|
||||
do {
|
||||
@ -532,22 +530,15 @@ void SkyEngine::delay(int32 amount) {
|
||||
break;
|
||||
case OSystem::EVENT_MOUSEMOVE:
|
||||
if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED)) {
|
||||
_mouseX = event.mouse.x;
|
||||
_mouseY = event.mouse.y;
|
||||
_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
|
||||
}
|
||||
break;
|
||||
case OSystem::EVENT_LBUTTONDOWN:
|
||||
#ifdef PALMOS_MODE
|
||||
_mouseX = event.mouse.x;
|
||||
_mouseY = event.mouse.y;
|
||||
#endif
|
||||
_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
|
||||
_skyMouse->buttonPressed(2);
|
||||
break;
|
||||
case OSystem::EVENT_RBUTTONDOWN:
|
||||
#ifdef PALMOS_MODE
|
||||
_mouseX = event.mouse.x;
|
||||
_mouseY = event.mouse.y;
|
||||
#endif
|
||||
_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
|
||||
_skyMouse->buttonPressed(1);
|
||||
break;
|
||||
case OSystem::EVENT_QUIT:
|
||||
|
@ -60,8 +60,6 @@ protected:
|
||||
byte _keyPressed, _keyFlags;
|
||||
bool _floppyIntro;
|
||||
|
||||
int _mouseX, _mouseY;
|
||||
|
||||
Sound *_skySound;
|
||||
Disk *_skyDisk;
|
||||
Text *_skyText;
|
||||
|
Loading…
x
Reference in New Issue
Block a user