diff --git a/Engine/source/T3D/assets/ImageAsset.cpp b/Engine/source/T3D/assets/ImageAsset.cpp index 5f234fc0b..5bf4bdc3e 100644 --- a/Engine/source/T3D/assets/ImageAsset.cpp +++ b/Engine/source/T3D/assets/ImageAsset.cpp @@ -163,6 +163,13 @@ ImageAsset::ImageAsset() : ImageAsset::~ImageAsset() { + ImageTextureMap::iterator resIter = mResourceMap.begin(); + for (; resIter != mResourceMap.end(); ++resIter) + { + resIter->value.free(); + } + + mResourceMap.clear(); } diff --git a/Engine/source/T3D/assets/ImageAsset.h b/Engine/source/T3D/assets/ImageAsset.h index 6dc97f933..ddcdefa0a 100644 --- a/Engine/source/T3D/assets/ImageAsset.h +++ b/Engine/source/T3D/assets/ImageAsset.h @@ -62,6 +62,7 @@ class ImageAsset : public AssetBase typedef AssetPtr ConcreteAssetPtr; public: + typedef HashMap ImageTextureMap; /// The different types of image use cases enum ImageTypes { @@ -137,7 +138,7 @@ private: bool mIsHDRImage; GFXTexHandle mTextureHandle; ImageTypes mImageType; - HashMap mResourceMap; + ImageTextureMap mResourceMap; bool mIsNamedTarget; S32 mImageWidth; S32 mImageHeight; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/image.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/image.tscript index d1b77ec93..3f938f78b 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/image.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/image.tscript @@ -4,8 +4,8 @@ function ImageAsset::buildBrowserElement(%this, %previewData) { //%module = %this.dirHandler.getModuleFromAddress(makeRelativePath(filePath(%assetDef.getImagePath()))); - %previewData.previewImage = "ToolsModule:genericAssetIcon_image"; - %previewData.previewLoaded = false; //this marks it for loading progressively later + %previewData.previewImage = %this.isNamedTarget() ? "Core_Rendering:namedTarget_image" : "ToolsModule:genericAssetIcon_image"; + %previewData.previewLoaded = %this.isNamedTarget() ? true : false;//this marks it for loading progressively later %previewData.assetName = %this.assetName; %previewData.assetPath = %this.scriptFile;