mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-01-19 15:01:49 +00:00
refactor: use ZoneOutputOffset for written variables
This commit is contained in:
@@ -18,16 +18,16 @@ const char* AssetWriter::NonReferenceAssetName(const char* assetName)
|
||||
return assetName;
|
||||
}
|
||||
|
||||
scr_string_t AssetWriter::UseScriptString(const scr_string_t scrString) const
|
||||
void AssetWriter::UseScriptString(const scr_string_t scrString, const ZoneOutputOffset written) const
|
||||
{
|
||||
assert(scrString < m_asset->m_zone->m_script_strings.Count());
|
||||
|
||||
if (m_asset->m_zone == &m_zone)
|
||||
return scrString;
|
||||
return;
|
||||
|
||||
// The asset comes from a different zone, we need to translate it
|
||||
const auto strValue = m_asset->m_zone->m_script_strings.CValue(scrString);
|
||||
return m_zone.m_script_strings.GetScriptString(strValue);
|
||||
*static_cast<scr_string_t*>(written.Offset()) = m_zone.m_script_strings.GetScriptString(strValue);
|
||||
}
|
||||
|
||||
void AssetWriter::WriteScriptStringArray(const bool atStreamStart, const size_t count)
|
||||
@@ -42,7 +42,7 @@ void AssetWriter::WriteScriptStringArray(const bool atStreamStart, const size_t
|
||||
|
||||
for (size_t index = 0; index < count; index++)
|
||||
{
|
||||
*static_cast<scr_string_t*>(varScriptStringWritten.Offset()) = UseScriptString(*varScriptString);
|
||||
UseScriptString(*varScriptString, varScriptStringWritten);
|
||||
|
||||
varScriptString++;
|
||||
varScriptStringWritten.Inc(sizeof(scr_string_t));
|
||||
|
||||
Reference in New Issue
Block a user