mirror of https://github.com/AxioDL/metaforce.git
const_cast refactor
This commit is contained in:
parent
e2f342d107
commit
0aaeed2aeb
|
@ -496,11 +496,7 @@ size_t ANIM::ANIM2::binarySize(size_t __isz) const
|
||||||
|
|
||||||
WordBitmap keyBmp;
|
WordBitmap keyBmp;
|
||||||
for (atUint32 frame : frames)
|
for (atUint32 frame : frames)
|
||||||
{
|
|
||||||
while (keyBmp.getBit(frame))
|
|
||||||
++frame;
|
|
||||||
keyBmp.setBit(frame);
|
keyBmp.setBit(frame);
|
||||||
}
|
|
||||||
|
|
||||||
__isz = head.binarySize(__isz);
|
__isz = head.binarySize(__isz);
|
||||||
__isz = keyBmp.binarySize(__isz);
|
__isz = keyBmp.binarySize(__isz);
|
||||||
|
|
|
@ -665,7 +665,7 @@ bool ProjectResourceFactoryBase::CanBuild(const urde::SObjectTag& tag)
|
||||||
|
|
||||||
const urde::SObjectTag* ProjectResourceFactoryBase::GetResourceIdByName(const char* name) const
|
const urde::SObjectTag* ProjectResourceFactoryBase::GetResourceIdByName(const char* name) const
|
||||||
{
|
{
|
||||||
std::unique_lock<std::mutex> lk(((ProjectResourceFactoryBase*)this)->m_backgroundIndexMutex);
|
std::unique_lock<std::mutex> lk(const_cast<ProjectResourceFactoryBase*>(this)->m_backgroundIndexMutex);
|
||||||
auto search = m_catalogNameToTag.find(name);
|
auto search = m_catalogNameToTag.find(name);
|
||||||
if (search == m_catalogNameToTag.end())
|
if (search == m_catalogNameToTag.end())
|
||||||
{
|
{
|
||||||
|
@ -690,7 +690,7 @@ const urde::SObjectTag* ProjectResourceFactoryBase::GetResourceIdByName(const ch
|
||||||
|
|
||||||
FourCC ProjectResourceFactoryBase::GetResourceTypeById(ResId id) const
|
FourCC ProjectResourceFactoryBase::GetResourceTypeById(ResId id) const
|
||||||
{
|
{
|
||||||
std::unique_lock<std::mutex> lk(((ProjectResourceFactoryBase*)this)->m_backgroundIndexMutex);
|
std::unique_lock<std::mutex> lk(const_cast<ProjectResourceFactoryBase*>(this)->m_backgroundIndexMutex);
|
||||||
SObjectTag searchTag = {FourCC(), id};
|
SObjectTag searchTag = {FourCC(), id};
|
||||||
auto search = m_tagToPath.find(searchTag);
|
auto search = m_tagToPath.find(searchTag);
|
||||||
if (search == m_tagToPath.end())
|
if (search == m_tagToPath.end())
|
||||||
|
|
|
@ -154,7 +154,7 @@ void CResLoader::AsyncIdlePakLoading()
|
||||||
bool CResLoader::FindResource(u32 id) const
|
bool CResLoader::FindResource(u32 id) const
|
||||||
{
|
{
|
||||||
for (const std::unique_ptr<CPakFile>& file : x1c_pakLoadedList)
|
for (const std::unique_ptr<CPakFile>& file : x1c_pakLoadedList)
|
||||||
if (((CResLoader*)this)->CacheFromPak(*file, id))
|
if (const_cast<CResLoader*>(this)->CacheFromPak(*file, id))
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,7 +180,7 @@ public:
|
||||||
}
|
}
|
||||||
const IObj* GetObj() const
|
const IObj* GetObj() const
|
||||||
{
|
{
|
||||||
return ((CToken*)this)->GetObj();
|
return const_cast<CToken*>(this)->GetObj();
|
||||||
}
|
}
|
||||||
CToken& operator=(const CToken& other)
|
CToken& operator=(const CToken& other)
|
||||||
{
|
{
|
||||||
|
@ -273,7 +273,7 @@ public:
|
||||||
}
|
}
|
||||||
const T* GetObj() const
|
const T* GetObj() const
|
||||||
{
|
{
|
||||||
return ((TToken<T>*)this)->GetObj();
|
return const_cast<TToken<T>*>(this)->GetObj();
|
||||||
}
|
}
|
||||||
T* operator->() {return GetObj();}
|
T* operator->() {return GetObj();}
|
||||||
const T* operator->() const {return GetObj();}
|
const T* operator->() const {return GetObj();}
|
||||||
|
@ -298,7 +298,7 @@ public:
|
||||||
}
|
}
|
||||||
const T* GetObj() const
|
const T* GetObj() const
|
||||||
{
|
{
|
||||||
return ((TCachedToken<T>*)this)->GetObj();
|
return const_cast<TCachedToken<T>*>(this)->GetObj();
|
||||||
}
|
}
|
||||||
T* operator->() {return GetObj();}
|
T* operator->() {return GetObj();}
|
||||||
const T* operator->() const {return GetObj();}
|
const T* operator->() const {return GetObj();}
|
||||||
|
|
|
@ -111,11 +111,11 @@ CCharacterFactory::CreateCharacter(int charIdx, bool loop,
|
||||||
CVParamTransfer charParm(new TObjOwnerParam<const CCharacterInfo*>(&charInfo));
|
CVParamTransfer charParm(new TObjOwnerParam<const CCharacterInfo*>(&charInfo));
|
||||||
|
|
||||||
TToken<CSkinnedModel> skinnedModel =
|
TToken<CSkinnedModel> skinnedModel =
|
||||||
((CCharacterFactory*)this)->x70_cacheResPool.GetObj({FourCC(), charInfo.GetModelId()}, charParm);
|
const_cast<CCharacterFactory*>(this)->x70_cacheResPool.GetObj({FourCC(), charInfo.GetModelId()}, charParm);
|
||||||
|
|
||||||
rstl::optional_object<TToken<CMorphableSkinnedModel>> iceModel;
|
rstl::optional_object<TToken<CMorphableSkinnedModel>> iceModel;
|
||||||
if (charInfo.GetIceModelId() && charInfo.GetIceSkinRulesId())
|
if (charInfo.GetIceModelId() && charInfo.GetIceSkinRulesId())
|
||||||
iceModel.emplace(((CCharacterFactory*)this)->x70_cacheResPool.GetObj({FourCC(1), charInfo.GetIceModelId()}, charParm));
|
iceModel.emplace(const_cast<CCharacterFactory*>(this)->x70_cacheResPool.GetObj({FourCC(1), charInfo.GetIceModelId()}, charParm));
|
||||||
|
|
||||||
return std::make_unique<CAnimData>(x68_selfId, charInfo, defaultAnim, charIdx, loop,
|
return std::make_unique<CAnimData>(x68_selfId, charInfo, defaultAnim, charIdx, loop,
|
||||||
x14_charLayoutInfoDB[charIdx], skinnedModel,
|
x14_charLayoutInfoDB[charIdx], skinnedModel,
|
||||||
|
|
|
@ -309,7 +309,7 @@ void CModelData::RenderUnsortedParts(EWhichModel which, const zeus::CTransform&
|
||||||
if ((x14_25_sortThermal && which == EWhichModel::Thermal) ||
|
if ((x14_25_sortThermal && which == EWhichModel::Thermal) ||
|
||||||
x10_animData || !x1c_normalModel || drawFlags.m_blendMode > 2)
|
x10_animData || !x1c_normalModel || drawFlags.m_blendMode > 2)
|
||||||
{
|
{
|
||||||
((CModelData*)this)->x14_24_renderSorted = false;
|
const_cast<CModelData*>(this)->x14_24_renderSorted = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,7 +324,7 @@ void CModelData::RenderUnsortedParts(EWhichModel which, const zeus::CTransform&
|
||||||
model->DrawUnsortedParts(drawFlags);
|
model->DrawUnsortedParts(drawFlags);
|
||||||
// Set ambient to white
|
// Set ambient to white
|
||||||
CGraphics::DisableAllLights();
|
CGraphics::DisableAllLights();
|
||||||
((CModelData*)this)->x14_24_renderSorted = true;
|
const_cast<CModelData*>(this)->x14_24_renderSorted = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CModelData::Render(EWhichModel which, const zeus::CTransform& xf,
|
void CModelData::Render(EWhichModel which, const zeus::CTransform& xf,
|
||||||
|
@ -365,7 +365,7 @@ void CModelData::Render(EWhichModel which, const zeus::CTransform& xf,
|
||||||
|
|
||||||
// Set ambient to white
|
// Set ambient to white
|
||||||
CGraphics::DisableAllLights();
|
CGraphics::DisableAllLights();
|
||||||
((CModelData*)this)->x14_24_renderSorted = false;
|
const_cast<CModelData*>(this)->x14_24_renderSorted = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,11 +29,11 @@ float CLight::GetIntensity() const
|
||||||
{
|
{
|
||||||
if (x4c_24_intensityDirty)
|
if (x4c_24_intensityDirty)
|
||||||
{
|
{
|
||||||
((CLight*)this)->x4c_24_intensityDirty = false;
|
const_cast<CLight*>(this)->x4c_24_intensityDirty = false;
|
||||||
float coef = 1.f;
|
float coef = 1.f;
|
||||||
if (x1c_type == ELightType::Custom)
|
if (x1c_type == ELightType::Custom)
|
||||||
coef = x30_angleC;
|
coef = x30_angleC;
|
||||||
((CLight*)this)->x48_cachedIntensity =
|
const_cast<CLight*>(this)->x48_cachedIntensity =
|
||||||
coef * std::max(x18_color.r, std::max(x18_color.g, x18_color.b));
|
coef * std::max(x18_color.r, std::max(x18_color.g, x18_color.b));
|
||||||
}
|
}
|
||||||
return x48_cachedIntensity;
|
return x48_cachedIntensity;
|
||||||
|
|
|
@ -101,8 +101,8 @@ public:
|
||||||
{
|
{
|
||||||
if (x4c_25_radiusDirty)
|
if (x4c_25_radiusDirty)
|
||||||
{
|
{
|
||||||
((CLight*)this)->x44_cachedRadius = CalculateLightRadius();
|
const_cast<CLight*>(this)->x44_cachedRadius = CalculateLightRadius();
|
||||||
((CLight*)this)->x4c_25_radiusDirty = false;
|
const_cast<CLight*>(this)->x4c_25_radiusDirty = false;
|
||||||
}
|
}
|
||||||
return x44_cachedRadius;
|
return x44_cachedRadius;
|
||||||
}
|
}
|
||||||
|
|
|
@ -254,9 +254,9 @@ bool CBooModel::TryLockTextures() const
|
||||||
}
|
}
|
||||||
|
|
||||||
if (allLoad)
|
if (allLoad)
|
||||||
((CBooModel*)this)->BuildGfxToken();
|
const_cast<CBooModel*>(this)->BuildGfxToken();
|
||||||
|
|
||||||
((CBooModel*)this)->x40_24_texturesLoaded = allLoad;
|
const_cast<CBooModel*>(this)->x40_24_texturesLoaded = allLoad;
|
||||||
}
|
}
|
||||||
return x40_24_texturesLoaded;
|
return x40_24_texturesLoaded;
|
||||||
}
|
}
|
||||||
|
@ -265,7 +265,7 @@ void CBooModel::UnlockTextures() const
|
||||||
{
|
{
|
||||||
for (TCachedToken<CTexture>& tex : *x1c_textures)
|
for (TCachedToken<CTexture>& tex : *x1c_textures)
|
||||||
tex.Unlock();
|
tex.Unlock();
|
||||||
((CBooModel*)this)->x40_24_texturesLoaded = false;
|
const_cast<CBooModel*>(this)->x40_24_texturesLoaded = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CBooModel::DrawAlphaSurfaces(const CModelFlags& flags) const
|
void CBooModel::DrawAlphaSurfaces(const CModelFlags& flags) const
|
||||||
|
|
|
@ -402,7 +402,7 @@ bool CGuiFrame::GetIsFinishedLoading() const
|
||||||
continue;
|
continue;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
((CGuiFrame*)this)->xbc_24_loaded = true;
|
const_cast<CGuiFrame*>(this)->xbc_24_loaded = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ void CGuiTextPane::Draw(const CGuiWidgetDrawParms& parms) const
|
||||||
|
|
||||||
zeus::CColor geomCol = xb4_;
|
zeus::CColor geomCol = xb4_;
|
||||||
geomCol.a *= parms.x0_alphaMod;
|
geomCol.a *= parms.x0_alphaMod;
|
||||||
((CGuiTextPane*)this)->x114_textSupport.SetGeometryColor(geomCol);
|
const_cast<CGuiTextPane*>(this)->x114_textSupport.SetGeometryColor(geomCol);
|
||||||
|
|
||||||
CGraphics::SetDepthWriteMode(xf6_31_depthTest, ERglEnum::LEqual, xf7_24_depthWrite);
|
CGraphics::SetDepthWriteMode(xf6_31_depthTest, ERglEnum::LEqual, xf7_24_depthWrite);
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ void CGuiTextPane::Draw(const CGuiWidgetDrawParms& parms) const
|
||||||
CGraphics::SetBlendMode(ERglBlendMode::Blend, ERglBlendFactor::SrcAlpha,
|
CGraphics::SetBlendMode(ERglBlendMode::Blend, ERglBlendFactor::SrcAlpha,
|
||||||
ERglBlendFactor::InvSrcAlpha, ERglLogicOp::Clear);
|
ERglBlendFactor::InvSrcAlpha, ERglLogicOp::Clear);
|
||||||
x114_textSupport.Render();
|
x114_textSupport.Render();
|
||||||
((CGuiTextPane*)this)->x114_textSupport.SetGeometryColor
|
const_cast<CGuiTextPane*>(this)->x114_textSupport.SetGeometryColor
|
||||||
(geomCol * zeus::CColor(geomCol.a, geomCol.a, geomCol.a, 1.f));
|
(geomCol * zeus::CColor(geomCol.a, geomCol.a, geomCol.a, 1.f));
|
||||||
CGraphics::SetBlendMode(ERglBlendMode::Blend, ERglBlendFactor::One,
|
CGraphics::SetBlendMode(ERglBlendMode::Blend, ERglBlendFactor::One,
|
||||||
ERglBlendFactor::One, ERglLogicOp::Clear);
|
ERglBlendFactor::One, ERglLogicOp::Clear);
|
||||||
|
|
|
@ -151,7 +151,7 @@ void CTextRenderBuffer::SetPrimitiveOpacity(int idx, float opacity)
|
||||||
|
|
||||||
void CTextRenderBuffer::Render(const zeus::CColor& col, float time) const
|
void CTextRenderBuffer::Render(const zeus::CColor& col, float time) const
|
||||||
{
|
{
|
||||||
((CTextRenderBuffer*)this)->CommitResources();
|
const_cast<CTextRenderBuffer*>(this)->CommitResources();
|
||||||
|
|
||||||
BooUniform uniforms = {CGraphics::GetPerspectiveProjectionMatrix(true) *
|
BooUniform uniforms = {CGraphics::GetPerspectiveProjectionMatrix(true) *
|
||||||
CGraphics::g_GXModelView.toMatrix4f(), col};
|
CGraphics::g_GXModelView.toMatrix4f(), col};
|
||||||
|
|
|
@ -176,9 +176,9 @@ bool CIESampleAndHold::GetValue(int frame, int& valOut) const
|
||||||
xc_waitFramesMin->GetValue(frame, b);
|
xc_waitFramesMin->GetValue(frame, b);
|
||||||
x10_waitFramesMax->GetValue(frame, c);
|
x10_waitFramesMax->GetValue(frame, c);
|
||||||
/* const-correctness, who needs it? */
|
/* const-correctness, who needs it? */
|
||||||
((CIESampleAndHold*)this)->x8_nextSampleFrame = CRandom16::GetRandomNumber()->Range(b, c) + frame;
|
const_cast<CIESampleAndHold*>(this)->x8_nextSampleFrame = CRandom16::GetRandomNumber()->Range(b, c) + frame;
|
||||||
x4_sampleSource->GetValue(frame, valOut);
|
x4_sampleSource->GetValue(frame, valOut);
|
||||||
((CIESampleAndHold*)this)->x14_holdVal = valOut;
|
const_cast<CIESampleAndHold*>(this)->x14_holdVal = valOut;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
valOut = x14_holdVal;
|
valOut = x14_holdVal;
|
||||||
|
|
|
@ -227,7 +227,7 @@ ResId CWorld::IGetSaveWorldAssetId() const
|
||||||
|
|
||||||
const CMapWorld* CWorld::IGetMapWorld() const
|
const CMapWorld* CWorld::IGetMapWorld() const
|
||||||
{
|
{
|
||||||
return ((CWorld*)this)->GetMapWorld();
|
return const_cast<CWorld*>(this)->GetMapWorld();
|
||||||
}
|
}
|
||||||
|
|
||||||
CMapWorld* CWorld::IMapWorld()
|
CMapWorld* CWorld::IMapWorld()
|
||||||
|
|
2
hecl
2
hecl
|
@ -1 +1 @@
|
||||||
Subproject commit 2a4b0cd21c56c6a4b558f68bbb91c5e2b9c41bc5
|
Subproject commit f325c438d1aa629de2af004ebb595db362895dd1
|
Loading…
Reference in New Issue