Added support for preview scale on script templates

This commit is contained in:
parax0
2015-11-29 04:28:10 -07:00
parent 7622bb2032
commit c260e547c9
10 changed files with 45 additions and 19 deletions

View File

@@ -283,6 +283,14 @@ void CTemplateWriter::SaveScriptTemplate(CScriptTemplate *pTemp, const TString&
pAssets->LinkEndChild(pAsset);
}
// Preview Scale
if (pTemp->mPreviewScale != 1.f)
{
XMLElement *pPreviewScale = scriptXML.NewElement("preview_scale");
pEditor->LinkEndChild(pPreviewScale);
pPreviewScale->SetText(pTemp->mPreviewScale);
}
// Rot/Scale Type
XMLElement *pRotType = scriptXML.NewElement("rotation_type");
pEditor->LinkEndChild(pRotType);

View File

@@ -385,6 +385,17 @@ CScriptTemplate* CTemplateLoader::LoadScriptTemplate(tinyxml2::XMLDocument *pDoc
pAsset = pAsset->NextSiblingElement();
}
// Preview Scale
tinyxml2::XMLElement *pPreviewScale = pEditor->FirstChildElement("preview_scale");
if (pPreviewScale)
{
const char *kpScale = pPreviewScale->GetText();
if (kpScale)
pScript->mPreviewScale = std::stof(kpScale);
}
// Rotation
tinyxml2::XMLElement *pRotType = pEditor->FirstChildElement("rotation_type");

View File

@@ -11,6 +11,7 @@ CScriptTemplate::CScriptTemplate(CMasterTemplate *pMaster)
{
mpMaster = pMaster;
mVisible = true;
mPreviewScale = 1.f;
mVolumeShape = eNoShape;
}
@@ -77,6 +78,11 @@ CScriptTemplate::EScaleType CScriptTemplate::ScaleType() const
return mScaleType;
}
float CScriptTemplate::PreviewScale() const
{
return mPreviewScale;
}
u32 CScriptTemplate::ObjectID() const
{
return mObjectID;

View File

@@ -62,8 +62,6 @@ private:
CMasterTemplate *mpMaster;
std::vector<SPropertySet> mPropertySets;
std::list<CScriptObject*> mObjectList;
ERotationType mRotationType;
EScaleType mScaleType;
TString mTemplateName;
TString mSourceFile;
u32 mObjectID;
@@ -78,6 +76,10 @@ private:
TIDString mLightParametersIDString;
std::vector<SEditorAsset> mAssets;
float mPreviewScale;
ERotationType mRotationType;
EScaleType mScaleType;
// Preview Volume
EVolumeShape mVolumeShape;
TIDString mVolumeConditionIDString;
@@ -100,6 +102,7 @@ public:
u32 NumPropertySets() const;
ERotationType RotationType() const;
EScaleType ScaleType() const;
float PreviewScale() const;
u32 ObjectID() const;
void SetVisible(bool visible);
bool IsVisible() const;