From b2fe48ab8d5d2382e87e89b3304c0126e2914c9f Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Mon, 24 Mar 2025 21:50:04 +0000 Subject: [PATCH] more merge conflicts fixed more merge conflicts (afxZodiac and MaterialDefinition) Updated cubemapdata to use refactor asset added new part to image_asset macro to create a private asset if the file exists. updated reflectionProbe errors to actual function name where the error occurs. --- Engine/source/T3D/assets/ImageAsset.h | 14 ++++- .../source/T3D/lighting/reflectionProbe.cpp | 4 +- Engine/source/afx/ce/afxZodiac.cpp | 17 +----- Engine/source/gfx/sim/cubemapData.cpp | 61 +++++++++---------- Engine/source/gfx/sim/cubemapData.h | 12 ++-- .../source/materials/materialDefinition.cpp | 17 ------ 6 files changed, 50 insertions(+), 75 deletions(-) diff --git a/Engine/source/T3D/assets/ImageAsset.h b/Engine/source/T3D/assets/ImageAsset.h index 1198aa6bd..1f6289cb7 100644 --- a/Engine/source/T3D/assets/ImageAsset.h +++ b/Engine/source/T3D/assets/ImageAsset.h @@ -171,7 +171,7 @@ public: void setTextureHDR(const bool pIsHDR); inline bool getTextureHDR(void) const { return mIsHDRImage; }; - inline GFXTexHandle& getTexture(void) { load(); generateTexture(); return mTextureHandle; } + inline GFXTexHandle& getTexture(void) { load(); generateTexture(); return mTextureHandle; } GFXTexHandle getTexture(GFXTextureProfile* requestedProfile); static StringTableEntry getImageTypeNameFromType(ImageTypes type); @@ -610,6 +610,12 @@ public: { \ imageAssetId = query.mAssetList[0]; \ } \ + else if(Torque::FS::IsFile(_in)) \ + { \ + ImageAsset* privateImage = new ImageAsset(); \ + privateImage->setImageFile(_in); \ + imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \ + } \ m##name##Asset = imageAssetId; \ } \ else \ @@ -677,6 +683,12 @@ public: { \ imageAssetId = query.mAssetList[0]; \ } \ + else if(Torque::FS::IsFile(_in)) \ + { \ + ImageAsset* privateImage = new ImageAsset(); \ + privateImage->setImageFile(_in); \ + imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \ + } \ m##name##Asset[index] = imageAssetId; \ } \ else \ diff --git a/Engine/source/T3D/lighting/reflectionProbe.cpp b/Engine/source/T3D/lighting/reflectionProbe.cpp index 793f7dd1d..b4a10342f 100644 --- a/Engine/source/T3D/lighting/reflectionProbe.cpp +++ b/Engine/source/T3D/lighting/reflectionProbe.cpp @@ -605,7 +605,7 @@ void ReflectionProbe::processBakedCubemap() if (mIrridianceMap == nullptr || mIrridianceMap->mCubemap.isNull()) { - Con::errorf("ReflectionProbe::processDynamicCubemap() - Unable to load baked irradiance map at %s", getIrradianceMapPath().c_str()); + Con::errorf("ReflectionProbe::processBakedCubemap() - Unable to load baked irradiance map at %s", getIrradianceMapPath().c_str()); return; } @@ -618,7 +618,7 @@ void ReflectionProbe::processBakedCubemap() if (mPrefilterMap == nullptr || mPrefilterMap->mCubemap.isNull()) { - Con::errorf("ReflectionProbe::processDynamicCubemap() - Unable to load baked prefilter map at %s", getPrefilterMapPath().c_str()); + Con::errorf("ReflectionProbe::processBakedCubemap() - Unable to load baked prefilter map at %s", getPrefilterMapPath().c_str()); return; } diff --git a/Engine/source/afx/ce/afxZodiac.cpp b/Engine/source/afx/ce/afxZodiac.cpp index 9e7ed11d5..88d9d9fec 100644 --- a/Engine/source/afx/ce/afxZodiac.cpp +++ b/Engine/source/afx/ce/afxZodiac.cpp @@ -324,22 +324,11 @@ bool afxZodiacData::preload(bool server, String &errorStr) if (vert_range.x == 0.0f && vert_range.y == 0.0f) vert_range.x = vert_range.y = radius_xy; - if (mTextureAssetId != StringTable->EmptyString()) + if (mTextureAsset.notNull()) { - mTextureAsset = mTextureAssetId; - if (mTextureAsset.notNull()) - { - if (getTexture() != StringTable->EmptyString() && mTextureName != StringTable->insert("texhandle")) - { - if (mTextureAsset.notNull()) - { - mTextureAsset->getChangedSignal().notify(this, &afxZodiacData::onImageChanged); - } - - mTexture.set(getTexture(), mTextureProfile, avar("%s() - mTextureObject (line %d)", __FUNCTION__, __LINE__)); - } - } + getTexture(); } + return true; } diff --git a/Engine/source/gfx/sim/cubemapData.cpp b/Engine/source/gfx/sim/cubemapData.cpp index 0e7d7686e..5165a2d24 100644 --- a/Engine/source/gfx/sim/cubemapData.cpp +++ b/Engine/source/gfx/sim/cubemapData.cpp @@ -41,13 +41,6 @@ IMPLEMENT_CONOBJECT( CubemapData ); CubemapData::CubemapData() { mCubemap = NULL; - - for (U32 i = 0; i < 6; i++) - { - INIT_IMAGEASSET_ARRAY(CubeMapFace, GFXStaticTextureSRGBProfile, i); - } - - INIT_ASSET(CubeMap); } CubemapData::~CubemapData() @@ -77,17 +70,7 @@ ConsoleDocClass( CubemapData, void CubemapData::initPersistFields() { docsURL; - addProtectedField( "cubeFace", TypeStringFilename, Offset(mCubeMapFaceName, CubemapData), _setCubeMapFaceData, defaultProtectedGetFn, 6, - "@brief The 6 cubemap face textures for a static cubemap.\n\n" - "They are in the following order:\n" - " - cubeFace[0] is -X\n" - " - cubeFace[1] is +X\n" - " - cubeFace[2] is -Z\n" - " - cubeFace[3] is +Z\n" - " - cubeFace[4] is -Y\n" - " - cubeFace[5] is +Y\n", AbstractClassRep::FIELD_HideInInspectors ); - - INITPERSISTFIELD_IMAGEASSET_ARRAY(CubeMapFace, 6, CubemapData, "@brief The 6 cubemap face textures for a static cubemap.\n\n" + INITPERSISTFIELD_IMAGEASSET_ARRAY_REFACTOR(CubeMapFace, 6, CubemapData, "@brief The 6 cubemap face textures for a static cubemap.\n\n" "They are in the following order:\n" " - cubeFace[0] is -X\n" " - cubeFace[1] is +X\n" @@ -96,7 +79,7 @@ void CubemapData::initPersistFields() " - cubeFace[4] is -Y\n" " - cubeFace[5] is +Y\n"); - INITPERSISTFIELD_IMAGEASSET(CubeMap, CubemapData, "@brief Cubemap dds Image Asset.\n\n"); + INITPERSISTFIELD_IMAGEASSET_REFACTOR(CubeMap, CubemapData, "@brief Cubemap dds Image Asset.\n\n"); } bool CubemapData::onAdd() @@ -116,19 +99,26 @@ void CubemapData::createMap() { bool initSuccess = true; //check mCubeMapFile first - if (getCubeMap() != StringTable->EmptyString()) + if (mCubeMapAsset.notNull()) { - mCubemap = TEXMGR->createCubemap(getCubeMap()); + mCubemap = TEXMGR->createCubemap(mCubeMapAsset->getImageFile()); return; } else { for (U32 i = 0; i < 6; i++) { - if (!_setCubeMapFace(getCubeMapFace(i), i)) + if (mCubeMapFaceAsset[i].notNull()) { - Con::errorf("CubemapData::createMap - Failed to load texture '%s'", getCubeMapFace(i)); - initSuccess = false; + if (!getCubeMapFace(i)) + { + Con::errorf("CubemapData::createMap - Failed to load texture '%s'", getCubeMapFace(i)); + initSuccess = false; + } + else + { + mCubeMapFaceTex[i] = getCubeMapFace(i); + } } } } @@ -136,9 +126,10 @@ void CubemapData::createMap() if( initSuccess ) { mCubemap = GFX->createCubemap(); - if (!mCubeMapFace || mCubeMapFace->isNull()) + if (mCubeMapFaceAsset->isNull()) return; - mCubemap->initStatic(mCubeMapFace); + + mCubemap->initStatic(mCubeMapFaceTex); } } } @@ -150,18 +141,22 @@ void CubemapData::updateFaces() for( U32 i=0; i<6; i++ ) { //check mCubeMapFile first - if (getCubeMap() != StringTable->EmptyString()) + if (mCubeMapAsset.notNull()) { - mCubemap = TEXMGR->createCubemap(getCubeMap()); + mCubemap = TEXMGR->createCubemap(mCubeMapAsset->getImageFile()); return; } else { - if (!_setCubeMapFace(getCubeMapFace(i), i)) + if (!getCubeMapFace(i)) { Con::errorf("CubemapData::createMap - Failed to load texture '%s'", getCubeMapFace(i)); initSuccess = false; } + else + { + mCubeMapFaceTex[i] = getCubeMapFace(i); + } } } @@ -170,13 +165,13 @@ void CubemapData::updateFaces() mCubemap = NULL; mCubemap = GFX->createCubemap(); - mCubemap->initStatic( mCubeMapFace ); + mCubemap->initStatic(mCubeMapFaceTex); } } void CubemapData::setCubemapFile(FileName newCubemapFile) { - mCubeMapName = newCubemapFile; + _setCubeMap(newCubemapFile); } void CubemapData::setCubeFaceFile(U32 index, FileName newFaceFile) @@ -184,7 +179,7 @@ void CubemapData::setCubeFaceFile(U32 index, FileName newFaceFile) if (index >= 6) return; - mCubeMapFaceName[index] = newFaceFile; + _setCubeMapFace(newFaceFile, index); } void CubemapData::setCubeFaceTexture(U32 index, GFXTexHandle newFaceTexture) @@ -192,7 +187,7 @@ void CubemapData::setCubeFaceTexture(U32 index, GFXTexHandle newFaceTexture) if (index >= 6) return; - mCubeMapFace[index] = newFaceTexture; + mCubeMapFaceTex[index] = newFaceTexture; } DefineEngineMethod( CubemapData, updateFaces, void, (),, diff --git a/Engine/source/gfx/sim/cubemapData.h b/Engine/source/gfx/sim/cubemapData.h index c79dd4289..8fea60641 100644 --- a/Engine/source/gfx/sim/cubemapData.h +++ b/Engine/source/gfx/sim/cubemapData.h @@ -70,20 +70,16 @@ public: void setCubeFaceTexture(U32 index, GFXTexHandle newFaceTexture); - GFXTexHandle* getCubeFaceTexture(U32 faceIdx) { return &mCubeMapFace[faceIdx]; } + GFXTexHandle* getCubeFaceTexture(U32 faceIdx) { return &mCubeMapFaceTex[faceIdx]; } protected: - DECLARE_IMAGEASSET(CubemapData, CubeMap, onCubemapChanged, GFXStaticTextureSRGBProfile); - DECLARE_ASSET_SETGET(CubemapData, CubeMap); + DECLARE_IMAGEASSET_REFACTOR(CubemapData, CubeMap, GFXStaticTextureSRGBProfile); - DECLARE_IMAGEASSET_ARRAY(CubemapData, CubeMapFace, 6, onCubeMapFaceChanged); - DECLARE_IMAGEASSET_ARRAY_SETGET(CubemapData, CubeMapFace); + DECLARE_IMAGEASSET_ARRAY_REFACTOR(CubemapData, CubeMapFace, GFXStaticTextureSRGBProfile, 6); - void onCubeMapFaceChanged() {} + GFXTexHandle mCubeMapFaceTex[6]; GFXTexHandle mDepthBuff; GFXTextureTargetRef mRenderTarget; - - void onCubemapChanged() {} }; #endif // CUBEMAPDATA diff --git a/Engine/source/materials/materialDefinition.cpp b/Engine/source/materials/materialDefinition.cpp index 64e12bb23..98bdb9729 100644 --- a/Engine/source/materials/materialDefinition.cpp +++ b/Engine/source/materials/materialDefinition.cpp @@ -232,11 +232,6 @@ FRangeValidator glowMulRange(0.0f, 20.0f); FRangeValidator parallaxScaleRange(0.0f, 4.0f); FRangeValidator scrollSpeedRange(0.0f, 10.0f); FRangeValidator waveFreqRange(0.0f, 10.0f); -void Material::onImageAssetChanged() -{ - flush(); - reload(); -} void Material::initPersistFields() { @@ -495,18 +490,6 @@ void Material::initPersistFields() // They point at the new 'map' fields, but reads always return // an empty string and writes only apply if the value is not empty. // - addProtectedField("baseTex", TypeImageFilename, Offset(mDiffuseMapName, Material), - defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES, - "For backwards compatibility.\n@see diffuseMap\n", AbstractClassRep::FIELD_HideInInspectors); - addProtectedField("detailTex", TypeImageFilename, Offset(mDetailMapName, Material), - defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES, - "For backwards compatibility.\n@see detailMap\n", AbstractClassRep::FIELD_HideInInspectors); - addProtectedField("overlayTex", TypeImageFilename, Offset(mOverlayMapName, Material), - defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES, - "For backwards compatibility.\n@see overlayMap\n", AbstractClassRep::FIELD_HideInInspectors); - addProtectedField("bumpTex", TypeImageFilename, Offset(mNormalMapName, Material), - defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES, - "For backwards compatibility.\n@see normalMap\n", AbstractClassRep::FIELD_HideInInspectors); addProtectedField("colorMultiply", TypeColorF, Offset(mDiffuse, Material), defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES, "For backwards compatibility.\n@see diffuseColor\n", AbstractClassRep::FIELD_HideInInspectors);