From c76c5f7ee1f9a10159d66c5b9bfd04b13d835344 Mon Sep 17 00:00:00 2001 From: Areloch Date: Fri, 6 Aug 2021 01:06:36 -0500 Subject: [PATCH] Removed unneeded duplicate of blank sky skybox Fixed various inspector field editor button icons Fixed drag-n-drop apply logic for material assets Fixed up some convex shape editor material references Fixed tools overlay gui profile opaqueness flag Fixed uvEditor image asset binding/lookups Fixed decal editor preview display Fixed shape editor would you like to save your changes prompt Added additional sanity check for bad material reference in tsMesh Fixed saving of terrain asset when working in editor default level --- Engine/source/T3D/assets/GUIAsset.cpp | 4 +- Engine/source/T3D/assets/ImageAsset.cpp | 2 +- Engine/source/T3D/assets/MaterialAsset.cpp | 4 +- Engine/source/T3D/assets/ShapeAsset.cpp | 2 +- Engine/source/T3D/assets/TerrainAsset.cpp | 2 +- .../T3D/assets/TerrainMaterialAsset.cpp | 4 +- .../cinterface/c_simobjectInterface.cpp | 2 +- .../worldEditor/guiConvexShapeEditorCtrl.cpp | 18 +++---- Engine/source/ts/tsMesh.cpp | 2 +- .../scripts/assetTypes/material.tscript | 12 +++-- .../game/tools/base/images/materials.tscript | 15 ------ .../game/tools/base/images/skybox_1.jpg | Bin 12271 -> 0 bytes .../base/images/skybox_1_image.asset.taml | 8 --- .../game/tools/base/images/skybox_2.jpg | Bin 12667 -> 0 bytes .../base/images/skybox_2_image.asset.taml | 8 --- .../game/tools/base/images/skybox_3.jpg | Bin 12277 -> 0 bytes .../base/images/skybox_3_image.asset.taml | 8 --- .../game/tools/base/images/skybox_4.jpg | Bin 12073 -> 0 bytes .../base/images/skybox_4_image.asset.taml | 8 --- .../game/tools/base/images/skybox_5.jpg | Bin 11677 -> 0 bytes .../base/images/skybox_5_image.asset.taml | 8 --- .../game/tools/base/images/skybox_6.jpg | Bin 11875 -> 0 bytes .../base/images/skybox_6_image.asset.taml | 8 --- .../game/tools/convexEditor/main.tscript | 4 +- .../tools/decalEditor/decalEditorGui.tscript | 47 +++++++++++++++--- .../game/tools/gui/profiles.ed.tscript | 2 +- .../BaseGame/game/tools/gui/uvEditor.ed.gui | 26 ++-------- .../gui/guiMaterialPropertiesWindow.ed.gui | 2 +- .../scripts/materialEditor.ed.tscript | 8 +++ .../scripts/shapeEditor.ed.tscript | 5 +- .../scripts/menuHandlers.ed.tscript | 21 ++++++++ 31 files changed, 109 insertions(+), 121 deletions(-) delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_1.jpg delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_1_image.asset.taml delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_2.jpg delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_2_image.asset.taml delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_3.jpg delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_3_image.asset.taml delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_4.jpg delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_4_image.asset.taml delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_5.jpg delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_5_image.asset.taml delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_6.jpg delete mode 100644 Templates/BaseGame/game/tools/base/images/skybox_6_image.asset.taml diff --git a/Engine/source/T3D/assets/GUIAsset.cpp b/Engine/source/T3D/assets/GUIAsset.cpp index 798e84b67..aa3268d85 100644 --- a/Engine/source/T3D/assets/GUIAsset.cpp +++ b/Engine/source/T3D/assets/GUIAsset.cpp @@ -261,13 +261,13 @@ GuiControl* GuiInspectorTypeGUIAssetPtr::constructEditControl() dSprintf(szBuffer, sizeof(szBuffer), "echo(\"Game Object Editor not implemented yet!\");", retCtrl->getId()); mSMEdButton->setField("Command", szBuffer); - char bitmapName[512] = "tools/worldEditor/images/toolbar/shape-editor"; + char bitmapName[512] = "ToolsModule:GameTSCtrl_image"; mSMEdButton->setBitmap(StringTable->insert(bitmapName)); mSMEdButton->setDataField(StringTable->insert("Profile"), NULL, "GuiButtonProfile"); mSMEdButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile"); mSMEdButton->setDataField(StringTable->insert("hovertime"), NULL, "1000"); - mSMEdButton->setDataField(StringTable->insert("tooltip"), NULL, "Open this file in the State Machine Editor"); + mSMEdButton->setDataField(StringTable->insert("tooltip"), NULL, "Open this file in the GUI Editor"); mSMEdButton->registerObject(); addObject(mSMEdButton); diff --git a/Engine/source/T3D/assets/ImageAsset.cpp b/Engine/source/T3D/assets/ImageAsset.cpp index 52977ee9c..f1dfa97e0 100644 --- a/Engine/source/T3D/assets/ImageAsset.cpp +++ b/Engine/source/T3D/assets/ImageAsset.cpp @@ -508,7 +508,7 @@ GuiControl* GuiInspectorTypeImageAssetPtr::constructEditControl() dSprintf(szBuffer, sizeof(szBuffer), "ShapeEditorPlugin.openShapeAssetId(%d.getText());", retCtrl->getId()); mImageEdButton->setField("Command", szBuffer); - char bitmapName[512] = "tools/worldEditor/images/toolbar/shape-editor"; + char bitmapName[512] = "ToolsModule:GameTSCtrl_image"; mImageEdButton->setBitmap(StringTable->insert(bitmapName)); mImageEdButton->setDataField(StringTable->insert("Profile"), NULL, "GuiButtonProfile"); diff --git a/Engine/source/T3D/assets/MaterialAsset.cpp b/Engine/source/T3D/assets/MaterialAsset.cpp index d7374aa6a..6e6abc813 100644 --- a/Engine/source/T3D/assets/MaterialAsset.cpp +++ b/Engine/source/T3D/assets/MaterialAsset.cpp @@ -388,13 +388,13 @@ GuiControl* GuiInspectorTypeMaterialAssetPtr::constructEditControl() dSprintf(szBuffer, sizeof(szBuffer), "AssetBrowser.editAsset(%d.getText());", retCtrl->getId()); mEditButton->setField("Command", szBuffer); - char bitmapName[512] = "tools/worldEditor/images/toolbar/material-editor"; + char bitmapName[512] = "ToolsModule:material_editor_n_image"; mEditButton->setBitmap(StringTable->insert(bitmapName)); mEditButton->setDataField(StringTable->insert("Profile"), NULL, "GuiButtonProfile"); mEditButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile"); mEditButton->setDataField(StringTable->insert("hovertime"), NULL, "1000"); - mEditButton->setDataField(StringTable->insert("tooltip"), NULL, "Open this file in the Material Editor"); + mEditButton->setDataField(StringTable->insert("tooltip"), NULL, "Open this asset in the Material Editor"); mEditButton->registerObject(); addObject(mEditButton); diff --git a/Engine/source/T3D/assets/ShapeAsset.cpp b/Engine/source/T3D/assets/ShapeAsset.cpp index 67229a1a5..61b76d006 100644 --- a/Engine/source/T3D/assets/ShapeAsset.cpp +++ b/Engine/source/T3D/assets/ShapeAsset.cpp @@ -612,7 +612,7 @@ GuiControl* GuiInspectorTypeShapeAssetPtr::constructEditControl() dSprintf(szBuffer, sizeof(szBuffer), "ShapeEditorPlugin.openShapeAssetId(%d.getText());", retCtrl->getId()); mShapeEdButton->setField("Command", szBuffer); - char bitmapName[512] = "tools/worldEditor/images/toolbar/shape-editor"; + char bitmapName[512] = "ToolsModule:shape_editor_n_image"; mShapeEdButton->setBitmap(StringTable->insert(bitmapName)); mShapeEdButton->setDataField(StringTable->insert("Profile"), NULL, "GuiButtonProfile"); diff --git a/Engine/source/T3D/assets/TerrainAsset.cpp b/Engine/source/T3D/assets/TerrainAsset.cpp index 19071f0b6..40bc950b0 100644 --- a/Engine/source/T3D/assets/TerrainAsset.cpp +++ b/Engine/source/T3D/assets/TerrainAsset.cpp @@ -467,7 +467,7 @@ GuiControl* GuiInspectorTypeTerrainAssetPtr::constructEditControl() mShapeEdButton->setField("Command", "EditorGui.setEditor(TerrainEditorPlugin);"); - char bitmapName[512] = "tools/worldEditor/images/toolbar/shape-editor"; + char bitmapName[512] = "ToolsModule:TerrainBlock_image"; mShapeEdButton->setBitmap(StringTable->insert(bitmapName)); mShapeEdButton->setDataField(StringTable->insert("Profile"), NULL, "GuiButtonProfile"); diff --git a/Engine/source/T3D/assets/TerrainMaterialAsset.cpp b/Engine/source/T3D/assets/TerrainMaterialAsset.cpp index 085788a39..717d497aa 100644 --- a/Engine/source/T3D/assets/TerrainMaterialAsset.cpp +++ b/Engine/source/T3D/assets/TerrainMaterialAsset.cpp @@ -244,7 +244,7 @@ GuiControl* GuiInspectorTypeTerrainMaterialAssetPtr::constructEditControl() TerrainMaterial* materialDef = nullptr; - char bitmapName[512] = "tools/worldEditor/images/toolbar/shape-editor"; + char bitmapName[512] = "ToolsModule:material_editor_n_image"; /*if (!Sim::findObject(matAsset->getMaterialDefinitionName(), materialDef)) { @@ -271,7 +271,7 @@ GuiControl* GuiInspectorTypeTerrainMaterialAssetPtr::constructEditControl() StringBuilder strbld; strbld.append(matAsset->getMaterialDefinitionName()); strbld.append("\n"); - strbld.append("Open this file in the Material Editor"); + strbld.append("Open this asset in the Material Editor"); mMatPreviewButton->setDataField(StringTable->insert("tooltip"), NULL, strbld.data()); diff --git a/Engine/source/cinterface/c_simobjectInterface.cpp b/Engine/source/cinterface/c_simobjectInterface.cpp index 1c687af28..0464b97a5 100644 --- a/Engine/source/cinterface/c_simobjectInterface.cpp +++ b/Engine/source/cinterface/c_simobjectInterface.cpp @@ -53,7 +53,7 @@ DefineNewEngineMethod(SimObject, InspectPreApply, void, (), , "") object->inspectPreApply(); } -DefineNewEngineMethod(SimObject, InspectPostApply, void, (), , "") +DefineEngineMethod(SimObject, InspectPostApply, void, (), , "") { object->inspectPostApply(); } diff --git a/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp b/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp index db9448628..4fcb9c6b8 100644 --- a/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp +++ b/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp @@ -84,7 +84,7 @@ GuiConvexEditorCtrl::GuiConvexEditorCtrl() mCtrlDown( false ), mGridSnap(false) { - mMaterialName = StringTable->insert("Grid512_OrangeLines_Mat"); + mMaterialName = StringTable->insert("Prototyping:WallOrange"); } GuiConvexEditorCtrl::~GuiConvexEditorCtrl() @@ -115,7 +115,7 @@ void GuiConvexEditorCtrl::onRemove() void GuiConvexEditorCtrl::initPersistFields() { addField( "isDirty", TypeBool, Offset( mIsDirty, GuiConvexEditorCtrl ) ); - addField( "materialName", TypeString, Offset(mMaterialName, GuiConvexEditorCtrl) ); + addField( "materialName", TypeMaterialAssetId, Offset(mMaterialName, GuiConvexEditorCtrl) ); Parent::initPersistFields(); } @@ -249,13 +249,13 @@ void GuiConvexEditorCtrl::setVisible( bool val ) //Set the texture to a representatory one so we know what's what if (isTrigger) - proxyShape->mMaterialName = "TriggerProxyMaterial"; + proxyShape->mMaterialName = "ToolsModule:TriggerProxyMaterial"; else if (isPortal) - proxyShape->mMaterialName = "PortalProxyMaterial"; + proxyShape->mMaterialName = "ToolsModule:PortalProxyMaterial"; else if (isZone) - proxyShape->mMaterialName = "ZoneProxyMaterial"; + proxyShape->mMaterialName = "ToolsModule:ZoneProxyMaterial"; else if (isOccluder) - proxyShape->mMaterialName = "OccluderProxyMaterial"; + proxyShape->mMaterialName = "ToolsModule:OccluderProxyMaterial"; proxyShape->_updateMaterial(); @@ -1459,7 +1459,7 @@ bool GuiConvexEditorCtrl::isShapeValid( ConvexShape *shape ) void GuiConvexEditorCtrl::setupShape( ConvexShape *shape ) { - shape->setField( "material", mMaterialName ); + shape->setField( "materialAsset", mMaterialName ); shape->registerObject(); updateShape( shape ); @@ -2284,7 +2284,7 @@ ConvexEditorTool::EventResult ConvexEditorCreateTool::on3DMouseDown( const Gui3D mNewConvex->setTransform( objMat ); - mNewConvex->setField( "material", Parent::mEditor->mMaterialName ); + mNewConvex->setField( "materialAsset", Parent::mEditor->mMaterialName ); mNewConvex->registerObject(); mPlaneSizes.set( 0.1f, 0.1f, 0.1f ); @@ -2509,7 +2509,7 @@ ConvexShape* ConvexEditorCreateTool::extrudeShapeFromFace( ConvexShape *inShape, } //newShape->setField( "material", Parent::mEditor->mMaterialName ); - newShape->setField("material", inShape->getMaterialName()); + newShape->setField("materialAsset", inShape->getMaterialName()); newShape->registerObject(); mEditor->updateShape( newShape ); diff --git a/Engine/source/ts/tsMesh.cpp b/Engine/source/ts/tsMesh.cpp index 952491193..bce5422c0 100644 --- a/Engine/source/ts/tsMesh.cpp +++ b/Engine/source/ts/tsMesh.cpp @@ -264,7 +264,7 @@ void TSMesh::innerRender( TSMaterialList *materials, const TSRenderState &rdata, // If we don't have a material instance after the overload then // there is nothing to render... skip this primitive. matInst = state->getOverrideMaterial( matInst ); - if ( !matInst || !matInst->isValid()) + if ( !matInst || !matInst->isValid() || !matInst->getMaterial()) continue; // If the material needs lights then gather them diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript index 432eac0c8..48c97ebf5 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript @@ -492,6 +492,12 @@ function AssetBrowser::onMaterialAssetEditorDropped(%this, %assetDef, %position) %obj.materialSlot0 = %assetDef.getAssetId(); echo("MaterialSlot0 set to " @ %assetDef.getAssetId()); } + else if(%obj.isField("materialAsset")) + { + %obj.materialAsset = %assetDef.getAssetId(); + echo("materialAsset set to " @ %assetDef.getAssetId()); + } + %obj.inspectPostApply(); } EWorldEditor.isDirty = true; @@ -512,9 +518,9 @@ function GuiInspectorTypeMaterialAssetPtr::onControlDropped( %this, %payload, %p if(%assetType $= "MaterialAsset") { - //%assetDef = AssetDatabase.acquireAsset(%module @ ":" @ %assetName); - - %this.setMaterialAsset(%module @ ":" @ %assetName); + %cmd = %this @ ".apply(\""@ %module @ ":" @ %assetName @ "\");"; + echo("Changing asset via the " @ %cmd @ " command"); + eval(%cmd); } EWorldEditor.isDirty = true; diff --git a/Templates/BaseGame/game/tools/base/images/materials.tscript b/Templates/BaseGame/game/tools/base/images/materials.tscript index c7ff23927..b1525a317 100644 --- a/Templates/BaseGame/game/tools/base/images/materials.tscript +++ b/Templates/BaseGame/game/tools/base/images/materials.tscript @@ -3,21 +3,6 @@ // Copyright GarageGames, LLC 2011 //----------------------------------------------------------------------------- -singleton CubemapData( BlankSkyCubemap ) -{ - cubeFace[0] = "./skybox_1"; - cubeFace[1] = "./skybox_2"; - cubeFace[2] = "./skybox_3"; - cubeFace[3] = "./skybox_4"; - cubeFace[4] = "./skybox_5"; - cubeFace[5] = "./skybox_6"; -}; - -singleton Material( BlankSkyMat ) -{ - cubemap = BlankSkyCubemap; -}; - singleton Material(White) { diffuseMapAsset[0] = "ToolsModule:white_image"; diff --git a/Templates/BaseGame/game/tools/base/images/skybox_1.jpg b/Templates/BaseGame/game/tools/base/images/skybox_1.jpg deleted file mode 100644 index 871322e94065f6e27137e51380add07c1b27b7fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12271 zcmeG?2Xs@%vU{(pWw{rOF(BLl7xf0lmL(Y*Fg9)&LISdMZ3|>cNOFOYgyKLbF9cIU zOQ@mdL4Z)xz(5EIkKRf04Ln*x5)(oRkoeDDxyT8S_mlt6$vL0Z+0pFG?Ck99?B08K zx9MzC1M=^ek(Gf6l0cd8LroVMc72Vx6rt>F)B_>JMI0g!F#sdrhlp^*qH%;uh)%8e zNFu&jh6EWA0*E3YI|wn22Lt~46f3if$myl^Z zuGw?})gnHZ%k|>&y}bAV-aPMs5I;WOFC;7|C?qH-EPzj^=0A7gw~+Ah_V)4h@%Q!h z5BBx-4aUGX*j**yKT*)M8wGHY00|gGBq9R{MgYE{nmJ05gEW>=r0uX$BdBB1caUvx8?X+ms#^ z9g?@FL?U%eJf`Ku)a5r`yk&ICLYHrz6swzEVA9vGaLGFyFT6zkxTSXQiOS2jGvel~ zeD(dg`%eD*r+2pQKXv6!QEAoWd8@X4div^JMc=_?)l=SFz5T$MYxe>WNrJUZ+9nR0 zC8JH~CJJPN1*0Q_SmFt@g0TgA@{To1qDwA1Ce~^5LyS)8tr#{ofD&P3IAxLAM!zQqhU5=y@0FR@P<3q&6M(ESzilj@zXz<|Ro&q)gAs zX5z?0h!X)biG0-Hrp3@S|Eu{^e)(YbeP7k4^Ltj*oau|@8Q-~i%~6SGGmcJz))h zQ&iAJF@s07(i4H}L_KnI<_ zOP(|VaB*&zJOx@9%?9G4wbEjNKfDyPOKg=^lQXAeq!CKZ_414^+%z3%1+d&&Y}PU; z(`f)z>hdh7yKEKBWdRn*D=Tl|<1*W6F&imok!64rN<_PMSTqmFfsi?LAxr0>n^Wen zRodH;*fxi`%xtBsl@(Bjug}NYb7&freGHW@TVKjbISek!1O!wt#!fX0^W4Iif;m|g zWdiv7zwSSy(qSpk7Z*TN&CbQnZ%@f~mQn2}Y=gyBU?^)x^EFaXkE(HHIWr5g2b9=s z7OarlLT)GQRc>>P)mY4BEuQjocRsU)3^h3>s?<Xw-@&=Dbw04 zHiw6E1Kj%4`?fNm3L0p$Vqbf?Z1$W=my>D<49w$MAdr4X<(Jr85KzCPd&3Zy|5luy zeeqZs;zK4=8)@7<)9`zRJA`?(9F{<25diEqL319_Tvd(2;JN$kN&W0eef932cv905 z)(v6`p+d+64lzHZK_*zpOArO&mW#>(cR_a27(A*_&>u($kQU`5DOTu?Y4s!WloeFVL0)HN0M3d&^=)KplkPIXO6B&}Qx zI3_1Y3TP46sFXELo&dsgi}_WU)9ABodut ztS&=MqSYDIqCrPFjSjQjWwu!bSfc@+Y_60@u+`m(3VW;C$9k(p&}3|tv%}&|H*PW} zQx>X%vbvn$SrK*st<>J~MbcWOo$6LLJsd5Sz`1#NHFG|`Qp@PkE1t8pDX5j5{q!0Y z6|K@vm%a)*|Fr0E;^jLzk8;{79Y#uD1)Ym(G0|l%Z5xDkUBaApy`kWf@bL{{POGS0 zt#wca7d$lJ!POErZ7;VTA9UD;W@$-J;nx zleu(Edr^_Rpygw*ohU@F$>1{lp|HuQF10x-4B$g^g`tc}9%-k_A_c7js-~ZF&@z}O z@uX*IwYd&kso4SyXI|fQL6%-C7pdg(L~)Xcw%0xO>TH8!6a_Oe!(eezG$T7(on>{p z3|1qRrAvtfFC>}GCbdSZ(utKqu|}+y=yW2HQYzGH({)0TOefb$6mBO#U7gKXi6gY7 zt_kX@G#NTwhESL7_k8i`bvks*?(pt4FU(zmqheuFYt{+tdR6KYTajT`XvONoS@ z(!^pMUY1HXQ32y96ef!>Y~~O71AZI3&}xRU5I5Hw2<=o+I&&H2#8jC)K`c{1Rzg-K zz@n2NR!AWOO({)~NraF^fCF7ANf4{#2@;_wK_XH@Rwc;9kR@WEfgXhrGRP`$Sq6N_ z5~)PoOO&D0>%>~2NUW7A6hfg)qmk=1BB@Lvmuls@j7R|vcy+G1hO!jv%rF#A+7}Wq zx{WjBaU43B@?oilpaIv>((St_kt^lW1gTIZ7t#=nSBS)JD5fcHC;_@mFsxVZ7BtYDj1RRJVZbbr)#SrQOr0arP zr6MVCF$8M?x+w}8S7N9FI|0%%DjDDkF{UeE2mr!BNkuBqi6O45QsTNQC6-Ysv5ZPZ z%cw*&jX6Vz!DqTx|+uMv+YlT`YQ;U^<+U90Q8p{pVGQ6%PNB)IgDE>k(RBDOpZ_x{h zR4>yg#Y$zy|9mVYQg}`KTl7LJR%vA#sZ!M(QNMruJ#H4bpZ{WsS|a&d^a55SQHE5g z(+HpR5PxznU@WA6kFogUSCJ?8g5H?_UmlBO{GRV#WRrip{?a^;Zvt4-XcByAV6^oc zr%%h5$g}@v9(d+~XC8RwfoC3g=7Il59%$PorL6GbPz`&aO_%t^u#+=9H!mk6Yk;2K z(B)?iFk5XT9HUiOT@JjpQ#@p-fO8m*(Y)X^4-U)>MyEYHKLeljAlUX1;Qb$rx23zM z-KRh&5;JoJf;RepgasJw4mhnLazR>Rg56HQYXP@ZyX=^bPd|c7Mq!-9M|Z&vFc9!C zjF-9b1X{+8r(xVwVTFS-65DJyRhTfo5AfHjD)9jtV*ucjtISk2;3ol(wp3P_0mtX9 z!4;GN4)vJ$WF^`~8Os3|0?v07w2J0Av+Q^q9h z(AM;a053j^dDxMVN0m|z z3bs52MG$3XYZ(l;)nul3@y*tDyQdx+{$w=|4H$LDH6TGNe?`H=laT+BV8rN$mhv2ax^)XtR-J3=ab9Hcgbz!9`XzF6xl$2OWuL2RNjnGMmI(xL&?xG zau`Dyr3?q-WyUndJjQay2F5PN0mcbN1LG#+XC|8t?SnZ1~q%tEG-Ihy%0a|UxE za}9GFb06~r^CGj6`76tZ6~XGsQnRvH#jG+`HES|!9%~hAD{DXN6zdA>E}P8`Wyi4< z>`e9$_DJ@N>>2F0*c;iq*~i$I*>^Y`PDf5pP6{W7W8kzgLWx+AGJ)j-}C;=`=a;H{6KyWzLr0XU&()+ zznZ_Be~y3K$HynuC(UQ5kIUzEpS3=FeZKa&?;GTsf{Q zQWLT$Mqm-l z7wi)>c8lni*{!nMvTldFJ&cTtER38OxiRvqC|;B@sx)d&RDD!qbl2$Y=yB2OqtC~9 z#VBLSW8RE85OXg!E_QJ2l-TXD*W<$Cvf{?Zt&jUM-X}gaesuiu_>+ES&#A_i+UXCN%oZYH1~X~=dlD9>=0WMmM5G^F#Nd8qQ6Iz5Tg%?DDqJE-@qFtgN#XZDE@gng_iH{^h@`_}K>Se#k6>^7sgZzdfS}{VgSaC)ftjtx;P=2OjsnS)is6JHvtd^@?>dopO zdL{N6)oWd^>%HT8Q@vOAzMK-7Vn|t*($GiHXGEW+eHv1`r5aL~r(Q~nN;9RcO1q}% zt{JI$SMz9HT|Aet$j(mTgTA#)lJhK)(7ef^$Yc1XGCU{WvtI=>?`a0V&C1F ztjzwIvogNemqt^JQ@mo`xX^!azl|t1~ z*Gf}L>q@VerIgJsyHTE6KCk?yS!-TszBMv)BmGPCYR$i>?Q?;n-esxjx zmYRSXYt5lCJ;qEOb8T$K*mquJzG!^0eq6V46UJS9N%PXOmx-54Uao&7>Xq78u8i+H ze$52lgi#azHBmURZsJdq22a{m+qrgp?d4bdzPf(0?_|g1GgEp^S@Ih5HS=qSr%I+S znELB9)3nd03#ZSU{%D4A#^?VK{bT+=nqDt`{qRir%(vfQzhQmj^sLlbYw7~(#@1b) zojrTo9KoDvbAFmTeD1+{(s@hXX2bje^LH$WUhu|(M+?gro?4W?Xyf9D#ZwpG zd&~6J@we07-ms+elIcqxEHy7ZyR7fBZOdbq&s)J>QMKag%A%DA-ci1@c2)SQ>8pNO zZC%~4CU4EYwTiWC*F~(Gxt?5Kx&Fqx!`?mmPu)LvY)IU&Y-8xg>F=TUD&PBN(}+!{ zH}~IMzeTxa!}~GsFWwrob=o#!+n8;Q+sn5%>=?4+*v@`C>v#3qwe^Ff4_1HJ?ZZVM zg?u#gW8TNLA2)q6_LDoi?YnR8Dcf_oet7+by~TS^?i;l4@c#b$Kl?P})4c~Y2R`{M z<+BeDst@k`T>1I-FXUfrJ0v@_^T`A8wXWCJUKd~g@J7asqu)ID&6RKM-#)xK z`MZGc7JncA{rf+p{cxzUxbey@$E~IxXWZ_1d-YG!pX%@A-ue1&#odSZrrqy&f6dRz zpAS43{NUQd>PMVM^MC37%dTJh|N3Q91>8VvyX%_mMQ@w{p%atE zAlU?JzUxbp3{P(R8$=|*z;}Jw90mZ=Nsx>HCSt*5U(FzPkO40H28(Ac(TT$N@EM`msQV2aId-Pz+(333A4n@HZ=zCId(BBJtVKhaZ3^{ z)lLkp%a2)Z++5Fb9+zFxP3llE8*V~}b&Qqk!{bb@LdB0Ow(O1Xe&X`&+BqxVZ*Ovj q$311wYs&3xeu~NMuM;o6_HG~R&BC+mHw|t&>RCAESvc-lIQQRdFK|Wx diff --git a/Templates/BaseGame/game/tools/base/images/skybox_1_image.asset.taml b/Templates/BaseGame/game/tools/base/images/skybox_1_image.asset.taml deleted file mode 100644 index e746286d9..000000000 --- a/Templates/BaseGame/game/tools/base/images/skybox_1_image.asset.taml +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/Templates/BaseGame/game/tools/base/images/skybox_2.jpg b/Templates/BaseGame/game/tools/base/images/skybox_2.jpg deleted file mode 100644 index 3e2a810dede0dca53a5c4d00cb5a9ca6ddcfbef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12667 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 diff --git a/Templates/BaseGame/game/tools/base/images/skybox_3.jpg b/Templates/BaseGame/game/tools/base/images/skybox_3.jpg deleted file mode 100644 index 757f99b3338112c7686591170cb2f258282be7af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12277 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 diff --git a/Templates/BaseGame/game/tools/base/images/skybox_3_image.asset.taml b/Templates/BaseGame/game/tools/base/images/skybox_3_image.asset.taml deleted file mode 100644 index 32645faff..000000000 --- a/Templates/BaseGame/game/tools/base/images/skybox_3_image.asset.taml +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/Templates/BaseGame/game/tools/base/images/skybox_4.jpg b/Templates/BaseGame/game/tools/base/images/skybox_4.jpg deleted file mode 100644 index 30eb1d2a392101bb3eecbf7fdfe05fa5561f7fa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12073 zcmeG?2Xs@%vU{(pWw{q@V?ekAF6s@8ElV;sU~JqdApu#swuNO$NOFOYgyKLbF9cIU zOQ@mdL4Z)xz(5EIkKRf04Ln*x5)(p6An~8Qa*-1P@8|u0&O7I`Iy-lEW_EXWcD87D zo6j{jBLDuG*_ntS36upt)O?9y*Vmd$5z5IyJrP1 F^126)9h=@Qe8b_#v=-h^n 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 Xy;XE>!{#B)$2=3qJrgH96X*XMM}soe diff --git a/Templates/BaseGame/game/tools/base/images/skybox_4_image.asset.taml b/Templates/BaseGame/game/tools/base/images/skybox_4_image.asset.taml deleted file mode 100644 index d3af5d35d..000000000 --- a/Templates/BaseGame/game/tools/base/images/skybox_4_image.asset.taml +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/Templates/BaseGame/game/tools/base/images/skybox_5.jpg b/Templates/BaseGame/game/tools/base/images/skybox_5.jpg deleted file mode 100644 index 10a24db73f7db23895e2690d8f18ff0d840139f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11677 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 diff --git a/Templates/BaseGame/game/tools/base/images/skybox_5_image.asset.taml b/Templates/BaseGame/game/tools/base/images/skybox_5_image.asset.taml deleted file mode 100644 index add5c24bc..000000000 --- a/Templates/BaseGame/game/tools/base/images/skybox_5_image.asset.taml +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/Templates/BaseGame/game/tools/base/images/skybox_6.jpg b/Templates/BaseGame/game/tools/base/images/skybox_6.jpg deleted file mode 100644 index 3ec28d02e28a84b5e0f56c190757240d13eb9c6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11875 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 diff --git a/Templates/BaseGame/game/tools/base/images/skybox_6_image.asset.taml b/Templates/BaseGame/game/tools/base/images/skybox_6_image.asset.taml deleted file mode 100644 index 36fbcd8c8..000000000 --- a/Templates/BaseGame/game/tools/base/images/skybox_6_image.asset.taml +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/Templates/BaseGame/game/tools/convexEditor/main.tscript b/Templates/BaseGame/game/tools/convexEditor/main.tscript index 1caced468..6e0a41970 100644 --- a/Templates/BaseGame/game/tools/convexEditor/main.tscript +++ b/Templates/BaseGame/game/tools/convexEditor/main.tscript @@ -209,14 +209,14 @@ function ConvexEditorPlugin::onSaveMission( %this, %missionFile ) function ConvexEditorPlugin::initSettings( %this ) { EditorSettings.beginGroup( "ConvexEditor", true ); - EditorSettings.setDefaultValue( "MaterialName", "Grid_512_Orange" ); + EditorSettings.setDefaultValue( "MaterialName", "Prototyping:WallOrange" ); EditorSettings.endGroup(); } function ESettingsWindow::getConvexEditorSettings(%this) { SettingsInspector.startGroup("General"); - SettingsInspector.addSettingsField("ConvexEditor/MaterialName", "Default Material Name", "string", ""); + SettingsInspector.addSettingsField("ConvexEditor/MaterialName", "Default Material Asset Name", "TypeMaterialAssetId", ""); SettingsInspector.endGroup(); } diff --git a/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript b/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript index 3a6545e02..f3bfc991e 100644 --- a/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript +++ b/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript @@ -100,7 +100,7 @@ function DecalEditorGui::syncNodeDetails( %this ) return; %lookupName = DecalEditorGui.getDecalLookupName( %decalId ); - DecalEditorGui.updateInstancePreview( %lookupName.material ); + DecalEditorGui.updateInstancePreview( %lookupName.materialAsset ); DecalEditorDetailContainer-->instanceId.setText(%decalId @ " " @ %lookupName); %transformData = DecalEditorGui.getDecalTransform(%decalId); @@ -131,7 +131,7 @@ function DecalDataList::onSelect( %this, %id, %text ) //Canvas.pushDialog( DecalEditDlg ); DecalInspector.inspect( %data ); - DecalEditorGui.updateDecalPreview( %data.material ); + DecalEditorGui.updateDecalPreview( %data.materialAsset ); } function RetargetDecalButton::onClick( %this ) @@ -295,7 +295,7 @@ function DecalEditorTreeView::addNodeTree(%this, %nodeName, %parentName) function DecalInspector::onInspectorFieldModified( %this, %object, %fieldName, %arrayIndex, %oldValue, %newValue ) { - if( %fieldName $= "Material" ) + if( %fieldName $= "Material" || %fieldName $= "MaterialAsset") DecalEditorGui.updateDecalPreview( %newValue ); // Same work to do as for the regular WorldEditor Inspector. @@ -322,17 +322,50 @@ function DecalInspector::removeDirty() function DecalEditorGui::updateDecalPreview( %this, %material ) { if( isObject( %material ) ) - DecalPreviewWindow-->decalPreview.setBitmap( MaterialEditorGui.searchForTexture( %material.getId(), %material.diffuseMap[0]) ); + { + DecalPreviewWindow-->decalPreview.setBitmap( %material.getDiffuseMap(0) ); + } else - DecalPreviewWindow-->decalPreview.setBitmap("tools/materialEditor/gui/unknownImage"); + { + if(AssetDatabase.isDeclaredAsset(%material)) + { + %assetDef = AssetDatabase.acquireAsset(%material); + %difMap = %assetDef.materialDefinitionName.getDiffuseMap(0); + AssetDatabase.acquireAsset(%material); + + if(%difMap !$= "" && %difMap !$= "Core_Rendering:missingTexture") + { + DecalPreviewWindow-->decalPreview.setBitmap( %difMap ); + return; + } + } + DecalPreviewWindow-->decalPreview.setBitmap("ToolsModule:unknownImage_image"); + } } function DecalEditorGui::updateInstancePreview( %this, %material ) { if( isObject( %material ) ) - DecalPreviewWindow-->instancePreview.setBitmap( MaterialEditorGui.searchForTexture( %material.getId(), %material.diffuseMap[0]) ); + { + DecalPreviewWindow-->instancePreview.setBitmap( %material.getDiffuseMap(0) ); + } else - DecalPreviewWindow-->instancePreview.setBitmap("tools/materialEditor/gui/unknownImage"); + { + if(AssetDatabase.isDeclaredAsset(%material)) + { + %assetDef = AssetDatabase.acquireAsset(%material); + %difMap = %assetDef.materialDefinitionName.getDiffuseMap(0); + AssetDatabase.acquireAsset(%material); + + if(%difMap !$= "" && %difMap !$= "Core_Rendering:missingTexture") + { + DecalPreviewWindow-->instancePreview.setBitmap( %difMap ); + return; + } + } + + DecalPreviewWindow-->instancePreview.setBitmap("ToolsModule:unknownImage_image"); +} } function DecalEditorGui::rebuildInstanceTree( %this ) diff --git a/Templates/BaseGame/game/tools/gui/profiles.ed.tscript b/Templates/BaseGame/game/tools/gui/profiles.ed.tscript index 9314bcc5d..c95f2bc6a 100644 --- a/Templates/BaseGame/game/tools/gui/profiles.ed.tscript +++ b/Templates/BaseGame/game/tools/gui/profiles.ed.tscript @@ -479,7 +479,7 @@ new GuiControlProfile( ToolsGuiScrollProfile ) if( !isObject( ToolsGuiOverlayProfile ) ) new GuiControlProfile( ToolsGuiOverlayProfile ) { - opaque = true; + opaque = false; fillColor = EditorSettings.value("Theme/windowBackgroundColor"); fontColor = EditorSettings.value("Theme/fieldTextColor"); fontColorHL = EditorSettings.value("Theme/fieldTextGLColor"); diff --git a/Templates/BaseGame/game/tools/gui/uvEditor.ed.gui b/Templates/BaseGame/game/tools/gui/uvEditor.ed.gui index 3568ec36d..bddecffc3 100644 --- a/Templates/BaseGame/game/tools/gui/uvEditor.ed.gui +++ b/Templates/BaseGame/game/tools/gui/uvEditor.ed.gui @@ -499,37 +499,19 @@ function UVEditor::showDialog( %this, %applyCallback, %obj, %uv) // Get the preview bitmap. Code copied from Material Selector. %material = %obj.material; - if( %material.toneMap[0] $= "" && %material.diffuseMap[0] $= "" && !isObject(%material.cubemap) ) + if( %material.getToneMap(0) $= "" && %material.getDiffuseMap(0) $= "" && !isObject(%material.cubemap) ) { %previewImage = "core/images/warnmat"; } else { if( %material.toneMap[0] !$= "" ) - %previewImage = %material.toneMap[0]; - else if( %material.diffuseMap[0] !$= "" ) - %previewImage = %material.diffuseMap[0]; + %previewImage = %material.getToneMap(0); + else if( %material.getDiffuseMap(0) !$= "" ) + %previewImage = %material.getDiffuseMap(0); else if( %material.cubemap.cubeFace[0] !$= "" ) %previewImage = %material.cubemap.cubeFace[0]; - - %materialDiffuse = %previewImage; - %materialPath = %material.getFilename(); - if( strchr( %materialDiffuse, "/") $= "" ) - { - %k = 0; - while( strpos( %materialPath, "/", %k ) != -1 ) - { - %foo = strpos( %materialPath, "/", %k ); - %k = %foo + 1; } - - %foobar = getSubStr( %materialPath , %k , 99 ); - %previewImage = strreplace( %materialPath, %foobar, %previewImage ); - } - else - %previewImage = strreplace( %materialPath, %materialPath, %previewImage ); - } - UVEditor-->bitmapPreview.setBitmap(%previewImage); // Set up the color popup diff --git a/Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui b/Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui index 93f3b6b85..ef31efa50 100644 --- a/Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui +++ b/Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui @@ -4748,7 +4748,7 @@ tooltip = "Create New Material"; buttonType = "PushButton"; useMouseEvents = "0"; - bitmap = "tools/gui/images/new"; + bitmap = "ToolsModule:new_n_image"; }; // Save Button new GuiBitmapButtonCtrl() { diff --git a/Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript b/Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript index 44b4f0971..afed77291 100644 --- a/Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript +++ b/Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript @@ -589,6 +589,14 @@ function MaterialEditorGui::searchForTexture(%this,%material, %texture) { if( %texture !$= "" ) { + if(AssetDatabase.isDeclaredAsset(%texture)) + { + %assetDef = AssetDatabase.acquireAsset(%texture); + %imagePath = %assetDef.getImagePath(); + AssetDatabase.releaseAsset(%texture); + + return %imagePath; + } // set the find signal as false to start out with %isFile = false; // sete the formats we're going to be looping through if need be diff --git a/Templates/BaseGame/game/tools/shapeEditor/scripts/shapeEditor.ed.tscript b/Templates/BaseGame/game/tools/shapeEditor/scripts/shapeEditor.ed.tscript index 2302226ad..b8e7061e2 100644 --- a/Templates/BaseGame/game/tools/shapeEditor/scripts/shapeEditor.ed.tscript +++ b/Templates/BaseGame/game/tools/shapeEditor/scripts/shapeEditor.ed.tscript @@ -270,8 +270,9 @@ function ShapeEdSelectWindow::onSelect( %this, %path ) // Prompt user to save the old shape if it is dirty if ( ShapeEditor.isDirty() ) { - %cmd = "showImportDialog( \"" @ %path @ "\", \"ShapeEditor.selectShape( \\\"" @ %path @ "\\\", "; - toolsMessageBoxYesNoCancel( "Shape Modified", "Would you like to save your changes?", %cmd @ "true );\" );", %cmd @ "false );\" );" ); + %cmdY = "showImportDialog( \"" @ %path @ "\", \"ShapeEditor.selectShape( \"" @ %path @ "\", true)\" );"; + %cmdN = "showImportDialog( \"" @ %path @ "\", \"ShapeEditor.selectShape( \"" @ %path @ "\", false)\" );"; + toolsMessageBoxYesNoCancel( "Shape Modified", "Would you like to save your changes?", %cmdY, %cmdN,"" ); } else { diff --git a/Templates/BaseGame/game/tools/worldEditor/scripts/menuHandlers.ed.tscript b/Templates/BaseGame/game/tools/worldEditor/scripts/menuHandlers.ed.tscript index 3fb4b1652..ee18a443f 100644 --- a/Templates/BaseGame/game/tools/worldEditor/scripts/menuHandlers.ed.tscript +++ b/Templates/BaseGame/game/tools/worldEditor/scripts/menuHandlers.ed.tscript @@ -246,6 +246,27 @@ function EditorSaveAsDefaultLevel() function doEditorSaveAsDefaultLevel() { %success = getScene(0).save("tools/levels/DefaultEditorLevel.mis"); + + if(ETerrainEditor.isDirty) + { + // Find all of the terrain files + initContainerTypeSearch($TypeMasks::TerrainObjectType); + + while ((%terrainObject = containerSearchNext()) != 0) + { + if(%terrainObject.terrainAsset !$= "") + { + //we utilize a terrain asset, so we'll update our dependencies while we're at it + %terrainObject.saveAsset(); + } + else + { + %terrainObject.save(%terrainObject.terrainFile); + } + } + } + + ETerrainPersistMan.saveDirty(); } function EditorResetDefaultLevel()