AVALANCHE: Rename Menu to DropDownMenu.

This commit is contained in:
uruk 2014-03-03 22:38:39 +01:00
parent 7a7bf4f529
commit b19dbace42
10 changed files with 106 additions and 106 deletions

View File

@ -1205,7 +1205,7 @@ void Animation::drawSprites() {
* @remarks Originally called 'trippancy_link'
*/
void Animation::animLink() {
if (_vm->_menu->isActive() || _vm->_seeScroll)
if (_vm->_dropdown->isActive() || _vm->_seeScroll)
return;
for (int16 i = 0; i < kSpriteNumbMax; i++) {
AnimationType *curSpr = _sprites[i];
@ -1329,7 +1329,7 @@ void Animation::handleMoveKey(const Common::Event &event) {
if (!_vm->_userMovesAvvy)
return;
if (_vm->_menu->_activeMenuItem._activeNow)
if (_vm->_dropdown->_activeMenuItem._activeNow)
_vm->_parser->tryDropdown();
else {
switch (event.kbd.keycode) {

View File

@ -51,7 +51,7 @@ AvalancheEngine::AvalancheEngine(OSystem *syst, const AvalancheGameDescription *
_sequence = nullptr;
_timer = nullptr;
_animation = nullptr;
_menu = nullptr;
_dropdown = nullptr;
_closing = nullptr;
_sound = nullptr;
_nim = nullptr;
@ -76,7 +76,7 @@ AvalancheEngine::~AvalancheEngine() {
delete _sequence;
delete _timer;
delete _animation;
delete _menu;
delete _dropdown;
delete _closing;
delete _sound;
delete _nim;
@ -161,7 +161,7 @@ Common::ErrorCode AvalancheEngine::initialize() {
_sequence = new Sequence(this);
_timer = new Timer(this);
_animation = new Animation(this);
_menu = new Menu(this);
_dropdown = new DropDownMenu(this);
_closing = new Closing(this);
_sound = new SoundHandler(this);
_nim = new Nim(this);
@ -444,7 +444,7 @@ bool AvalancheEngine::loadGame(const int16 slot) {
_background->release();
minorRedraw();
_menu->setup();
_dropdown->setup();
setRoom(kPeopleAvalot, _room);
_alive = true;
refreshObjectList();

View File

@ -37,7 +37,7 @@
#include "avalanche/sequence.h"
#include "avalanche/timer.h"
#include "avalanche/animation.h"
#include "avalanche/menu.h"
#include "avalanche/dropdown.h"
#include "avalanche/closing.h"
#include "avalanche/sound.h"
#include "avalanche/nim.h"
@ -84,7 +84,7 @@ public:
Sequence *_sequence;
Timer *_timer;
Animation *_animation;
Menu *_menu;
DropDownMenu *_dropdown;
Closing *_closing;
SoundHandler *_sound;
Nim *_nim;

View File

@ -199,7 +199,7 @@ void AvalancheEngine::setup() {
_animation->_sprites[0]->_speedX = kWalk;
_animation->updateSpeed();
_menu->init();
_dropdown->init();
_graphics->drawSoundLight(_sound->_soundFl);
@ -227,7 +227,7 @@ void AvalancheEngine::runAvalot() {
updateEvents(); // The event handler.
_clock->update();
_menu->update();
_dropdown->update();
_background->update();
_animation->animLink();
checkClick();
@ -488,7 +488,7 @@ void AvalancheEngine::exitRoom(byte x) {
* @remarks Originally called 'new_town'
*/
void AvalancheEngine::enterNewTown() {
_menu->setup();
_dropdown->setup();
switch (_room) {
case kRoomOutsideNottsPub: // Entry into Nottingham.
@ -1104,7 +1104,7 @@ void AvalancheEngine::checkClick() {
_graphics->loadMouse(kCurIBeam); //I-beam
else if ((340 <= cursorPos.y) && (cursorPos.y <= 399))
_graphics->loadMouse(kCurScrewDriver); // screwdriver
else if (!_menu->isActive()) { // Dropdown can handle its own pointers.
else if (!_dropdown->isActive()) { // Dropdown can handle its own pointers.
if (_holdLeftMouse) {
_graphics->loadMouse(kCurCrosshair); // Mark's crosshairs
guideAvvy(cursorPos); // Normally, if you click on the picture, you're guiding Avvy around.
@ -1115,7 +1115,7 @@ void AvalancheEngine::checkClick() {
if (_holdLeftMouse) {
if ((0 <= cursorPos.y) && (cursorPos.y <= 21)) { // Click on the dropdown menu.
if (_dropsOk)
_menu->update();
_dropdown->update();
} else if ((317 <= cursorPos.y) && (cursorPos.y <= 339)) { // Click on the command line.
_parser->_inputTextPos = (cursorPos.x - 23) / 8;
if (_parser->_inputTextPos > _parser->_inputText.size() + 1)
@ -1397,7 +1397,7 @@ void AvalancheEngine::resetAllVariables() {
_animation->resetVariables();
_sequence->resetVariables();
_background->resetVariables();
_menu->resetVariables();
_dropdown->resetVariables();
_timer->resetVariables();
}
@ -1448,7 +1448,7 @@ void AvalancheEngine::newGame() {
enterRoom(kRoomYours, 1);
avvy->_visible = false;
drawScore();
_menu->setup();
_dropdown->setup();
_clock->update();
spriteRun();
}

View File

@ -48,7 +48,7 @@ Background::~Background() {
* @remarks Originally called 'pics_link'
*/
void Background::update() {
if (_vm->_menu->isActive())
if (_vm->_dropdown->isActive())
return; // No animation when the menus are up.
switch (_vm->_room) {

View File

@ -28,42 +28,42 @@
/* Original name: DROPDOWN A customized version of Oopmenu (qv). */
#include "avalanche/avalanche.h"
#include "avalanche/menu.h"
#include "avalanche/dropdown.h"
namespace Avalanche {
void HeadType::init(char trig, char altTrig, Common::String title, byte pos, MenuFunc setupFunc, MenuFunc chooseFunc, Menu *menu) {
void HeadType::init(char trig, char altTrig, Common::String title, byte pos, MenuFunc setupFunc, MenuFunc chooseFunc, DropDownMenu *menu) {
_trigger = trig;
_altTrigger = altTrig;
_title = title;
_position = pos;
_xpos = _position * _menu->kSpacing + _menu->kIndent;
_xright = (_position + 1) * _menu->kSpacing + _menu->kIndent;
_xpos = _position * _dropdown->kSpacing + _dropdown->kIndent;
_xright = (_position + 1) * _dropdown->kSpacing + _dropdown->kIndent;
_setupFunc = setupFunc;
_chooseFunc = chooseFunc;
_menu = menu;
_dropdown = menu;
}
void HeadType::draw() {
CursorMan.showMouse(false);
_menu->drawMenuText(_xpos, 1, _trigger, _title, true, false);
_dropdown->drawMenuText(_xpos, 1, _trigger, _title, true, false);
CursorMan.showMouse(true);
}
void HeadType::highlight() {
CursorMan.showMouse(false);
_menu->_vm->_sound->stopSound();
_menu->drawMenuText(_xpos, 1, _trigger, _title, true, true);
_dropdown->_vm->_sound->stopSound();
_dropdown->drawMenuText(_xpos, 1, _trigger, _title, true, true);
_menu->_activeMenuItem._left = _xpos;
_menu->_activeMenuItem._activeNow = true;
_menu->_activeMenuItem._activeNum = _position;
_menu->_menuActive = true;
_dropdown->_activeMenuItem._left = _xpos;
_dropdown->_activeMenuItem._activeNow = true;
_dropdown->_activeMenuItem._activeNum = _position;
_dropdown->_menuActive = true;
// Force reload and redraw of cursor.
_menu->_vm->_currentMouse = 177;
_dropdown->_vm->_currentMouse = 177;
}
@ -73,12 +73,12 @@ bool HeadType::parseAltTrigger(char key) {
return false;
}
void MenuItem::init(Menu *menu) {
_menu = menu;
void MenuItem::init(DropDownMenu *menu) {
_dropdown = menu;
_activeNow = false;
_activeNum = 1;
_menu->_menuActive = false;
_dropdown->_menuActive = false;
}
void MenuItem::reset() {
@ -113,8 +113,8 @@ void MenuItem::displayOption(byte y, bool highlit) {
else
backgroundColor = kColorLightgray;
_menu->_vm->_graphics->drawMenuBlock((_flx1 + 1) * 8, 3 + (y + 1) * 10, (_flx2 + 1) * 8, 13 + (y + 1) * 10, backgroundColor);
_menu->drawMenuText(_left, 4 + (y + 1) * 10, _options[y]._trigger, text, _options[y]._valid, highlit);
_dropdown->_vm->_graphics->drawMenuBlock((_flx1 + 1) * 8, 3 + (y + 1) * 10, (_flx2 + 1) * 8, 13 + (y + 1) * 10, backgroundColor);
_dropdown->drawMenuText(_left, 4 + (y + 1) * 10, _options[y]._trigger, text, _options[y]._valid, highlit);
}
void MenuItem::display() {
@ -125,15 +125,15 @@ void MenuItem::display() {
_flx2 = _left + _width;
_fly = 15 + _optionNum * 10;
_activeNow = true;
_menu->_menuActive = true;
_dropdown->_menuActive = true;
_menu->_vm->_graphics->drawMenuItem((_flx1 + 1) * 8, 12, (_flx2 + 1) * 8, _fly);
_dropdown->_vm->_graphics->drawMenuItem((_flx1 + 1) * 8, 12, (_flx2 + 1) * 8, _fly);
displayOption(0, true);
for (int y = 1; y < _optionNum; y++)
displayOption(y, false);
_menu->_vm->_currentMouse = 177;
_dropdown->_vm->_currentMouse = 177;
CursorMan.showMouse(true); // 4 = fletch
}
@ -141,12 +141,12 @@ void MenuItem::display() {
void MenuItem::wipe() {
CursorMan.showMouse(false);
_menu->drawMenuText(_menu->_menuBar._menuItems[_menu->_activeMenuItem._activeNum]._xpos, 1,
_menu->_menuBar._menuItems[_menu->_activeMenuItem._activeNum]._trigger,
_menu->_menuBar._menuItems[_menu->_activeMenuItem._activeNum]._title, true, false);
_dropdown->drawMenuText(_dropdown->_menuBar._menuItems[_dropdown->_activeMenuItem._activeNum]._xpos, 1,
_dropdown->_menuBar._menuItems[_dropdown->_activeMenuItem._activeNum]._trigger,
_dropdown->_menuBar._menuItems[_dropdown->_activeMenuItem._activeNum]._title, true, false);
_activeNow = false;
_menu->_menuActive = false;
_dropdown->_menuActive = false;
_firstlix = false;
CursorMan.showMouse(true);
@ -191,7 +191,7 @@ void MenuItem::select(byte which) {
if (_choiceNum > _optionNum)
_choiceNum = 0; // Off the top, I suppose.
(_menu->*_menu->_menuBar._menuItems[_activeNum]._chooseFunc)();
(_dropdown->*_dropdown->_menuBar._menuItems[_activeNum]._chooseFunc)();
}
void MenuItem::parseKey(char c) {
@ -204,34 +204,34 @@ void MenuItem::parseKey(char c) {
}
}
if (!found)
_menu->_vm->_sound->blip();
_dropdown->_vm->_sound->blip();
}
MenuBar::MenuBar() {
_menuNum = 0;
_menu = nullptr;
_dropdown = nullptr;
}
void MenuBar::init(Menu *menu) {
_menu = menu;
void MenuBar::init(DropDownMenu *menu) {
_dropdown = menu;
_menuNum = 0;
}
void MenuBar::createMenuItem(char trig, Common::String title, char altTrig, MenuFunc setupFunc, MenuFunc chooseFunc) {
_menuItems[_menuNum].init(trig, altTrig, title, _menuNum, setupFunc, chooseFunc, _menu);
_menuItems[_menuNum].init(trig, altTrig, title, _menuNum, setupFunc, chooseFunc, _dropdown);
_menuNum++;
}
void MenuBar::draw() {
_menu->_vm->_graphics->drawMenuBar(kMenuBackgroundColor);
_dropdown->_vm->_graphics->drawMenuBar(kMenuBackgroundColor);
byte savecp = _menu->_vm->_cp;
_menu->_vm->_cp = 3;
byte savecp = _dropdown->_vm->_cp;
_dropdown->_vm->_cp = 3;
for (int i = 0; i < _menuNum; i++)
_menuItems[i].draw();
_menu->_vm->_cp = savecp;
_dropdown->_vm->_cp = savecp;
}
void MenuBar::parseAltTrigger(char c) {
@ -244,13 +244,13 @@ void MenuBar::parseAltTrigger(char c) {
}
void MenuBar::setupMenuItem(byte which) {
if (_menu->_activeMenuItem._activeNow) {
_menu->_activeMenuItem.wipe(); // Get rid of menu.
if (_menu->_activeMenuItem._activeNum == _menuItems[which]._position)
if (_dropdown->_activeMenuItem._activeNow) {
_dropdown->_activeMenuItem.wipe(); // Get rid of menu.
if (_dropdown->_activeMenuItem._activeNum == _menuItems[which]._position)
return; // Clicked on own highlight.
}
_menuItems[which].highlight();
(_menu->*_menuItems[which]._setupFunc)();
(_dropdown->*_menuItems[which]._setupFunc)();
}
void MenuBar::chooseMenuItem(int16 x) {
@ -262,7 +262,7 @@ void MenuBar::chooseMenuItem(int16 x) {
}
}
Menu::Menu(AvalancheEngine *vm) {
DropDownMenu::DropDownMenu(AvalancheEngine *vm) {
_vm = vm;
_activeMenuItem.init(this);
_menuBar.init(this);
@ -271,7 +271,7 @@ Menu::Menu(AvalancheEngine *vm) {
_lastPerson = kPeopleNone;
}
void Menu::findWhatYouCanDoWithIt() {
void DropDownMenu::findWhatYouCanDoWithIt() {
switch (_vm->_thinks) {
case kObjectWine:
case kObjectPotion:
@ -299,7 +299,7 @@ void Menu::findWhatYouCanDoWithIt() {
}
}
void Menu::drawMenuText(int16 x, int16 y, char trigger, Common::String text, bool valid, bool highlighted) {
void DropDownMenu::drawMenuText(int16 x, int16 y, char trigger, Common::String text, bool valid, bool highlighted) {
Color fontColor;
Color backgroundColor;
if (highlighted) {
@ -342,11 +342,11 @@ void Menu::drawMenuText(int16 x, int16 y, char trigger, Common::String text, boo
_vm->_graphics->refreshScreen();
}
void Menu::bleep() {
void DropDownMenu::bleep() {
_vm->_sound->playNote(177, 7);
}
void Menu::parseKey(char r, char re) {
void DropDownMenu::parseKey(char r, char re) {
#if 0
switch (r) {
case 0:
@ -395,14 +395,14 @@ void Menu::parseKey(char r, char re) {
warning("STUB: Dropdown::parseKey()"); // To be implemented properly later! Don't remove the comment above!
}
Common::String Menu::selectGender(byte x) {
Common::String DropDownMenu::selectGender(byte x) {
if (x < 175)
return "im";
else
return "er";
}
void Menu::setupMenuGame() {
void DropDownMenu::setupMenuGame() {
_activeMenuItem.reset();
_activeMenuItem.setupOption("Help...", 'H', "f1", true);
_activeMenuItem.setupOption("Boss Key", 'B', "alt-B", false);
@ -412,7 +412,7 @@ void Menu::setupMenuGame() {
_activeMenuItem.display();
}
void Menu::setupMenuFile() {
void DropDownMenu::setupMenuFile() {
_activeMenuItem.reset();
_activeMenuItem.setupOption("New game", 'N', "f4", true);
_activeMenuItem.setupOption("Load...", 'L', "^f3", true);
@ -423,7 +423,7 @@ void Menu::setupMenuFile() {
_activeMenuItem.display();
}
void Menu::setupMenuAction() {
void DropDownMenu::setupMenuAction() {
_activeMenuItem.reset();
Common::String f5Does = _vm->f5Does();
@ -449,7 +449,7 @@ void Menu::setupMenuAction() {
_activeMenuItem.display();
}
void Menu::setupMenuPeople() {
void DropDownMenu::setupMenuPeople() {
if (!people.empty())
people.clear();
@ -465,7 +465,7 @@ void Menu::setupMenuPeople() {
_activeMenuItem.display();
}
void Menu::setupMenuObjects() {
void DropDownMenu::setupMenuObjects() {
_activeMenuItem.reset();
for (int i = 0; i < kObjectNum; i++) {
if (_vm->_objects[i])
@ -474,7 +474,7 @@ void Menu::setupMenuObjects() {
_activeMenuItem.display();
}
void Menu::setupMenuWith() {
void DropDownMenu::setupMenuWith() {
_activeMenuItem.reset();
if (_vm->_thinkThing) {
@ -531,7 +531,7 @@ void Menu::setupMenuWith() {
_activeMenuItem.display();
}
void Menu::runMenuGame() {
void DropDownMenu::runMenuGame() {
// Help, boss, untrash screen.
switch (_activeMenuItem._choiceNum) {
case 0:
@ -552,7 +552,7 @@ void Menu::runMenuGame() {
}
}
void Menu::runMenuFile() {
void DropDownMenu::runMenuFile() {
// New game, load, save, save as, DOS shell, about, quit.
switch (_activeMenuItem._choiceNum) {
case 0:
@ -579,7 +579,7 @@ void Menu::runMenuFile() {
}
}
void Menu::runMenuAction() {
void DropDownMenu::runMenuAction() {
// Get up, pause game, open door, look, inventory, walk/run.
switch (_activeMenuItem._choiceNum) {
case 0: {
@ -616,16 +616,16 @@ void Menu::runMenuAction() {
}
}
void Menu::runMenuObjects() {
void DropDownMenu::runMenuObjects() {
_vm->thinkAbout(_vm->_objectList[_activeMenuItem._choiceNum], AvalancheEngine::kThing);
}
void Menu::runMenuPeople() {
void DropDownMenu::runMenuPeople() {
_vm->thinkAbout(people[_activeMenuItem._choiceNum], AvalancheEngine::kPerson);
_lastPerson = (People)people[_activeMenuItem._choiceNum];
}
void Menu::runMenuWith() {
void DropDownMenu::runMenuWith() {
_vm->_parser->_thing = _vm->_thinks;
if (_vm->_thinkThing) {
@ -664,21 +664,21 @@ void Menu::runMenuWith() {
_vm->callVerb((VerbCode)(byte)_verbStr[_activeMenuItem._choiceNum]);
}
void Menu::setup() {
void DropDownMenu::setup() {
_menuBar.init(this);
_activeMenuItem.init(this);
_menuBar.createMenuItem('F', "File", '!', &Avalanche::Menu::setupMenuFile, &Avalanche::Menu::runMenuFile);
_menuBar.createMenuItem('G', "Game", 34, &Avalanche::Menu::setupMenuGame, &Avalanche::Menu::runMenuGame);
_menuBar.createMenuItem('A', "Action", 30, &Avalanche::Menu::setupMenuAction, &Avalanche::Menu::runMenuAction);
_menuBar.createMenuItem('O', "Objects", 24, &Avalanche::Menu::setupMenuObjects, &Avalanche::Menu::runMenuObjects);
_menuBar.createMenuItem('P', "People", 25, &Avalanche::Menu::setupMenuPeople, &Avalanche::Menu::runMenuPeople);
_menuBar.createMenuItem('W', "With", 17, &Avalanche::Menu::setupMenuWith, &Avalanche::Menu::runMenuWith);
_menuBar.createMenuItem('F', "File", '!', &Avalanche::DropDownMenu::setupMenuFile, &Avalanche::DropDownMenu::runMenuFile);
_menuBar.createMenuItem('G', "Game", 34, &Avalanche::DropDownMenu::setupMenuGame, &Avalanche::DropDownMenu::runMenuGame);
_menuBar.createMenuItem('A', "Action", 30, &Avalanche::DropDownMenu::setupMenuAction, &Avalanche::DropDownMenu::runMenuAction);
_menuBar.createMenuItem('O', "Objects", 24, &Avalanche::DropDownMenu::setupMenuObjects, &Avalanche::DropDownMenu::runMenuObjects);
_menuBar.createMenuItem('P', "People", 25, &Avalanche::DropDownMenu::setupMenuPeople, &Avalanche::DropDownMenu::runMenuPeople);
_menuBar.createMenuItem('W', "With", 17, &Avalanche::DropDownMenu::setupMenuWith, &Avalanche::DropDownMenu::runMenuWith);
_menuBar.draw();
}
void Menu::update() { // TODO: Optimize it ASAP!!! It really needs it...
void DropDownMenu::update() { // TODO: Optimize it ASAP!!! It really needs it...
_vm->_graphics->saveScreen();
Common::Point cursorPos = _vm->getMousePos();
@ -769,7 +769,7 @@ void Menu::update() { // TODO: Optimize it ASAP!!! It really needs it...
_vm->_graphics->removeBackup();
}
char Menu::getThingChar(byte which) {
char DropDownMenu::getThingChar(byte which) {
static const char thingsChar[] = "WMBParCLguKeSnIohn"; // V=Vinegar
char result;
@ -786,7 +786,7 @@ char Menu::getThingChar(byte which) {
return result;
}
byte Menu::getNameChar(People whose) {
byte DropDownMenu::getNameChar(People whose) {
static const char ladChar[] = "ASCDMTRwLfgeIyPu";
static const char lassChar[] = "kG\0xB1o";
@ -798,7 +798,7 @@ byte Menu::getNameChar(People whose) {
error("getName() - Unexpected character id %d", (byte) whose);
}
Common::String Menu::getThing(byte which) {
Common::String DropDownMenu::getThing(byte which) {
static const char things[kObjectNum][20] = {
"Wine", "Money-bag", "Bodkin", "Potion", "Chastity belt",
"Crossbow bolt", "Crossbow", "Lute", "Pilgrim's badge", "Mushroom", "Key",
@ -830,15 +830,15 @@ Common::String Menu::getThing(byte which) {
return result;
}
bool Menu::isActive() {
bool DropDownMenu::isActive() {
return _menuActive;
}
void Menu::init() {
void DropDownMenu::init() {
_menuActive = false;
}
void Menu::resetVariables() {
void DropDownMenu::resetVariables() {
_lastPerson = kPeoplePardon;
}
} // End of namespace Avalanche.

View File

@ -27,17 +27,17 @@
/* Original name: DROPDOWN A customized version of Oopmenu (qv). */
#ifndef AVALANCHE_MENU_H
#define AVALANCHE_MENU_H
#ifndef AVALANCHE_DROPDOWN_H
#define AVALANCHE_DROPDOWN_H
#include "common/str.h"
namespace Avalanche {
class AvalancheEngine;
class Menu;
class DropDownMenu;
typedef void (Menu::*MenuFunc)();
typedef void (DropDownMenu::*MenuFunc)();
static const Color kMenuBackgroundColor = kColorLightgray;
static const Color kMenuBorderColor = kColorBlack;
@ -49,13 +49,13 @@ public:
int16 _xpos, _xright;
MenuFunc _setupFunc, _chooseFunc;
void init(char trig, char alTtrig, Common::String title, byte pos, MenuFunc setupFunc, MenuFunc chooseFunc, Menu *menu);
void init(char trig, char alTtrig, Common::String title, byte pos, MenuFunc setupFunc, MenuFunc chooseFunc, DropDownMenu *menu);
void draw();
void highlight();
bool parseAltTrigger(char key);
private:
Menu *_menu;
DropDownMenu *_dropdown;
};
struct OptionType {
@ -75,7 +75,7 @@ public:
byte _activeNum; // And if so, which is it?
byte _choiceNum; // Your choice?
void init(Menu *menu);
void init(DropDownMenu *menu);
void reset();
void setupOption(Common::String title, char trigger, Common::String shortcut, bool valid);
void display();
@ -88,7 +88,7 @@ private:
byte _optionNum;
byte _highlightNum;
Menu *_menu;
DropDownMenu *_dropdown;
void displayOption(byte y, bool highlit);
void moveHighlight(int8 inc);
@ -103,20 +103,20 @@ public:
byte _menuNum;
MenuBar();
void init(Menu *menu);
void init(DropDownMenu *menu);
void createMenuItem(char trig, Common::String title, char altTrig, MenuFunc setupFunc, MenuFunc chooseFunc);
void draw();
void chooseMenuItem(int16 x);
private:
Menu *_menu;
DropDownMenu *_dropdown;
void setupMenuItem(byte which);
// CHECKME: Useless function
void parseAltTrigger(char c);
};
class Menu {
class DropDownMenu {
public:
friend class HeadType;
friend class MenuItem;
@ -125,7 +125,7 @@ public:
MenuItem _activeMenuItem;
MenuBar _menuBar;
Menu(AvalancheEngine *vm);
DropDownMenu(AvalancheEngine *vm);
void update();
void setup(); // Standard menu bar.
@ -179,4 +179,4 @@ private:
} // End of namespace Avalanche.
#endif // AVALANCHE_MENU_H
#endif // AVALANCHE_DROPDOWN_H

View File

@ -9,7 +9,7 @@ MODULE_OBJS = \
console.o \
detection.o \
graphics.o \
menu.o \
dropdown.o \
parser.o \
dialogs.o \
sequence.o \

View File

@ -381,8 +381,8 @@ void Parser::init() {
void Parser::handleInputText(const Common::Event &event) {
byte inChar = event.kbd.ascii;
warning("STUB: Parser::handleInputText()");
// if (_vm->_menu->_activeMenuItem._activeNow) {
// _vm->_menu->parseKey(inChar, _vm->_enhanced->extd);
// if (_vm->_dropdown->_activeMenuItem._activeNow) {
// _vm->_dropdown->parseKey(inChar, _vm->_enhanced->extd);
// } else {
if (_inputText.size() < 76) {
if ((inChar == '"') || (inChar == '`')) {
@ -402,7 +402,7 @@ void Parser::handleInputText(const Common::Event &event) {
}
void Parser::handleBackspace() {
if (_vm->_menu->_activeMenuItem._activeNow)
if (_vm->_dropdown->_activeMenuItem._activeNow)
return;
if (_inputTextPos > 0) {
@ -416,7 +416,7 @@ void Parser::handleBackspace() {
}
void Parser::handleReturn() {
if (_vm->_menu->_activeMenuItem._activeNow)
if (_vm->_dropdown->_activeMenuItem._activeNow)
tryDropdown();
else if (!_inputText.empty()) {
_inputTextBackup = _inputText;

View File

@ -64,7 +64,7 @@ void Timer::addTimer(int32 duration, byte action, byte reason) {
* @remarks Originally called 'one_tick'
*/
void Timer::updateTimer() {
if (_vm->_menu->isActive())
if (_vm->_dropdown->isActive())
return;
for (int i = 0; i < 7; i++) {