PARALLACTION: set the cursor for the menu when in the menu.

This commit is contained in:
peres 2021-06-27 21:33:15 +09:00
parent 2a467ffe9b
commit 2cf11a6b76
3 changed files with 25 additions and 4 deletions

View File

@ -489,10 +489,6 @@ void Input::initCursors() {
Graphics::Surface *surf = new Graphics::Surface;
surf->create(_mouseComboProps_BR._width, _mouseComboProps_BR._height, Graphics::PixelFormat::createFormatCLUT8());
_comboArrow = new SurfaceToFrames(surf);
// TODO: choose the pointer depending on the active character
// For now, we pick Donna's
_mouseArrow = _donnaCursor;
} else {
// TODO: Where are the Amiga cursors?
Graphics::Surface *surf1 = new Graphics::Surface;
@ -571,6 +567,29 @@ void Input::setInventoryCursor(ItemName name) {
}
void Input::setMenuPointer() {
switch (_gameType) {
case GType_Nippon: {
error("Input::setMenuPointer not supported for Nippon Safes");
}
case GType_BRA: {
if (_vm->getPlatform() == Common::kPlatformDOS) {
// Donna's cursor doubles as the cursor used
// in the startup menu.
_mouseArrow = _donnaCursor;
setArrowCursor();
} else {
warning("Input::setMenuPointer not yet implemented for Amiga");
}
break;
}
default:
warning("Input::setMenuPointer: unknown gametype");
}
}
void Input::setCharacterPointer(const char *name) {
switch (_gameType) {
case GType_Nippon: {

View File

@ -127,6 +127,7 @@ public:
void setArrowCursor();
void setInventoryCursor(ItemName name);
void setMenuPointer();
void setCharacterPointer(const char *name);
};

View File

@ -165,6 +165,7 @@ Common::Error Parallaction_br::go() {
_nextPart = 1;
_input->_inputMode = Input::kInputModeGame;
} else {
_input->setMenuPointer();
startGui(splash);
// don't show splash after first time
splash = false;