rodecomp/Source/Render/Primitives/RenderPrimitivePool.cpp
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
2026-10-25 07:42:41 +00:00

34 lines
850 B
C++

#include "Render/Primitives/RenderPrimitivePool.h"
#include <new>
// OFFSET: 0x00560A40
// FUNCTION: fn_02161
RenderPrimitivePool::RenderPrimitivePool() {
this->m_commands.resize(512, RenderPrimitive());
this->m_current = this->m_commands.begin();
}
// OFFSET: 0x00561A50
// FUNCTION: fn_02167
RenderPrimitivePool::~RenderPrimitivePool() = default;
// OFFSET: 0x00543EC0
// FUNCTION: fn_01811
RenderPrimitive* RenderPrimitivePool::Acquire() {
if (this->m_current == this->m_commands.end()) {
this->m_commands.emplace_back();
this->m_current = this->m_commands.end();
return &this->m_commands.back();
}
RenderPrimitive* command = &*this->m_current++;
return new (command) RenderPrimitive;
}
// OFFSET: 0x0055A360
// FUNCTION: fn_02079
void RenderPrimitivePool::Rewind() {
this->m_current = this->m_commands.begin();
}