Skip to content

Commit

Permalink
TOLTECS: Fix menu positining in the simplest way I can think of
Browse files Browse the repository at this point in the history
All this does is to offset the image when copying it to the screen,
and offset the position when checking for clickable items at specific
coordinates. It looks and works right to me. I guess that just leaves
the buildColorTransTable2() function, but I'm useless for that so
someone else will have to look into it.
  • Loading branch information
Torbjörn Andersson committed Oct 3, 2012
1 parent 85bd7da commit 8335e34
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions engines/toltecs/menu.cpp
Expand Up @@ -58,10 +58,6 @@ int MenuSystem::run(MenuID menuId) {
_editingDescription = false;

_running = true;

// TODO: It seems the Y coordinate of the entire GUI should be offset
// by this much to be drawn correctly. At least, that appears to be the
// case for the main menu at the start of the game.
_top = 30 - _vm->_guiHeight / 2;

_needRedraw = false;
Expand Down Expand Up @@ -106,7 +102,7 @@ void MenuSystem::update() {

if (_needRedraw) {
//_vm->_system->copyRectToScreen(_vm->_screen->_frontScreen + 39 * 640 + 60, 640, 60, 39, 520, 247);
_vm->_system->copyRectToScreen(_vm->_screen->_frontScreen, 640, 0, 0, 640, 400);
_vm->_system->copyRectToScreen(_vm->_screen->_frontScreen, 640, 0, _top, 640, 400 - _top);
//debug("redraw");
_needRedraw = false;
}
Expand Down Expand Up @@ -206,7 +202,7 @@ void MenuSystem::handleKeyDown(const Common::KeyState& kbd) {

ItemID MenuSystem::findItemAt(int x, int y) {
for (Common::Array<Item>::iterator iter = _items.begin(); iter != _items.end(); iter++) {
if ((*iter).rect.contains(x, y))
if ((*iter).rect.contains(x, y - _top))
return (*iter).id;
}
return kItemIdNone;
Expand Down

0 comments on commit 8335e34

Please sign in to comment.