aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/menu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/graphics/menu.cpp')
-rw-r--r--engines/sci/graphics/menu.cpp78
1 files changed, 42 insertions, 36 deletions
diff --git a/engines/sci/graphics/menu.cpp b/engines/sci/graphics/menu.cpp
index b7030bbea5..e677f0b487 100644
--- a/engines/sci/graphics/menu.cpp
+++ b/engines/sci/graphics/menu.cpp
@@ -142,7 +142,7 @@ void GfxMenu::kernelAddEntry(Common::String title, Common::String content, reg_t
// Control/Alt/Function key mapping...
if (controlPos) {
content.setChar(SCI_MENU_REPLACE_ONCONTROL, controlPos);
- itemEntry->keyModifier = SCI_KEYMOD_CTRL;
+ itemEntry->keyModifier = kSciKeyModCtrl;
tempPos = controlPos + 1;
if (tempPos >= contentSize)
error("control marker at end of item");
@@ -151,7 +151,7 @@ void GfxMenu::kernelAddEntry(Common::String title, Common::String content, reg_t
}
if (altPos) {
content.setChar(SCI_MENU_REPLACE_ONALT, altPos);
- itemEntry->keyModifier = SCI_KEYMOD_ALT;
+ itemEntry->keyModifier = kSciKeyModAlt;
tempPos = altPos + 1;
if (tempPos >= contentSize)
error("alt marker at end of item");
@@ -165,16 +165,16 @@ void GfxMenu::kernelAddEntry(Common::String title, Common::String content, reg_t
error("function marker at end of item");
itemEntry->keyPress = content[tempPos];
switch (content[functionPos + 1]) {
- case '1': itemEntry->keyPress = SCI_KEY_F1; break;
- case '2': itemEntry->keyPress = SCI_KEY_F2; break;
- case '3': itemEntry->keyPress = SCI_KEY_F3; break;
- case '4': itemEntry->keyPress = SCI_KEY_F4; break;
- case '5': itemEntry->keyPress = SCI_KEY_F5; break;
- case '6': itemEntry->keyPress = SCI_KEY_F6; break;
- case '7': itemEntry->keyPress = SCI_KEY_F7; break;
- case '8': itemEntry->keyPress = SCI_KEY_F8; break;
- case '9': itemEntry->keyPress = SCI_KEY_F9; break;
- case '0': itemEntry->keyPress = SCI_KEY_F10; break;
+ case '1': itemEntry->keyPress = kSciKeyF1; break;
+ case '2': itemEntry->keyPress = kSciKeyF2; break;
+ case '3': itemEntry->keyPress = kSciKeyF3; break;
+ case '4': itemEntry->keyPress = kSciKeyF4; break;
+ case '5': itemEntry->keyPress = kSciKeyF5; break;
+ case '6': itemEntry->keyPress = kSciKeyF6; break;
+ case '7': itemEntry->keyPress = kSciKeyF7; break;
+ case '8': itemEntry->keyPress = kSciKeyF8; break;
+ case '9': itemEntry->keyPress = kSciKeyF9; break;
+ case '0': itemEntry->keyPress = kSciKeyF10; break;
default:
error("illegal function key specified");
}
@@ -215,7 +215,7 @@ void GfxMenu::kernelAddEntry(Common::String title, Common::String content, reg_t
tempPtr = itemEntry->text.c_str();
tempPtr = strstr(tempPtr, "Ctrl-");
if (tempPtr) {
- itemEntry->keyModifier = SCI_KEYMOD_CTRL;
+ itemEntry->keyModifier = kSciKeyModCtrl;
itemEntry->keyPress = tolower(tempPtr[5]);
}
}
@@ -403,7 +403,7 @@ reg_t GfxMenu::kernelSelect(reg_t eventObject, bool pauseSound) {
bool forceClaimed = false;
switch (eventType) {
- case SCI_EVENT_KEYBOARD:
+ case kSciEventKeyDown:
keyPress = readSelectorValue(_segMan, eventObject, SELECTOR(message));
keyModifier = readSelectorValue(_segMan, eventObject, SELECTOR(modifiers));
@@ -411,14 +411,14 @@ reg_t GfxMenu::kernelSelect(reg_t eventObject, bool pauseSound) {
// Ctrl+<key> is pressed, but this kMenuSelect implementation matches
// on modifier + printable character, so we must convert the control
// characters to their lower-case latin printed equivalents
- if ((keyModifier & SCI_KEYMOD_NON_STICKY) == SCI_KEYMOD_CTRL && keyPress > 0 && keyPress < 27) {
+ if ((keyModifier & kSciKeyModNonSticky) == kSciKeyModCtrl && keyPress > 0 && keyPress < 27) {
keyPress += 96;
}
switch (keyPress) {
case 0:
break;
- case SCI_KEY_ESC:
+ case kSciKeyEsc:
interactiveStart(pauseSound);
itemEntry = interactiveWithKeyboard();
interactiveEnd(pauseSound);
@@ -434,8 +434,8 @@ reg_t GfxMenu::kernelSelect(reg_t eventObject, bool pauseSound) {
// to Ctrl+I or the modifier check will fail and the Tab key
// won't do anything. (This is also why Ctrl+I and Ctrl+Shift+I
// would both bring up the inventory in SSCI QFG1EGA)
- if (keyPress == SCI_KEY_TAB) {
- keyModifier = SCI_KEYMOD_CTRL;
+ if (keyPress == kSciKeyTab) {
+ keyModifier = kSciKeyModCtrl;
keyPress = 'i';
}
@@ -455,7 +455,7 @@ reg_t GfxMenu::kernelSelect(reg_t eventObject, bool pauseSound) {
}
break;
- case SCI_EVENT_SAID:
+ case kSciEventSaid:
while (itemIterator != itemEnd) {
itemEntry = *itemIterator;
@@ -476,7 +476,7 @@ reg_t GfxMenu::kernelSelect(reg_t eventObject, bool pauseSound) {
itemEntry = NULL;
break;
- case SCI_EVENT_MOUSE_PRESS: {
+ case kSciEventMousePress: {
Common::Point mousePosition;
mousePosition.x = readSelectorValue(_segMan, eventObject, SELECTOR(x));
mousePosition.y = readSelectorValue(_segMan, eventObject, SELECTOR(y));
@@ -755,34 +755,34 @@ GuiMenuItemEntry *GfxMenu::interactiveWithKeyboard() {
_paint16->bitsShow(_menuRect);
while (true) {
- curEvent = _event->getSciEvent(SCI_EVENT_ANY);
+ curEvent = _event->getSciEvent(kSciEventAny);
switch (curEvent.type) {
- case SCI_EVENT_KEYBOARD:
+ case kSciEventKeyDown:
// We don't 100% follow sierra here:
// - sierra didn't wrap around when changing item id
// - sierra allowed item id to be 0, which didn't make any sense
do {
switch (curEvent.character) {
- case SCI_KEY_ESC:
+ case kSciKeyEsc:
_curMenuId = curItemEntry->menuId; _curItemId = curItemEntry->id;
return NULL;
- case SCI_KEY_ENTER:
+ case kSciKeyEnter:
if (curItemEntry->enabled) {
_curMenuId = curItemEntry->menuId; _curItemId = curItemEntry->id;
return curItemEntry;
}
break;
- case SCI_KEY_LEFT:
+ case kSciKeyLeft:
newMenuId--; newItemId = 1;
break;
- case SCI_KEY_RIGHT:
+ case kSciKeyRight:
newMenuId++; newItemId = 1;
break;
- case SCI_KEY_UP:
+ case kSciKeyUp:
newItemId--;
break;
- case SCI_KEY_DOWN:
+ case kSciKeyDown:
newItemId++;
break;
}
@@ -793,9 +793,9 @@ GuiMenuItemEntry *GfxMenu::interactiveWithKeyboard() {
// if we do this step again because of a separator line -> don't repeat left/right, but go down
switch (curEvent.character) {
- case SCI_KEY_LEFT:
- case SCI_KEY_RIGHT:
- curEvent.character = SCI_KEY_DOWN;
+ case kSciKeyLeft:
+ case kSciKeyRight:
+ curEvent.character = kSciKeyDown;
}
}
} while (newItemEntry->separatorLine);
@@ -813,7 +813,7 @@ GuiMenuItemEntry *GfxMenu::interactiveWithKeyboard() {
}
break;
- case SCI_EVENT_MOUSE_PRESS: {
+ case kSciEventMousePress: {
Common::Point mousePosition = curEvent.mousePos;
if (mousePosition.y < 10) {
// Somewhere on the menubar
@@ -846,9 +846,12 @@ GuiMenuItemEntry *GfxMenu::interactiveWithKeyboard() {
}
} break;
- case SCI_EVENT_NONE:
+ case kSciEventNone:
g_sci->sleep(2500 / 1000);
break;
+
+ default:
+ break;
}
}
}
@@ -875,19 +878,22 @@ GuiMenuItemEntry *GfxMenu::interactiveWithMouse() {
_paint16->bitsShow(_ports->_menuRect);
while (true) {
- curEvent = _event->getSciEvent(SCI_EVENT_ANY);
+ curEvent = _event->getSciEvent(kSciEventAny);
switch (curEvent.type) {
- case SCI_EVENT_MOUSE_RELEASE:
+ case kSciEventMouseRelease:
if ((curMenuId == 0) || (curItemId == 0))
return NULL;
if ((!curItemEntry->enabled) || (curItemEntry->separatorLine))
return NULL;
return curItemEntry;
- case SCI_EVENT_NONE:
+ case kSciEventNone:
g_sci->sleep(2500 / 1000);
break;
+
+ default:
+ break;
}
// Find out where mouse is currently pointing to