Browse Source

Merge pull request #1454 from marauder2k9-torque/FixCompile-imageAsset

Fix after merge of image_asset
Brian Roberts 8 months ago
parent
commit
c0d87cd3f1

+ 7 - 0
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();
 }
 
 

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

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

+ 0 - 12
Engine/source/assets/assetManager.cpp

@@ -119,18 +119,6 @@ void AssetManager::onRemove()
         mAssetTagsManifest->deleteObject();
     }
 
-    purgeAssets();
-
-    for (auto itr = mDeclaredAssets.begin(); itr != mDeclaredAssets.end(); ++itr)
-    {
-       delete itr->value;
-    }
-    mDeclaredAssets.clear();
-
-    // Clear dependency graphs
-    mAssetDependsOn.clear();
-    mAssetIsDependedOn.clear();
-
     // Call parent.
     Parent::onRemove();
 }

+ 4 - 4
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 = %assetDef.isNamedTarget() ? "Core_Rendering:namedTarget_image" : "ToolsModule:genericAssetIcon_image";
-   %previewData.previewLoaded = %assetDef.isNamedTarget() ? true : false; //if image target we are loaded, else mark for loading 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;
@@ -61,11 +61,11 @@ function ImageAsset::generatePreviewImage(%this, %previewButton, %forceRegenerat
                versionId = 1;
                imageFile = makeFullPath(%previewFilePath);
             };
-            
+         
             %previewAssetName = "ToolsModule:" @ %previewAssetName;
             %previewImgAssetPath = %previewPath @ %previewAsset.assetName @ ".asset.taml";
-            
             %assetImportSuccessful = TAMLWrite(%previewAsset, %previewImgAssetPath); 
+         
             %toolsModuleDef = ModuleDatabase.findModule("ToolsModule",1);
             
             %success = AssetDatabase.addDeclaredAsset(%toolsModuleDef, %previewImgAssetPath);