diff options
Diffstat (limited to 'engines/sci/gui/gui.cpp')
-rw-r--r-- | engines/sci/gui/gui.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/engines/sci/gui/gui.cpp b/engines/sci/gui/gui.cpp index e3b05c6cd0..62dfbd0d89 100644 --- a/engines/sci/gui/gui.cpp +++ b/engines/sci/gui/gui.cpp @@ -306,21 +306,24 @@ void SciGui::drawStatus(const char *text, int16 colorPen, int16 colorBack) { void SciGui::drawMenuBar(bool clear) { if (!clear) { - warning("TODO: drawMenuBar()"); + GuiPort *oldPort = _gfx->SetPort(_gfx->_menuPort); + _menu->drawBar(); + _gfx->SetPort(oldPort); } else { drawStatus("", 0, 0); } } void SciGui::menuAdd(Common::String title, Common::String content, reg_t entriesBase) { - warning("menuAdd"); + _menu->add(title, content); } -void SciGui::menuSet(int argc, reg_t *argv) { +void SciGui::menuSet(uint16 menuId, uint16 itemId, uint16 attributeId, reg_t value) { + _menu->setAttribute(menuId, itemId, attributeId, value); } reg_t SciGui::menuGet(uint16 menuId, uint16 itemId, uint16 attributeId) { - return NULL_REG; + return _menu->getAttribute(menuId, itemId, attributeId); } reg_t SciGui::menuSelect(reg_t eventObject) { |