mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-11 07:18:11 -05:00
ZoneCodeGenerator: Add support for scriptstring array pointers
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
#include "AssetLoader.h"
|
||||
#include <cassert>
|
||||
|
||||
AssetLoader::AssetLoader(const asset_type_t assetType, IZoneScriptStringProvider* scriptStringProvider, Zone* zone, IZoneInputStream* stream)
|
||||
{
|
||||
@ -47,6 +48,20 @@ scr_string_t AssetLoader::UseScriptString(const scr_string_t scrString)
|
||||
return scriptStringIndex;
|
||||
}
|
||||
|
||||
void AssetLoader::LoadScriptStringArray(const bool atStreamStart, const size_t count)
|
||||
{
|
||||
assert(varScriptString != nullptr);
|
||||
|
||||
if (atStreamStart)
|
||||
m_stream->Load<scr_string_t>(varScriptString, count);
|
||||
|
||||
for (size_t index = 0; index < count; index++)
|
||||
{
|
||||
*varScriptString = UseScriptString(*varScriptString);
|
||||
varScriptString++;
|
||||
}
|
||||
}
|
||||
|
||||
void* AssetLoader::LinkAsset(std::string name, void* asset)
|
||||
{
|
||||
return m_zone->GetPools()->AddAsset(m_asset_type, std::move(name), asset, m_used_script_strings, m_dependencies);
|
||||
|
@ -14,10 +14,14 @@ class AssetLoader : public ContentLoader
|
||||
protected:
|
||||
IZoneScriptStringProvider* m_script_string_provider;
|
||||
|
||||
scr_string_t* varScriptString;
|
||||
|
||||
AssetLoader(asset_type_t assetType, IZoneScriptStringProvider* scriptStringProvider, Zone* zone, IZoneInputStream* stream);
|
||||
|
||||
void AddDependency(asset_type_t type, std::string& name);
|
||||
|
||||
scr_string_t UseScriptString(scr_string_t scrString);
|
||||
void LoadScriptStringArray(bool atStreamStart, size_t count);
|
||||
|
||||
void* LinkAsset(std::string name, void* asset);
|
||||
};
|
||||
|
Reference in New Issue
Block a user