aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gui/gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/gui/gui.cpp')
-rw-r--r--engines/sci/gui/gui.cpp11
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) {