aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/string.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/string.cpp')
-rw-r--r--engines/scumm/string.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp
index 2dfa9da723..4b3207c6bf 100644
--- a/engines/scumm/string.cpp
+++ b/engines/scumm/string.cpp
@@ -18,9 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * $URL$
- * $Id$
- *
*/
@@ -35,6 +32,7 @@
#ifdef ENABLE_HE
#include "scumm/he/intern_he.h"
#endif
+#include "scumm/resource.h"
#include "scumm/scumm.h"
#include "scumm/scumm_v6.h"
#include "scumm/scumm_v8.h"
@@ -354,7 +352,7 @@ bool ScummEngine::handleNextCharsetCode(Actor *a, int *code) {
bool ScummEngine_v72he::handleNextCharsetCode(Actor *a, int *code) {
const int charsetCode = (_game.heversion >= 80) ? 127 : 64;
uint32 talk_sound_a = 0;
- uint32 talk_sound_b = 0;
+ //uint32 talk_sound_b = 0;
int i, c = 0;
char value[32];
bool endLoop = false;
@@ -385,7 +383,7 @@ bool ScummEngine_v72he::handleNextCharsetCode(Actor *a, int *code) {
i++;
}
value[i] = 0;
- talk_sound_b = atoi(value);
+ //talk_sound_b = atoi(value);
((SoundHE *)_sound)->startHETalkSound(talk_sound_a);
break;
case 104:
@@ -408,7 +406,7 @@ bool ScummEngine_v72he::handleNextCharsetCode(Actor *a, int *code) {
}
value[i] = 0;
talk_sound_a = atoi(value);
- talk_sound_b = 0;
+ //talk_sound_b = 0;
((SoundHE *)_sound)->startHETalkSound(talk_sound_a);
break;
case 119:
@@ -1212,7 +1210,8 @@ int ScummEngine::convertVerbMessage(byte *dst, int dstSize, int var) {
num = readVar(var);
if (num) {
for (k = 1; k < _numVerbs; k++) {
- if (num == _verbs[k].verbid && !_verbs[k].type && !_verbs[k].saveid) {
+ // Fix ZAK FM-TOWNS bug #1013617 by emulating exact (inconsistant?) behavior of the original code
+ if (num == _verbs[k].verbid && !_verbs[k].type && (!_verbs[k].saveid || (_game.version == 3 && _game.platform == Common::kPlatformFMTowns))) {
const byte *ptr = getResourceAddress(rtVerb, k);
return convertMessageToString(ptr, dst, dstSize);
}