mirror of https://github.com/AxioDL/metaforce.git
CToken: Add HasReference() member function
Has the same semantics of operator bool(), but explains at the call site what is actually being tested for in the relation to the object itself. Aims to make readability slightly better (and removed the need for casts).
This commit is contained in:
parent
fc5170ede9
commit
2233a78fe2
|
@ -74,7 +74,9 @@ class CToken {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/* Added to test for non-null state */
|
/* Added to test for non-null state */
|
||||||
explicit operator bool() const { return x0_objRef != nullptr; }
|
explicit operator bool() const { return HasReference(); }
|
||||||
|
bool HasReference() const { return x0_objRef != nullptr; }
|
||||||
|
|
||||||
void Unlock();
|
void Unlock();
|
||||||
void Lock();
|
void Lock();
|
||||||
bool IsLocked() const { return x4_lockHeld; }
|
bool IsLocked() const { return x4_lockHeld; }
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace urde {
|
||||||
|
|
||||||
CAnimSourceInfo::CAnimSourceInfo(const TSubAnimTypeToken<CAnimSource>& token) : x4_token(token) {}
|
CAnimSourceInfo::CAnimSourceInfo(const TSubAnimTypeToken<CAnimSource>& token) : x4_token(token) {}
|
||||||
|
|
||||||
bool CAnimSourceInfo::HasPOIData() const { return bool(x4_token->x58_evntData); }
|
bool CAnimSourceInfo::HasPOIData() const { return x4_token->x58_evntData.HasReference(); }
|
||||||
|
|
||||||
const std::vector<CBoolPOINode>& CAnimSourceInfo::GetBoolPOIStream() const { return x4_token->GetBoolPOIStream(); }
|
const std::vector<CBoolPOINode>& CAnimSourceInfo::GetBoolPOIStream() const { return x4_token->GetBoolPOIStream(); }
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ public:
|
||||||
CCharAnimTime GetAnimationDuration() const { return MainHeader().duration; }
|
CCharAnimTime GetAnimationDuration() const { return MainHeader().duration; }
|
||||||
float GetAverageVelocity() const { return x10_averageVelocity; }
|
float GetAverageVelocity() const { return x10_averageVelocity; }
|
||||||
const zeus::CVector3f& GetRootOffset() const { return x14_rootOffset; }
|
const zeus::CVector3f& GetRootOffset() const { return x14_rootOffset; }
|
||||||
bool HasPOIData() const { return bool(x8_evntToken); }
|
bool HasPOIData() const { return x8_evntToken.HasReference(); }
|
||||||
const std::vector<CBoolPOINode>& GetBoolPOIStream() const { return x8_evntToken->GetBoolPOIStream(); }
|
const std::vector<CBoolPOINode>& GetBoolPOIStream() const { return x8_evntToken->GetBoolPOIStream(); }
|
||||||
const std::vector<CInt32POINode>& GetInt32POIStream() const { return x8_evntToken->GetInt32POIStream(); }
|
const std::vector<CInt32POINode>& GetInt32POIStream() const { return x8_evntToken->GetInt32POIStream(); }
|
||||||
const std::vector<CParticlePOINode>& GetParticlePOIStream() const { return x8_evntToken->GetParticlePOIStream(); }
|
const std::vector<CParticlePOINode>& GetParticlePOIStream() const { return x8_evntToken->GetParticlePOIStream(); }
|
||||||
|
|
|
@ -148,16 +148,16 @@ public:
|
||||||
const zeus::CVector3f& GetScale() const { return x0_scale; }
|
const zeus::CVector3f& GetScale() const { return x0_scale; }
|
||||||
void SetScale(const zeus::CVector3f& scale) { x0_scale = scale; }
|
void SetScale(const zeus::CVector3f& scale) { x0_scale = scale; }
|
||||||
bool HasAnimData() const { return x10_animData != nullptr; }
|
bool HasAnimData() const { return x10_animData != nullptr; }
|
||||||
bool HasNormalModel() const { return bool(x1c_normalModel); }
|
bool HasNormalModel() const { return x1c_normalModel.HasReference(); }
|
||||||
bool HasModel(EWhichModel which) const {
|
bool HasModel(EWhichModel which) const {
|
||||||
if (x10_animData) {
|
if (x10_animData) {
|
||||||
switch (which) {
|
switch (which) {
|
||||||
case EWhichModel::Normal:
|
case EWhichModel::Normal:
|
||||||
return true;
|
return true;
|
||||||
case EWhichModel::XRay:
|
case EWhichModel::XRay:
|
||||||
return x10_animData->GetXRayModel().operator bool();
|
return x10_animData->GetXRayModel() != nullptr;
|
||||||
case EWhichModel::Thermal:
|
case EWhichModel::Thermal:
|
||||||
return x10_animData->GetInfraModel().operator bool();
|
return x10_animData->GetInfraModel() != nullptr;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -165,11 +165,11 @@ public:
|
||||||
|
|
||||||
switch (which) {
|
switch (which) {
|
||||||
case EWhichModel::Normal:
|
case EWhichModel::Normal:
|
||||||
return bool(x1c_normalModel);
|
return x1c_normalModel.HasReference();
|
||||||
case EWhichModel::XRay:
|
case EWhichModel::XRay:
|
||||||
return bool(x2c_xrayModel);
|
return x2c_xrayModel.HasReference();
|
||||||
case EWhichModel::Thermal:
|
case EWhichModel::Thermal:
|
||||||
return bool(x3c_infraModel);
|
return x3c_infraModel.HasReference();
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue