aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-bytecode.cpp
diff options
context:
space:
mode:
authorScott Percival2019-11-17 13:18:52 +0800
committerEugene Sandulenko2019-11-17 22:31:54 +0100
commit25c8d3a57c6839f8a5bde2f9026d66331d19c7a6 (patch)
treed2438ee4db5749b9a815be78e167b78a2f7c5aa3 /engines/director/lingo/lingo-bytecode.cpp
parente727264b7dc433a27cd6907333775cd798d3a24b (diff)
downloadscummvm-rg350-25c8d3a57c6839f8a5bde2f9026d66331d19c7a6.tar.gz
scummvm-rg350-25c8d3a57c6839f8a5bde2f9026d66331d19c7a6.tar.bz2
scummvm-rg350-25c8d3a57c6839f8a5bde2f9026d66331d19c7a6.zip
DIRECTOR: Attempt to load Lingo bytecode for v4 and above
Diffstat (limited to 'engines/director/lingo/lingo-bytecode.cpp')
-rw-r--r--engines/director/lingo/lingo-bytecode.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 2fc0655e72..64fc354cb5 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -126,7 +126,12 @@ void Lingo::addCodeV4(Common::SeekableSubReadStreamEndian &stream, ScriptType ty
stream.seek(constsOffset);
for (uint16 i = 0; i < constsCount; i++) {
Datum constant;
- uint16 constType = stream.readUint16();
+ uint32 constType = 0;
+ if (_vm->getVersion() >= 5) {
+ constType = stream.readUint32();
+ } else {
+ constType = (uint32)stream.readUint16();
+ }
uint32 value = stream.readUint32();
switch (constType) {
case 1: // String type