diff --git a/SDK/include/NDK/BaseSystem.inl b/SDK/include/NDK/BaseSystem.inl index ceacd1e78..da1f04d15 100644 --- a/SDK/include/NDK/BaseSystem.inl +++ b/SDK/include/NDK/BaseSystem.inl @@ -34,7 +34,7 @@ namespace Ndk inline float BaseSystem::GetUpdateRate() const { - return 1.f / m_updateRate; + return (m_updateRate > 0.f) ? 1.f / m_updateRate : 0.f; } inline World& BaseSystem::GetWorld() const @@ -58,12 +58,16 @@ namespace Ndk inline void BaseSystem::Update(float elapsedTime) { - m_updateCounter -= elapsedTime; - if (m_updateCounter < 0.f) + if (m_updateRate > 0.f) { + m_updateCounter -= elapsedTime; + if (m_updateCounter >= 0.f) + return; + m_updateCounter += m_updateRate; - OnUpdate(elapsedTime); } + + OnUpdate(elapsedTime); } template diff --git a/SDK/src/NDK/Systems/RenderSystem.cpp b/SDK/src/NDK/Systems/RenderSystem.cpp index 03da11d8d..e13dda40f 100644 --- a/SDK/src/NDK/Systems/RenderSystem.cpp +++ b/SDK/src/NDK/Systems/RenderSystem.cpp @@ -15,6 +15,7 @@ namespace Ndk { RenderSystem::RenderSystem() { + SetUpdateRate(0.f); } void RenderSystem::OnEntityRemoved(Entity* entity) diff --git a/include/Nazara/Core/Bitset.inl b/include/Nazara/Core/Bitset.inl index c8467c27e..e439dfc80 100644 --- a/include/Nazara/Core/Bitset.inl +++ b/include/Nazara/Core/Bitset.inl @@ -104,7 +104,8 @@ unsigned int NzBitset::FindNext(unsigned int bit) const { NazaraAssert(bit < m_bitCount, "Bit index out of range"); - bit++; + if (++bit >= m_bitCount) + return npos; // Le bloc du bit, l'indice du bit unsigned int blockIndex = GetBlockIndex(bit);