From d5d22372e1b2fa65c8092a89b82af122125a2630 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Sun, 12 Jan 2025 23:58:26 -0600 Subject: [PATCH] [jasper/world] Make World::updateObj return error --- src/jasper/modules/world/include/jasper/world/world.hpp | 2 +- src/jasper/modules/world/src/world.cpp | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/jasper/modules/world/include/jasper/world/world.hpp b/src/jasper/modules/world/include/jasper/world/world.hpp index e9aaef5..0b7b01b 100644 --- a/src/jasper/modules/world/include/jasper/world/world.hpp +++ b/src/jasper/modules/world/include/jasper/world/world.hpp @@ -37,7 +37,7 @@ class World { void setupTile(uint32_t lyr, uint32_t x, uint32_t y) noexcept; private: - turbine::TimeMs updateObj(ObjState &state) noexcept; + ox::Result updateObj(ObjState &state) noexcept; void setupLayer(uint_t lyr, uint_t cbb) noexcept; diff --git a/src/jasper/modules/world/src/world.cpp b/src/jasper/modules/world/src/world.cpp index 020c432..1103042 100644 --- a/src/jasper/modules/world/src/world.cpp +++ b/src/jasper/modules/world/src/world.cpp @@ -55,7 +55,8 @@ ox::Result World::update() noexcept { turbine::TimeMs nextUpdateTime = ox::MaxValue; m_currentTicks = ticksMs(turbineCtx(m_nctx)); for (auto &state : m_objStates) { - nextUpdateTime = ox::min(nextUpdateTime, updateObj(state)); + OX_REQUIRE(u, updateObj(state)); + nextUpdateTime = ox::min(nextUpdateTime, u); } return static_cast(nextUpdateTime - m_currentTicks); } @@ -102,20 +103,20 @@ void World::setupTile( } } -turbine::TimeMs World::updateObj(ObjState &state) noexcept { +ox::Result World::updateObj(ObjState &state) noexcept { if (state.nextUpdateTime <= m_currentTicks) { auto &obj = m_worldStatic.objTileRefSets[state.objIdx]; ++state.frame; if (state.frame >= obj.frames) { state.frame = 0; } - std::ignore = ncore::loadBgTileSheet( + OX_RETURN_ERROR(ncore::loadBgTileSheet( m_nctx, obj.cbb, *m_tilesheets[obj.tilesheetId], obj.cbbIdx, static_cast(obj.tilesheetIdx + state.frame * static_cast(obj.tileCnt)), - obj.tileCnt); + obj.tileCnt)); state.nextUpdateTime = m_currentTicks + obj.intervalMs; } return state.nextUpdateTime;