aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek/rooms
diff options
context:
space:
mode:
authorMatthew Stewart2018-07-27 01:59:01 -0400
committerEugene Sandulenko2018-08-09 08:37:30 +0200
commitf412328181baaac3ec6726de3bd9b914731cc551 (patch)
tree654036cd532542e22a2ce2be7741d73a411bab9d /engines/startrek/rooms
parentb2213cac9b2766b62e29368394837fbe261233d3 (diff)
downloadscummvm-rg350-f412328181baaac3ec6726de3bd9b914731cc551.tar.gz
scummvm-rg350-f412328181baaac3ec6726de3bd9b914731cc551.tar.bz2
scummvm-rg350-f412328181baaac3ec6726de3bd9b914731cc551.zip
STARTREK: Implement text input boxes
Needed for SINS mission with the keypads
Diffstat (limited to 'engines/startrek/rooms')
-rw-r--r--engines/startrek/rooms/sins1.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/engines/startrek/rooms/sins1.cpp b/engines/startrek/rooms/sins1.cpp
index 8d94b4aea5..8f44840667 100644
--- a/engines/startrek/rooms/sins1.cpp
+++ b/engines/startrek/rooms/sins1.cpp
@@ -197,9 +197,16 @@ void Room::sins1UseSpockOnKeypad() {
}
void Room::sins1SpockReachedKeypad() {
- int ans = showKeypad("01210");
-
- if (ans == 1 || ans == 2) {
+ const char * const codes[] = {
+ "01210", "1210", "10200", nullptr
+ };
+ int ans = showCodeInputBox(codes);
+
+ if (ans == -1) {
+ // ENHANCEMENT: Do nothing if no code was entered.
+ _vm->_awayMission.crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_W;
+ walkCrewman(OBJECT_SPOCK, 0xf3, 0xad);
+ } else if (ans == 1 || ans == 2) {
playVoc("EFX14S");
loadActorAnimC(OBJECT_SPOCK, "susehn", -1, -1, &Room::sins1EnteredSacredSofNumber);
} else if (ans == 3) {