From 099f1821268145dad55f414074e13acccabece38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Tue, 7 Sep 2021 19:12:25 +0200 Subject: [PATCH] Graphics/SpriteChainRenderer: Fix single sprite data over multiple vertex buffers --- src/Nazara/Graphics/SpriteChainRenderer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Nazara/Graphics/SpriteChainRenderer.cpp b/src/Nazara/Graphics/SpriteChainRenderer.cpp index ba4aadeef..b431f0871 100644 --- a/src/Nazara/Graphics/SpriteChainRenderer.cpp +++ b/src/Nazara/Graphics/SpriteChainRenderer.cpp @@ -141,6 +141,8 @@ namespace Nz } std::size_t remainingQuads = spriteChain.GetSpriteCount(); + const UInt8* spriteData = static_cast(spriteChain.GetSpriteData()); + while (remainingQuads > 0) { if (!currentAllocation) @@ -210,8 +212,9 @@ namespace Nz std::size_t copiedQuadCount = std::min(maxQuads, remainingQuads); std::size_t copiedSize = 4 * copiedQuadCount * stride; - std::memcpy(currentAllocationMemPtr, spriteChain.GetSpriteData(), copiedSize); + std::memcpy(currentAllocationMemPtr, spriteData, copiedSize); currentAllocationMemPtr += copiedSize; + spriteData += copiedSize; firstQuadIndex += copiedQuadCount; currentDrawCall->quadCount += copiedQuadCount;