Browse Source

is named target

clear out texHandles on teardown of imageAssets.
marauder2k7 7 months ago
parent
commit
f86497434e

+ 7 - 0
Engine/source/T3D/assets/ImageAsset.cpp

@@ -163,6 +163,13 @@ ImageAsset::ImageAsset() :
 
 
 ImageAsset::~ImageAsset()
 ImageAsset::~ImageAsset()
 {
 {
+   ImageTextureMap::iterator resIter = mResourceMap.begin();
+   for (; resIter != mResourceMap.end(); ++resIter)
+   {
+      resIter->value.free();
+   }
+
+   mResourceMap.clear();
 }
 }
 
 
 
 

+ 2 - 1
Engine/source/T3D/assets/ImageAsset.h

@@ -62,6 +62,7 @@ class ImageAsset : public AssetBase
    typedef AssetPtr<ImageAsset> ConcreteAssetPtr;
    typedef AssetPtr<ImageAsset> ConcreteAssetPtr;
 
 
 public:
 public:
+   typedef HashMap<GFXTextureProfile*, GFXTexHandle> ImageTextureMap;
    /// The different types of image use cases
    /// The different types of image use cases
    enum ImageTypes
    enum ImageTypes
    {
    {
@@ -137,7 +138,7 @@ private:
    bool              mIsHDRImage;
    bool              mIsHDRImage;
    GFXTexHandle      mTextureHandle;
    GFXTexHandle      mTextureHandle;
    ImageTypes        mImageType;
    ImageTypes        mImageType;
-   HashMap<GFXTextureProfile*, GFXTexHandle> mResourceMap;
+   ImageTextureMap   mResourceMap;
    bool              mIsNamedTarget;
    bool              mIsNamedTarget;
    S32               mImageWidth;
    S32               mImageWidth;
    S32               mImageHeight;
    S32               mImageHeight;

+ 2 - 2
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())));
    //%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.assetName = %this.assetName;
    %previewData.assetPath = %this.scriptFile;
    %previewData.assetPath = %this.scriptFile;