mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-27 05:32:45 +00:00
AVALANCHE: Set some variables private in Menu
This commit is contained in:
parent
26626125d9
commit
2d8fa4fdad
@ -74,12 +74,12 @@ bool HeadType::parseAltTrigger(char key) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void MenuItem::init(Menu *dr) {
|
||||
_dr = dr;
|
||||
void MenuItem::init(Menu *menu) {
|
||||
_menu = menu;
|
||||
|
||||
_activeNow = false;
|
||||
_activeNum = 1;
|
||||
_dr->_menuActive = false;
|
||||
_menu->_menuActive = false;
|
||||
}
|
||||
|
||||
void MenuItem::reset() {
|
||||
@ -114,8 +114,8 @@ void MenuItem::displayOption(byte y, bool highlit) {
|
||||
else
|
||||
backgroundColor = kColorLightgray;
|
||||
|
||||
_dr->_vm->_graphics->drawMenuBlock((_flx1 + 1) * 8, 3 + (y + 1) * 10, (_flx2 + 1) * 8, 13 + (y + 1) * 10, backgroundColor);
|
||||
_dr->drawMenuText(_left, 4 + (y + 1) * 10, _options[y]._trigger, text, _options[y]._valid, highlit);
|
||||
_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);
|
||||
}
|
||||
|
||||
void MenuItem::display() {
|
||||
@ -126,15 +126,15 @@ void MenuItem::display() {
|
||||
_flx2 = _left + _width;
|
||||
_fly = 15 + _optionNum * 10;
|
||||
_activeNow = true;
|
||||
_dr->_menuActive = true;
|
||||
_menu->_menuActive = true;
|
||||
|
||||
_dr->_vm->_graphics->drawMenuItem((_flx1 + 1) * 8, 12, (_flx2 + 1) * 8, _fly);
|
||||
_menu->_vm->_graphics->drawMenuItem((_flx1 + 1) * 8, 12, (_flx2 + 1) * 8, _fly);
|
||||
|
||||
displayOption(0, true);
|
||||
for (int y = 1; y < _optionNum; y++)
|
||||
displayOption(y, false);
|
||||
|
||||
_dr->_vm->_currentMouse = 177;
|
||||
_menu->_vm->_currentMouse = 177;
|
||||
|
||||
CursorMan.showMouse(true); // 4 = fletch
|
||||
}
|
||||
@ -142,10 +142,12 @@ void MenuItem::display() {
|
||||
void MenuItem::wipe() {
|
||||
CursorMan.showMouse(false);
|
||||
|
||||
_dr->drawMenuText(_dr->_menuBar._menuItems[_dr->_activeMenuItem._activeNum]._xpos, 1, _dr->_menuBar._menuItems[_dr->_activeMenuItem._activeNum]._trigger, _dr->_menuBar._menuItems[_dr->_activeMenuItem._activeNum]._title, true, 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);
|
||||
|
||||
_activeNow = false;
|
||||
_dr->_menuActive = false;
|
||||
_menu->_menuActive = false;
|
||||
_firstlix = false;
|
||||
|
||||
CursorMan.showMouse(true);
|
||||
@ -165,6 +167,10 @@ void MenuItem::moveHighlight(int8 inc) {
|
||||
CursorMan.showMouse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* This makes the menu highlight follow the mouse.
|
||||
* @remarks Originally called 'lightup'
|
||||
*/
|
||||
void MenuItem::lightUp(Common::Point cursorPos) {
|
||||
if ((cursorPos.x < _flx1 * 8) || (cursorPos.x > _flx2 * 8) || (cursorPos.y <= 25) || (cursorPos.y > ((_fly - 3) * 2 + 1)))
|
||||
return;
|
||||
@ -186,7 +192,7 @@ void MenuItem::select(byte which) {
|
||||
if (_choiceNum > _optionNum)
|
||||
_choiceNum = 0; // Off the top, I suppose.
|
||||
|
||||
(_dr->*_dr->_menuBar._menuItems[_activeNum]._chooseFunc)();
|
||||
(_menu->*_menu->_menuBar._menuItems[_activeNum]._chooseFunc)();
|
||||
}
|
||||
|
||||
void MenuItem::parseKey(char c) {
|
||||
@ -199,29 +205,29 @@ void MenuItem::parseKey(char c) {
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
_dr->_vm->_sound->blip();
|
||||
_menu->_vm->_sound->blip();
|
||||
}
|
||||
|
||||
void MenuBar::init(Menu *dr) {
|
||||
_dr = dr;
|
||||
void MenuBar::init(Menu *menu) {
|
||||
_menu = 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, _dr);
|
||||
_menuItems[_menuNum].init(trig, altTrig, title, _menuNum, setupFunc, chooseFunc, _menu);
|
||||
_menuNum++;
|
||||
}
|
||||
|
||||
void MenuBar::draw() {
|
||||
_dr->_vm->_graphics->drawMenuBar(kMenuBackgroundColor);
|
||||
_menu->_vm->_graphics->drawMenuBar(kMenuBackgroundColor);
|
||||
|
||||
byte savecp = _dr->_vm->_cp;
|
||||
_dr->_vm->_cp = 3;
|
||||
byte savecp = _menu->_vm->_cp;
|
||||
_menu->_vm->_cp = 3;
|
||||
|
||||
for (int i = 0; i < _menuNum; i++)
|
||||
_menuItems[i].draw();
|
||||
|
||||
_dr->_vm->_cp = savecp;
|
||||
_menu->_vm->_cp = savecp;
|
||||
}
|
||||
|
||||
void MenuBar::parseAltTrigger(char c) {
|
||||
@ -234,13 +240,13 @@ void MenuBar::parseAltTrigger(char c) {
|
||||
}
|
||||
|
||||
void MenuBar::setupMenuItem(byte which) {
|
||||
if (_dr->_activeMenuItem._activeNow) {
|
||||
_dr->_activeMenuItem.wipe(); // Get rid of menu.
|
||||
if (_dr->_activeMenuItem._activeNum == _menuItems[which]._position)
|
||||
if (_menu->_activeMenuItem._activeNow) {
|
||||
_menu->_activeMenuItem.wipe(); // Get rid of menu.
|
||||
if (_menu->_activeMenuItem._activeNum == _menuItems[which]._position)
|
||||
return; // Clicked on own highlight.
|
||||
}
|
||||
_menuItems[which].highlight();
|
||||
(_dr->*_menuItems[which]._setupFunc)();
|
||||
(_menu->*_menuItems[which]._setupFunc)();
|
||||
}
|
||||
|
||||
void MenuBar::chooseMenuItem(int16 x) {
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
int16 _xpos, _xright;
|
||||
MenuFunc _setupFunc, _chooseFunc;
|
||||
|
||||
void init(char trig, char alTtrig, Common::String title, byte pos, MenuFunc setupFunc, MenuFunc chooseFunc, Menu *dr);
|
||||
void init(char trig, char alTtrig, Common::String title, byte pos, MenuFunc setupFunc, MenuFunc chooseFunc, Menu *menu);
|
||||
void draw();
|
||||
void highlight();
|
||||
bool parseAltTrigger(char key);
|
||||
@ -69,29 +69,33 @@ struct OptionType {
|
||||
class MenuItem {
|
||||
public:
|
||||
OptionType _options[12];
|
||||
byte _optionNum;
|
||||
uint16 _width, _left;
|
||||
bool _firstlix;
|
||||
int16 _flx1, _flx2, _fly;
|
||||
byte _oldY; // used by lightUp
|
||||
bool _activeNow; // Is there an active option now?
|
||||
byte _activeNum; // And if so, which is it?
|
||||
byte _choiceNum; // Your choice?
|
||||
byte _highlightNum;
|
||||
|
||||
void init(Menu *dr);
|
||||
void init(Menu *menu);
|
||||
void reset();
|
||||
void setupOption(Common::String title, char trigger, Common::String shortcut, bool valid);
|
||||
void display();
|
||||
void wipe();
|
||||
void lightUp(Common::Point cursorPos); // This makes the menu highlight follow the mouse.
|
||||
void displayOption(byte y, bool highlit);
|
||||
void moveHighlight(int8 inc);
|
||||
void select(byte which); // Choose which one you want.
|
||||
void parseKey(char c);
|
||||
void lightUp(Common::Point cursorPos);
|
||||
void select(byte which);
|
||||
|
||||
private:
|
||||
Menu *_dr;
|
||||
byte _oldY; // used by lightUp
|
||||
byte _optionNum;
|
||||
byte _highlightNum;
|
||||
|
||||
Menu *_menu;
|
||||
|
||||
void displayOption(byte y, bool highlit);
|
||||
void moveHighlight(int8 inc);
|
||||
|
||||
// CHECKME: Useless function?
|
||||
void parseKey(char c);
|
||||
};
|
||||
|
||||
class MenuBar {
|
||||
@ -99,15 +103,17 @@ public:
|
||||
HeadType _menuItems[8];
|
||||
byte _menuNum;
|
||||
|
||||
void init(Menu *dr);
|
||||
void init(Menu *menu);
|
||||
void createMenuItem(char trig, Common::String title, char altTrig, MenuFunc setupFunc, MenuFunc chooseFunc);
|
||||
void draw();
|
||||
void parseAltTrigger(char c);
|
||||
void setupMenuItem(byte which);
|
||||
void chooseMenuItem(int16 x);
|
||||
|
||||
private:
|
||||
Menu *_dr;
|
||||
Menu *_menu;
|
||||
|
||||
void setupMenuItem(byte which);
|
||||
// CHECKME: Useless function
|
||||
void parseAltTrigger(char c);
|
||||
};
|
||||
|
||||
class Menu {
|
||||
@ -119,11 +125,8 @@ public:
|
||||
MenuItem _activeMenuItem;
|
||||
MenuBar _menuBar;
|
||||
|
||||
Common::String people;
|
||||
|
||||
Menu(AvalancheEngine *vm);
|
||||
|
||||
void parseKey(char r, char re);
|
||||
void update();
|
||||
void setup(); // Standard menu bar.
|
||||
bool isActive();
|
||||
@ -140,6 +143,7 @@ private:
|
||||
// static const Color kHighlightFontColor = kColorWhite;
|
||||
// static const Color kDisabledColor = kColorDarkgray;
|
||||
|
||||
Common::String people;
|
||||
Common::String _verbStr; // what you can do with your object. :-)
|
||||
bool _menuActive; // Kludge so we don't have to keep referring to the menu.
|
||||
People _lastPerson; // Last person to have been selected using the People menu.
|
||||
@ -168,6 +172,9 @@ private:
|
||||
void runMenuObjects();
|
||||
void runMenuPeople();
|
||||
void runMenuWith();
|
||||
|
||||
// CHECKME: Useless function?
|
||||
void parseKey(char r, char re);
|
||||
};
|
||||
|
||||
} // End of namespace Avalanche.
|
||||
|
Loading…
x
Reference in New Issue
Block a user