PRIVATE: make sure symbols are resolved before using them
This commit is contained in:
parent
1f7fa6ea22
commit
3091add07b
2 changed files with 6 additions and 3 deletions
|
@ -649,13 +649,14 @@ static void fPhoneClip(ArgArray args) {
|
||||||
}
|
}
|
||||||
int i = args[2].u.val;
|
int i = args[2].u.val;
|
||||||
int j = args[3].u.val;
|
int j = args[3].u.val;
|
||||||
|
Symbol *flag = g_private->maps.lookupVariable(args[4].u.sym->name);
|
||||||
|
|
||||||
if (i == j)
|
if (i == j)
|
||||||
fAddSound(args[0].u.str, "PhoneClip", args[4].u.sym, args[5].u.val);
|
fAddSound(args[0].u.str, "PhoneClip", flag, args[5].u.val);
|
||||||
else {
|
else {
|
||||||
assert(i < j);
|
assert(i < j);
|
||||||
Common::String sound = g_private->getRandomPhoneClip(args[0].u.str, i, j);
|
Common::String sound = g_private->getRandomPhoneClip(args[0].u.str, i, j);
|
||||||
fAddSound(sound, "PhoneClip", args[4].u.sym, args[5].u.val);
|
fAddSound(sound, "PhoneClip", flag, args[5].u.val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -904,9 +904,11 @@ Common::Error PrivateEngine::loadGameStream(Common::SeekableReadStream *stream)
|
||||||
size = stream->readUint32LE();
|
size = stream->readUint32LE();
|
||||||
_phone.clear();
|
_phone.clear();
|
||||||
PhoneInfo p;
|
PhoneInfo p;
|
||||||
|
Common::String name;
|
||||||
for (uint32 j = 0; j < size; ++j) {
|
for (uint32 j = 0; j < size; ++j) {
|
||||||
p.sound = stream->readString();
|
p.sound = stream->readString();
|
||||||
p.flag = maps.variables.getVal(stream->readString());
|
name = stream->readString();
|
||||||
|
p.flag = maps.lookupVariable(&name);
|
||||||
p.val = stream->readUint32LE();
|
p.val = stream->readUint32LE();
|
||||||
_phone.push_back(p);
|
_phone.push_back(p);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue