[ZoneBuilder] Only mark assets once to speed up link step
This commit is contained in:
parent
9945d15b90
commit
59196903de
@ -283,7 +283,15 @@ namespace Components
|
|||||||
asset.header.data = ptr;
|
asset.header.data = ptr;
|
||||||
asset.type = type;
|
asset.type = type;
|
||||||
|
|
||||||
|
const auto& cmp = asset.header.data;
|
||||||
|
|
||||||
|
if(std::find_if(this->markedAssets.begin(), this->markedAssets.end(), [&cmp] (const Game::XAsset& s) { return cmp == s.header.data; } ) != this->markedAssets.end())
|
||||||
|
{
|
||||||
|
return; // don't re-mark assets
|
||||||
|
}
|
||||||
|
|
||||||
AssetHandler::ZoneMark(asset, this);
|
AssetHandler::ZoneMark(asset, this);
|
||||||
|
this->markedAssets.push_back(asset);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZoneBuilder::Zone::writeZone()
|
void ZoneBuilder::Zone::writeZone()
|
||||||
|
@ -75,11 +75,11 @@ namespace Components
|
|||||||
|
|
||||||
std::vector<Game::XAsset> loadedAssets;
|
std::vector<Game::XAsset> loadedAssets;
|
||||||
std::vector<Game::XAssetHeader> savedAssets;
|
std::vector<Game::XAssetHeader> savedAssets;
|
||||||
|
std::vector<Game::XAsset> markedAssets;
|
||||||
std::vector<std::string> scriptStrings;
|
std::vector<std::string> scriptStrings;
|
||||||
std::map<unsigned short, unsigned int> scriptStringMap;
|
std::map<unsigned short, unsigned int> scriptStringMap;
|
||||||
std::map<std::string, std::string> renameMap[Game::XAssetType::ASSET_TYPE_COUNT];
|
std::map<std::string, std::string> renameMap[Game::XAssetType::ASSET_TYPE_COUNT];
|
||||||
std::map<const void*, uint32_t> pointerMap;
|
std::map<const void*, uint32_t> pointerMap;
|
||||||
std::vector<uint32_t> aliasBaseStack;
|
|
||||||
std::map<const void*, uint32_t> aliasMap;
|
std::map<const void*, uint32_t> aliasMap;
|
||||||
|
|
||||||
Game::RawFile branding;
|
Game::RawFile branding;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user