aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/dialogue_menu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/dialogue_menu.cpp')
-rw-r--r--engines/bladerunner/dialogue_menu.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/bladerunner/dialogue_menu.cpp b/engines/bladerunner/dialogue_menu.cpp
index 4f82326564..4491a94080 100644
--- a/engines/bladerunner/dialogue_menu.cpp
+++ b/engines/bladerunner/dialogue_menu.cpp
@@ -146,6 +146,22 @@ bool DialogueMenu::addToListNeverRepeatOnceSelected(int answer, int priorityPoli
return addToList(answer, false, priorityPolite, priorityNormal, prioritySurly);
}
+bool DialogueMenu::removeFromList(int answer) {
+ int index = getAnswerIndex(answer);
+ if (index != -1) {
+ return false;
+ }
+ if (index < _listSize - 1) {
+ for (int i = index; i < _listSize; ++i) {
+ _items[index] = _items[index + 1];
+ }
+ }
+ --_listSize;
+
+ calculatePosition();
+ return true;
+}
+
int DialogueMenu::queryInput() {
if (!_isVisible || _listSize == 0) {
return -1;