aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2016-07-09 11:50:22 +0200
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commitcaa29882933467f42d3b6235001dc2e37d6e6495 (patch)
tree8d869c1637737668a75b8bee9356f6f44e8416a6
parentcca71376b7ffdc539548e9daa72963ebac990a07 (diff)
downloadscummvm-rg350-caa29882933467f42d3b6235001dc2e37d6e6495.tar.gz
scummvm-rg350-caa29882933467f42d3b6235001dc2e37d6e6495.tar.bz2
scummvm-rg350-caa29882933467f42d3b6235001dc2e37d6e6495.zip
DIRECTOR: Lingo: Fixed c_eval and made correctly processing different types
-rw-r--r--engines/director/lingo/lingo-code.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 2c797194c7..2f0e554880 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -207,7 +207,13 @@ void Lingo::c_eval() {
return;
d.type = d.u.sym->type;
- d.u.i = d.u.sym->u.val;
+
+ if (d.u.sym->type == INT)
+ d.u.i = d.u.sym->u.val;
+ else if (d.u.sym->type == FLOAT)
+ d.u.f = d.u.sym->u.fval;
+ else if (d.u.sym->type == STRING)
+ d.u.s = new Common::String(*d.u.sym->u.str);
g_lingo->push(d);
}