simplification of the Class::_set<slotname>Asset methods, (as well as early outting before dAtoi(index) hurt itself if index was invalid)

also since I was in there, fixed isrgb accidently being flipped on by default
This commit is contained in:
AzaezelX 2020-10-12 04:43:47 -05:00
parent f0068c2435
commit 4250e1d1b4
5 changed files with 53 additions and 414 deletions

View file

@ -115,101 +115,6 @@ void TerrainMaterial::initPersistFields()
Sim::getTerrainMaterialSet();
}
bool TerrainMaterial::_setDiffuseMapAsset(void* obj, const char* index, const char* data)
{
TerrainMaterial* mat = static_cast<TerrainMaterial*>(obj);
mat->mDiffuseMapAssetId = StringTable->insert(data);
if (ImageAsset::getAssetById(mat->mDiffuseMapAssetId, &mat->mDiffuseMapAsset))
{
if (mat->mDiffuseMapAsset.getAssetId() != StringTable->insert("Core_Rendering:noMaterial"))
{
mat->mDiffuseMapFilename = StringTable->EmptyString();
}
return true;
}
return true;
}
bool TerrainMaterial::_setNormalMapAsset(void* obj, const char* index, const char* data)
{
TerrainMaterial* mat = static_cast<TerrainMaterial*>(obj);
mat->mNormalMapAssetId = StringTable->insert(data);
if (ImageAsset::getAssetById(mat->mNormalMapAssetId, &mat->mNormalMapAsset))
{
if (mat->mNormalMapAsset.getAssetId() != StringTable->insert("Core_Rendering:noMaterial"))
{
mat->mNormalMapFilename = StringTable->EmptyString();
}
return true;
}
return true;
}
bool TerrainMaterial::_setDetailMapAsset(void* obj, const char* index, const char* data)
{
TerrainMaterial* mat = static_cast<TerrainMaterial*>(obj);
mat->mDetailMapAssetId = StringTable->insert(data);
if (ImageAsset::getAssetById(mat->mDetailMapAssetId, &mat->mDetailMapAsset))
{
if (mat->mDetailMapAsset.getAssetId() != StringTable->insert("Core_Rendering:noMaterial"))
{
mat->mDetailMapFilename = StringTable->EmptyString();
}
return true;
}
return true;
}
bool TerrainMaterial::_setORMConfigMapAsset(void* obj, const char* index, const char* data)
{
TerrainMaterial* mat = static_cast<TerrainMaterial*>(obj);
mat->mORMConfigMapAssetId = StringTable->insert(data);
if (ImageAsset::getAssetById(mat->mORMConfigMapAssetId, &mat->mORMConfigMapAsset))
{
if (mat->mORMConfigMapAsset.getAssetId() != StringTable->insert("Core_Rendering:noMaterial"))
{
mat->mORMConfigMapFilename = StringTable->EmptyString();
}
return true;
}
return true;
}
bool TerrainMaterial::_setMacroMapAsset(void* obj, const char* index, const char* data)
{
TerrainMaterial* mat = static_cast<TerrainMaterial*>(obj);
mat->mMacroMapAssetId = StringTable->insert(data);
if (ImageAsset::getAssetById(mat->mMacroMapAssetId, &mat->mMacroMapAsset))
{
if (mat->mMacroMapAsset.getAssetId() != StringTable->insert("Core_Rendering:noMaterial"))
{
mat->mMacroMapFilename = StringTable->EmptyString();
}
return true;
}
return true;
}
bool TerrainMaterial::onAdd()
{
if ( !Parent::onAdd() )

View file

@ -42,17 +42,17 @@ protected:
//AssetPtr<ImageAsset> mDiffuseAsset;
DECLARE_TEXTUREMAP(DiffuseMap);
DECLARE_TEXTUREMAP(TerrainMaterial, DiffuseMap);
/// The size of the diffuse base map in meters
/// used to generate its texture coordinates.
F32 mDiffuseSize;
///
DECLARE_TEXTUREMAP(NormalMap);
DECLARE_TEXTUREMAP(TerrainMaterial, NormalMap);
///
DECLARE_TEXTUREMAP(DetailMap);
DECLARE_TEXTUREMAP(TerrainMaterial, DetailMap);
/// The size of the detail map in meters used
/// to generate the texture coordinates for the
@ -66,7 +66,7 @@ protected:
F32 mDetailDistance;
///
DECLARE_TEXTUREMAP(ORMConfigMap);
DECLARE_TEXTUREMAP(TerrainMaterial, ORMConfigMap);
bool mIsSRGB;
bool mInvertRoughness;
@ -77,7 +77,7 @@ protected:
/// planes.
bool mSideProjection;
DECLARE_TEXTUREMAP(MacroMap);
DECLARE_TEXTUREMAP(TerrainMaterial, MacroMap);
F32 mMacroSize;
F32 mMacroStrength;
F32 mMacroDistance;
@ -93,12 +93,6 @@ public:
bool onAdd();
static void initPersistFields();
static bool _setDiffuseMapAsset(void* obj, const char* index, const char* data);
static bool _setNormalMapAsset(void* obj, const char* index, const char* data);
static bool _setDetailMapAsset(void* obj, const char* index, const char* data);
static bool _setORMConfigMapAsset(void* obj, const char* index, const char* data);
static bool _setMacroMapAsset(void* obj, const char* index, const char* data);
DECLARE_CONOBJECT( TerrainMaterial );
/// This method locates the TerrainMaterial if it exists, tries