diff options
author | athrxx | 2019-12-15 18:48:44 +0100 |
---|---|---|
committer | athrxx | 2019-12-18 20:50:48 +0100 |
commit | e4439fb1a517b3e837b2ca7b1ac39b57973aee1a (patch) | |
tree | 372c22eaffbe8692fa9da27fa794783b85f744e7 /engines/kyra/engine | |
parent | 04e85a0f3d71c8740ecaf8ff2e66143e95ec055a (diff) | |
download | scummvm-rg350-e4439fb1a517b3e837b2ca7b1ac39b57973aee1a.tar.gz scummvm-rg350-e4439fb1a517b3e837b2ca7b1ac39b57973aee1a.tar.bz2 scummvm-rg350-e4439fb1a517b3e837b2ca7b1ac39b57973aee1a.zip |
KYRA: (EOB/PC98) - fix dialogue button glitch
Don't use y-coords from LOL-PC98 (which are all 4/8 aligned due to its use of the text mode instead of graphics mode)
Diffstat (limited to 'engines/kyra/engine')
-rw-r--r-- | engines/kyra/engine/kyra_rpg.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/kyra/engine/kyra_rpg.cpp b/engines/kyra/engine/kyra_rpg.cpp index fc3e04d95b..73d334891a 100644 --- a/engines/kyra/engine/kyra_rpg.cpp +++ b/engines/kyra/engine/kyra_rpg.cpp @@ -257,7 +257,7 @@ uint16 KyraRpgEngine::processDialogue() { for (int i = 0; i < _dialogueNumButtons; i++) { int x = _dialogueButtonPosX[i]; - int y = ((_flags.lang == Common::JA_JPN && _flags.use16ColorMode) ? ((_dialogueButtonYoffs + _dialogueButtonPosY[i]) & ~7) - 1 : (_dialogueButtonYoffs + _dialogueButtonPosY[i])); + int y = ((_flags.gameID == GI_LOL && _flags.use16ColorMode) ? ((_dialogueButtonYoffs + _dialogueButtonPosY[i]) & ~7) - 1 : (_dialogueButtonYoffs + _dialogueButtonPosY[i])); Common::Point p = getMousePos(); if (posWithinRect(p.x, p.y, x, y, x + _dialogueButtonWidth, y + guiSettings()->buttons.height)) { _dialogueHighlightedButton = i; @@ -293,7 +293,7 @@ uint16 KyraRpgEngine::processDialogue() { if ((_flags.gameID == GI_LOL && (e == 200 || e == 202)) || (_flags.gameID != GI_LOL && (e == 199 || e == 201))) { for (int i = 0; i < _dialogueNumButtons; i++) { int x = _dialogueButtonPosX[i]; - int y = (gameFlags().use16ColorMode ? ((_dialogueButtonYoffs + _dialogueButtonPosY[i]) & ~7) - 1 : (_dialogueButtonYoffs + _dialogueButtonPosY[i])); + int y = ((_flags.gameID == GI_LOL && _flags.use16ColorMode) ? ((_dialogueButtonYoffs + _dialogueButtonPosY[i]) & ~7) - 1 : (_dialogueButtonYoffs + _dialogueButtonPosY[i])); Common::Point p = getMousePos(); if (posWithinRect(p.x, p.y, x, y, x + _dialogueButtonWidth, y + guiSettings()->buttons.height)) { _dialogueHighlightedButton = i; |