diff options
author | Adrian Frühwirth | 2018-03-18 22:06:57 +0100 |
---|---|---|
committer | Adrian Frühwirth | 2018-03-18 22:16:33 +0100 |
commit | 91ec2a0c38ea2782d5ed41563025721eb18adfd5 (patch) | |
tree | bb0c45fd4c05afa5bc902890fa50f3df0397e942 /engines/tucker | |
parent | 5f5cee2be3428ae244664401c453e410a7d6baf5 (diff) | |
download | scummvm-rg350-91ec2a0c38ea2782d5ed41563025721eb18adfd5.tar.gz scummvm-rg350-91ec2a0c38ea2782d5ed41563025721eb18adfd5.tar.bz2 scummvm-rg350-91ec2a0c38ea2782d5ed41563025721eb18adfd5.zip |
TUCKER: Add missing buv and c0v opcodes
This commit adds the 'buv' and 'c0v' opcodes which are used to set speech
volume. Because these only seem to be used once in the English demo and
we right now playback all speech at kMaxSoundVolume anyway we can treat
them as NOOPs.
This fixes a bug in said demo which resulted in Bud being unable to talk
to Del.
Diffstat (limited to 'engines/tucker')
-rw-r--r-- | engines/tucker/tucker.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp index 6ea6bce140..9e21a10e42 100644 --- a/engines/tucker/tucker.cpp +++ b/engines/tucker/tucker.cpp @@ -3146,7 +3146,8 @@ enum TableInstructionCode { kCode_was, kCode_wfx, kCode_xhr, - kCode_xhm + kCode_xhm, + kCode_no3 // NOOP, throw away 3-byte parameter }; static const struct { @@ -3166,12 +3167,14 @@ static const struct { { "bso", kCode_bso }, { "bus", kCode_bus }, { "b0s", kCode_bus }, // only ref 65.25 + { "buv", kCode_no3 }, { "buw", kCode_buw }, { "bdx", kCode_bux }, { "bux", kCode_bux }, { "c0a", kCode_c0a }, { "c0c", kCode_c0c }, { "c0s", kCode_c0s }, + { "c0v", kCode_no3 }, { "end", kCode_end }, { "fad", kCode_fad }, { "fw", kCode_fw }, @@ -3473,6 +3476,10 @@ int TuckerEngine::executeTableInstruction() { case kCode_xhm: _validInstructionId = false; return 0; + case kCode_no3: + // opcodes mapped here are treated as NOOPs + readTableInstructionParam(3); + return 0; } return 2; } |