aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/gui.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2009-10-06 17:22:40 +0000
committerFlorian Kagerer2009-10-06 17:22:40 +0000
commit45fda46cf31884ca446c23e6c6df50794145cf9e (patch)
tree328bf37e8211368e96d7d45c1351d440544e5006 /engines/kyra/gui.cpp
parent1481c78d1a61937d9339563a521b3b87c14520e9 (diff)
downloadscummvm-rg350-45fda46cf31884ca446c23e6c6df50794145cf9e.tar.gz
scummvm-rg350-45fda46cf31884ca446c23e6c6df50794145cf9e.tar.bz2
scummvm-rg350-45fda46cf31884ca446c23e6c6df50794145cf9e.zip
KYRA/LOL: - get rid of ascii/sjis detection which could cause problems when typing savegame names
- fixed some minor bugs svn-id: r44709
Diffstat (limited to 'engines/kyra/gui.cpp')
-rw-r--r--engines/kyra/gui.cpp33
1 files changed, 28 insertions, 5 deletions
diff --git a/engines/kyra/gui.cpp b/engines/kyra/gui.cpp
index ddb9d51fac..a38c6e40ee 100644
--- a/engines/kyra/gui.cpp
+++ b/engines/kyra/gui.cpp
@@ -143,13 +143,19 @@ void GUI::initMenu(Menu &menu) {
else
printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].textColor, 0, 8);
} else {
+ Screen::FontId of = _screen->_currentFont;
+ if (_vm->_flags.gameID != GI_LOL && menu.item[i].saveSlot > 0)
+ _screen->setFont(Screen::FID_8_FNT);
+
if (_vm->gameFlags().platform != Common::kPlatformAmiga)
- printMenuText(getMenuItemTitle(menu.item[i]), textX - 1, textY + 1, defaultColor1(), 0, 0);
+ printMenuText(getMenuItemTitle(menu.item[i]), textX - 1, textY + 1, defaultColor1(), 0, 0, Screen::FID_8_FNT);
if (i == menu.highlightedItem)
- printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].highlightColor, 0, 0);
+ printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].highlightColor, 0, 0, Screen::FID_8_FNT);
else
- printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].textColor, 0, 0);
+ printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].textColor, 0, 0, Screen::FID_8_FNT);
+
+ _screen->setFont(of);
}
}
}
@@ -258,9 +264,13 @@ void GUI::redrawText(const Menu &menu) {
textY++;
printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].textColor, 0, 8);
} else {
+ Screen::FontId of = _screen->_currentFont;
+ if (menu.item[i].saveSlot > 0)
+ _screen->setFont(Screen::FID_8_FNT);
if (_vm->gameFlags().platform != Common::kPlatformAmiga)
printMenuText(getMenuItemTitle(menu.item[i]), textX - 1, textY + 1, defaultColor1(), 0, 0);
printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].textColor, 0, 0);
+ _screen->setFont(of);
}
}
@@ -284,9 +294,13 @@ void GUI::redrawHighlight(const Menu &menu) {
textY++;
printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].highlightColor, 0, 8);
} else {
+ Screen::FontId of = _screen->_currentFont;
+ if (menu.item[i].saveSlot > 0)
+ _screen->setFont(Screen::FID_8_FNT);
if (_vm->gameFlags().platform != Common::kPlatformAmiga)
printMenuText(getMenuItemTitle(menu.item[i]), textX - 1, textY + 1, defaultColor1(), 0, 0);
printMenuText(getMenuItemTitle(menu.item[i]), textX, textY, menu.item[i].highlightColor, 0, 0);
+ _screen->setFont(of);
}
}
@@ -447,7 +461,7 @@ void GUI::checkTextfieldInput() {
}
void GUI::printMenuText(const char *str, int x, int y, uint8 c0, uint8 c1, uint8 c2, Screen::FontId font) {
- _text->printText(str, x, y, c0, c1, c2, font);
+ _text->printText(str, x, y, c0, c1, c2/*, font*/);
}
int GUI::getMenuCenterStringX(const char *str, int x1, int x2) {
@@ -551,6 +565,9 @@ int MainMenu::handle(int dim) {
_screen->showMouse();
int fh = _screen->getFontHeight();
+ if (_vm->gameFlags().lang == Common::JA_JPN)
+ fh++;
+
int textPos = ((_screen->_curDim->w >> 1) + _screen->_curDim->sx) << 3;
Common::Rect menuRect(x + 16, y + 4, x + width - 16, y + 4 + fh * _static.menuTable[3]);
@@ -599,9 +616,12 @@ int MainMenu::handle(int dim) {
void MainMenu::draw(int select) {
int top = _screen->_curDim->sy;
top += _static.menuTable[1];
+ int fh = _screen->getFontHeight();
+ if (_vm->gameFlags().lang == Common::JA_JPN)
+ fh++;
for (int i = 0; i < _static.menuTable[3]; ++i) {
- int curY = top + i * _screen->getFontHeight();
+ int curY = top + i * fh;
int color = (i == select) ? _static.menuTable[6] : _static.menuTable[5];
printString("%s", ((_screen->_curDim->w >> 1) + _screen->_curDim->sx) << 3, curY, color, 0, 5, _static.strings[i]);
}
@@ -638,6 +658,9 @@ void MainMenu::printString(const char *format, int x, int y, int col1, int col2,
if (flags & 2)
x -= _screen->getTextWidth(string);
+ if (_vm->gameFlags().use16ColorMode)
+ flags &= 3;
+
if (flags & 4) {
_screen->printText(string, x - 1, y, _static.altColor, col2);
_screen->printText(string, x, y + 1, _static.altColor, col2);