Update ImageAsset.h

update macros to share target functionality
add extra check to see if image asset exists.
This commit is contained in:
marauder2k7 2025-03-26 15:07:07 +00:00
parent d86962d1fd
commit 465c79f39d

View file

@ -614,12 +614,16 @@ public:
{ \ { \
imageAssetId = query.mAssetList[0]; \ imageAssetId = query.mAssetList[0]; \
} \ } \
else if(Torque::FS::IsFile(_in)) \ else if(Torque::FS::IsFile(_in) || (_in[0] == '$' || _in[0] == '#')) \
{ \
imageAssetId = ImageAsset::getAssetIdByFilename(_in); \
if (imageAssetId == ImageAsset::smNoImageAssetFallback) \
{ \ { \
ImageAsset* privateImage = new ImageAsset(); \ ImageAsset* privateImage = new ImageAsset(); \
privateImage->setImageFile(_in); \ privateImage->setImageFile(_in); \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \ imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \
} \ } \
} \
m##name##Asset = imageAssetId; \ m##name##Asset = imageAssetId; \
} \ } \
else \ else \
@ -641,7 +645,6 @@ public:
void _set##name(StringTableEntry _in){ \ void _set##name(StringTableEntry _in){ \
if(m##name##Asset.getAssetId() == _in) \ if(m##name##Asset.getAssetId() == _in) \
return; \ return; \
\
if(!AssetDatabase.isDeclaredAsset(_in)) \ if(!AssetDatabase.isDeclaredAsset(_in)) \
{ \ { \
StringTableEntry imageAssetId = StringTable->EmptyString(); \ StringTableEntry imageAssetId = StringTable->EmptyString(); \
@ -651,11 +654,21 @@ public:
{ \ { \
imageAssetId = query.mAssetList[0]; \ imageAssetId = query.mAssetList[0]; \
} \ } \
m##name##Asset = imageAssetId; \ else if(Torque::FS::IsFile(_in) || (_in[0] == '$' || _in[0] == '#')) \
{ \
imageAssetId = ImageAsset::getAssetIdByFilename(_in); \
if (imageAssetId == ImageAsset::smNoImageAssetFallback) \
{ \
ImageAsset* privateImage = new ImageAsset(); \
privateImage->setImageFile(_in); \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \
} \
} \
m##name##Asset[index] = imageAssetId; \
} \ } \
else \ else \
{ \ { \
m##name##Asset = _in; \ m##name##Asset[index] = _in; \
} \ } \
setMaskBits(mask); \ setMaskBits(mask); \
}; \ }; \
@ -687,11 +700,15 @@ public:
imageAssetId = query.mAssetList[0]; \ imageAssetId = query.mAssetList[0]; \
} \ } \
else if(Torque::FS::IsFile(_in) || (_in[0] == '$' || _in[0] == '#')) \ else if(Torque::FS::IsFile(_in) || (_in[0] == '$' || _in[0] == '#')) \
{ \
imageAssetId = ImageAsset::getAssetIdByFilename(_in); \
if (imageAssetId == ImageAsset::smNoImageAssetFallback) \
{ \ { \
ImageAsset* privateImage = new ImageAsset(); \ ImageAsset* privateImage = new ImageAsset(); \
privateImage->setImageFile(_in); \ privateImage->setImageFile(_in); \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \ imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \
} \ } \
} \
m##name##Asset[index] = imageAssetId; \ m##name##Asset[index] = imageAssetId; \
} \ } \
else \ else \
@ -714,7 +731,6 @@ public:
void _set##name(StringTableEntry _in, const U32& index){ \ void _set##name(StringTableEntry _in, const U32& index){ \
if(m##name##Asset[index].getAssetId() == _in) \ if(m##name##Asset[index].getAssetId() == _in) \
return; \ return; \
\
if(!AssetDatabase.isDeclaredAsset(_in)) \ if(!AssetDatabase.isDeclaredAsset(_in)) \
{ \ { \
StringTableEntry imageAssetId = StringTable->EmptyString(); \ StringTableEntry imageAssetId = StringTable->EmptyString(); \
@ -724,6 +740,16 @@ public:
{ \ { \
imageAssetId = query.mAssetList[0]; \ imageAssetId = query.mAssetList[0]; \
} \ } \
else if(Torque::FS::IsFile(_in) || (_in[0] == '$' || _in[0] == '#')) \
{ \
imageAssetId = ImageAsset::getAssetIdByFilename(_in); \
if (imageAssetId == ImageAsset::smNoImageAssetFallback) \
{ \
ImageAsset* privateImage = new ImageAsset(); \
privateImage->setImageFile(_in); \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \
} \
} \
m##name##Asset[index] = imageAssetId; \ m##name##Asset[index] = imageAssetId; \
} \ } \
else \ else \