diff --git a/src/game/Spells.cpp b/src/game/Spells.cpp index 640adc82da..d48511c415 100644 --- a/src/game/Spells.cpp +++ b/src/game/Spells.cpp @@ -550,7 +550,7 @@ void ARX_SPELLS_ManageMagic() { ArxInstant now = arxtime.now_ul(); - const unsigned long interval = 1000 / 60; + const ArxInstant interval = 1000 / 60; if(ARX_FLARES_broken) { g_LastFlarePosition = pos; diff --git a/src/game/magic/spells/SpellsLvl06.cpp b/src/game/magic/spells/SpellsLvl06.cpp index ae8ad2544a..2d467e66b6 100644 --- a/src/game/magic/spells/SpellsLvl06.cpp +++ b/src/game/magic/spells/SpellsLvl06.cpp @@ -274,7 +274,7 @@ void CreateFieldSpell::Launch() { ArxInstant start = arxtime.now_ul(); if(m_flags & SPELLCAST_FLAG_RESTORE) { - start -= std::min(start, 4000l); + start -= std::min(start, ArxInstant(4000l)); } m_timcreation = start; diff --git a/src/script/Script.cpp b/src/script/Script.cpp index dedfd6d1d9..283a1a7a6a 100644 --- a/src/script/Script.cpp +++ b/src/script/Script.cpp @@ -1847,8 +1847,9 @@ void ARX_SCRIPT_Timer_Check() { if((st->flags & 1) && !(st->io->gameFlags & GFLAG_ISINTREATZONE)) { long increment = (now - st->tim) / st->msecs; st->tim += st->msecs * increment; + // TODO print full 64-bit time arx_assert(st->tim <= now && st->tim + st->msecs > now, - "start=%lu wait=%ld now=%lu", st->tim, st->msecs, now); + "start=%lu wait=%ld now=%lu", (long)st->tim, (long)st->msecs, (long)now); continue; }