void Lua_V2::AdvanceChore() { lua_Object choreObj = lua_getparam(1); lua_Object timeObj = lua_getparam(2); if (!lua_isuserdata(choreObj) || lua_tag(choreObj) != MKTAG('C','H','O','R') || !lua_isnumber(timeObj)) return; int chore = lua_getuserdata(choreObj); float time = lua_getnumber(timeObj); Chore *c = EMIChore::getPool().getObject(chore); if (c) { if (!c->isPlaying()) { warning("AdvanceChore() called on stopped chore %s (%s)", c->getName(), c->getOwner()->getFilename().c_str()); if (c->isLooping()) { c->getOwner()->playChoreLooping(c->getName()); } else { c->getOwner()->playChore(c->getName()); } } c->setTime(time * 1000); } }
void Lua_V2::AdvanceChore() { lua_Object choreObj = lua_getparam(1); lua_Object timeObj = lua_getparam(2); if (!lua_isuserdata(choreObj) || lua_tag(choreObj) != MKTAG('C','H','O','R') || !lua_isnumber(timeObj)) return; int chore = lua_getuserdata(choreObj); float time = lua_getnumber(timeObj); // FIXME: implement missong code warning("Lua_V2::AdvanceChore: stub, chore: %d time: %f", chore, time); Chore *c = PoolChore::getPool().getObject(chore); if (c) { // this is kind of wrong, but it at least gets stuff to draw. c->getOwner()->playChoreLooping(c->getChoreId()); } }