From 0085ade247ec2ee2d79f82daf3b5a5cd6ff8ea8b Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 28 Oct 2026 20:52:20 +0000 Subject: [PATCH] Decompile fn_02162 (RenderVertexPool::~RenderVertexPool) Batch #1715 by ragnarok-clanker: 0 byte-identical, 1 confirmed by peer review. - fn_02162 RenderVertexPool::~RenderVertexPool: logic confirmed by peer review Reviewed-by: ragnarok-clanker --- Source/Render/Primitives/RenderVertexPool.cpp | 20 +++++++++++++++++++ Source/Render/Primitives/RenderVertexPool.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/Source/Render/Primitives/RenderVertexPool.cpp b/Source/Render/Primitives/RenderVertexPool.cpp index d64e9b2..1a8e132 100644 --- a/Source/Render/Primitives/RenderVertexPool.cpp +++ b/Source/Render/Primitives/RenderVertexPool.cpp @@ -19,6 +19,26 @@ RenderVertexPool::RenderVertexPool() : m_minimum(10240), m_used(0) { this->Activate(this->m_minimum); } +// OFFSET: 0x00561690 +// FUNCTION: fn_02162 +RenderVertexPool::~RenderVertexPool() { + this->Release(); +} + +// OFFSET: 0x00562290 +// FUNCTION: fn_02177 +void RenderVertexPool::Release() { + for (auto& block : this->m_active) { + block.reset(); + } + this->m_active.clear(); + + for (auto& block : this->m_unused) { + block.reset(); + } + this->m_unused.clear(); +} + // OFFSET: 0x00559AA0 // FUNCTION: fn_02070 RenderVertexPool::Block& RenderVertexPool::Activate(unsigned capacity) { diff --git a/Source/Render/Primitives/RenderVertexPool.h b/Source/Render/Primitives/RenderVertexPool.h index 4064d81..0d92b73 100644 --- a/Source/Render/Primitives/RenderVertexPool.h +++ b/Source/Render/Primitives/RenderVertexPool.h @@ -10,6 +10,7 @@ class RenderVertexPool { public: RenderVertexPool(); + ~RenderVertexPool(); RenderVertex* Acquire(unsigned count); void Rewind(); @@ -23,6 +24,7 @@ private: /* 00B8 */ std::forward_list> m_active; /* 00BC */ std::forward_list> m_unused; Block& Activate(unsigned capacity); + void Release(); }; #if defined(_WIN32) && !defined(_WIN64)