Ver código fonte

Merge branch 'SoundAssetImplements' of https://github.com/Azaezel/Torque3D-1 into SoundAssetImplements

# Conflicts:
#	Engine/source/T3D/fx/lightning.cpp
marauder2k7 3 anos atrás
pai
commit
3d7f092c52

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

@@ -270,7 +270,8 @@ public: \
    GFXTexHandle get##name##Resource() \
    {\
       return m##name;\
-   }
+   }\
+   bool name##Valid() {return (get##name() != StringTable->EmptyString() && m##name##Asset->getStatus() == AssetBase::Ok); }
 
 #define DECLARE_IMAGEASSET_SETGET(className, name)\
    static bool _set##name##Data(void* obj, const char* index, const char* data)\
@@ -494,7 +495,8 @@ public: \
       if(index >= sm##name##Count || index < 0)\
          return nullptr;\
       return m##name[index];\
-   }
+   }\
+   bool name##Valid(const U32& id) {return (get##name(id) != StringTable->EmptyString() && m##name##Asset[id]->getStatus() == AssetBase::Ok); }
 
 #define DECLARE_IMAGEASSET_ARRAY_SETGET(className, name)\
    static bool _set##name##Data(void* obj, const char* index, const char* data)\

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

@@ -259,7 +259,8 @@ public: \
    SimObjectPtr<Material> get##name##Resource() \
    {\
       return m##name;\
-   }
+   }\
+   bool is##name##Valid() {return (get##name() != StringTable->EmptyString() && m##name##Asset->getStatus() == AssetBase::Ok); }
 
 #define DECLARE_MATERIALASSET_SETGET(className, name)\
    static bool _set##name##Data(void* obj, const char* index, const char* data)\

+ 4 - 2
Engine/source/T3D/assets/ShapeAsset.h

@@ -321,7 +321,8 @@ public: \
    Resource<TSShape> get##name##Resource() \
    {\
       return m##name;\
-   }
+   }\
+   bool is##name##Valid() {return (get##name() != StringTable->EmptyString() && m##name##Asset->getStatus() == AssetBase::Ok); }
 
 #define DECLARE_SHAPEASSET_SETGET(className, name)\
    static bool _set##name##Data(void* obj, const char* index, const char* data)\
@@ -522,7 +523,8 @@ public: \
       if(index >= sm##name##Count || index < 0)\
          return ResourceManager::get().load( "" );\
       return m##name[index];\
-   }
+   }\
+   bool is##name##Valid(const U32& id) {return (get##name(id) != StringTable->EmptyString() && m##name##Asset[id]->getStatus() == AssetBase::Ok); }
 
 #define DECLARE_SHAPEASSET_ARRAY_SETGET(className, name)\
    static bool _set##name##Data(void* obj, const char* index, const char* data)\

+ 6 - 2
Engine/source/T3D/assets/SoundAsset.h

@@ -234,6 +234,8 @@ public: \
       {\
          m##name = NULL;\
       }\
+      if(get##name() == StringTable->EmptyString())\
+         return true;\
       \
       if(get##name() == StringTable->EmptyString())\
          return true;\
@@ -270,7 +272,8 @@ public: \
       if (get##name() != StringTable->EmptyString() && m##name##Asset.notNull())\
          return m##name##Asset->getSfxProfile();\
       return NULL;\
-   }
+   }\
+   bool is##name##Valid() { return (get##name() != StringTable->EmptyString() && m##name##Asset->getStatus() == AssetBase::Ok); }
 
 #define DECLARE_SOUNDASSET_SETGET(className, name)\
    static bool _set##name##Data(void* obj, const char* index, const char* data)\
@@ -495,7 +498,8 @@ public: \
       if (get##name(id) != StringTable->EmptyString() && m##name##Asset[id].notNull())\
          return m##name##Asset[id]->getSfxProfile();\
       return NULL;\
-   }
+   }\
+   bool is##name##Valid(const U32& id) {return (get##name(id) != StringTable->EmptyString() && m##name##Asset[id]->getStatus() == AssetBase::Ok); }
 
 #define DECLARE_SOUNDASSET_ARRAY_SETGET(className, name)\
    static bool _set##name##Data(void* obj, const char* index, const char* data)\

+ 9 - 0
Engine/source/T3D/fx/lightning.cpp

@@ -296,7 +296,11 @@ bool LightningData::preload(bool server, String &errorStr)
    {
       for (S32 i = 0; i < MaxThunders; i++)
       {
+<<<<<<< HEAD
          if (getThunderSound(i) != StringTable->EmptyString())
+=======
+         if (isThunderSoundValid(i))
+>>>>>>> 2630b4ada6a97222ad1e200fa962cf426b7d4161
          {
             _setThunderSound(getThunderSound(i), i);
             Con::printf("Thunder sound: %d %s", i, getThunderSound(i));
@@ -308,6 +312,7 @@ bool LightningData::preload(bool server, String &errorStr)
 
       }
 
+<<<<<<< HEAD
       if (getStrikeSound() != StringTable->EmptyString())
       {
          _setStrikeSound(getStrikeSound());
@@ -315,6 +320,10 @@ bool LightningData::preload(bool server, String &errorStr)
          if(!getStrikeSoundProfile())
             Con::errorf(ConsoleLogEntry::General, "LightningData::preload: can't get sfxProfile from strike sound.");
       }
+=======
+      if(isStrikeSoundValid() && !getStrikeSoundProfile())
+         Con::errorf(ConsoleLogEntry::General, "LightningData::preload: can't get sfxProfile from asset");
+>>>>>>> 2630b4ada6a97222ad1e200fa962cf426b7d4161
 
       mNumStrikeTextures = 0;
       for (U32 k = 0; k < MaxTextures; k++)