2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 18:24:55 +00:00

string_view refactor

This commit is contained in:
Jack Andersen
2017-11-12 20:19:18 -10:00
parent 742ab2514f
commit f7ec7bdc0c
345 changed files with 907 additions and 921 deletions

View File

@@ -87,7 +87,7 @@ CAnimData::CAnimData(CAssetId id,
{
defaultAnim = 0;
Log.report(logvisor::Warning, "Character %s has invalid initial animation, so defaulting to first.",
character.GetCharacterName().c_str());
character.GetCharacterName().data());
}
std::shared_ptr<CAnimTreeNode> treeNode =
@@ -534,19 +534,19 @@ zeus::CTransform CAnimData::GetLocatorTransform(CSegId id, const CCharAnimTime*
return ret;
}
zeus::CTransform CAnimData::GetLocatorTransform(const std::string& name, const CCharAnimTime* time) const
zeus::CTransform CAnimData::GetLocatorTransform(std::string_view name, const CCharAnimTime* time) const
{
return GetLocatorTransform(xcc_layoutData->GetSegIdFromString(name), time);
}
bool CAnimData::IsAnimTimeRemaining(float rem, const std::string& name) const
bool CAnimData::IsAnimTimeRemaining(float rem, std::string_view name) const
{
if (!x1f8_animRoot)
return false;
return x1f8_animRoot->VGetTimeRemaining().GetSeconds() >= rem;
}
float CAnimData::GetAnimTimeRemaining(const std::string& name) const
float CAnimData::GetAnimTimeRemaining(std::string_view name) const
{
float rem = x1f8_animRoot->VGetTimeRemaining().GetSeconds();
if (x200_speedScale)
@@ -1001,7 +1001,7 @@ void CAnimData::ResetPOILists()
x218_passedSoundCount = 0;
}
CSegId CAnimData::GetLocatorSegId(const std::string& name) const
CSegId CAnimData::GetLocatorSegId(std::string_view name) const
{
return xcc_layoutData->GetSegIdFromString(name);
}
@@ -1034,7 +1034,7 @@ void CAnimData::SubstituteModelData(const TCachedToken<CSkinnedModel>& model)
x108_aabb = xd8_modelData->GetModel()->GetAABB();
}
void CAnimData::SetParticleCEXTValue(const std::string& name, int idx, float value)
void CAnimData::SetParticleCEXTValue(std::string_view name, int idx, float value)
{
auto search = std::find_if(xc_charInfo.x98_effects.begin(), xc_charInfo.x98_effects.end(),
[&name](const auto& v) { return v.first == name; });

View File

@@ -190,9 +190,9 @@ public:
void CalcPlaybackAlignmentParms(const CAnimPlaybackParms& parms,
const std::shared_ptr<CAnimTreeNode>& node);
zeus::CTransform GetLocatorTransform(CSegId id, const CCharAnimTime* time) const;
zeus::CTransform GetLocatorTransform(const std::string& name, const CCharAnimTime* time) const;
bool IsAnimTimeRemaining(float, const std::string& name) const;
float GetAnimTimeRemaining(const std::string& name) const;
zeus::CTransform GetLocatorTransform(std::string_view name, const CCharAnimTime* time) const;
bool IsAnimTimeRemaining(float, std::string_view name) const;
float GetAnimTimeRemaining(std::string_view name) const;
float GetAnimationDuration(int) const;
bool GetIsLoop() const {return x220_25_loop;}
void EnableLooping(bool val) {x220_25_loop = val; x220_24_animating = true;}
@@ -233,7 +233,7 @@ public:
const zeus::CVector3f&, CStateManager& stateMgr);
float GetAverageVelocity(int animIn) const;
void ResetPOILists();
CSegId GetLocatorSegId(const std::string& name) const;
CSegId GetLocatorSegId(std::string_view name) const;
zeus::CAABox GetBoundingBox(const zeus::CTransform& xf) const;
zeus::CAABox GetBoundingBox() const;
void SubstituteModelData(const TCachedToken<CSkinnedModel>& model);
@@ -242,7 +242,7 @@ public:
const CHierarchyPoseBuilder& GetPoseBuilder() const { return x2fc_poseBuilder; }
const CParticleDatabase& GetParticleDB() const { return x120_particleDB; }
CParticleDatabase& GetParticleDB() { return x120_particleDB; }
void SetParticleCEXTValue(const std::string& name, int idx, float value);
void SetParticleCEXTValue(std::string_view name, int idx, float value);
u32 GetPassedBoolPOICount() const { return x20c_passedBoolCount; }
u32 GetPassedIntPOICount() const { return x210_passedIntCount; }

View File

@@ -46,7 +46,7 @@ CAnimSourceReaderBase::GetUniqueParticlePOIs() const
const std::vector<CParticlePOINode>& particleNodes = x4_sourceInfo->GetParticlePOIStream();
std::map<std::string, CParticleData::EParentedMode> ret;
for (const CParticlePOINode& node : particleNodes)
ret[node.GetString()] = node.GetParticleData().GetParentedMode();
ret[std::string(node.GetString())] = node.GetParticleData().GetParentedMode();
return ret;
}
@@ -56,7 +56,7 @@ CAnimSourceReaderBase::GetUniqueInt32POIs() const
const std::vector<CInt32POINode>& int32Nodes = x4_sourceInfo->GetInt32POIStream();
std::map<std::string, s32> ret;
for (const CInt32POINode& node : int32Nodes)
ret[node.GetString()] = node.GetValue();
ret[std::string(node.GetString())] = node.GetValue();
return ret;
}
@@ -66,7 +66,7 @@ CAnimSourceReaderBase::GetUniqueBoolPOIs() const
const std::vector<CBoolPOINode>& boolNodes = x4_sourceInfo->GetBoolPOIStream();
std::map<std::string, bool> ret;
for (const CBoolPOINode& node : boolNodes)
ret[node.GetString()] = node.GetValue();
ret[std::string(node.GetString())] = node.GetValue();
return ret;
}

View File

@@ -3,7 +3,7 @@
namespace urde
{
CAnimTreeAnimReaderContainer::CAnimTreeAnimReaderContainer(const std::string& name,
CAnimTreeAnimReaderContainer::CAnimTreeAnimReaderContainer(std::string_view name,
std::shared_ptr<IAnimReader> reader,
u32 dbIdx)
: CAnimTreeNode(name), x14_reader(reader), x1c_animDbIdx(dbIdx)

View File

@@ -11,7 +11,7 @@ class CAnimTreeAnimReaderContainer : public CAnimTreeNode
std::shared_ptr<IAnimReader> x14_reader;
u32 x1c_animDbIdx;
public:
CAnimTreeAnimReaderContainer(const std::string& name,
CAnimTreeAnimReaderContainer(std::string_view name,
std::shared_ptr<IAnimReader> reader,
u32 animDbIdx);

View File

@@ -13,7 +13,7 @@ std::string CAnimTreeBlend::CreatePrimitiveName(const std::shared_ptr<CAnimTreeN
CAnimTreeBlend::CAnimTreeBlend(bool b1,
const std::shared_ptr<CAnimTreeNode>& a,
const std::shared_ptr<CAnimTreeNode>& b,
float blendWeight, const std::string& name)
float blendWeight, std::string_view name)
: CAnimTreeTweenBase(b1, a, b, 1 | 2, name), x24_blendWeight(blendWeight)
{

View File

@@ -17,7 +17,7 @@ public:
CAnimTreeBlend(bool,
const std::shared_ptr<CAnimTreeNode>& a,
const std::shared_ptr<CAnimTreeNode>& b,
float blendWeight, const std::string& name);
float blendWeight, std::string_view name);
SAdvancementResults VAdvanceView(const CCharAnimTime& a);
CCharAnimTime VGetTimeRemaining() const;

View File

@@ -5,7 +5,7 @@ namespace urde
CAnimTreeDoubleChild::CAnimTreeDoubleChild(const std::weak_ptr<CAnimTreeNode>& a,
const std::weak_ptr<CAnimTreeNode>& b,
const std::string& name)
std::string_view name)
: CAnimTreeNode(name), x14_a(a.lock()), x18_b(b.lock())
{
}

View File

@@ -26,7 +26,7 @@ protected:
public:
CAnimTreeDoubleChild(const std::weak_ptr<CAnimTreeNode>& a, const std::weak_ptr<CAnimTreeNode>& b,
const std::string& name);
std::string_view name);
SAdvancementResults VAdvanceView(const CCharAnimTime& a);
u32 VGetBoolPOIList(const CCharAnimTime& time, CBoolPOINode* listOut, u32 capacity, u32 iterator, u32) const;
u32 VGetInt32POIList(const CCharAnimTime& time, CInt32POINode* listOut, u32 capacity, u32 iterator, u32) const;

View File

@@ -11,7 +11,7 @@ class CAnimTreeNode : public IAnimReader
protected:
std::string x4_name;
public:
CAnimTreeNode(const std::string& name) : x4_name(name) {}
CAnimTreeNode(std::string_view name) : x4_name(name) {}
bool IsCAnimTreeNode() const {return true;}
virtual u32 Depth() const=0;

View File

@@ -7,7 +7,7 @@ namespace urde
CAnimTreeSequence::CAnimTreeSequence(const std::vector<std::shared_ptr<IMetaAnim>>& seq,
const CAnimSysContext& animSys,
const std::string& name)
std::string_view name)
: CAnimTreeSingleChild(seq[0]->GetAnimationTree(animSys, CMetaAnimTreeBuildOrders::NoSpecialOrders()), name),
x18_(animSys), x3c_fundamentals(CSequenceHelper(seq, animSys).ComputeSequenceFundamentals()), x94_curTime(0.f)
{
@@ -16,7 +16,7 @@ CAnimTreeSequence::CAnimTreeSequence(const std::vector<std::shared_ptr<IMetaAnim
CAnimTreeSequence::CAnimTreeSequence(const std::shared_ptr<CAnimTreeNode>& curNode,
const std::vector<std::shared_ptr<IMetaAnim>>& metaAnims,
const CAnimSysContext& animSys,
const std::string& name,
std::string_view name,
const CSequenceFundamentals& fundamentals,
const CCharAnimTime& time)
: CAnimTreeSingleChild(curNode, name), x18_(animSys), x28_(metaAnims), x3c_fundamentals(fundamentals), x94_curTime(time)

View File

@@ -20,11 +20,11 @@ class CAnimTreeSequence : public CAnimTreeSingleChild
public:
CAnimTreeSequence(const std::vector<std::shared_ptr<IMetaAnim>>& seq,
const CAnimSysContext& animSys,
const std::string& name);
std::string_view name);
CAnimTreeSequence(const std::shared_ptr<CAnimTreeNode>& curNode,
const std::vector<std::shared_ptr<IMetaAnim>>& metaAnims,
const CAnimSysContext& animSys,
const std::string& name,
std::string_view name,
const CSequenceFundamentals& fundamentals,
const CCharAnimTime& time);

View File

@@ -3,7 +3,7 @@
namespace urde
{
CAnimTreeSingleChild::CAnimTreeSingleChild(const std::weak_ptr<CAnimTreeNode>& node, const std::string& name)
CAnimTreeSingleChild::CAnimTreeSingleChild(const std::weak_ptr<CAnimTreeNode>& node, std::string_view name)
: CAnimTreeNode(name)
, x14_child(node.lock())
{

View File

@@ -11,7 +11,7 @@ class CAnimTreeSingleChild : public CAnimTreeNode
protected:
std::shared_ptr<CAnimTreeNode> x14_child;
public:
CAnimTreeSingleChild(const std::weak_ptr<CAnimTreeNode>& node, const std::string& name);
CAnimTreeSingleChild(const std::weak_ptr<CAnimTreeNode>& node, std::string_view name);
SAdvancementResults VAdvanceView(const CCharAnimTime& a);
CCharAnimTime VGetTimeRemaining() const;

View File

@@ -4,7 +4,7 @@ namespace urde
{
CAnimTreeTimeScale::CAnimTreeTimeScale(const std::weak_ptr<CAnimTreeNode>& node, float scale,
const std::string& name)
std::string_view name)
: CAnimTreeSingleChild(node, name)
, x18_timeScale(new CConstantAnimationTimeScale(scale))
{

View File

@@ -13,7 +13,7 @@ class CAnimTreeTimeScale : public CAnimTreeSingleChild
CCharAnimTime x20_;
CCharAnimTime x28_;
public:
CAnimTreeTimeScale(const std::weak_ptr<CAnimTreeNode>&, float, const std::string&);
CAnimTreeTimeScale(const std::weak_ptr<CAnimTreeNode>&, float, std::string_view);
static std::string CreatePrimitiveName(const std::weak_ptr<CAnimTreeNode>&, float, const CCharAnimTime&, float);

View File

@@ -12,14 +12,14 @@ std::string CAnimTreeTransition::CreatePrimitiveName(const std::weak_ptr<CAnimTr
CAnimTreeTransition::CAnimTreeTransition(bool b1, const std::weak_ptr<CAnimTreeNode>& a,
const std::weak_ptr<CAnimTreeNode>& b, const CCharAnimTime& time1,
const CCharAnimTime& time2, bool b2, bool b3, int flags,
const std::string& name, bool b4)
std::string_view name, bool b4)
: CAnimTreeTweenBase(b1, a, b, flags, name), x24_(time1), x2c_(time2), x34_(b2), x35_(b3), x36_(b4)
{
}
CAnimTreeTransition::CAnimTreeTransition(bool b1, const std::weak_ptr<CAnimTreeNode>& a,
const std::weak_ptr<CAnimTreeNode>& b, const CCharAnimTime& time, bool b2,
int flags, const std::string& name)
int flags, std::string_view name)
: CAnimTreeTweenBase(b1, a, b, flags, name), x24_(time), x34_(b2), x35_(a.lock()->VGetBoolPOIState("Loop"))
{
}

View File

@@ -20,9 +20,9 @@ public:
float);
CAnimTreeTransition(bool, const std::weak_ptr<CAnimTreeNode>&, const std::weak_ptr<CAnimTreeNode>&,
const CCharAnimTime&, const CCharAnimTime&, bool, bool, int, const std::string&, bool);
const CCharAnimTime&, const CCharAnimTime&, bool, bool, int, std::string_view, bool);
CAnimTreeTransition(bool, const std::weak_ptr<CAnimTreeNode>&, const std::weak_ptr<CAnimTreeNode>&,
const CCharAnimTime&, bool, int, const std::string&);
const CCharAnimTime&, bool, int, std::string_view);
std::shared_ptr<IAnimReader> VGetBestUnblendedChild() const;
CCharAnimTime VGetTimeRemaining() const;
CSteadyStateAnimInfo VGetSteadyStateAnimInfo() const;

View File

@@ -6,7 +6,7 @@ namespace urde
s32 CAnimTreeTweenBase::sAdvancementDepth = 0;
CAnimTreeTweenBase::CAnimTreeTweenBase(bool b1, const std::weak_ptr<CAnimTreeNode>& a,
const std::weak_ptr<CAnimTreeNode>& b, int flags, const std::string& name)
const std::weak_ptr<CAnimTreeNode>& b, int flags, std::string_view name)
: CAnimTreeDoubleChild(a, b, name), x1c_flags(flags), x20_31_b1(b1)
{
}

View File

@@ -17,7 +17,7 @@ public:
CAnimTreeTweenBase(bool,
const std::weak_ptr<CAnimTreeNode>& a,
const std::weak_ptr<CAnimTreeNode>& b,
int, const std::string& name);
int, std::string_view name);
virtual void SetBlendingWeight(float w)=0;
virtual float VGetBlendingWeight() const=0;

View File

@@ -15,7 +15,7 @@ class CAnimation
public:
CAnimation(CInputStream& in);
const std::shared_ptr<IMetaAnim>& GetMetaAnim() const {return x10_anim;}
const std::string& GetMetaAnimName() const { return x0_name; }
std::string_view GetMetaAnimName() const { return x0_name; }
};
}

View File

@@ -18,7 +18,7 @@ public:
virtual u32 GetNumMetaAnims() const=0;
virtual const char* GetMetaAnimName(u32) const=0;
virtual void GetAllUniquePrimitives(std::vector<CPrimitive>&) const=0;
virtual void GetUniquePrimitivesFromMetaAnim(std::set<CPrimitive>&, const std::string&) const=0;
virtual void GetUniquePrimitivesFromMetaAnim(std::set<CPrimitive>&, std::string_view) const=0;
};
}

View File

@@ -39,7 +39,7 @@ void CAnimationDatabaseGame::GetAllUniquePrimitives(std::vector<CPrimitive>& pri
}
void CAnimationDatabaseGame::GetUniquePrimitivesFromMetaAnim(std::set<CPrimitive>& primsOut,
const std::string& name) const
std::string_view name) const
{}
}

View File

@@ -16,7 +16,7 @@ public:
u32 GetNumMetaAnims() const;
const char* GetMetaAnimName(u32 idx) const;
void GetAllUniquePrimitives(std::vector<CPrimitive>& primsOut) const;
void GetUniquePrimitivesFromMetaAnim(std::set<CPrimitive>& primsOut, const std::string& name) const;
void GetUniquePrimitivesFromMetaAnim(std::set<CPrimitive>& primsOut, std::string_view name) const;
};
}

View File

@@ -35,7 +35,7 @@ bool CCharacterFactoryBuilder::CDummyFactory::CanBuild(const SObjectTag&)
return true;
}
const SObjectTag* CCharacterFactoryBuilder::CDummyFactory::GetResourceIdByName(const char*) const
const SObjectTag* CCharacterFactoryBuilder::CDummyFactory::GetResourceIdByName(std::string_view) const
{
return nullptr;
}
@@ -51,7 +51,7 @@ void CCharacterFactoryBuilder::CDummyFactory::EnumerateResources(
}
void CCharacterFactoryBuilder::CDummyFactory::EnumerateNamedResources(
const std::function<bool(const std::string&, const SObjectTag&)>& lambda) const
const std::function<bool(std::string_view, const SObjectTag&)>& lambda) const
{
}

View File

@@ -21,11 +21,11 @@ public:
void BuildAsync(const SObjectTag&, const CVParamTransfer&, std::unique_ptr<IObj>*, CObjectReference* selfRef);
void CancelBuild(const SObjectTag&);
bool CanBuild(const SObjectTag&);
const SObjectTag* GetResourceIdByName(const char*) const;
const SObjectTag* GetResourceIdByName(std::string_view) const;
FourCC GetResourceTypeById(CAssetId id) const;
void EnumerateResources(const std::function<bool(const SObjectTag&)>& lambda) const;
void EnumerateNamedResources(const std::function<bool(const std::string&, const SObjectTag&)>& lambda) const;
void EnumerateNamedResources(const std::function<bool(std::string_view, const SObjectTag&)>& lambda) const;
u32 ResourceSize(const urde::SObjectTag& tag);
std::shared_ptr<IDvdRequest> LoadResourceAsync(const urde::SObjectTag& tag, void* target);

View File

@@ -22,9 +22,9 @@ zeus::CVector3f CCharLayoutInfo::GetFromRootUnrotated(const CSegId& id) const
return bone.x4_origin;
}
CSegId CCharLayoutInfo::GetSegIdFromString(const std::string& name) const
CSegId CCharLayoutInfo::GetSegIdFromString(std::string_view name) const
{
auto it = x18_segIdMap.find(name);
auto it = x18_segIdMap.find(name.data());
if (it == x18_segIdMap.end())
return {};

View File

@@ -38,7 +38,7 @@ public:
const CSegIdList& GetSegIdList() const {return x8_segIdList;}
zeus::CVector3f GetFromParentUnrotated(const CSegId& id) const;
zeus::CVector3f GetFromRootUnrotated(const CSegId& id) const;
CSegId GetSegIdFromString(const std::string& name) const;
CSegId GetSegIdFromString(std::string_view name) const;
};
CFactoryFnReturn FCharLayoutInfo(const SObjectTag&, CInputStream&, const CVParamTransfer&,

View File

@@ -64,7 +64,7 @@ bool CCharacterFactory::CDummyFactory::CanBuild(const SObjectTag&)
return true;
}
const SObjectTag* CCharacterFactory::CDummyFactory::GetResourceIdByName(const char*) const
const SObjectTag* CCharacterFactory::CDummyFactory::GetResourceIdByName(std::string_view) const
{
return nullptr;
}
@@ -79,7 +79,7 @@ void CCharacterFactory::CDummyFactory::EnumerateResources(
{
}
void CCharacterFactory::CDummyFactory::EnumerateNamedResources(
const std::function<bool(const std::string&, const SObjectTag&)>& lambda) const
const std::function<bool(std::string_view, const SObjectTag&)>& lambda) const
{
}

View File

@@ -30,11 +30,11 @@ public:
void BuildAsync(const SObjectTag&, const CVParamTransfer&, std::unique_ptr<IObj>*, CObjectReference* selfRef);
void CancelBuild(const SObjectTag&);
bool CanBuild(const SObjectTag&);
const SObjectTag* GetResourceIdByName(const char*) const;
const SObjectTag* GetResourceIdByName(std::string_view) const;
FourCC GetResourceTypeById(CAssetId id) const;
void EnumerateResources(const std::function<bool(const SObjectTag&)>& lambda) const;
void EnumerateNamedResources(const std::function<bool(const std::string&, const SObjectTag&)>& lambda) const;
void EnumerateNamedResources(const std::function<bool(std::string_view, const SObjectTag&)>& lambda) const;
u32 ResourceSize(const urde::SObjectTag& tag);
std::shared_ptr<IDvdRequest> LoadResourceAsync(const urde::SObjectTag& tag, void* target);

View File

@@ -42,7 +42,7 @@ private:
public:
CCharacterInfo(CInputStream& in);
const std::string& GetCharacterName() const { return x4_name; }
std::string_view GetCharacterName() const { return x4_name; }
CAssetId GetModelId() const {return x14_cmdl;}
CAssetId GetSkinRulesId() const {return x18_cskr;}
CAssetId GetCharLayoutInfoId() const {return x1c_cinf;}

View File

@@ -20,9 +20,9 @@ class CEffectComponent
public:
CEffectComponent(CInputStream& in);
const std::string& GetComponentName() const { return x0_name; }
std::string_view GetComponentName() const { return x0_name; }
const SObjectTag& GetParticleTag() const { return x10_tag; }
const std::string& GetSegmentName() const { return x18_boneName; }
std::string_view GetSegmentName() const { return x18_boneName; }
float GetScale() const { return x28_scale; }
CParticleData::EParentedMode GetParentedMode() const { return x2c_parentedMode; }
u32 GetFlags() const { return x30_flags; }

View File

@@ -15,7 +15,7 @@ public:
CInt32POINode();
CInt32POINode(CInputStream& in);
s32 GetValue() const {return x38_val;}
const std::string& GetLocatorName() const {return x3c_locatorName;}
std::string_view GetLocatorName() const {return x3c_locatorName;}
static CInt32POINode CopyNodeMinusStartTime(const CInt32POINode& node,
const CCharAnimTime& startTime);

View File

@@ -237,7 +237,7 @@ zeus::CAABox CModelData::GetBounds(const zeus::CTransform& xf) const
return x1c_normalModel->GetAABB().getTransformedAABox(xf2);
}
zeus::CTransform CModelData::GetScaledLocatorTransformDynamic(const std::string& name,
zeus::CTransform CModelData::GetScaledLocatorTransformDynamic(std::string_view name,
const CCharAnimTime* time) const
{
zeus::CTransform xf = GetLocatorTransformDynamic(name, time);
@@ -245,14 +245,14 @@ zeus::CTransform CModelData::GetScaledLocatorTransformDynamic(const std::string&
return xf;
}
zeus::CTransform CModelData::GetScaledLocatorTransform(const std::string& name) const
zeus::CTransform CModelData::GetScaledLocatorTransform(std::string_view name) const
{
zeus::CTransform xf = GetLocatorTransform(name);
xf.origin *= x0_scale;
return xf;
}
zeus::CTransform CModelData::GetLocatorTransformDynamic(const std::string& name,
zeus::CTransform CModelData::GetLocatorTransformDynamic(std::string_view name,
const CCharAnimTime* time) const
{
if (x10_animData)
@@ -261,7 +261,7 @@ zeus::CTransform CModelData::GetLocatorTransformDynamic(const std::string& name,
return {};
}
zeus::CTransform CModelData::GetLocatorTransform(const std::string& name) const
zeus::CTransform CModelData::GetLocatorTransform(std::string_view name) const
{
if (x10_animData)
return x10_animData->GetLocatorTransform(name, nullptr);

View File

@@ -124,10 +124,10 @@ public:
void AdvanceParticles(const zeus::CTransform& xf, float, CStateManager& stateMgr);
zeus::CAABox GetBounds() const;
zeus::CAABox GetBounds(const zeus::CTransform& xf) const;
zeus::CTransform GetScaledLocatorTransformDynamic(const std::string& name, const CCharAnimTime* time) const;
zeus::CTransform GetScaledLocatorTransform(const std::string& name) const;
zeus::CTransform GetLocatorTransformDynamic(const std::string& name, const CCharAnimTime* time) const;
zeus::CTransform GetLocatorTransform(const std::string& name) const;
zeus::CTransform GetScaledLocatorTransformDynamic(std::string_view name, const CCharAnimTime* time) const;
zeus::CTransform GetScaledLocatorTransform(std::string_view name) const;
zeus::CTransform GetLocatorTransformDynamic(std::string_view name, const CCharAnimTime* time) const;
zeus::CTransform GetLocatorTransform(std::string_view name) const;
SAdvancementDeltas AdvanceAnimationIgnoreParticles(float dt, CRandom16&, bool advTree);
SAdvancementDeltas AdvanceAnimation(float dt, CStateManager& stateMgr, TAreaId aid, bool advTree);
bool IsAnimating() const;

View File

@@ -8,7 +8,7 @@
namespace urde
{
CPOINode::CPOINode(const std::string& name, EPOIType type, const CCharAnimTime& time,
CPOINode::CPOINode(std::string_view name, EPOIType type, const CCharAnimTime& time,
u32 index, bool c, float weight, u32 e, u32 f)
: x4_(1),
x8_name(name),

View File

@@ -33,12 +33,12 @@ protected:
u32 x30_charIdx = -1;
u32 x34_flags;
public:
CPOINode(const std::string& name, EPOIType type, const CCharAnimTime& time,
CPOINode(std::string_view name, EPOIType type, const CCharAnimTime& time,
u32 index, bool, float weight, u32 charIdx, u32 flags);
CPOINode(CInputStream& in);
virtual ~CPOINode() = default;
const std::string& GetString() const {return x8_name;}
std::string_view GetString() const {return x8_name;}
const CCharAnimTime& GetTime() const {return x1c_time;}
void SetTime(const CCharAnimTime& time) { x1c_time = time; }
EPOIType GetPoiType() const { return x18_type; }

View File

@@ -28,7 +28,7 @@ public:
CParticleData(CInputStream& in);
u32 GetDuration() const { return x0_duration; }
const SObjectTag& GetTag() const { return x4_particle; }
const std::string& GetSegmentName() const { return xc_boneName; }
std::string_view GetSegmentName() const { return xc_boneName; }
float GetScale() const { return x1c_scale; }
EParentedMode GetParentedMode() const { return x20_parentMode; }
};

View File

@@ -310,30 +310,30 @@ void CParticleDatabase::AddToRendererClipped(const zeus::CFrustum& frustum) cons
AddToRendererClippedParticleGenMap(x3c_rendererDrawLoop, frustum);
}
CParticleGenInfo* CParticleDatabase::GetParticleEffect(const std::string& name) const
CParticleGenInfo* CParticleDatabase::GetParticleEffect(std::string_view name) const
{
auto search = x3c_rendererDrawLoop.find(name);
auto search = x3c_rendererDrawLoop.find(name.data());
if (search != x3c_rendererDrawLoop.end())
return search->second.get();
search = x50_firstDrawLoop.find(name);
search = x50_firstDrawLoop.find(name.data());
if (search != x50_firstDrawLoop.end())
return search->second.get();
search = x64_lastDrawLoop.find(name);
search = x64_lastDrawLoop.find(name.data());
if (search != x64_lastDrawLoop.end())
return search->second.get();
search = x78_rendererDraw.find(name);
search = x78_rendererDraw.find(name.data());
if (search != x78_rendererDraw.end())
return search->second.get();
search = x8c_firstDraw.find(name);
search = x8c_firstDraw.find(name.data());
if (search != x8c_firstDraw.end())
return search->second.get();
search = xa0_lastDraw.find(name);
search = xa0_lastDraw.find(name.data());
if (search != xa0_lastDraw.end())
return search->second.get();
return nullptr;
}
void CParticleDatabase::SetParticleEffectState(const std::string& name, bool active, CStateManager& mgr)
void CParticleDatabase::SetParticleEffectState(std::string_view name, bool active, CStateManager& mgr)
{
if (CParticleGenInfo* info = GetParticleEffect(name))
{
@@ -345,7 +345,7 @@ void CParticleDatabase::SetParticleEffectState(const std::string& name, bool act
}
}
void CParticleDatabase::SetCEXTValue(const std::string& name, int idx, float value)
void CParticleDatabase::SetCEXTValue(std::string_view name, int idx, float value)
{
if (CParticleGenInfo* info = GetParticleEffect(name))
{
@@ -362,7 +362,7 @@ static s32 _getGraphicLightId(const T& system, const U& desc)
return -1;
}
void CParticleDatabase::AddAuxiliaryParticleEffect(const std::string& name, int flags, const CAuxiliaryParticleData& data,
void CParticleDatabase::AddAuxiliaryParticleEffect(std::string_view name, int flags, const CAuxiliaryParticleData& data,
const zeus::CVector3f& scale, CStateManager& mgr, TAreaId aid, int lightId)
{
if (CParticleGenInfo* info = GetParticleEffect(name))
@@ -407,7 +407,7 @@ void CParticleDatabase::AddAuxiliaryParticleEffect(const std::string& name, int
}
}
void CParticleDatabase::AddParticleEffect(const std::string& name, int flags, const CParticleData& data,
void CParticleDatabase::AddParticleEffect(std::string_view name, int flags, const CParticleData& data,
const zeus::CVector3f& scale, CStateManager& mgr, TAreaId aid,
bool oneShot, int lightId)
{
@@ -482,7 +482,7 @@ void CParticleDatabase::AddParticleEffect(const std::string& name, int flags, co
}
}
void CParticleDatabase::InsertParticleGen(bool oneShot, int flags, const std::string& name,
void CParticleDatabase::InsertParticleGen(bool oneShot, int flags, std::string_view name,
std::unique_ptr<CParticleGenInfo>&& gen)
{
std::map<std::string, std::unique_ptr<CParticleGenInfo>>* useMap;

View File

@@ -59,14 +59,14 @@ public:
void RenderSystemsToBeDrawnFirst() const;
void AddToRendererClippedMasked(const zeus::CFrustum& frustum, int mask, int target) const;
void AddToRendererClipped(const zeus::CFrustum& frustum) const;
CParticleGenInfo* GetParticleEffect(const std::string& name) const;
void SetParticleEffectState(const std::string& name, bool active, CStateManager& mgr);
void SetCEXTValue(const std::string& name, int idx, float value);
void AddAuxiliaryParticleEffect(const std::string& name, int flags, const CAuxiliaryParticleData& data,
CParticleGenInfo* GetParticleEffect(std::string_view name) const;
void SetParticleEffectState(std::string_view name, bool active, CStateManager& mgr);
void SetCEXTValue(std::string_view name, int idx, float value);
void AddAuxiliaryParticleEffect(std::string_view name, int flags, const CAuxiliaryParticleData& data,
const zeus::CVector3f& scale, CStateManager& mgr, TAreaId aid, int lightId);
void AddParticleEffect(const std::string& name, int flags, const CParticleData& data,
void AddParticleEffect(std::string_view name, int flags, const CParticleData& data,
const zeus::CVector3f& scale, CStateManager& mgr, TAreaId aid, bool oneShot, int lightId);
void InsertParticleGen(bool oneShot, int flags, const std::string& name,
void InsertParticleGen(bool oneShot, int flags, std::string_view name,
std::unique_ptr<CParticleGenInfo>&& gen);
};
}

View File

@@ -10,7 +10,7 @@
namespace urde
{
CParticleGenInfo::CParticleGenInfo(const SObjectTag& part, int frameCount, const std::string& boneName,
CParticleGenInfo::CParticleGenInfo(const SObjectTag& part, int frameCount, std::string_view boneName,
const zeus::CVector3f& scale, CParticleData::EParentedMode parentMode,
int flags, EParticleGenState state)
: x4_part(part)
@@ -40,7 +40,7 @@ static TUniqueId _initializeLight(const std::weak_ptr<CParticleGen>& system, CSt
}
CParticleGenInfoGeneric::CParticleGenInfoGeneric(const SObjectTag& part, const std::weak_ptr<CParticleGen>& system,
int frameCount, const std::string& boneName,
int frameCount, std::string_view boneName,
const zeus::CVector3f& scale, CParticleData::EParentedMode parentMode,
int flags, CStateManager& stateMgr, TAreaId areaId, int lightId,
EParticleGenState state)

View File

@@ -35,7 +35,7 @@ class CParticleGenInfo
EParticleGenState x80_state;
public:
CParticleGenInfo(const SObjectTag& part, int frameCount, const std::string& boneName,
CParticleGenInfo(const SObjectTag& part, int frameCount, std::string_view boneName,
const zeus::CVector3f& scale, CParticleData::EParentedMode parentMode,
int flags, EParticleGenState state);
@@ -81,7 +81,7 @@ public:
void SetState(EParticleGenState s) { x80_state = s; }
CParticleData::EParentedMode GetParentedMode() const { return x28_parentMode; }
const std::string& GetLocatorName() const { return x10_boneName; }
std::string_view GetLocatorName() const { return x10_boneName; }
};
class CParticleGenInfoGeneric : public CParticleGenInfo
@@ -91,7 +91,7 @@ class CParticleGenInfoGeneric : public CParticleGenInfo
public:
CParticleGenInfoGeneric(const SObjectTag& part, const std::weak_ptr<CParticleGen>& system,
int frames, const std::string& boneName, const zeus::CVector3f& scale,
int frames, std::string_view boneName, const zeus::CVector3f& scale,
CParticleData::EParentedMode parentMode, int flags, CStateManager& stateMgr, TAreaId,
int lightId, EParticleGenState state);

View File

@@ -16,7 +16,7 @@ public:
CPrimitive(CInputStream& in);
CAssetId GetAnimResId() const { return x0_animId; }
u32 GetAnimDbIdx() const { return x4_animIdx; }
const std::string& GetName() const { return x8_animName; }
std::string_view GetName() const { return x8_animName; }
bool operator<(const CPrimitive& other) const { return x8_animName < other.x8_animName; }
};

View File

@@ -18,7 +18,7 @@ CSoundPOINode::CSoundPOINode(CInputStream& in)
x40_maxDist(in.readFloatBig())
{}
CSoundPOINode::CSoundPOINode(const std::string& name, EPOIType a,
CSoundPOINode::CSoundPOINode(std::string_view name, EPOIType a,
const CCharAnimTime& time, u32 b, bool c,
float d, u32 e, u32 f, u32 sfxId, float falloff, float maxDist)
: CPOINode(name, a, time, b, c, d, e, f),

View File

@@ -16,7 +16,7 @@ class CSoundPOINode : public CPOINode
public:
CSoundPOINode();
CSoundPOINode(CInputStream& in);
CSoundPOINode(const std::string& name, EPOIType type,
CSoundPOINode(std::string_view name, EPOIType type,
const CCharAnimTime& time, u32 b, bool c,
float d, u32 e, u32 f, u32 sfxId, float falloff, float maxDist);

View File

@@ -56,11 +56,11 @@ struct CAnimTreeEffectiveContribution
CCharAnimTime x2c_remTime;
u32 x34_dbIdx;
public:
CAnimTreeEffectiveContribution(float cweight, const std::string& name, const CSteadyStateAnimInfo& ssInfo,
CAnimTreeEffectiveContribution(float cweight, std::string_view name, const CSteadyStateAnimInfo& ssInfo,
const CCharAnimTime& remTime, u32 dbIdx)
: x0_contributionWeight(cweight), x4_name(name), x14_ssInfo(ssInfo), x2c_remTime(remTime), x34_dbIdx(dbIdx) {}
float GetContributionWeight() const { return x0_contributionWeight; }
const std::string& GetPrimitiveName() const { return x4_name; }
std::string_view GetPrimitiveName() const { return x4_name; }
const CSteadyStateAnimInfo& GetSteadyStateAnimInfo() const { return x14_ssInfo; }
const CCharAnimTime& GetTimeRemaining() const { return x2c_remTime; }
u32 GetAnimDatabaseIndex() const { return x34_dbIdx; }