mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-18 06:03:48 +00:00
Reimplements ability to utilize direct file load alongside ImageAsset fields when utilizing the ImageAsset macros
Updates Asset Browser generated preview images to not utilize full assets, but just the preview image files themselves
This commit is contained in:
parent
a43458677a
commit
0fa8b97f91
7 changed files with 56 additions and 130 deletions
|
|
@ -244,7 +244,8 @@ DefineEnumType(ImageAssetType);
|
|||
|
||||
#define DECLARE_IMAGEASSET(className, name, profile) \
|
||||
private: \
|
||||
AssetPtr<ImageAsset> m##name##Asset; \
|
||||
AssetPtr<ImageAsset> m##name##Asset;\
|
||||
String m##name##File;\
|
||||
public: \
|
||||
void _set##name(StringTableEntry _in){ \
|
||||
if(m##name##Asset.getAssetId() == _in) \
|
||||
|
|
@ -263,7 +264,7 @@ public:
|
|||
{ \
|
||||
imageAssetId = query.mAssetList[0]; \
|
||||
} \
|
||||
else if(Torque::FS::IsFile(_in) || (_in[0] == '$' || _in[0] == '#')) \
|
||||
else if(Torque::FS::IsFile(_in)) \
|
||||
{ \
|
||||
imageAssetId = ImageAsset::getAssetIdByFilename(_in); \
|
||||
if (imageAssetId == ImageAsset::smNoImageAssetFallback) \
|
||||
|
|
@ -296,6 +297,7 @@ public:
|
|||
#define DECLARE_IMAGEASSET_NET(className, name, profile, mask) \
|
||||
private: \
|
||||
AssetPtr<ImageAsset> m##name##Asset; \
|
||||
String m##name##File;\
|
||||
public: \
|
||||
void _set##name(StringTableEntry _in){ \
|
||||
if(m##name##Asset.getAssetId() == _in) \
|
||||
|
|
@ -347,12 +349,14 @@ public:
|
|||
|
||||
|
||||
#define INITPERSISTFIELD_IMAGEASSET(name, consoleClass, docs) \
|
||||
addProtectedField(assetText(name, Asset), TypeImageAssetPtr, Offset(m##name##Asset, consoleClass), _set##name##Data, &defaultProtectedGetFn, assetDoc(name, asset docs.));
|
||||
addProtectedField(assetText(name, Asset), TypeImageAssetPtr, Offset(m##name##Asset, consoleClass), _set##name##Data, &defaultProtectedGetFn, assetDoc(name, asset docs.)); \
|
||||
addProtectedField(assetText(name, File), TypeFilename, Offset(m##name##File, consoleClass), _set##name##Data, &defaultProtectedGetFn, assetDoc(name, file docs.));
|
||||
|
||||
|
||||
#define DECLARE_IMAGEASSET_ARRAY(className, name, profile, max) \
|
||||
private: \
|
||||
AssetPtr<ImageAsset> m##name##Asset[max]; \
|
||||
String m##name##File[max];\
|
||||
public: \
|
||||
void _set##name(StringTableEntry _in, const U32& index){ \
|
||||
if(m##name##Asset[index].getAssetId() == _in) \
|
||||
|
|
@ -405,6 +409,7 @@ public:
|
|||
#define DECLARE_IMAGEASSET_ARRAY_NET(className, name, profile, max, mask) \
|
||||
private: \
|
||||
AssetPtr<ImageAsset> m##name##Asset[max]; \
|
||||
String m##name##File[max];\
|
||||
public: \
|
||||
void _set##name(StringTableEntry _in, const U32& index){ \
|
||||
if(m##name##Asset[index].getAssetId() == _in) \
|
||||
|
|
|
|||
|
|
@ -118,7 +118,11 @@ class GuiBitmapButtonCtrl : public GuiButtonCtrl, protected AssetPtrCallback
|
|||
///
|
||||
BitmapMode mBitmapMode;
|
||||
|
||||
private: AssetPtr<ImageAsset> mBitmapAsset; public: void _setBitmap(StringTableEntry _in) {
|
||||
private:
|
||||
AssetPtr<ImageAsset> mBitmapAsset;
|
||||
String mBitmapFile;
|
||||
public:
|
||||
void _setBitmap(StringTableEntry _in) {
|
||||
if (mBitmapAsset.getAssetId() == _in) return; if (!AssetDatabase.isDeclaredAsset(_in)) {
|
||||
StringTableEntry imageAssetId = ImageAsset::smNoImageAssetFallback; AssetQuery query; S32 foundAssetcount = AssetDatabase.findAssetLooseFile(&query, _in); if (foundAssetcount != 0) {
|
||||
imageAssetId = query.mAssetList[0];
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ void GuiBitmapCtrl::setBitmap(const char* name, bool resize)
|
|||
if (assetId != StringTable->EmptyString())
|
||||
_setBitmap(assetId);
|
||||
else
|
||||
return;
|
||||
_setBitmap(name);
|
||||
}
|
||||
|
||||
mBitmap = mBitmapAsset->getTexture(&GFXDefaultGUIProfile);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue