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,11 +614,15 @@ 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] == '#')) \
{ \ { \
ImageAsset* privateImage = new ImageAsset(); \ imageAssetId = ImageAsset::getAssetIdByFilename(_in); \
privateImage->setImageFile(_in); \ if (imageAssetId == ImageAsset::smNoImageAssetFallback) \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \ { \
ImageAsset* privateImage = new ImageAsset(); \
privateImage->setImageFile(_in); \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \
} \
} \ } \
m##name##Asset = imageAssetId; \ m##name##Asset = imageAssetId; \
} \ } \
@ -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); \
}; \ }; \
@ -688,9 +701,13 @@ public:
} \ } \
else if(Torque::FS::IsFile(_in) || (_in[0] == '$' || _in[0] == '#')) \ else if(Torque::FS::IsFile(_in) || (_in[0] == '$' || _in[0] == '#')) \
{ \ { \
ImageAsset* privateImage = new ImageAsset(); \ imageAssetId = ImageAsset::getAssetIdByFilename(_in); \
privateImage->setImageFile(_in); \ if (imageAssetId == ImageAsset::smNoImageAssetFallback) \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \ { \
ImageAsset* privateImage = new ImageAsset(); \
privateImage->setImageFile(_in); \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \
} \
} \ } \
m##name##Asset[index] = imageAssetId; \ m##name##Asset[index] = imageAssetId; \
} \ } \
@ -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 \