mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-12 22:56:13 +00:00
Changed EGame to an enum class. Created NGameList and NPropertyMap to change how templates are managed/saved/loaded. Added support for property map keeping track of ID/type pairs.
This commit is contained in:
@@ -9,7 +9,7 @@ CDoorExtra::CDoorExtra(CScriptObject* pInstance, CScene* pScene, CScriptNode* pP
|
||||
mShieldModelProp = CAssetRef(pInstance->PropertyData(), pProperties->ChildByID(0xB20CC271));
|
||||
if (mShieldModelProp.IsValid()) PropertyModified(mShieldModelProp.Property());
|
||||
|
||||
if (mGame >= eEchoes)
|
||||
if (mGame >= EGame::Echoes)
|
||||
{
|
||||
mShieldColorProp = CColorRef(pInstance->PropertyData(), pProperties->ChildByID(0x47B4E863));
|
||||
if (mShieldColorProp.IsValid()) PropertyModified(mShieldColorProp.Property());
|
||||
|
||||
@@ -10,8 +10,8 @@ CPointOfInterestExtra::CPointOfInterestExtra(CScriptObject *pInstance, CScene *p
|
||||
// Fetch scan data property
|
||||
CStructProperty* pProperties = pInstance->Template()->Properties();
|
||||
|
||||
if (mGame <= ePrime) mScanProperty = CAssetRef(pInstance->PropertyData(), pProperties->ChildByIDString("0x04:0x00"));
|
||||
else mScanProperty = CAssetRef(pInstance->PropertyData(), pProperties->ChildByIDString("0xBDBEC295:0xB94E9BE7"));
|
||||
if (mGame <= EGame::Prime) mScanProperty = CAssetRef(pInstance->PropertyData(), pProperties->ChildByIDString("0x04:0x00"));
|
||||
else mScanProperty = CAssetRef(pInstance->PropertyData(), pProperties->ChildByIDString("0xBDBEC295:0xB94E9BE7"));
|
||||
|
||||
PropertyModified(mScanProperty.Property());
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ CScriptExtra* CScriptExtra::CreateExtra(CScriptNode *pNode)
|
||||
case 0x53505041: // "SPPA" SplinePath (DKCR)
|
||||
case 0x5043544C: // "PCTL" PathControl (DKCR)
|
||||
case 0x434C5043: // "CLPC" ClingPathControl (DKCR)
|
||||
if (pNode->Instance()->Area()->Game() == eReturns)
|
||||
if (pNode->Instance()->Area()->Game() == EGame::DKCReturns)
|
||||
pExtra = new CSplinePathExtra(pObj, pNode->Scene(), pNode);
|
||||
break;
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ void CSplinePathExtra::FindAttachedWaypoints(std::set<CWaypointExtra*>& rChecked
|
||||
|
||||
void CSplinePathExtra::AddWaypoints()
|
||||
{
|
||||
if (mGame != eReturns)
|
||||
if (mGame != EGame::DKCReturns)
|
||||
return;
|
||||
|
||||
std::set<CWaypointExtra*> CheckedWaypoints;
|
||||
|
||||
@@ -28,7 +28,7 @@ void CWaypointExtra::CheckColor()
|
||||
}
|
||||
|
||||
// Fetch color from parent node's model (MP1/2/3)
|
||||
else if (mGame < eReturns)
|
||||
else if (mGame < EGame::DKCReturns)
|
||||
{
|
||||
CScriptNode *pScript = static_cast<CScriptNode*>(mpParent);
|
||||
CModel *pModel = pScript->ActiveModel();
|
||||
@@ -185,5 +185,5 @@ void CWaypointExtra::Draw(FRenderOptions /*Options*/, int ComponentIndex, ERende
|
||||
|
||||
CColor CWaypointExtra::TevColor()
|
||||
{
|
||||
return (mGame < eReturns ? CColor::skWhite : mColor);
|
||||
return (mGame < EGame::DKCReturns ? CColor::skWhite : mColor);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user