mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-07-01 00:57:56 -05:00
move contentloader classes to their respective game namespaces
This commit is contained in:
48
src/ZoneLoading/Loading/ContentLoaderBase.cpp
Normal file
48
src/ZoneLoading/Loading/ContentLoaderBase.cpp
Normal file
@ -0,0 +1,48 @@
|
||||
#include "ContentLoaderBase.h"
|
||||
#include <cassert>
|
||||
|
||||
const void* ContentLoaderBase::PTR_FOLLOWING = reinterpret_cast<void*>(-1);
|
||||
const void* ContentLoaderBase::PTR_INSERT = reinterpret_cast<void*>(-2);
|
||||
|
||||
ContentLoaderBase::ContentLoaderBase()
|
||||
{
|
||||
varXString = nullptr;
|
||||
|
||||
m_zone = nullptr;
|
||||
m_stream = nullptr;
|
||||
}
|
||||
|
||||
void ContentLoaderBase::LoadXString(const bool atStreamStart) const
|
||||
{
|
||||
assert(varXString != nullptr);
|
||||
|
||||
if (atStreamStart)
|
||||
m_stream->Load<const char*>(varXString);
|
||||
|
||||
if(*varXString != nullptr)
|
||||
{
|
||||
if(*varXString == PTR_FOLLOWING)
|
||||
{
|
||||
*varXString = m_stream->Alloc<const char>(alignof(const char));
|
||||
m_stream->LoadNullTerminated(const_cast<char*>(*varXString));
|
||||
}
|
||||
else
|
||||
{
|
||||
*varXString = m_stream->ConvertOffsetToPointer<const char>(*varXString);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ContentLoaderBase::LoadXStringArray(const bool atStreamStart, const size_t count)
|
||||
{
|
||||
assert(varXString != nullptr);
|
||||
|
||||
if(atStreamStart)
|
||||
m_stream->Load<const char*>(varXString, count);
|
||||
|
||||
for(size_t index = 0; index < count; index++)
|
||||
{
|
||||
LoadXString(false);
|
||||
varXString++;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user