From 73787f05f009868ddf6c1f8e1a7d61b6a38c07d9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 26 Mar 2010 20:45:32 +0000 Subject: Bugfixes to the graphics display of dialogs svn-id: r48405 --- engines/m4/graphics.cpp | 2 +- engines/m4/mads_menus.cpp | 11 +++-------- engines/m4/mads_views.cpp | 6 +++--- engines/m4/sprite.h | 8 ++++---- 4 files changed, 11 insertions(+), 16 deletions(-) diff --git a/engines/m4/graphics.cpp b/engines/m4/graphics.cpp index c650e0abac..97e93bca29 100644 --- a/engines/m4/graphics.cpp +++ b/engines/m4/graphics.cpp @@ -772,7 +772,7 @@ void Palette::setEntry(uint index, uint8 r, uint8 g, uint8 b) { c.r = r; c.g = g; c.b = b; - c.u = 0; + c.u = 255; g_system->setPalette((const byte *)&c, index, 1); } diff --git a/engines/m4/mads_menus.cpp b/engines/m4/mads_menus.cpp index bcfeb55dd7..fee6b36759 100644 --- a/engines/m4/mads_menus.cpp +++ b/engines/m4/mads_menus.cpp @@ -685,8 +685,8 @@ void RexDialogView::onRefresh(RectList *rects, M4Surface *destSurface) { // Draw the framed base area fillRect(this->bounds(), _madsVm->_palette->BLACK); setColour(2); - hLine(0, width(), 0); - hLine(0, width(), height() - 1); + hLine(0, width(), MADS_Y_OFFSET - 2); + hLine(0, width(), MADS_Y_OFFSET + MADS_SURFACE_HEIGHT + 2); // Add in the loaded background vertically centred _backgroundSurface->copyTo(this, 0, (height() - MADS_SURFACE_HEIGHT) / 2); @@ -881,11 +881,6 @@ RexGameMenuDialog::RexGameMenuDialog(): RexDialogView() { setFrame(1, 2); initVars(); - // TODO: Replace with proper palette setting - uint32 c = 0xffffff; - for (int i = 9; i <= 15; ++i) - _vm->_palette->setPalette((const byte *)&c, i, 1); - _vm->_font->setFont(FONT_CONVERSATION_MADS); addLines(); setClickableLines(); @@ -893,7 +888,7 @@ RexGameMenuDialog::RexGameMenuDialog(): RexDialogView() { void RexGameMenuDialog::addLines() { // Add the title - int top = MADS_Y_OFFSET - ((((_vm->_font->getHeight() + 2) * 6) >> 1) - 78); + int top = MADS_Y_OFFSET - 2 - ((((_vm->_font->getHeight() + 2) * 6) >> 1) - 78); addQuote(_vm->_font, ALIGN_CENTER, 0, top, 10); diff --git a/engines/m4/mads_views.cpp b/engines/m4/mads_views.cpp index 66968527da..423784384c 100644 --- a/engines/m4/mads_views.cpp +++ b/engines/m4/mads_views.cpp @@ -99,7 +99,7 @@ void MadsSpriteSlots::draw(View *view) { // Minimalised drawing assert(slot.spriteListIndex < (int)_sprites.size()); M4Sprite *spr = spriteSet.getFrame(slot.frameNumber - 1); - spr->draw(view, slot.scale, slot.depth, slot.xp, MADS_Y_OFFSET + slot.yp); + spr->draw1(view, slot.scale, slot.depth, slot.xp, MADS_Y_OFFSET + slot.yp); } else { int xp, yp; M4Sprite *spr = spriteSet.getFrame(slot.frameNumber - 1); @@ -159,8 +159,8 @@ int MadsTextDisplay::add(int xp, int yp, uint fontColour, int charSpacing, const void MadsTextDisplay::draw(View *view) { for (uint idx = 0; idx < _entries.size(); ++idx) { if (_entries[idx].active && (_entries[idx].expire >= 0)) { - _entries[idx].font->setColours(_entries[idx].colour1, 0xFF, - (_entries[idx].colour2 == 0) ? _entries[idx].colour1 : _entries[idx].colour2); + _entries[idx].font->setColours(_entries[idx].colour1, + (_entries[idx].colour2 == 0) ? _entries[idx].colour1 : _entries[idx].colour2, 0xff); _entries[idx].font->writeString(view, _entries[idx].msg, _entries[idx].bounds.left, _entries[idx].bounds.top, _entries[idx].bounds.width(), _entries[idx].spacing); diff --git a/engines/m4/sprite.h b/engines/m4/sprite.h index ee985c958b..022f3bbc4f 100644 --- a/engines/m4/sprite.h +++ b/engines/m4/sprite.h @@ -115,17 +115,17 @@ public: void loadDeltaRle(Common::SeekableReadStream* rleData, int destX, int destY); void loadMadsSprite(Common::SeekableReadStream* source); - void draw(M4Surface *destSurface, int scale, int depth, int xp, int yp) { + void draw1(M4Surface *destSurface, int scale, int depth, int xp, int yp) { // TODO: Properly implement drawing - copyTo(destSurface, xp, yp); + copyTo(destSurface, xp, yp, 0); } void draw2(M4Surface *destSurface, int depth, int xp, int yp) { // TODO: Properly implement drawing - copyTo(destSurface, xp, yp); + copyTo(destSurface, xp, yp, 0); } void draw3(M4Surface *destSurface, int xp, int yp) { // TODO: Properly implement drawing - copyTo(destSurface, xp, yp); + copyTo(destSurface, xp, yp, 0); } byte getTransparentColor() const; protected: -- cgit v1.2.3