diff options
Diffstat (limited to 'engines/neverhood/scene.cpp')
-rw-r--r-- | engines/neverhood/scene.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/engines/neverhood/scene.cpp b/engines/neverhood/scene.cpp index c6f9f127fb..5072d5339d 100644 --- a/engines/neverhood/scene.cpp +++ b/engines/neverhood/scene.cpp @@ -190,6 +190,33 @@ Sprite *Scene::insertStaticSprite(uint32 fileHash, int surfacePriority) { return addSprite(new StaticSprite(_vm, fileHash, surfacePriority)); } +void Scene::insertMouse433(uint32 fileHash, NRect *mouseRect) { + NRect rect(-1, -1, -1, -1); + if (mouseRect) + rect = *mouseRect; + _mouseCursor = new Mouse(_vm, 0x0820C408, rect); + addSprite(_mouseCursor); +} + +void Scene::insertMouse435(uint32 fileHash, int16 x1, int16 x2) { + _mouseCursor = new Mouse(_vm, fileHash, x1, x2); + addSprite(_mouseCursor); +} + +void Scene::insertNavigationMouse(uint32 fileHash, int type) { + _mouseCursor = new Mouse(_vm, fileHash, type); + addSprite(_mouseCursor); +} + +void Scene::showMouse(bool visible) { + _mouseCursor->getSurface()->setVisible(visible); +} + +void Scene::changeMouseCursor(uint32 fileHash) { + _mouseCursor->load(fileHash); + _mouseCursor->updateCursor(); +} + SmackerPlayer *Scene::addSmackerPlayer(SmackerPlayer *smackerPlayer) { addEntity(smackerPlayer); addSurface(smackerPlayer->getSurface()); |