aboutsummaryrefslogtreecommitdiff
path: root/saga/interface.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2005-10-10 02:02:58 +0000
committerEugene Sandulenko2005-10-10 02:02:58 +0000
commitfc11b60674103b569b9df2599b60f7d99dbdd909 (patch)
treee2f5255497b8099d9238c029ba716f2fbe4ca4ca /saga/interface.cpp
parentc79dcadcc0551922ecd6c001e6ef6ef05b46b5b5 (diff)
downloadscummvm-rg350-fc11b60674103b569b9df2599b60f7d99dbdd909.tar.gz
scummvm-rg350-fc11b60674103b569b9df2599b60f7d99dbdd909.tar.bz2
scummvm-rg350-fc11b60674103b569b9df2599b60f7d99dbdd909.zip
Draw main panel. Buttons lack backgorunds and save reminder is buggy atm.
svn-id: r18994
Diffstat (limited to 'saga/interface.cpp')
-rw-r--r--saga/interface.cpp39
1 files changed, 17 insertions, 22 deletions
diff --git a/saga/interface.cpp b/saga/interface.cpp
index dc2e5e28e2..e29f31475f 100644
--- a/saga/interface.cpp
+++ b/saga/interface.cpp
@@ -50,8 +50,8 @@
namespace Saga {
-static int verbTypeToTextStringsIdLUT[kVerbTypesMax] = {
- -1,
+static int verbTypeToTextStringsIdLUT[2][kVerbTypesMax] = {
+ {-1,
kTextPickUp,
kTextLookAt,
kTextWalkTo,
@@ -68,7 +68,8 @@ static int verbTypeToTextStringsIdLUT[kVerbTypesMax] = {
-1,
-1,
-1,
- -1
+ -1},
+ {-1, -1, 2, 1, 5, -1, -1, 7, 4, -1, -1, -1, -1, -1, -1, 3, 6, 8}
};
Interface::Interface(SagaEngine *vm) : _vm(vm) {
@@ -595,13 +596,6 @@ void Interface::draw() {
if (_vm->_scene->isInIntro() || _fadeMode == kFadeOut)
return;
- // Disable this for IHNM for now, since that game uses the full screen
- // in some cases.
-
- if (_vm->getGameType() == GType_IHNM) {
- return;
- }
-
drawStatusBar();
if (_panelMode == kPanelMain || _panelMode == kPanelMap) {
@@ -1486,10 +1480,6 @@ void Interface::drawStatusBar() {
// Disable this for IHNM for now, since that game uses the full screen
// in some cases.
- if (_vm->getGameType() == GType_IHNM) {
- return;
- }
-
// Erase background of status bar
rect.left = _vm->getDisplayInfo().statusXOffset;
rect.top = _vm->getDisplayInfo().statusYOffset;
@@ -1917,20 +1907,25 @@ void Interface::drawVerbPanelText(Surface *ds, PanelButton *panelButton, int tex
int textWidth;
Point point;
int textId;
+ FontId font;
- textId = verbTypeToTextStringsIdLUT[panelButton->id];
-
- if (textId == -1)
- error("textId == -1");
+ if (_vm->getGameType() == GType_ITE) {
+ textId = verbTypeToTextStringsIdLUT[0][panelButton->id];
+ text = _vm->getTextString(textId);
+ font = kSmallFont;
+ } else {
+ textId = verbTypeToTextStringsIdLUT[1][panelButton->id];
+ text = _vm->_script->_mainStrings.getString(textId + 1);
+ font = kIHNMFont8;
+ }
- text = _vm->getTextString(textId);
- textWidth = _vm->_font->getStringWidth(kSmallFont, text, 0, kFontNormal);
+ textWidth = _vm->_font->getStringWidth(font, text, 0, kFontNormal);
point.x = _mainPanel.x + panelButton->xOffset + 1 + (panelButton->width - 1 - textWidth) / 2;
point.y = _mainPanel.y + panelButton->yOffset + 1;
- _vm->_font->textDraw(kSmallFont, ds, text, point, textColor, textShadowColor, (textShadowColor != 0) ? kFontShadow : kFontNormal);
+ _vm->_font->textDraw(font, ds, text, point, textColor, textShadowColor, (textShadowColor != 0) ? kFontShadow : kFontNormal);
}
@@ -2331,7 +2326,7 @@ void Interface::keyBoss() {
backBuffer = _vm->_gfx->getBackBuffer();
- rect.left = rect.top = 0;
+ rect.left = rect.top = 20;
_vm->_resource->loadResource(_interfaceContext, RID_IHNM_BOSS_SCREEN, resource, resourceLength);
if (resourceLength == 0) {