diff options
-rw-r--r-- | engines/sci/engine/kernel.cpp | 6 | ||||
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index c932a1fe93..d01451f2e3 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -510,14 +510,14 @@ reg_t kGetTime(EngineState *s, int funct_nr, int argc, reg_t *argv) { #endif g_system->getTimeAndDate(loc_time); - start_time = g_system->getMillis() / 1000; + start_time = g_system->getMillis(); if (s->version < SCI_VERSION_FTU_NEW_GETTIME) { // Use old semantics if (argc) { // Get seconds since last am/pm switch retval = loc_time.tm_sec + loc_time.tm_min * 60 + (loc_time.tm_hour % 12) * 3600; debugC(2, kDebugLevelTime, "GetTime(timeofday) returns %d", retval); } else { // Get time since game started - retval = start_time * 60; + retval = start_time * 60 / 1000; debugC(2, kDebugLevelTime, "GetTime(elapsed) returns %d", retval); } } else { @@ -527,7 +527,7 @@ reg_t kGetTime(EngineState *s, int funct_nr, int argc, reg_t *argv) { switch (mode) { case _K_NEW_GETTIME_TICKS : { - retval = start_time * 60; + retval = start_time * 60 / 1000; debugC(2, kDebugLevelTime, "GetTime(elapsed) returns %d", retval); break; } diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index 1974ff9084..c4cf477e42 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -651,7 +651,7 @@ reg_t kWait(EngineState *s, int funct_nr, int argc, reg_t *argv) { int sleep_time = UKPV(0); time = g_system->getMillis(); - s->r_acc = make_reg(0, ((time - s->last_wait_time) / 1000) * 60); + s->r_acc = make_reg(0, ((long)time - (long)s->last_wait_time) * 60 / 1000); s->last_wait_time = time; // Reset optimization flags: Game is playing along nicely anyway |