diff options
Diffstat (limited to 'engines/drascula/converse.cpp')
| -rw-r--r-- | engines/drascula/converse.cpp | 37 | 
1 files changed, 28 insertions, 9 deletions
| diff --git a/engines/drascula/converse.cpp b/engines/drascula/converse.cpp index 14a0c90fd6..41898be7f4 100644 --- a/engines/drascula/converse.cpp +++ b/engines/drascula/converse.cpp @@ -27,7 +27,7 @@  namespace Drascula { -void DrasculaEngine::checkTalkSequence(int sequence) { +void DrasculaEngine::playTalkSequence(int sequence) {  	bool seen = false;  	for (int i = 0; i < _talkSequencesSize; i++) { @@ -41,11 +41,6 @@ void DrasculaEngine::checkTalkSequence(int sequence) {  	}	  } -void DrasculaEngine::playTalkSequence(TalkSequenceCommand *seq, int size) { -	for (int i = 0; i < size; i++) -		doTalkSequenceCommand(seq[i]); -} -  void DrasculaEngine::doTalkSequenceCommand(TalkSequenceCommand cmd) {  	switch (cmd.commandType) {  		case kPause: @@ -66,6 +61,27 @@ void DrasculaEngine::doTalkSequenceCommand(TalkSequenceCommand cmd) {  		case kBreakOut:  			breakOut = 1;  			break; +		case kConverse: +			converse(cmd.action); +			break; +		case kPlaceVB: +			placeVonBraun(cmd.action); +			break; +		case kUpdateRoom: +			updateRoom(); +			break; +		case kUpdateScreen: +			updateScreen(); +			break; +		case kTrackProtagonist: +			trackProtagonist = cmd.action; +			break; +		case kPlaySound: +			playSound(cmd.action); +			break; +		case kFinishSound: +			finishSound(); +			break;  		case kTalkerGeneral:  			talk(cmd.action);  			break; @@ -96,11 +112,14 @@ void DrasculaEngine::doTalkSequenceCommand(TalkSequenceCommand cmd) {  		case kTalkerDrascula:  			talk_drascula(cmd.action, 1);  			break; -		case kTalkerBartender: +		case kTalkerBartender0: +			talk_bartender(cmd.action, 0); +			break; +		case kTalkerBartender1:  			talk_bartender(cmd.action, 1);  			break;  		default: -			error("doTalkSequenceCommand: Unknown command"); +			error("doTalkSequenceCommand: Unknown command: %d", cmd.commandType);  	}  } @@ -256,7 +275,7 @@ void DrasculaEngine::converse(int index) {  }  void DrasculaEngine::response(int function) { -	checkTalkSequence(function); +	playTalkSequence(function);  	if (currentChapter == 2) {  		if (function == 16) | 
