diff options
author | Matthew Stewart | 2018-07-27 01:59:01 -0400 |
---|---|---|
committer | Eugene Sandulenko | 2018-08-09 08:37:30 +0200 |
commit | f412328181baaac3ec6726de3bd9b914731cc551 (patch) | |
tree | 654036cd532542e22a2ce2be7741d73a411bab9d /engines/startrek/rooms | |
parent | b2213cac9b2766b62e29368394837fbe261233d3 (diff) | |
download | scummvm-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.cpp | 13 |
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) { |