diff options
author | johndoe123 | 2011-07-11 12:21:56 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:38:47 +0200 |
commit | 9f6e6c6f7fde2e1c927deee732cb03cf34d18455 (patch) | |
tree | fe1d446c2f691865ad76ef63db18b30962951193 /engines/neverhood/scene.cpp | |
parent | c39fb81951dd1a442c9811ba7ce202fa3619be70 (diff) | |
download | scummvm-rg350-9f6e6c6f7fde2e1c927deee732cb03cf34d18455.tar.gz scummvm-rg350-9f6e6c6f7fde2e1c927deee732cb03cf34d18455.tar.bz2 scummvm-rg350-9f6e6c6f7fde2e1c927deee732cb03cf34d18455.zip |
NEVERHOOD: Implement MouseCursorResource and Mouse433 mouse cursor
Diffstat (limited to 'engines/neverhood/scene.cpp')
-rw-r--r-- | engines/neverhood/scene.cpp | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/engines/neverhood/scene.cpp b/engines/neverhood/scene.cpp index ebf92d8b63..3851cfa3ad 100644 --- a/engines/neverhood/scene.cpp +++ b/engines/neverhood/scene.cpp @@ -38,7 +38,7 @@ Scene::Scene(NeverhoodEngine *vm, Module *parentModule, bool clearHitRects) _rectList = NULL; // TODO _someRects = NULL; _klayman = NULL; - // TODO _mouseSprite = NULL; + _mouseCursor = NULL; _palette = NULL; _background = NULL; // TODO _field_8E = -1; @@ -221,11 +221,9 @@ void Scene::update() { uint32 Scene::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { switch (messageNum) { case 0: // mouse moved -#if 0 - if (_mouseSprite && _mouseSprite->hasMessageHandler()) - _mouseSprite->sendMessage(0x4002, param, this); - queryPositionSomeRects(param.asPoint().x, param.asPoint().y); -#endif + if (_mouseCursor && _mouseCursor->hasMessageHandler()) + _mouseCursor->sendMessage(0x4002, param, this); + // TODO queryPositionSomeRects(param.asPoint().x, param.asPoint().y); break; case 1: // mouse clicked debug("mouse clicked"); @@ -268,20 +266,16 @@ uint32 Scene::handleMessage(int messageNum, const MessageParam ¶m, Entity *s } break; case 0x101D: -#if 0 - if (_mouseSprite) { - _prevVisible = _mouseSprite->_drawSurface->_visible; - _mouseSprite->_drawSurface->_visible = false; + if (_mouseCursor) { + _prevVisible = _mouseCursor->getSurface()->getVisible(); + _mouseCursor->getSurface()->setVisible(false); } -#endif break; case 0x101E: -#if 0 - if (_prevVisible && _mouseSprite) { - _mouseSprite->_drawSurface->_visible = true; - _mouseSprite->sendMessage(0x4002, g_Screen->_mousePos, this); + if (_prevVisible && _mouseCursor) { + _mouseCursor->getSurface()->setVisible(false); + // TODO _mouseCursor->sendMessage(0x4002, g_Screen->_mousePos, this); } -#endif break; case 0x1022: setSurfacePriority(((Sprite*)sender)->getSurface(), param.asInteger()); |