Merge remote-tracking branch 'devhead/Preview4_0' into tsneo

# Conflicts:
#	Engine/source/platform/types.visualc.h
#	Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript
#	Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrain.tscript
#	Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript
#	Templates/BaseGame/game/tools/gui/scriptEditorDlg.ed.gui
This commit is contained in:
Jeff Hutchinson 2021-09-01 22:26:23 -04:00
commit 17231ca9fb
51 changed files with 736 additions and 488 deletions

View file

@ -438,15 +438,15 @@ ImageAsset::ImageTypes ImageAsset::getImageTypeFromName(const char* name)
} }
DefineEngineMethod(ImageAsset, getImagePath, const char*, (), , DefineEngineMethod(ImageAsset, getImagePath, const char*, (), ,
"Creates an instance of the given GameObject given the asset definition.\n" "Gets the image filepath of this asset.\n"
"@return The GameObject entity created from the asset.") "@return File path of the image file.")
{ {
return object->getImagePath(); return object->getImagePath();
} }
DefineEngineMethod(ImageAsset, getImageInfo, const char*, (), , DefineEngineMethod(ImageAsset, getImageInfo, const char*, (), ,
"Creates an instance of the given GameObject given the asset definition.\n" "Gets the info and properties of the image.\n"
"@return The GameObject entity created from the asset.") "@return The info/properties of the image.")
{ {
return object->getImageInfo(); return object->getImageInfo();
} }

View file

@ -429,6 +429,13 @@ void TerrainAsset::copyTo(SimObject* object)
Parent::copyTo(object); Parent::copyTo(object);
} }
DefineEngineMethod(TerrainAsset, getTerrainFilePath, const char*, (), ,
"Gets the terrain filepath of this asset.\n"
"@return File path of the terrain file.")
{
return object->getTerrainFilePath();
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// GuiInspectorTypeAssetId // GuiInspectorTypeAssetId
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View file

@ -284,8 +284,8 @@ class String::StringData : protected StringDataImpl
delete [] mUTF16; delete [] mUTF16;
} }
void* operator new(size_t size, U32 len); void* TORQUE_NOINLINE operator new(size_t size, U32 len);
void* operator new( size_t size, U32 len, DataChunker& chunker ); void* TORQUE_NOINLINE operator new( size_t size, U32 len, DataChunker& chunker );
void operator delete(void *); void operator delete(void *);
bool isShared() const bool isShared() const

View file

@ -881,6 +881,12 @@ void GuiPopUpMenuCtrl::onRender( Point2I offset, const RectI &updateRect )
// Do we render a bitmap border or lines? // Do we render a bitmap border or lines?
if ( mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size() ) if ( mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size() )
{ {
if (mProfile->mBitmapArrayRects[0].extent.y < baseRect.extent.y)
{
//if our bitmap is smaller than the height of our ctrl, we'll nudge it towards the center
U32 nudge = (baseRect.extent.y - mProfile->mBitmapArrayRects[0].extent.y) / 2;
baseRect.point.y += nudge;
}
// Render the fixed, filled in border // Render the fixed, filled in border
renderFixedBitmapBordersFilled(baseRect, 3, mProfile ); renderFixedBitmapBordersFilled(baseRect, 3, mProfile );
@ -926,6 +932,12 @@ void GuiPopUpMenuCtrl::onRender( Point2I offset, const RectI &updateRect )
// Do we render a bitmap border or lines? // Do we render a bitmap border or lines?
if ( mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size() ) if ( mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size() )
{ {
if (mProfile->mBitmapArrayRects[0].extent.y < baseRect.extent.y)
{
//if our bitmap is smaller than the height of our ctrl, we'll nudge it towards the center
U32 nudge = (baseRect.extent.y - mProfile->mBitmapArrayRects[0].extent.y) / 2;
baseRect.point.y += nudge;
}
// Render the fixed, filled in border // Render the fixed, filled in border
renderFixedBitmapBordersFilled(baseRect, 2, mProfile ); renderFixedBitmapBordersFilled(baseRect, 2, mProfile );
@ -957,6 +969,12 @@ void GuiPopUpMenuCtrl::onRender( Point2I offset, const RectI &updateRect )
// Do we render a bitmap border or lines? // Do we render a bitmap border or lines?
if ( mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size() ) if ( mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size() )
{ {
if (mProfile->mBitmapArrayRects[0].extent.y < baseRect.extent.y)
{
//if our bitmap is smaller than the height of our ctrl, we'll nudge it towards the center
U32 nudge = (baseRect.extent.y - mProfile->mBitmapArrayRects[0].extent.y) / 2;
baseRect.point.y += nudge;
}
// Render the fixed, filled in border // Render the fixed, filled in border
renderFixedBitmapBordersFilled(baseRect, 1, mProfile ); renderFixedBitmapBordersFilled(baseRect, 1, mProfile );
} }
@ -976,6 +994,12 @@ void GuiPopUpMenuCtrl::onRender( Point2I offset, const RectI &updateRect )
// Do we render a bitmap border or lines? // Do we render a bitmap border or lines?
if ( !( mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size() ) ) if ( !( mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size() ) )
{ {
if (mProfile->mBitmapArrayRects[0].extent.y < baseRect.extent.y)
{
//if our bitmap is smaller than the height of our ctrl, we'll nudge it towards the center
U32 nudge = (baseRect.extent.y - mProfile->mBitmapArrayRects[0].extent.y) / 2;
baseRect.point.y += nudge;
}
drawUtil->drawRect( baseRect, mProfile->mBorderColorNA ); drawUtil->drawRect( baseRect, mProfile->mBorderColorNA );
} }
} }
@ -1095,6 +1119,13 @@ void GuiPopUpMenuCtrl::onRender( Point2I offset, const RectI &updateRect )
// If we're rendering a bitmap border, then it will take care of the arrow. // If we're rendering a bitmap border, then it will take care of the arrow.
if ( !(mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size()) ) if ( !(mProfile->getChildrenProfile() && mProfile->mBitmapArrayRects.size()) )
{ {
if (mProfile->mBitmapArrayRects[0].extent.y < baseRect.extent.y)
{
//if our bitmap is smaller than the height of our ctrl, we'll nudge it towards the center
U32 nudge = (baseRect.extent.y - mProfile->mBitmapArrayRects[0].extent.y) / 2;
baseRect.point.y += nudge;
}
// Draw a triangle (down arrow) // Draw a triangle (down arrow)
S32 left = baseRect.point.x + baseRect.extent.x - 12; S32 left = baseRect.point.x + baseRect.extent.x - 12;
S32 right = left + 8; S32 right = left + 8;

View file

@ -150,7 +150,7 @@ void GuiVariableInspector::addField(const char* name, const char* label, const c
{ {
VariableField newField; VariableField newField;
newField.mFieldName = StringTable->insert(name); newField.mFieldName = StringTable->insert(name);
newField.mFieldLabel = StringTable->insert(label); newField.mFieldLabel = StringTable->insert(label, true);
newField.mFieldTypeName = StringTable->insert(typeName); newField.mFieldTypeName = StringTable->insert(typeName);
newField.mFieldDescription = StringTable->insert(description); newField.mFieldDescription = StringTable->insert(description);
newField.mDefaultValue = StringTable->insert(defaultValue); newField.mDefaultValue = StringTable->insert(defaultValue);

View file

@ -110,7 +110,7 @@ public:
bool isAlive(); bool isAlive();
/// Returns the platform specific thread id for this thread. /// Returns the platform specific thread id for this thread.
U32 getId(); dsize_t getId();
}; };
@ -122,12 +122,12 @@ class ThreadManager
struct MainThreadId struct MainThreadId
{ {
U32 mId; dsize_t mId;
MainThreadId() MainThreadId()
{ {
mId = ThreadManager::getCurrentThreadId(); mId = ThreadManager::getCurrentThreadId();
} }
U32 get() dsize_t get()
{ {
// Okay, this is a bit soso. The main thread ID may get queried during // Okay, this is a bit soso. The main thread ID may get queried during
// global ctor phase before MainThreadId's ctor ran. Since global // global ctor phase before MainThreadId's ctor ran. Since global
@ -152,21 +152,21 @@ public:
static bool isMainThread(); static bool isMainThread();
/// Returns true if threadId is the same as the calling thread's id. /// Returns true if threadId is the same as the calling thread's id.
static bool isCurrentThread(U32 threadId); static bool isCurrentThread(dsize_t threadId);
/// Returns true if the 2 thread ids represent the same thread. Some thread /// Returns true if the 2 thread ids represent the same thread. Some thread
/// APIs return an opaque object as a thread id, so the == operator cannot /// APIs return an opaque object as a thread id, so the == operator cannot
/// reliably compare thread ids. /// reliably compare thread ids.
// this comparator is needed by pthreads and ThreadManager. // this comparator is needed by pthreads and ThreadManager.
static bool compare(U32 threadId_1, U32 threadId_2); static bool compare(dsize_t threadId_1, dsize_t threadId_2);
/// Returns the platform specific thread id of the calling thread. Some /// Returns the platform specific thread id of the calling thread. Some
/// platforms do not guarantee that this ID stays the same over the life of /// platforms do not guarantee that this ID stays the same over the life of
/// the thread, so use ThreadManager::compare() to compare thread ids. /// the thread, so use ThreadManager::compare() to compare thread ids.
static U32 getCurrentThreadId(); static dsize_t getCurrentThreadId();
/// Returns the platform specific thread id ot the main thread. /// Returns the platform specific thread id ot the main thread.
static U32 getMainThreadId() { return smMainThreadId.get(); } static dsize_t getMainThreadId() { return smMainThreadId.get(); }
/// Each thread should add itself to the thread pool the first time it runs. /// Each thread should add itself to the thread pool the first time it runs.
static void addThread(Thread* thread) static void addThread(Thread* thread)
@ -184,7 +184,7 @@ public:
ThreadManager &manager = *ManagedSingleton< ThreadManager >::instance(); ThreadManager &manager = *ManagedSingleton< ThreadManager >::instance();
manager.poolLock.lock(); manager.poolLock.lock();
U32 threadID = thread->getId(); dsize_t threadID = thread->getId();
for(U32 i = 0;i < manager.threadPool.size();++i) for(U32 i = 0;i < manager.threadPool.size();++i)
{ {
if( compare( manager.threadPool[i]->getId(), threadID ) ) if( compare( manager.threadPool[i]->getId(), threadID ) )
@ -199,7 +199,7 @@ public:
/// Searches the pool of known threads for a thread whose id is equivalent to /// Searches the pool of known threads for a thread whose id is equivalent to
/// the given threadid. Compares thread ids with ThreadManager::compare(). /// the given threadid. Compares thread ids with ThreadManager::compare().
static Thread* getThreadById(U32 threadid) static Thread* getThreadById(dsize_t threadid)
{ {
AssertFatal(threadid != 0, "ThreadManager::getThreadById() Searching for a bad thread id."); AssertFatal(threadid != 0, "ThreadManager::getThreadById() Searching for a bad thread id.");
Thread* ret = NULL; Thread* ret = NULL;
@ -236,9 +236,9 @@ inline bool ThreadManager::isMainThread()
return compare( ThreadManager::getCurrentThreadId(), smMainThreadId.get() ); return compare( ThreadManager::getCurrentThreadId(), smMainThreadId.get() );
} }
inline bool ThreadManager::isCurrentThread(U32 threadId) inline bool ThreadManager::isCurrentThread(dsize_t threadId)
{ {
U32 current = getCurrentThreadId(); dsize_t current = getCurrentThreadId();
return compare(current, threadId); return compare(current, threadId);
} }

View file

@ -46,6 +46,7 @@ typedef unsigned long U64;
#define TORQUE_FORCEINLINE __attribute__((always_inline)) #define TORQUE_FORCEINLINE __attribute__((always_inline))
#define TORQUE_CASE_FALLTHROUGH __attribute__((fallthrough)) #define TORQUE_CASE_FALLTHROUGH __attribute__((fallthrough))
#define TORQUE_NOINLINE __attribute__ ((noinline)) #define TORQUE_NOINLINE __attribute__ ((noinline))
#define TORQUE_UNLIKELY
//-------------------------------------- //--------------------------------------
// Identify the compiler string // Identify the compiler string

View file

@ -134,9 +134,9 @@ bool Thread::isAlive()
return ( !mData->mDead ); return ( !mData->mDead );
} }
U32 Thread::getId() dsize_t Thread::getId()
{ {
return (U32)mData->mThreadID; return (dsize_t)mData->mThreadID;
} }
void Thread::_setName( const char* ) void Thread::_setName( const char* )
@ -145,12 +145,12 @@ void Thread::_setName( const char* )
// that one thread you are looking for is just so much fun. // that one thread you are looking for is just so much fun.
} }
U32 ThreadManager::getCurrentThreadId() dsize_t ThreadManager::getCurrentThreadId()
{ {
return (U32)SDL_ThreadID(); return (dsize_t)SDL_ThreadID();
} }
bool ThreadManager::compare(U32 threadId_1, U32 threadId_2) bool ThreadManager::compare(dsize_t threadId_1, dsize_t threadId_2)
{ {
return (threadId_1 == threadId_2); return (threadId_1 == threadId_2);
} }

View file

@ -43,7 +43,7 @@ public:
Thread* mThread; Thread* mThread;
HANDLE mThreadHnd; HANDLE mThreadHnd;
Semaphore mGateway; Semaphore mGateway;
U32 mThreadID; dsize_t mThreadID;
U32 mDead; U32 mDead;
PlatformThreadData() PlatformThreadData()
@ -157,7 +157,7 @@ bool Thread::isAlive()
return ( !mData->mDead ); return ( !mData->mDead );
} }
U32 Thread::getId() dsize_t Thread::getId()
{ {
return mData->mThreadID; return mData->mThreadID;
} }
@ -197,12 +197,12 @@ void Thread::_setName( const char* name )
#endif #endif
} }
U32 ThreadManager::getCurrentThreadId() dsize_t ThreadManager::getCurrentThreadId()
{ {
return GetCurrentThreadId(); return GetCurrentThreadId();
} }
bool ThreadManager::compare(U32 threadId_1, U32 threadId_2) bool ThreadManager::compare(dsize_t threadId_1, dsize_t threadId_2)
{ {
return (threadId_1 == threadId_2); return (threadId_1 == threadId_2);
} }

View file

@ -137,9 +137,9 @@ bool Thread::isAlive()
return ( !mData->mDead ); return ( !mData->mDead );
} }
U32 Thread::getId() dsize_t Thread::getId()
{ {
return (U32)mData->mThreadID; return (dsize_t)mData->mThreadID;
} }
void Thread::_setName( const char* ) void Thread::_setName( const char* )
@ -148,12 +148,12 @@ void Thread::_setName( const char* )
// that one thread you are looking for is just so much fun. // that one thread you are looking for is just so much fun.
} }
U32 ThreadManager::getCurrentThreadId() dsize_t ThreadManager::getCurrentThreadId()
{ {
return (U32)pthread_self(); return (dsize_t)pthread_self();
} }
bool ThreadManager::compare(U32 threadId_1, U32 threadId_2) bool ThreadManager::compare(dsize_t threadId_1, dsize_t threadId_2)
{ {
return pthread_equal((pthread_t)threadId_1, (pthread_t)threadId_2); return pthread_equal((pthread_t)threadId_1, (pthread_t)threadId_2);
} }

View file

@ -442,7 +442,7 @@ inline bool isSFXThread()
{ {
ThreadSafeRef< SFXUpdateThread > sfxThread = UPDATE_THREAD(); ThreadSafeRef< SFXUpdateThread > sfxThread = UPDATE_THREAD();
U32 threadId; dsize_t threadId;
if( sfxThread != NULL ) if( sfxThread != NULL )
threadId = sfxThread->getId(); threadId = sfxThread->getId();
else else

View file

@ -61,7 +61,8 @@ function VPathEditorPlugin::onWorldEditorStartup( %this )
} }
// Add Toolbar. // Add Toolbar.
EditorGuiToolbar.add( VPathEditorToolbar ); //EditorGuiToolbar.add( VPathEditorToolbar );
// Populate Type Menu. // Populate Type Menu.
VPathEditorToolbarPathTypeMenu.clear(); VPathEditorToolbarPathTypeMenu.clear();
@ -119,7 +120,9 @@ function VPathEditorPlugin::onActivated( %this )
EVPathEditor.setVisible( true ); EVPathEditor.setVisible( true );
EVPathEditor.makeFirstResponder( true ); EVPathEditor.makeFirstResponder( true );
EditorGui.bringToFront( EVPathEditor ); EditorGui.bringToFront( EVPathEditor );
VPathEditorToolbar.setVisible( true ); EditorGuiToolbarStack.remove( EWorldEditorToolbar );
EditorGuiToolbarStack.add( VPathEditorToolbar );
VPathTreeView.open( GetServerPathSet(), true ); VPathTreeView.open( GetServerPathSet(), true );
// Sync Gizmo. // Sync Gizmo.
@ -147,7 +150,9 @@ function VPathEditorPlugin::onDeactivated( %this )
{ {
// Hide Editor. // Hide Editor.
EVPathEditor.setVisible( false ); EVPathEditor.setVisible( false );
VPathEditorToolbar.setVisible( false );
EditorGuiToolbarStack.add( EWorldEditorToolbar );
EditorGuiToolbarStack.remove( VPathEditorToolbar );
// Disable Map. // Disable Map.
%this.EditorMap.pop(); %this.EditorMap.pop();

View file

@ -247,7 +247,7 @@ $guiContent = new GuiControl(AssetBrowser) {
tooltip = "Create a new asset in the current directory"; tooltip = "Create a new asset in the current directory";
hovertime = "1000"; hovertime = "1000";
isContainer = "0"; isContainer = "0";
internalName = "CreateAssetButton"; class="CreateAssetButton";
canSave = "1"; canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };

View file

@ -31,7 +31,7 @@ $guiContent = new GuiControl(AssetBrowser_newAsset) {
anchorBottom = "0"; anchorBottom = "0";
anchorLeft = "1"; anchorLeft = "1";
anchorRight = "0"; anchorRight = "0";
position = "328 140"; position = "328 159";
extent = "368 450"; extent = "368 450";
minExtent = "48 92"; minExtent = "48 92";
horizSizing = "center"; horizSizing = "center";
@ -54,7 +54,7 @@ $guiContent = new GuiControl(AssetBrowser_newAsset) {
anchorBottom = "0"; anchorBottom = "0";
anchorLeft = "1"; anchorLeft = "1";
anchorRight = "0"; anchorRight = "0";
position = "12 54"; position = "12 29";
extent = "116 17"; extent = "116 17";
minExtent = "8 2"; minExtent = "8 2";
horizSizing = "right"; horizSizing = "right";
@ -68,6 +68,35 @@ $guiContent = new GuiControl(AssetBrowser_newAsset) {
canSave = "1"; canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
new GuiPopUpMenuCtrlEx(NewAssetTargetModule) {
maxPopupHeight = "200";
sbUsesNAColor = "0";
reverseTextList = "0";
bitmapBounds = "16 16";
hotTrackCallback = "0";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "135 28";
extent = "202 18";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiPopUpMenuProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
internalName = "ModuleList";
class = "AssetBrowserModuleList";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl() { new GuiTextCtrl() {
text = "Target Path:"; text = "Target Path:";
maxLength = "1024"; maxLength = "1024";
@ -77,7 +106,7 @@ $guiContent = new GuiControl(AssetBrowser_newAsset) {
anchorBottom = "0"; anchorBottom = "0";
anchorLeft = "1"; anchorLeft = "1";
anchorRight = "0"; anchorRight = "0";
position = "12 30"; position = "12 54";
extent = "116 17"; extent = "116 17";
minExtent = "8 2"; minExtent = "8 2";
horizSizing = "right"; horizSizing = "right";
@ -104,7 +133,7 @@ $guiContent = new GuiControl(AssetBrowser_newAsset) {
anchorBottom = "0"; anchorBottom = "0";
anchorLeft = "1"; anchorLeft = "1";
anchorRight = "0"; anchorRight = "0";
position = "135 30"; position = "135 54";
extent = "201 18"; extent = "201 18";
minExtent = "8 2"; minExtent = "8 2";
horizSizing = "width"; horizSizing = "width";
@ -128,7 +157,7 @@ $guiContent = new GuiControl(AssetBrowser_newAsset) {
groupNum = "-1"; groupNum = "-1";
buttonType = "PushButton"; buttonType = "PushButton";
useMouseEvents = "0"; useMouseEvents = "0";
position = "343 27"; position = "340 51";
extent = "22 22"; extent = "22 22";
minExtent = "8 2"; minExtent = "8 2";
horizSizing = "left"; horizSizing = "left";
@ -144,33 +173,6 @@ $guiContent = new GuiControl(AssetBrowser_newAsset) {
canSave = "1"; canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
new GuiTextEditCtrl(NewAssetTargetModule) {
historySize = "0";
tabComplete = "0";
sinkAllKeyEvents = "0";
password = "0";
passwordMask = "*";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "135 53";
extent = "202 18";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "bottom";
profile = "ToolsGuiTextEditProfile";
visible = "1";
active = "0";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiScrollCtrl() { new GuiScrollCtrl() {
willFirstRespond = "1"; willFirstRespond = "1";
hScrollBar = "alwaysOn"; hScrollBar = "alwaysOn";
@ -213,7 +215,7 @@ $guiContent = new GuiControl(AssetBrowser_newAsset) {
changeChildSizeToFit = "1"; changeChildSizeToFit = "1";
changeChildPosition = "1"; changeChildPosition = "1";
position = "1 1"; position = "1 1";
extent = "337 338"; extent = "337 56";
minExtent = "16 16"; minExtent = "16 16";
horizSizing = "width"; horizSizing = "width";
vertSizing = "height"; vertSizing = "height";

View file

@ -44,6 +44,7 @@ $guiContent = new GuiControl(AssetBrowser_SelectModule) {
isContainer = "1"; isContainer = "1";
canSave = "1"; canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
closeCommand="Canvas.popDialog(AssetBrowser_SelectModule);";
new GuiPopUpMenuCtrlEx() { new GuiPopUpMenuCtrlEx() {
maxPopupHeight = "200"; maxPopupHeight = "200";
@ -95,7 +96,7 @@ $guiContent = new GuiControl(AssetBrowser_SelectModule) {
tooltipProfile = "GuiToolTipProfile"; tooltipProfile = "GuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "0"; isContainer = "0";
class = "SelectPackage_NewAssetModuleBtn"; class = "AssetBrowserSelModuleAddBtn";
canSave = "1"; canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
@ -132,7 +133,7 @@ $guiContent = new GuiControl(AssetBrowser_SelectModule) {
profile = "ToolsGuiButtonProfile"; profile = "ToolsGuiButtonProfile";
visible = "1"; visible = "1";
active = "1"; active = "1";
command = "Canvas.popDialog(AssetBrowser_addModule);"; command = "Canvas.popDialog(AssetBrowser_SelectModule);";
tooltipProfile = "ToolsGuiToolTipProfile"; tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "0"; isContainer = "0";

View file

@ -156,14 +156,11 @@ function initializeAssetBrowser()
AssetBrowser.buildPopupMenus(); AssetBrowser.buildPopupMenus();
//Force everything to initialize if other things need to reference it's behavior before we're displayed(usually other tools) //Force everything to initialize if other things need to reference it's behavior before we're displayed(usually other tools)
AssetBrowser.showDialog(); AssetBrowser.initialize();
AssetBrowser.hideDialog();
} }
function AssetBrowserPlugin::onWorldEditorStartup( %this ) function AssetBrowserPlugin::onWorldEditorStartup( %this )
{ {
// Add ourselves to the toolbar.
AssetBrowser.addToolbarButton();
} }
function AssetBrowserPlugin::initSettings( %this ) function AssetBrowserPlugin::initSettings( %this )

View file

@ -32,7 +32,6 @@ function AssetBrowser_addModuleWindow::onGainFirstResponder(%this)
function AssetBrowser_addModuleWindow::close() function AssetBrowser_addModuleWindow::close()
{ {
Canvas.popDialog(AssetBrowser_addModule); Canvas.popDialog(AssetBrowser_addModule);
eval(AssetBrowser_addModuleWindow.callbackFunction);
} }
function AssetBrowser_addModuleWindow::CreateNewModule(%this) function AssetBrowser_addModuleWindow::CreateNewModule(%this)
@ -127,4 +126,9 @@ function AssetBrowserModuleList::refresh(%this)
%moduleName = getWord(%moduleList, %i); %moduleName = getWord(%moduleList, %i);
%this.add(%moduleName.ModuleId, %i); %this.add(%moduleName.ModuleId, %i);
} }
}
function AssetBrowserSelModuleAddBtn::onClick(%this)
{
AssetBrowser.CreateNewModule("AssetBrowser_selectModule.newModuleAdded();");
} }

View file

@ -1,5 +1,3 @@
new SimGroup(AssetBrowserPreviewCache);
//AssetBrowser.addToolbarButton //AssetBrowser.addToolbarButton
function AssetBrowser::addToolbarButton(%this) function AssetBrowser::addToolbarButton(%this)
{ {
@ -30,18 +28,18 @@ function AssetBrowser::addToolbarButton(%this)
EWToolsToolbar.setExtent((25 + 8) * (ToolsToolbarArray.getCount()) + 12 SPC "33"); EWToolsToolbar.setExtent((25 + 8) * (ToolsToolbarArray.getCount()) + 12 SPC "33");
} }
// //
function AssetBrowser::onAdd(%this)
{
}
function AssetBrowser::onWake(%this) function AssetBrowser::initialize(%this)
{ {
// manage preview array // manage preview array
if(!isObject(AssetPreviewArray)) if(!isObject(AssetPreviewArray))
new ArrayObject(AssetPreviewArray); new ArrayObject(AssetPreviewArray);
if(!isObject(%this.dirHandler)) if(!isObject(%this.dirHandler))
{
%this.dirHandler = makedirectoryHandler(AssetBrowser-->filterTree, "cache,shaderCache", ""); %this.dirHandler = makedirectoryHandler(AssetBrowser-->filterTree, "cache,shaderCache", "");
%this.dirHandler.currentAddress = "data/";
}
AssetBrowser-->filterTree.buildIconTable( ":tools/classIcons/Prefab:tools/classIcons/Prefab" @ AssetBrowser-->filterTree.buildIconTable( ":tools/classIcons/Prefab:tools/classIcons/Prefab" @
":tools/classIcons/SimSet:tools/classIcons/SimSet"); ":tools/classIcons/SimSet:tools/classIcons/SimSet");
@ -65,6 +63,30 @@ function AssetBrowser::onWake(%this)
AssetBrowser-->filterAssetsButton.setActive(true); AssetBrowser-->filterAssetsButton.setActive(true);
} }
function AssetBrowser::onAdd(%this)
{
}
function AssetBrowser::onWake(%this)
{
%this.initialize();
}
function AssetBrowser::onDialogPop(%this)
{
%lastPosExt = AssetBrowserWindow.position SPC AssetBrowserWindow.extent;
EditorSettings.setValue("Assets/Browser/LastPosExt", %lastPosExt);
}
function AssetBrowser::restoreLastPosExt(%this)
{
%lastPosExt = EditorSettings.value("Assets/Browser/LastPosExt", "");
if(%lastPosExt !$= "")
{
AssetBrowserWindow.resize(getWord(%lastPosExt, 0), getWord(%lastPosExt, 1), getWord(%lastPosExt, 2), getWord(%lastPosExt, 3));
}
}
function contentTreeTabBook::onTabSelected(%this, %tabText, %tabIndex) function contentTreeTabBook::onTabSelected(%this, %tabText, %tabIndex)
{ {
if(%tabText $= "Content") if(%tabText $= "Content")
@ -273,6 +295,7 @@ function AssetBrowser::showDialog( %this, %AssetTypeFilter, %selectCallback, %ta
Canvas.popDialog(AssetBrowser); Canvas.popDialog(AssetBrowser);
Canvas.pushDialog(AssetBrowser); Canvas.pushDialog(AssetBrowser);
AssetBrowser.setVisible(1); AssetBrowser.setVisible(1);
AssetBrowserWindow.setVisible(1); AssetBrowserWindow.setVisible(1);
AssetBrowserWindow.selectWindow(); AssetBrowserWindow.selectWindow();
@ -301,6 +324,8 @@ function AssetBrowser::showDialog( %this, %AssetTypeFilter, %selectCallback, %ta
} }
AssetBrowser.loadDirectories(); AssetBrowser.loadDirectories();
AssetBrowser.restoreLastPosExt();
} }
function AssetBrowser::hideDialog( %this ) function AssetBrowser::hideDialog( %this )
@ -313,6 +338,18 @@ function AssetBrowser::hideDialog( %this )
Canvas.popDialog(AssetBrowser); Canvas.popDialog(AssetBrowser);
} }
function AssetBrowser::toggleDialog( %this )
{
if(AssetBrowser.isAwake())
{
AssetBrowser.hideDialog();
}
else
{
AssetBrowser.showDialog();
}
}
function AssetBrowser::buildAssetPreview( %this, %asset, %moduleName ) function AssetBrowser::buildAssetPreview( %this, %asset, %moduleName )
{ {
if(!isObject(%this.previewData)) if(!isObject(%this.previewData))
@ -481,13 +518,12 @@ function AssetBrowser::buildAssetPreview( %this, %asset, %moduleName )
{ {
%previewButton.iconLocation = "Left"; %previewButton.iconLocation = "Left";
%previewButton.textLocation = "Right"; %previewButton.textLocation = "Right";
%previewButton.extent = "120 20"; %previewButton.setextent(120,20);
} }
else else
{ {
%size = %previewSize.x * %previewScaleSize; %size = %previewSize.x * %previewScaleSize;
%previewButton.extent.x = %size; %previewButton.setextent(%size,%size + %textBottomPad);
%previewButton.extent.y = %size + %textBottomPad;
} }
//%previewButton.extent = %previewSize.x + %previewBounds SPC %previewSize.y + %previewBounds + 24; //%previewButton.extent = %previewSize.x + %previewBounds SPC %previewSize.y + %previewBounds + 24;
@ -1417,13 +1453,10 @@ function AssetBrowser::doRebuildAssetArray(%this)
AssetBrowser-->assetList.deleteAllObjects(); AssetBrowser-->assetList.deleteAllObjects();
AssetPreviewArray.empty(); AssetPreviewArray.empty();
// uhh?? I just added global schenanagins here to make this work if(isObject($AssetBrowser::AssetArray))
%assetArray = $AssetBrowser::AssetArray; $AssetBrowser::AssetArray.delete();
if(isObject(%assetArray))
%assetArray.delete();
%assetArray = new ArrayObject(); $AssetBrowser::AssetArray = new ArrayObject();
$AssetBrowser::AssetArray = %assetArray;
//First, Query for our assets //First, Query for our assets
%assetQuery = new AssetQuery(); %assetQuery = new AssetQuery();
@ -1504,7 +1537,7 @@ function AssetBrowser::doRebuildAssetArray(%this)
{ {
if(matchesSearch(%assetName, %assetType)) if(matchesSearch(%assetName, %assetType))
{ {
%assetArray.add( %moduleName, %assetId); $AssetBrowser::AssetArray.add( %moduleName, %assetId);
if(%assetType !$= "Folder") if(%assetType !$= "Folder")
%finalAssetCount++; %finalAssetCount++;
@ -1518,7 +1551,7 @@ function AssetBrowser::doRebuildAssetArray(%this)
{ {
if(AssetBrowser.assetTypeFilter $= %assetType) if(AssetBrowser.assetTypeFilter $= %assetType)
{ {
%assetArray.add( %moduleName, %assetId ); $AssetBrowser::AssetArray.add( %moduleName, %assetId );
if(%assetType !$= "Folder") if(%assetType !$= "Folder")
%finalAssetCount++; %finalAssetCount++;
@ -1527,7 +1560,7 @@ function AssetBrowser::doRebuildAssetArray(%this)
else else
{ {
//got it. //got it.
%assetArray.add( %moduleName, %assetId ); $AssetBrowser::AssetArray.add( %moduleName, %assetId );
if(%assetType !$= "Folder") if(%assetType !$= "Folder")
%finalAssetCount++; %finalAssetCount++;
@ -1549,7 +1582,7 @@ function AssetBrowser::doRebuildAssetArray(%this)
{ {
if(matchesSearch(%folderName, "Folder", "")) if(matchesSearch(%folderName, "Folder", ""))
{ {
%assetArray.add( %breadcrumbPath, "Folder" TAB %folderName ); $AssetBrowser::AssetArray.add( %breadcrumbPath, "Folder" TAB %folderName );
continue; continue;
} }
} }
@ -1565,7 +1598,7 @@ function AssetBrowser::doRebuildAssetArray(%this)
if(!%this.toolsModulesFilter && %folderName $= "tools" && %breadcrumbPath $= "") if(!%this.toolsModulesFilter && %folderName $= "tools" && %breadcrumbPath $= "")
continue; continue;
%assetArray.add( %breadcrumbPath, "Folder" TAB %folderName ); $AssetBrowser::AssetArray.add( %breadcrumbPath, "Folder" TAB %folderName );
} }
} }
} }
@ -1595,14 +1628,14 @@ function AssetBrowser::doRebuildAssetArray(%this)
%dbName = %obj.getName(); %dbName = %obj.getName();
if(matchesSearch(%dbName, "Datablock")) if(matchesSearch(%dbName, "Datablock"))
{ {
%assetArray.add( %dbFilename, "Datablock" TAB %dbName ); $AssetBrowser::AssetArray.add( %dbFilename, "Datablock" TAB %dbName );
} }
} }
} }
else if(%dbFilePath $= %breadcrumbPath) else if(%dbFilePath $= %breadcrumbPath)
{ {
%dbName = %obj.getName(); %dbName = %obj.getName();
%assetArray.add( %dbFilename, "Datablock" TAB %dbName ); $AssetBrowser::AssetArray.add( %dbFilename, "Datablock" TAB %dbName );
/*%catItem = AssetBrowser-->filterTree.findItemByName(%obj.category); /*%catItem = AssetBrowser-->filterTree.findItemByName(%obj.category);
@ -1627,7 +1660,7 @@ function AssetBrowser::doRebuildAssetArray(%this)
%looseFileName = fileName(%looseFileFullPath); %looseFileName = fileName(%looseFileFullPath);
%looseFileExt = fileExt(%looseFileFullPath); %looseFileExt = fileExt(%looseFileFullPath);
%assetArray.add( %looseFilePath, "LooseFile" TAB %looseFileName ); $AssetBrowser::AssetArray.add( %looseFilePath, "LooseFile" TAB %looseFileName );
} }
//Prefabs //Prefabs
@ -1646,13 +1679,13 @@ function AssetBrowser::doRebuildAssetArray(%this)
{ {
if(matchesSearch(%prefabName, "Prefab")) if(matchesSearch(%prefabName, "Prefab"))
{ {
%assetArray.add( %prefabPath, "Prefab" TAB %prefabName ); $AssetBrowser::AssetArray.add( %prefabPath, "Prefab" TAB %prefabName );
} }
} }
} }
else if(%prefabPath $= %breadcrumbPath) else if(%prefabPath $= %breadcrumbPath)
{ {
%assetArray.add( %prefabPath, "Prefab" TAB %prefabName ); $AssetBrowser::AssetArray.add( %prefabPath, "Prefab" TAB %prefabName );
} }
%fullPrefabPath = findNextFile( %breadcrumbPath @ "/" @ %expr ); %fullPrefabPath = findNextFile( %breadcrumbPath @ "/" @ %expr );
@ -1672,13 +1705,13 @@ function AssetBrowser::doRebuildAssetArray(%this)
{ {
if(matchesSearch(%cppName, "Cpp")) if(matchesSearch(%cppName, "Cpp"))
{ {
%assetArray.add( %cppPath, "Cpp" TAB %cppName ); $AssetBrowser::AssetArray.add( %cppPath, "Cpp" TAB %cppName );
} }
} }
} }
else if(%cppPath $= %breadcrumbPath) else if(%cppPath $= %breadcrumbPath)
{ {
%assetArray.add( %cppPath, "Cpp" TAB %cppName ); $AssetBrowser::AssetArray.add( %cppPath, "Cpp" TAB %cppName );
} }
} }
@ -1696,13 +1729,13 @@ function AssetBrowser::doRebuildAssetArray(%this)
{ {
if(matchesSearch(%cppName, "Cpp")) if(matchesSearch(%cppName, "Cpp"))
{ {
%assetArray.add( %cppPath, "Cpp" TAB %cppName ); $AssetBrowser::AssetArray.add( %cppPath, "Cpp" TAB %cppName );
} }
} }
} }
else if(%cppPath $= %breadcrumbPath) else if(%cppPath $= %breadcrumbPath)
{ {
%assetArray.add( %cppPath, "Cpp" TAB %cppName ); $AssetBrowser::AssetArray.add( %cppPath, "Cpp" TAB %cppName );
} }
} }
@ -1744,13 +1777,13 @@ function AssetBrowser::doRebuildAssetArray(%this)
{ {
if(matchesSearch(%tscriptName, "tscript")) if(matchesSearch(%tscriptName, "tscript"))
{ {
%assetArray.add( %tscriptPath, "tscript" TAB %tscriptName ); $AssetBrowser::AssetArray.add( %tscriptPath, "tscript" TAB %tscriptName );
} }
} }
} }
else if(%tscriptPath $= %breadcrumbPath) else if(%tscriptPath $= %breadcrumbPath)
{ {
%assetArray.add( %tscriptPath, "tscript" TAB %tscriptName ); $AssetBrowser::AssetArray.add( %tscriptPath, "tscript" TAB %tscriptName );
} }
} }
} }
@ -1772,13 +1805,13 @@ function AssetBrowser::doRebuildAssetArray(%this)
%name = %creatorObj.val[1]; %name = %creatorObj.val[1];
%func = %creatorObj.val[2]; %func = %creatorObj.val[2];
%assetArray.add( %name, "Creator" TAB %creatorObj ); $AssetBrowser::AssetArray.add( %name, "Creator" TAB %creatorObj );
} }
} }
} }
for(%i=0; %i < %assetArray.count(); %i++) for(%i=0; %i < $AssetBrowser::AssetArray.count(); %i++)
AssetBrowser.buildAssetPreview( %assetArray.getValue(%i), %assetArray.getKey(%i) ); AssetBrowser.buildAssetPreview( $AssetBrowser::AssetArray.getValue(%i), $AssetBrowser::AssetArray.getKey(%i) );
AssetBrowser_FooterText.text = %finalAssetCount @ " Assets"; AssetBrowser_FooterText.text = %finalAssetCount @ " Assets";
@ -2075,7 +2108,14 @@ function AssetBrowser::navigateTo(%this, %address, %historyNav)
if(%this.hasLooseFilesInDir()) if(%this.hasLooseFilesInDir())
{ {
if(EditorSettings.value("Assets/AutoImportLooseFiles", false) && EditorSettings.value("Assets/AutoImport", false))
{
AssetBrowser.autoImportSimpleLooseFiles();
}
else
{
%this-->AutoImportAssetButton.visible = true; %this-->AutoImportAssetButton.visible = true;
}
} }
else else
{ {
@ -2420,6 +2460,11 @@ function EWorldEditor::onControlDropped( %this, %payload, %position )
%buildCommand = AssetBrowser @ ".on" @ %assetType @ "EditorDropped(" @ %assetDef @ ",\"" @ %position @ "\");"; %buildCommand = AssetBrowser @ ".on" @ %assetType @ "EditorDropped(" @ %assetDef @ ",\"" @ %position @ "\");";
} }
eval(%buildCommand); eval(%buildCommand);
if(EditorSettings.value("AssetManagement/Assets/closeBrowserOnDragAction", false))
{
AssetBrowser.hideDialog();
}
} }
EWorldEditor.isDirty = true; EWorldEditor.isDirty = true;

View file

@ -196,22 +196,35 @@ function AssetBrowser::buildImageAssetPreview(%this, %assetDef, %previewData)
%success = saveScaledImage(%assetDef.getImagePath(), %previewFilePath); %success = saveScaledImage(%assetDef.getImagePath(), %previewFilePath);
%previewAsset = new ImageAsset() if(%success)
{ {
assetName = %previewAssetName; %previewAsset = new ImageAsset()
versionId = 1; {
imageFile = fileName(%previewFilePath); assetName = %previewAssetName;
}; versionId = 1;
imageFile = fileName(%previewFilePath);
};
%previewImgAssetPath = %previewPath @ %previewAsset.assetName @ ".asset.taml"; %previewAssetName = "ToolsModule:" @ %previewAssetName;
%assetImportSuccessful = TAMLWrite(%previewAsset, %previewImgAssetPath); %previewImgAssetPath = %previewPath @ %previewAsset.assetName @ ".asset.taml";
%assetImportSuccessful = TAMLWrite(%previewAsset, %previewImgAssetPath);
%toolsModuleDef = ModuleDatabase.findModule("ToolsModule",1); %toolsModuleDef = ModuleDatabase.findModule("ToolsModule",1);
%success = AssetDatabase.addDeclaredAsset(%toolsModuleDef, %previewImgAssetPath); %success = AssetDatabase.addDeclaredAsset(%toolsModuleDef, %previewImgAssetPath);
}
else
{
%previewFilePath = %assetDef.getImagePath();
%previewAssetName = %module.moduleId @ ":" @ %assetDef.assetName;
}
hideEditorLoadingGui(); hideEditorLoadingGui();
} }
else
{
%previewAssetName = "ToolsModule:" @ %previewAssetName;
}
//Revalidate. If it didn't work, just use the default placeholder one //Revalidate. If it didn't work, just use the default placeholder one
if(!isFile(%previewFilePath)) if(!isFile(%previewFilePath))
@ -220,7 +233,7 @@ function AssetBrowser::buildImageAssetPreview(%this, %assetDef, %previewData)
%previewData.assetName = %assetDef.assetName; %previewData.assetName = %assetDef.assetName;
%previewData.assetPath = %assetDef.scriptFile; %previewData.assetPath = %assetDef.scriptFile;
%previewData.previewImage = "ToolsModule:" @ %previewAssetName;//%assetDef.fileName; %previewData.previewImage = %previewAssetName;
%previewData.assetFriendlyName = %assetDef.assetName; %previewData.assetFriendlyName = %assetDef.assetName;
%previewData.assetDesc = %assetDef.description; %previewData.assetDesc = %assetDef.description;

View file

@ -318,30 +318,24 @@ function AssetBrowser::buildShapeAssetPreview(%this, %assetDef, %previewData)
"Shape File path: " @ %assetDef.getShapeFile(); "Shape File path: " @ %assetDef.getShapeFile();
if(%this.selectMode) if(%this.selectMode)
{
%previewData.doubleClickCommand = "AssetBrowser.selectAsset( AssetBrowser.selectedAsset );"; %previewData.doubleClickCommand = "AssetBrowser.selectAsset( AssetBrowser.selectedAsset );";
}
else else
%previewData.doubleClickCommand = "AssetBrowser.editAsset( "@%assetDef@" );"; {
if(EditorSettings.value("Assets/Browser/doubleClickAction", "Edit Asset") $= "Edit Asset")
{
%previewData.doubleClickCommand = "AssetBrowser.editAsset( "@%assetDef@" );";
}
else
{
%previewData.doubleClickCommand = "AssetBrowser.onShapeAssetEditorDropped( "@%assetDef@" );";
}
}
} }
function AssetBrowser::onShapeAssetEditorDropped(%this, %assetDef, %position) function AssetBrowser::onShapeAssetEditorDropped(%this, %assetDef, %position)
{ {
//echo("DROPPED A SHAPE ON THE EDITOR WINDOW!");
%targetPosition = EWorldEditor.unproject(%position SPC 1000);
%camPos = LocalClientConnection.camera.getPosition();
%rayResult = containerRayCast(%camPos, %targetPosition, -1);
%pos = EWCreatorWindow.getCreateObjectPosition();
if(%rayResult != 0)
{
%pos = getWords(%rayResult, 1, 3);
}
else
{
%pos = "0 0 0";
}
%assetId = %assetDef.getAssetId(); %assetId = %assetDef.getAssetId();
%newStatic = new TSStatic() %newStatic = new TSStatic()
@ -354,6 +348,8 @@ function AssetBrowser::onShapeAssetEditorDropped(%this, %assetDef, %position)
EWorldEditor.clearSelection(); EWorldEditor.clearSelection();
EWorldEditor.selectObject(%newStatic); EWorldEditor.selectObject(%newStatic);
EWorldEditor.dropSelection();
EWorldEditor.isDirty = true; EWorldEditor.isDirty = true;

View file

@ -148,6 +148,11 @@ function AssetBrowser::dragAndDropTerrainAsset(%this, %assetDef, %dropTarget)
return; return;
} }
function AssetBrowser::onTerrainAssetEditorDropped(%this, %assetDef, %position)
{
createTerrainBlock(%assetDef.getAssetId());
}
function AssetBrowser::renameTerrainAsset(%this, %assetDef, %newAssetId, %originalName, %newName) function AssetBrowser::renameTerrainAsset(%this, %assetDef, %newAssetId, %originalName, %newName)
{ {
} }
@ -160,7 +165,6 @@ function AssetBrowser::buildTerrainAssetPreview(%this, %assetDef, %previewData)
{ {
%previewData.assetName = %assetDef.assetName; %previewData.assetName = %assetDef.assetName;
%previewData.assetPath = ""; %previewData.assetPath = "";
%previewData.doubleClickCommand = "";
%previewData.previewImage = "ToolsModule:gameObjectIcon_image"; %previewData.previewImage = "ToolsModule:gameObjectIcon_image";
@ -170,6 +174,18 @@ function AssetBrowser::buildTerrainAssetPreview(%this, %assetDef, %previewData)
"\nAsset Type: Terrain Asset" @ "\nAsset Type: Terrain Asset" @
"\nAsset Definition ID: " @ %assetDef @ "\nAsset Definition ID: " @ %assetDef @
"\nDefinition Path: " @ %assetDef.getTerrainFilePath(); "\nDefinition Path: " @ %assetDef.getTerrainFilePath();
if(%this.selectMode)
{
%previewData.doubleClickCommand = "AssetBrowser.selectAsset( AssetBrowser.selectedAsset );";
}
else
{
if(EditorSettings.value("Assets/Browser/doubleClickAction", "Edit Asset") $= "Edit Asset")
%previewData.doubleClickCommand = "";
else
%previewData.doubleClickCommand = "createTerrainBlock(\""@%assetDef.getAssetId()@"\");";
}
} }
function GuiInspectorTypeTerrainAssetPtr::onClick( %this, %fieldName ) function GuiInspectorTypeTerrainAssetPtr::onClick( %this, %fieldName )

View file

@ -10,12 +10,13 @@ function AssetBrowser::ConvertFolderIntoModule(%this, %folderName)
AssetBrowser_addModuleWindow.CreateNewModule(); AssetBrowser_addModuleWindow.CreateNewModule();
} }
function AssetBrowser::CreateNewModule(%this) function AssetBrowser::CreateNewModule(%this, %callback)
{ {
Canvas.pushDialog(AssetBrowser_AddModule); Canvas.pushDialog(AssetBrowser_AddModule);
AssetBrowser_addModuleWindow.selectWindow(); AssetBrowser_addModuleWindow.selectWindow();
AssetBrowser_addModuleWindow.callbackFunction = "AssetBrowser.promptNewModuleFolders();"; AssetBrowser_addModuleWindow.callbackFunction = "AssetBrowser.promptNewModuleFolders();";
AssetBrowser_addModuleWindow.callbackFallthrough = %callback;
} }
function AssetBrowser::promptNewModuleFolders(%this) function AssetBrowser::promptNewModuleFolders(%this)
@ -24,6 +25,9 @@ function AssetBrowser::promptNewModuleFolders(%this)
"Do you want to create some common folders for organization of your new Module?", "Do you want to create some common folders for organization of your new Module?",
"AssetBrowser.makeModuleFolders();", //if yes, make the foldesr "AssetBrowser.makeModuleFolders();", //if yes, make the foldesr
"AssetBrowser.loadDirectories();"); //if no, just refresh "AssetBrowser.loadDirectories();"); //if no, just refresh
if(AssetBrowser_addModuleWindow.callbackFallthrough !$= "")
eval(AssetBrowser_addModuleWindow.callbackFallthrough);
} }
function AssetBrowser::makeModuleFolders(%this) function AssetBrowser::makeModuleFolders(%this)

View file

@ -26,9 +26,22 @@ function CreateAssetButton::onClick(%this)
function AssetBrowser_newAsset::onWake(%this) function AssetBrowser_newAsset::onWake(%this)
{ {
NewAssetTargetAddress.text = AssetBrowser.dirHandler.currentAddress; %targetModule = AssetBrowser.dirHandler.getModuleFromAddress(AssetBrowser.dirHandler.currentAddress).ModuleId;
NewAssetTargetModule.text = AssetBrowser.dirHandler.getModuleFromAddress(AssetBrowser.dirHandler.currentAddress).ModuleId;
if(%targetModule $= "")
%targetModule = EditorSettings.value("Assets/New/defaultModule", "");
NewAssetTargetModule.setText(%targetModule);
%moduleDef = ModuleDatabase.findModule(%targetModule);
%targetPath = AssetBrowser.dirHandler.currentAddress;
if(!startsWith(%targetPath, %moduleDef.ModulePath))
{
%targetPath = %moduleDef.ModulePath;
}
NewAssetTargetAddress.text = %targetPath;
} }
function AssetBrowser_newAssetWindow::onClose(%this) function AssetBrowser_newAssetWindow::onClose(%this)
@ -107,34 +120,6 @@ function AssetBrowser::setupCreateNewAsset(%this, %assetType, %moduleName, %call
%command = %this @ ".setupCreateNew"@%assetType @"();"; %command = %this @ ".setupCreateNew"@%assetType @"();";
eval(%command); eval(%command);
} }
/*if(%assetType $= "ComponentAsset")
{
NewAssetPropertiesInspector.startGroup("Components");
NewAssetPropertiesInspector.addField("parentClass", "New Asset Parent Class", "String", "Name of the new asset's parent class", "Component", "", %this.newAssetSettings);
NewAssetPropertiesInspector.addField("componentGroup", "Component Group", "String", "Name of the group of components this component asset belongs to", "", "", %this.newAssetSettings);
//NewAssetPropertiesInspector.addField("componentName", "Component Name", "String", "Name of the new component", "", "", %this.newAssetSettings);
NewAssetPropertiesInspector.endGroup();
}*/
//Special case, we only do this via internal means like baking
/*else if(%assetType $= "ShapeAsset")
{
NewAssetPropertiesInspector.startGroup("Shape");
NewAssetPropertiesInspector.addField("isServerScript", "Is Server Script", "bool", "Is this script used on the server?", "1", "", %this.newAssetSettings);
NewAssetPropertiesInspector.endGroup();
}*/
/*else if(%assetType $= "ShapeAnimationAsset")
{
NewAssetPropertiesInspector.startGroup("Animation");
NewAssetPropertiesInspector.addField("sourceFile", "Source File", "filename", "Source file this animation will pull from", "", "", %this.newAssetSettings);
NewAssetPropertiesInspector.addField("animationName", "Animation Name", "string", "Name of the animation clip when used in a shape", "", "", %this.newAssetSettings);
NewAssetPropertiesInspector.addField("startFrame", "Starting Frame", "int", "Source file this animation will pull from", "", "", %this.newAssetSettings);
NewAssetPropertiesInspector.addField("endFrame", "Ending Frame", "int", "Source file this animation will pull from", "", "", %this.newAssetSettings);
NewAssetPropertiesInspector.addField("padRotation", "Pad Rotations", "bool", "Source file this animation will pull from", "0", "", %this.newAssetSettings);
NewAssetPropertiesInspector.addField("padTransforms", "Pad Transforms", "bool", "Source file this animation will pull from", "0", "", %this.newAssetSettings);
NewAssetPropertiesInspector.endGroup();
}*/
} }
function NewAssetPropertiesInspector::updateNewAssetField(%this) function NewAssetPropertiesInspector::updateNewAssetField(%this)

View file

@ -7,6 +7,14 @@ function AssetBrowser_SelectModule::showDialog(%this, %callback)
function AssetBrowser_SelectModule::onWake(%this) function AssetBrowser_SelectModule::onWake(%this)
{ {
AssetBrowser_SelectModuleWindow-->ModuleList.refresh(); AssetBrowser_SelectModuleWindow-->ModuleList.refresh();
%defaultModule = EditorSettings.value("Assets/New/defaultModule", "");
if(%defaultModule !$= "" &&
EditorSettings.value("Assets/New/alwaysPromptModuleTarget", false) == false)
{
Canvas.popDialog(AssetBrowser_SelectModule);
eval(%this.callback @ "(" @ %defaultModule @ ");");
}
} }
function AssetBrowser_SelectModule::moduleSelected(%this) function AssetBrowser_SelectModule::moduleSelected(%this)
@ -24,10 +32,7 @@ function AssetBrowser_SelectModule::moduleSelected(%this)
function SelectModule_NewAssetModuleBtn::onClick(%this) function SelectModule_NewAssetModuleBtn::onClick(%this)
{ {
Canvas.pushDialog(AssetBrowser_AddModule); AssetBrowser.CreateNewModule("AssetBrowser_selectModule.newModuleAdded();");
AssetBrowser_addModuleWindow.selectWindow();
AssetBrowser_AddModule.callback = "AssetBrowser_selectModule.newModuleAdded();";
} }
function AssetBrowser_selectModule::newModuleAdded(%this) function AssetBrowser_selectModule::newModuleAdded(%this)

View file

@ -34,13 +34,12 @@ function initializeConvexEditor()
ConvexEditorGui.setVisible( false ); ConvexEditorGui.setVisible( false );
ConvexEditorOptionsWindow.setVisible( false ); ConvexEditorOptionsWindow.setVisible( false );
ConvexEditorTreeWindow.setVisible( false ); ConvexEditorTreeWindow.setVisible( false );
ConvexEditorToolbar.setVisible( false );
ConvexEditorOptionsWindow.setVisible( false ); ConvexEditorOptionsWindow.setVisible( false );
EditorGui.add( ConvexEditorGui ); EditorGui.add( ConvexEditorGui );
EditorGui.add( ConvexEditorOptionsWindow ); EditorGui.add( ConvexEditorOptionsWindow );
EditorGui.add( ConvexEditorTreeWindow ); EditorGui.add( ConvexEditorTreeWindow );
EditorGui.add( ConvexEditorToolbar );
EditorGui.add( ConvexEditorOptionsWindow ); EditorGui.add( ConvexEditorOptionsWindow );
new ScriptObject( ConvexEditorPlugin ) new ScriptObject( ConvexEditorPlugin )
@ -103,7 +102,10 @@ function ConvexEditorPlugin::onActivated( %this )
EditorGui.bringToFront( ConvexEditorGui ); EditorGui.bringToFront( ConvexEditorGui );
ConvexEditorGui.setVisible( true ); ConvexEditorGui.setVisible( true );
ConvexEditorToolbar.setVisible( true );
EditorGuiToolbarStack.remove( EWorldEditorToolbar );
EditorGuiToolbarStack.add( ConvexEditorToolbar );
ConvexEditorOptionsWindow.setVisible( true ); ConvexEditorOptionsWindow.setVisible( true );
ConvexEditorGui.makeFirstResponder( true ); ConvexEditorGui.makeFirstResponder( true );
%this.map.push(); %this.map.push();
@ -137,7 +139,10 @@ function ConvexEditorPlugin::onDeactivated( %this )
%this.writeSettings(); %this.writeSettings();
ConvexEditorGui.setVisible( false ); ConvexEditorGui.setVisible( false );
ConvexEditorOptionsWindow.setVisible( false );
EditorGuiToolbarStack.add( EWorldEditorToolbar );
EditorGuiToolbarStack.remove( ConvexEditorToolbar );
ConvexEditorTreeWindow.setVisible( false ); ConvexEditorTreeWindow.setVisible( false );
ConvexEditorOptionsWindow.setVisible( false ); ConvexEditorOptionsWindow.setVisible( false );
ConvexEditorToolbar.setVisible( false ); ConvexEditorToolbar.setVisible( false );

View file

@ -686,6 +686,12 @@ function DatablockEditorPlugin::pickedNewDBTargetModule(%this, %module)
%moduleDef = ModuleDatabase.findModule(%module); %moduleDef = ModuleDatabase.findModule(%module);
$DATABLOCK_EDITOR_DEFAULT_FILENAME = %moduleDef.ModulePath @ "/scripts/managedData/managedDatablocks." @ $TorqueScriptFileExtension; $DATABLOCK_EDITOR_DEFAULT_FILENAME = %moduleDef.ModulePath @ "/scripts/managedData/managedDatablocks." @ $TorqueScriptFileExtension;
if(!isDirectory(filePath($DATABLOCK_EDITOR_DEFAULT_FILENAME)))
{
AssetBrowser.dirHandler.createFolder(filePath($DATABLOCK_EDITOR_DEFAULT_FILENAME));
}
DatablockEditorPlugin.createDatablock(); DatablockEditorPlugin.createDatablock();
} }

View file

@ -167,6 +167,11 @@ function DecalEditorGui::pickedNewDecalTargetModule(%this, %module)
%moduleDef = ModuleDatabase.findModule(%module); %moduleDef = ModuleDatabase.findModule(%module);
$decalDataFile = %moduleDef.ModulePath @ "/scripts/managedData/managedDecalData." @ $TorqueScriptFileExtension; $decalDataFile = %moduleDef.ModulePath @ "/scripts/managedData/managedDecalData." @ $TorqueScriptFileExtension;
if(!isDirectory(filePath($decalDataFile)))
{
AssetBrowser.dirHandler.createFolder(filePath($decalDataFile));
}
%name = getUniqueName( "NewDecalData" ); %name = getUniqueName( "NewDecalData" );
%str = "datablock DecalData( " @ %name @ " ) { Material = \"WarningMaterial\"; };"; %str = "datablock DecalData( " @ %name @ " ) { Material = \"WarningMaterial\"; };";

View file

@ -180,6 +180,12 @@ function ForestEditorGui::pickedNewMeshTargetModule(%this, %module)
%moduleDef = ModuleDatabase.findModule(%module); %moduleDef = ModuleDatabase.findModule(%module);
ForestEditorGui.forestItemDataPath = %moduleDef.ModulePath @ "/scripts/managedData/managedForestItemData." @ $TorqueScriptFileExtension; ForestEditorGui.forestItemDataPath = %moduleDef.ModulePath @ "/scripts/managedData/managedForestItemData." @ $TorqueScriptFileExtension;
if(!isDirectory(filePath(ForestEditorGui.forestItemDataPath)))
{
AssetBrowser.dirHandler.createFolder(filePath(ForestEditorGui.forestItemDataPath));
}
AssetBrowser.showDialog("ShapeAsset", "selectNewForestMesh", "", "", ""); AssetBrowser.showDialog("ShapeAsset", "selectNewForestMesh", "", "", "");
} }

View file

@ -34,12 +34,10 @@ function initializeForestEditor()
ForestEditorGui.setVisible( false ); ForestEditorGui.setVisible( false );
ForestEditorPalleteWindow.setVisible( false ); ForestEditorPalleteWindow.setVisible( false );
ForestEditorPropertiesWindow.setVisible( false ); ForestEditorPropertiesWindow.setVisible( false );
ForestEditToolbar.setVisible( false );
EditorGui.add( ForestEditorGui ); EditorGui.add( ForestEditorGui );
EditorGui.add( ForestEditorPalleteWindow ); EditorGui.add( ForestEditorPalleteWindow );
EditorGui.add( ForestEditorPropertiesWindow ); EditorGui.add( ForestEditorPropertiesWindow );
EditorGui.add( ForestEditToolbar );
new ScriptObject( ForestEditorPlugin ) new ScriptObject( ForestEditorPlugin )
{ {
@ -141,7 +139,9 @@ function ForestEditorPlugin::onActivated( %this )
ForestEditorPalleteWindow.setVisible( true ); ForestEditorPalleteWindow.setVisible( true );
ForestEditorPropertiesWindow.setVisible( true ); ForestEditorPropertiesWindow.setVisible( true );
ForestEditorGui.makeFirstResponder( true ); ForestEditorGui.makeFirstResponder( true );
//ForestEditToolbar.setVisible( true );
EditorGuiToolbarStack.remove( EWorldEditorToolbar );
EditorGuiToolbarStack.add( ForestEditToolbar );
//Get our existing forest object in our current mission if we have one //Get our existing forest object in our current mission if we have one
%forestObject = trim(parseMissionGroupForIds("Forest", "")); %forestObject = trim(parseMissionGroupForIds("Forest", ""));
@ -210,7 +210,11 @@ function ForestEditorPlugin::onActivated( %this )
function ForestEditorPlugin::onDeactivated( %this ) function ForestEditorPlugin::onDeactivated( %this )
{ {
EditorGuiToolbarStack.add( EWorldEditorToolbar );
EditorGuiToolbarStack.remove( ForestEditToolbar );
ForestEditorGui.setVisible( false ); ForestEditorGui.setVisible( false );
ForestEditorPalleteWindow.setVisible( false ); ForestEditorPalleteWindow.setVisible( false );
ForestEditorPropertiesWindow.setVisible( false ); ForestEditorPropertiesWindow.setVisible( false );

View file

@ -492,8 +492,29 @@ function ESettingsWindow::getAssetManagementSettings(%this)
function ESettingsWindow::getAssetEditingSettings(%this) function ESettingsWindow::getAssetEditingSettings(%this)
{ {
ImportAssetWindow::reloadImportOptionConfigs(); ImportAssetWindow::reloadImportOptionConfigs();
%formattedConfigList = "";
//First, get our list of modules
%moduleList = ModuleDatabase.findModules();
%formattedModuleList = "";
%count = getWordCount(%moduleList);
for(%i=0; %i < %count; %i++)
{
%module = getWord(%moduleList, %i);
if(%module.group !$= "Tools" && %module.group !$= "Core")
{
if(%formattedModuleList $= "")
%formattedModuleList = %module.moduleId;
else
%formattedModuleList = %formattedModuleList @ "," @ %module.moduleId;
}
}
SettingsInspector.startGroup("Asset Creation");
SettingsInspector.addSettingsField("Assets/New/defaultModule", "Default Module", "list", "Default Module for new assets to be created into", %formattedModuleList);
SettingsInspector.addSettingsField("Assets/New/alwaysPromptModuleTarget", "Always Prompt Target Module", "bool", "If off, use the default module");
SettingsInspector.endGroup();
for(%i=0; %i < ImportAssetWindow.importConfigsList.Count(); %i++) for(%i=0; %i < ImportAssetWindow.importConfigsList.Count(); %i++)
{ {
%configName = ImportAssetWindow.importConfigsList.getKey(%i); %configName = ImportAssetWindow.importConfigsList.getKey(%i);
@ -507,6 +528,7 @@ function ESettingsWindow::getAssetEditingSettings(%this)
"will attempt to automatically import any inbound assets"@ "will attempt to automatically import any inbound assets"@
"using the default config, without prompting the import window."@ "using the default config, without prompting the import window."@
"The window will still display if any issues are detected", ""); "The window will still display if any issues are detected", "");
SettingsInspector.addSettingsField("Assets/AutoImportLooseFiles", "Automatically Import Loose Files", "bool", "If on, will automatically import unassociated loose files in assets when navigating the Asset Browser.", "");
SettingsInspector.endGroup(); SettingsInspector.endGroup();
SettingsInspector.startGroup("Asset Browser"); SettingsInspector.startGroup("Asset Browser");
@ -517,6 +539,8 @@ function ESettingsWindow::getAssetEditingSettings(%this)
SettingsInspector.addSettingsField("Assets/Browser/showEmptyFolders", "Show Empty Folders in Tiles view in Asset Browser", "bool", ""); SettingsInspector.addSettingsField("Assets/Browser/showEmptyFolders", "Show Empty Folders in Tiles view in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/showLooseFiles", "Show Loose Files when viewing in Asset Browser", "bool", ""); SettingsInspector.addSettingsField("Assets/Browser/showLooseFiles", "Show Loose Files when viewing in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("AssetManagement/Assets/promptOnRename", "Prompt on Rename", "bool", ""); SettingsInspector.addSettingsField("AssetManagement/Assets/promptOnRename", "Prompt on Rename", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/doubleClickAction", "Double Click Action", "list", "Dictates what sort of action double clicking on an asset in the Browser will invoke", "Edit Asset,Spawn Asset");
SettingsInspector.addSettingsField("AssetManagement/Assets/closeBrowserOnDragAction", "Close Browser on Drag Action", "bool", "If on, the Asset Browser will automatically close after dragging an asset from it to the editor interface.");
SettingsInspector.endGroup(); SettingsInspector.endGroup();
} }

View file

@ -353,13 +353,17 @@ new GuiControlProfile( ToolsGuiButtonProfile )
{ {
opaque = true; opaque = true;
border = true; border = true;
fillColor = EditorSettings.value("Theme/tabsColor");
fillColorHL = EditorSettings.value("Theme/tabsGLColor");
fillColorSEL = EditorSettings.value("Theme/tabsSELColor");
fillColorNA = EditorSettings.value("Theme/tabsSELColor");
fontColor = EditorSettings.value("Theme/fieldTextColor"); fontColor = EditorSettings.value("Theme/fieldTextColor");
fontColorHL = EditorSettings.value("Theme/fieldTextHLColor"); fontColorHL = EditorSettings.value("Theme/fieldTextHLColor");
fontColorNA = EditorSettings.value("Theme/fieldTextSELColor"); fontColorNA = EditorSettings.value("Theme/fieldTextSELColor");
fixedExtent = false; fixedExtent = false;
justify = "center"; justify = "center";
canKeyFocus = false; canKeyFocus = false;
bitmapAsset = "ToolsModule:button_image";
hasBitmapArray = false; hasBitmapArray = false;
category = "Tools"; category = "Tools";
}; };

View file

@ -1,76 +1,80 @@
//--- OBJECT WRITE BEGIN --- //--- OBJECT WRITE BEGIN ---
$guiContent = new GuiControl(ScriptEditorDlg,EditorGuiGroup) { $guiContent = new GuiControl(ScriptEditorDlg,EditorGuiGroup) {
isContainer = "1";
Profile = "ToolsGuiDefaultNonModalProfile";
HorizSizing = "width";
VertSizing = "height";
position = "0 0"; position = "0 0";
Extent = "1024 768"; extent = "1024 768";
MinExtent = "8 2"; minExtent = "8 2";
canSave = "1"; horizSizing = "width";
Visible = "1"; vertSizing = "height";
tooltipprofile = "ToolsGuiToolTipProfile"; profile = "ToolsGuiDefaultNonModalProfile";
visible = "1";
active = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; isContainer = "1";
canSave = "1";
canSaveDynamicFields = "1";
new GuiWindowCtrl() { new GuiWindowCtrl() {
text = "Text Pad";
resizeWidth = "0"; resizeWidth = "0";
resizeHeight = "0"; resizeHeight = "0";
canMove = "1"; canMove = "1";
canClose = "1"; canClose = "1";
canMinimize = "1"; canMinimize = "1";
canMaximize = "1"; canMaximize = "1";
minSize = "50 50"; canCollapse = "0";
closeCommand = "ScriptEditorDlg.close();"; closeCommand = "ScriptEditorDlg.close();";
EdgeSnap = "1"; edgeSnap = "1";
text = "Text Pad"; margin = "0 0 0 0";
Margin = "0 0 0 0"; padding = "0 0 0 0";
Padding = "0 0 0 0"; anchorTop = "1";
AnchorTop = "1"; anchorBottom = "0";
AnchorBottom = "0"; anchorLeft = "1";
AnchorLeft = "1"; anchorRight = "0";
AnchorRight = "0"; position = "219 162";
isContainer = "1"; extent = "524 373";
Profile = "ToolsGuiWindowProfile"; minExtent = "8 8";
HorizSizing = "center"; horizSizing = "center";
VertSizing = "center"; vertSizing = "center";
position = "176 120"; profile = "ToolsGuiWindowProfile";
Extent = "656 464"; visible = "1";
MinExtent = "8 8"; active = "1";
canSave = "1"; command = "ScriptEditorDlg.close();";
Visible = "1"; accelerator = "escape";
Command = "ScriptEditorDlg.close();"; tooltipProfile = "ToolsGuiToolTipProfile";
Accelerator = "escape";
tooltipprofile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
new GuiControl() { new GuiControl() {
isContainer = "1";
Profile = "ToolsGuiDefaultProfile";
HorizSizing = "width";
VertSizing = "height";
position = "8 24"; position = "8 24";
Extent = "640 392"; extent = "508 291";
MinExtent = "8 2"; minExtent = "8 2";
canSave = "1"; horizSizing = "width";
Visible = "1"; vertSizing = "height";
tooltipprofile = "ToolsGuiToolTipProfile"; profile = "ToolsGuiDefaultProfile";
visible = "1";
active = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
new GuiControl() { new GuiControl() {
isContainer = "1"; position = "1 7";
Profile = "ToolsGuiDefaultProfile"; extent = "507 286";
HorizSizing = "width"; minExtent = "8 2";
VertSizing = "height"; horizSizing = "width";
position = "8 7"; vertSizing = "height";
Extent = "627 380"; profile = "ToolsGuiDefaultProfile";
MinExtent = "8 2"; visible = "1";
canSave = "1"; active = "1";
Visible = "1"; tooltipProfile = "ToolsGuiToolTipProfile";
tooltipprofile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
new GuiScrollCtrl() { new GuiScrollCtrl() {
@ -82,23 +86,24 @@ $guiContent = new GuiControl(ScriptEditorDlg,EditorGuiGroup) {
constantThumbHeight = "0"; constantThumbHeight = "0";
childMargin = "1 1"; childMargin = "1 1";
mouseWheelScrollSpeed = "-1"; mouseWheelScrollSpeed = "-1";
Margin = "0 0 0 0"; margin = "0 0 0 0";
Padding = "0 0 0 0"; padding = "0 0 0 0";
AnchorTop = "1"; anchorTop = "1";
AnchorBottom = "0"; anchorBottom = "0";
AnchorLeft = "1"; anchorLeft = "1";
AnchorRight = "0"; anchorRight = "0";
isContainer = "1";
Profile = "ToolsGuiScrollProfile";
HorizSizing = "width";
VertSizing = "height";
position = "0 0"; position = "0 0";
Extent = "627 380"; extent = "507 286";
MinExtent = "8 2"; minExtent = "8 2";
canSave = "1"; horizSizing = "width";
Visible = "1"; vertSizing = "height";
tooltipprofile = "ToolsGuiToolTipProfile"; profile = "ToolsGuiScrollProfile";
visible = "1";
active = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
new GuiMLTextEditCtrl() { new GuiMLTextEditCtrl() {
@ -106,18 +111,19 @@ $guiContent = new GuiControl(ScriptEditorDlg,EditorGuiGroup) {
allowColorChars = "0"; allowColorChars = "0";
maxChars = "-1"; maxChars = "-1";
useURLMouseCursor = "0"; useURLMouseCursor = "0";
isContainer = "0";
Profile = "ToolsGuiTextPadProfile";
HorizSizing = "width";
VertSizing = "height";
position = "2 2"; position = "2 2";
Extent = "623 380"; extent = "505 286";
MinExtent = "8 2"; minExtent = "8 2";
canSave = "1"; horizSizing = "width";
Visible = "1"; vertSizing = "height";
tooltipprofile = "ToolsGuiToolTipProfile"; profile = "ToolsGuiTextPadProfile";
visible = "1";
active = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "0";
internalName = "TextPad"; internalName = "TextPad";
canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
}; };
@ -125,7 +131,7 @@ $guiContent = new GuiControl(ScriptEditorDlg,EditorGuiGroup) {
}; };
new GuiIconButtonCtrl() { new GuiIconButtonCtrl() {
buttonMargin = "4 4"; buttonMargin = "4 4";
bitmapAsset = "ToolsModule:iconCancel_image"; BitmapAsset = "ToolsModule:iconCancel_image";
iconLocation = "Left"; iconLocation = "Left";
sizeIconToButton = "0"; sizeIconToButton = "0";
makeIconSquare = "0"; makeIconSquare = "0";
@ -136,23 +142,24 @@ $guiContent = new GuiControl(ScriptEditorDlg,EditorGuiGroup) {
groupNum = "-1"; groupNum = "-1";
buttonType = "PushButton"; buttonType = "PushButton";
useMouseEvents = "0"; useMouseEvents = "0";
isContainer = "0"; position = "335 334";
Profile = "ToolsGuiButtonProfile"; extent = "80 25";
HorizSizing = "left"; minExtent = "8 2";
VertSizing = "top"; horizSizing = "left";
position = "460 424"; vertSizing = "top";
Extent = "80 25"; profile = "ToolsGuiButtonProfile";
MinExtent = "8 2"; visible = "1";
canSave = "1"; active = "1";
Visible = "1"; command = "ScriptEditorDlg.close();";
Command = "ScriptEditorDlg.close();"; tooltipProfile = "ToolsGuiToolTipProfile";
tooltipprofile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
new GuiIconButtonCtrl() { new GuiIconButtonCtrl() {
buttonMargin = "4 4"; buttonMargin = "4 4";
bitmapAsset = "ToolsModule:iconAccept_image"; BitmapAsset = "ToolsModule:iconAccept_image";
iconLocation = "Left"; iconLocation = "Left";
sizeIconToButton = "0"; sizeIconToButton = "0";
makeIconSquare = "0"; makeIconSquare = "0";
@ -163,18 +170,19 @@ $guiContent = new GuiControl(ScriptEditorDlg,EditorGuiGroup) {
groupNum = "-1"; groupNum = "-1";
buttonType = "PushButton"; buttonType = "PushButton";
useMouseEvents = "0"; useMouseEvents = "0";
isContainer = "0"; position = "436 334";
Profile = "ToolsGuiButtonProfile"; extent = "80 25";
HorizSizing = "left"; minExtent = "8 2";
VertSizing = "top"; horizSizing = "left";
position = "560 424"; vertSizing = "top";
Extent = "80 25"; profile = "ToolsGuiButtonProfile";
MinExtent = "8 2"; visible = "1";
canSave = "1"; active = "1";
Visible = "1"; command = "_TextPadOnOk();";
Command = "_TextPadOnOk();"; tooltipProfile = "ToolsGuiToolTipProfile";
tooltipprofile = "ToolsGuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
}; };

View file

@ -22,8 +22,8 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
Profile = "ToolsGuiFrameSetProfile"; Profile = "ToolsGuiFrameSetProfile";
HorizSizing = "width"; HorizSizing = "width";
VertSizing = "height"; VertSizing = "height";
Position = "0 0"; Position = "-1 -1";
Extent = "800 583"; Extent = "801 584";
MinExtent = "8 2"; MinExtent = "8 2";
canSave = "1"; canSave = "1";
Visible = "1"; Visible = "1";
@ -50,24 +50,28 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
Visible = "1"; Visible = "1";
hovertime = "1000"; hovertime = "1000";
new GuiContainer(GHToolBar) { new GuiStackControl(GuiEditorToolbarStack) {
margin = "0 0 0 0"; stackingType = "Horizontal";
padding = "0 0 0 0"; horizStacking = "Left to Right";
anchorTop = "1"; vertStacking = "Top to Bottom";
anchorBottom = "0"; padding = "0";
anchorLeft = "1"; dynamicSize = "1";
anchorRight = "0"; dynamicNonStackExtent = "0";
isContainer = "1"; dynamicPos = "0";
profile = "ToolsMenubarProfile"; changeChildSizeToFit = "0";
changeChildPosition = "1";
position = "0 0";
extent = "885 32";
minExtent = "16 16";
horizSizing = "right"; horizSizing = "right";
vertSizing = "bottom"; vertSizing = "bottom";
position = "0 0"; profile = "ToolsGuiDefaultProfile";
extent = "16000 32";
minExtent = "8 2";
canSave = "1";
visible = "1"; visible = "1";
tooltipProfile = "ToolsGuiToolTipProfile"; active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000"; hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl(GHWorldEditor) { new GuiBitmapButtonCtrl(GHWorldEditor) {
@ -136,27 +140,31 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
new GuiBitmapButtonCtrl() { new GuiBitmapButtonCtrl() {
canSaveDynamicFields = "0"; BitmapAsset = "ToolsModule:settings_n_image";
internalName = AssetBrowserBtn;
Enabled = "1";
isContainer = "0";
Profile = "ToolsGuiButtonProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = "98 3";
Extent = "29 27";
MinExtent = "8 2";
canSave = "1";
Visible = "1";
Command = "AssetBrowser.ShowDialog();";
tooltipprofile = "ToolsGuiToolTipProfile";
ToolTip = "Asset Browser";
hovertime = "750";
bitmapAsset = "ToolsModule:menuGrid_image";
bitmapMode = "Stretched"; bitmapMode = "Stretched";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton"; buttonType = "PushButton";
groupNum = "0";
useMouseEvents = "0"; useMouseEvents = "0";
position = "150 0";
extent = "29 27";
minExtent = "8 8";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "ESettingsWindow.toggleEditorSettings();";
tooltipProfile = "ToolsGuiToolTipProfile";
tooltip = "Open Editor Settings";
hovertime = "1000";
isContainer = "0";
internalName = "editorSettingsBtn";
canSave = "1";
canSaveDynamicFields = "0";
}; };
new GuiBitmapCtrl() { new GuiBitmapCtrl() {
bitmapAsset = "ToolsModule:separator_h_image"; bitmapAsset = "ToolsModule:separator_h_image";
@ -174,21 +182,37 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
}; new GuiBitmapButtonCtrl() {
new GuiControl() { canSaveDynamicFields = "0";
isContainer = "1"; internalName = AssetBrowserBtn;
profile = "ToolsGuiDefaultProfile"; Enabled = "1";
horizSizing = "width"; isContainer = "0";
vertSizing = "bottom"; Profile = "ToolsGuiButtonProfile";
position = "131 0"; HorizSizing = "right";
extent = "723 32"; VertSizing = "bottom";
minExtent = "8 2"; position = "98 3";
canSave = "1"; Extent = "29 27";
visible = "1"; MinExtent = "8 2";
tooltipProfile = "ToolsGuiToolTipProfile"; canSave = "1";
hovertime = "1000"; Visible = "1";
canSaveDynamicFields = "0"; Command = "AssetBrowser.toggleDialog();";
tooltipprofile = "ToolsGuiToolTipProfile";
ToolTip = "Asset Browser";
hovertime = "750";
bitmapAsset = "ToolsModule:menuGrid_image";
bitmapMode = "Stretched";
buttonType = "PushButton";
groupNum = "0";
useMouseEvents = "0";
};
new GuiBitmapCtrl() {
Enabled = "1";
Profile = "ToolsGuiDefaultProfile";
position = "160 3";
Extent = "2 26";
MinExtent = "1 1";
bitmapAsset = "ToolsModule:separator_h_image";
};
new GuiPopUpMenuCtrl(GuiEditorContentList) { new GuiPopUpMenuCtrl(GuiEditorContentList) {
maxPopupHeight = "200"; maxPopupHeight = "200";
sbUsesNAColor = "0"; sbUsesNAColor = "0";
@ -205,9 +229,9 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
isContainer = "0"; isContainer = "0";
profile = "ToolsGuiPopUpMenuProfile"; profile = "ToolsGuiPopUpMenuProfile";
horizSizing = "right"; horizSizing = "right";
vertSizing = "bottom"; vertSizing = "center";
position = "8 7"; position = "8 0";
extent = "145 18"; extent = "145 27";
minExtent = "8 2"; minExtent = "8 2";
canSave = "1"; canSave = "1";
visible = "1"; visible = "1";
@ -231,9 +255,9 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
isContainer = "0"; isContainer = "0";
profile = "ToolsGuiPopUpMenuProfile"; profile = "ToolsGuiPopUpMenuProfile";
horizSizing = "right"; horizSizing = "right";
vertSizing = "bottom"; vertSizing = "center";
position = "161 7"; position = "161 0";
extent = "136 18"; extent = "136 27";
minExtent = "8 2"; minExtent = "8 2";
canSave = "1"; canSave = "1";
visible = "1"; visible = "1";
@ -247,7 +271,7 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
isContainer = "0"; isContainer = "0";
profile = "ToolsGuiDefaultProfile"; profile = "ToolsGuiDefaultProfile";
horizSizing = "right"; horizSizing = "right";
vertSizing = "bottom"; vertSizing = "center";
position = "307 3"; position = "307 3";
extent = "2 26"; extent = "2 26";
minExtent = "1 1"; minExtent = "1 1";
@ -257,20 +281,6 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
new GuiControl() {
isContainer = "1";
profile = "ToolsGuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "312 3";
extent = "95 27";
minExtent = "8 2";
canSave = "1";
visible = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl(GuiEditorSnapCheckBox) { new GuiBitmapButtonCtrl(GuiEditorSnapCheckBox) {
bitmapAsset = "ToolsModule:snap_grid_n_image"; bitmapAsset = "ToolsModule:snap_grid_n_image";
bitmapMode = "Stretched"; bitmapMode = "Stretched";
@ -302,10 +312,10 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
isContainer = "0"; isContainer = "0";
profile = "ToolsGuiButtonProfile"; profile = "ToolsGuiButtonProfile";
horizSizing = "right"; horizSizing = "right";
vertSizing = "bottom"; vertSizing = "center";
position = "31 0"; position = "31 0";
extent = "29 27"; extent = "29 27";
minExtent = "120 21"; minExtent = "21 21";
canSave = "1"; canSave = "1";
visible = "1"; visible = "1";
command = "GuiEditor.toggleEdgeSnap();"; command = "GuiEditor.toggleEdgeSnap();";
@ -324,10 +334,10 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
isContainer = "0"; isContainer = "0";
profile = "ToolsGuiButtonProfile"; profile = "ToolsGuiButtonProfile";
horizSizing = "right"; horizSizing = "right";
vertSizing = "bottom"; vertSizing = "center";
position = "62 0"; position = "62 0";
extent = "29 27"; extent = "29 27";
minExtent = "120 21"; minExtent = "21 21";
canSave = "1"; canSave = "1";
visible = "1"; visible = "1";
command = "GuiEditor.toggleCenterSnap();"; command = "GuiEditor.toggleCenterSnap();";
@ -336,7 +346,6 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
};
new GuiBitmapCtrl() { new GuiBitmapCtrl() {
bitmapAsset = "ToolsModule:separator_h_image"; bitmapAsset = "ToolsModule:separator_h_image";
wrap = "0"; wrap = "0";
@ -353,20 +362,6 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
new GuiControl() {
isContainer = "1";
profile = "ToolsGuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "422 3";
extent = "95 27";
minExtent = "8 2";
canSave = "1";
visible = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl() { new GuiBitmapButtonCtrl() {
bitmapAsset = "ToolsModule:align_left_n_image"; bitmapAsset = "ToolsModule:align_left_n_image";
bitmapMode = "Stretched"; bitmapMode = "Stretched";
@ -380,7 +375,7 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
vertSizing = "bottom"; vertSizing = "bottom";
position = "0 0"; position = "0 0";
extent = "29 27"; extent = "29 27";
minExtent = "120 21"; minExtent = "21 21";
canSave = "1"; canSave = "1";
visible = "1"; visible = "1";
command = "GuiEditor.Justify(0);"; command = "GuiEditor.Justify(0);";
@ -433,21 +428,6 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
};
new GuiControl() {
isContainer = "1";
profile = "ToolsGuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "498 3";
extent = "95 27";
minExtent = "8 2";
canSave = "1";
visible = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl() { new GuiBitmapButtonCtrl() {
bitmapAsset = "ToolsModule:align_top_n_image"; bitmapAsset = "ToolsModule:align_top_n_image";
bitmapMode = "Stretched"; bitmapMode = "Stretched";
@ -461,7 +441,7 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
vertSizing = "bottom"; vertSizing = "bottom";
position = "0 0"; position = "0 0";
extent = "29 27"; extent = "29 27";
minExtent = "120 21"; minExtent = "21 21";
canSave = "1"; canSave = "1";
visible = "1"; visible = "1";
command = "GuiEditor.Justify(3);"; command = "GuiEditor.Justify(3);";
@ -514,7 +494,6 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
};
new GuiBitmapCtrl() { new GuiBitmapCtrl() {
bitmapAsset = "ToolsModule:separator_h_image"; bitmapAsset = "ToolsModule:separator_h_image";
wrap = "0"; wrap = "0";
@ -547,20 +526,6 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
new GuiControl() {
isContainer = "1";
profile = "ToolsGuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "615 3";
extent = "117 27";
minExtent = "8 2";
canSave = "1";
visible = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl() { new GuiBitmapButtonCtrl() {
bitmapAsset = "ToolsModule:send_to_back_n_image"; bitmapAsset = "ToolsModule:send_to_back_n_image";
bitmapMode = "Stretched"; bitmapMode = "Stretched";
@ -605,21 +570,6 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
}; };
};
new GuiControl() {
isContainer = "1";
profile = "ToolsGuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "583 3";
extent = "60 27";
minExtent = "8 2";
canSave = "1";
visible = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl() { new GuiBitmapButtonCtrl() {
bitmapAsset = "ToolsModule:distribute_horizontal_n_image"; bitmapAsset = "ToolsModule:distribute_horizontal_n_image";
bitmapMode = "Stretched"; bitmapMode = "Stretched";
@ -663,7 +613,6 @@ $guiContent = new GuiControl(GuiEditorGui, EditorGuiGroup) {
ToolTip = "Distribute Vertically"; ToolTip = "Distribute Vertically";
hovertime = "1000"; hovertime = "1000";
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
};
}; };
}; };
//--------------------- //---------------------

View file

@ -2040,13 +2040,17 @@ function MaterialEditorGui::pickedNewMaterialTargetModule( %this, %module )
PE_EmitterEditor.targetModule = %module; PE_EmitterEditor.targetModule = %module;
MaterialEditorGui.defaultMaterialFile = %moduleDef.ModulePath @ "/scripts/managedData/materials." @ $TorqueScriptFileExtension; MaterialEditorGui.defaultMaterialFile = %moduleDef.ModulePath @ "/scripts/managedData/materials." @ $TorqueScriptFileExtension;
if(!isDirectory(filePath(MaterialEditorGui.defaultMaterialFile)))
{
AssetBrowser.dirHandler.createFolder(filePath(MaterialEditorGui.defaultMaterialFile));
}
%action = %this.createUndo(ActionCreateNewMaterial, "Create New Material"); %action = %this.createUndo(ActionCreateNewMaterial, "Create New Material");
%action.object = ""; %action.object = "";
%material = getUniqueName( "newMaterial" ); %material = getUniqueName( "newMaterial" );
new Material(%material) new Material(%material)
{ {
diffuseMap[0] = "core/rendering/images/warnmat";
mapTo = "unmapped_mat"; mapTo = "unmapped_mat";
parentGroup = RootGroup; parentGroup = RootGroup;
}; };

View file

@ -31,12 +31,10 @@ function initializeMeshRoadEditor()
MeshRoadEditorGui.setVisible( false ); MeshRoadEditorGui.setVisible( false );
MeshRoadEditorOptionsWindow.setVisible( false ); MeshRoadEditorOptionsWindow.setVisible( false );
MeshRoadEditorToolbar.setVisible( false );
MeshRoadEditorTreeWindow.setVisible( false ); MeshRoadEditorTreeWindow.setVisible( false );
EditorGui.add( MeshRoadEditorGui ); EditorGui.add( MeshRoadEditorGui );
EditorGui.add( MeshRoadEditorOptionsWindow ); EditorGui.add( MeshRoadEditorOptionsWindow );
EditorGui.add( MeshRoadEditorToolbar );
EditorGui.add( MeshRoadEditorTreeWindow ); EditorGui.add( MeshRoadEditorTreeWindow );
new ScriptObject( MeshRoadEditorPlugin ) new ScriptObject( MeshRoadEditorPlugin )
@ -95,7 +93,10 @@ function MeshRoadEditorPlugin::onActivated( %this )
MeshRoadEditorGui.setVisible( true ); MeshRoadEditorGui.setVisible( true );
MeshRoadEditorGui.makeFirstResponder( true ); MeshRoadEditorGui.makeFirstResponder( true );
MeshRoadEditorOptionsWindow.setVisible( true ); MeshRoadEditorOptionsWindow.setVisible( true );
MeshRoadEditorToolbar.setVisible( true );
EditorGuiToolbarStack.remove( EWorldEditorToolbar );
EditorGuiToolbarStack.add( MeshRoadEditorToolbar );
MeshRoadEditorTreeWindow.setVisible( true ); MeshRoadEditorTreeWindow.setVisible( true );
MeshRoadTreeView.open(ServerMeshRoadSet,true); MeshRoadTreeView.open(ServerMeshRoadSet,true);
%this.map.push(); %this.map.push();
@ -121,7 +122,10 @@ function MeshRoadEditorPlugin::onDeactivated( %this )
MeshRoadEditorGui.setVisible( false ); MeshRoadEditorGui.setVisible( false );
MeshRoadEditorOptionsWindow.setVisible( false ); MeshRoadEditorOptionsWindow.setVisible( false );
MeshRoadEditorToolbar.setVisible( false );
EditorGuiToolbarStack.add( EWorldEditorToolbar );
EditorGuiToolbarStack.remove( MeshRoadEditorToolbar );
MeshRoadEditorTreeWindow.setVisible( false ); MeshRoadEditorTreeWindow.setVisible( false );
%this.map.pop(); %this.map.pop();

View file

@ -10,7 +10,7 @@ $guiContent = new GuiControl(MeshRoadEditorToolbar,EditorGuiGroup) {
Extent = "800 32"; Extent = "800 32";
MinExtent = "8 2"; MinExtent = "8 2";
canSave = "1"; canSave = "1";
Visible = "0"; Visible = "1";
hovertime = "1000"; hovertime = "1000";
new GuiTextCtrl() { new GuiTextCtrl() {

View file

@ -42,13 +42,11 @@ function initializeNavEditor()
// Add ourselves to EditorGui, where all the other tools reside // Add ourselves to EditorGui, where all the other tools reside
NavEditorGui.setVisible(false); NavEditorGui.setVisible(false);
NavEditorToolbar.setVisible(false);
NavEditorOptionsWindow.setVisible(false); NavEditorOptionsWindow.setVisible(false);
NavEditorTreeWindow.setVisible(false); NavEditorTreeWindow.setVisible(false);
NavEditorConsoleDlg.setVisible(false); NavEditorConsoleDlg.setVisible(false);
EditorGui.add(NavEditorGui); EditorGui.add(NavEditorGui);
EditorGui.add(NavEditorToolbar);
EditorGui.add(NavEditorOptionsWindow); EditorGui.add(NavEditorOptionsWindow);
EditorGui.add(NavEditorTreeWindow); EditorGui.add(NavEditorTreeWindow);
EditorGui.add(NavEditorConsoleDlg); EditorGui.add(NavEditorConsoleDlg);
@ -123,7 +121,8 @@ function NavEditorPlugin::onActivated(%this)
NavEditorGui.setVisible(true); NavEditorGui.setVisible(true);
NavEditorGui.makeFirstResponder(true); NavEditorGui.makeFirstResponder(true);
NavEditorToolbar.setVisible(true); EditorGuiToolbarStack.remove( EWorldEditorToolbar );
EditorGuiToolbarStack.add( NavEditorToolbar );
NavEditorOptionsWindow.setVisible(true); NavEditorOptionsWindow.setVisible(true);
NavEditorTreeWindow.setVisible(true); NavEditorTreeWindow.setVisible(true);
@ -167,7 +166,10 @@ function NavEditorPlugin::onDeactivated(%this)
$Nav::EditorOpen = false; $Nav::EditorOpen = false;
NavEditorGui.setVisible(false); NavEditorGui.setVisible(false);
NavEditorToolbar.setVisible(false);
EditorGuiToolbarStack.add( EWorldEditorToolbar );
EditorGuiToolbarStack.remove( NavEditorToolbar );
NavEditorOptionsWindow.setVisible(false); NavEditorOptionsWindow.setVisible(false);
NavEditorTreeWindow.setVisible(false); NavEditorTreeWindow.setVisible(false);
%this.map.pop(); %this.map.pop();

View file

@ -563,6 +563,11 @@ function PE_EmitterEditor::pickedNewEmitterTargetModule( %this, %module )
PE_EmitterEditor.targetModule = %module; PE_EmitterEditor.targetModule = %module;
$PE_EMITTEREDITOR_DEFAULT_FILENAME = %moduleDef.ModulePath @ "/scripts/managedData/managedParticleEmitterData." @ $TorqueScriptFileExtension; $PE_EMITTEREDITOR_DEFAULT_FILENAME = %moduleDef.ModulePath @ "/scripts/managedData/managedParticleEmitterData." @ $TorqueScriptFileExtension;
if(!isDirectory(filePath($PE_EMITTEREDITOR_DEFAULT_FILENAME)))
{
AssetBrowser.dirHandler.createFolder(filePath($PE_EMITTEREDITOR_DEFAULT_FILENAME));
}
// Create a new emitter. // Create a new emitter.
%emitter = getUniqueName( "newEmitter" ); %emitter = getUniqueName( "newEmitter" );
datablock ParticleEmitterData( %emitter : DefaultEmitter ) datablock ParticleEmitterData( %emitter : DefaultEmitter )

View file

@ -498,6 +498,11 @@ function PE_ParticleEditor::pickedNewParticleTargetModule(%this, %module)
%moduleDef = ModuleDatabase.findModule(%module); %moduleDef = ModuleDatabase.findModule(%module);
$PE_PARTICLEEDITOR_DEFAULT_FILENAME = %moduleDef.ModulePath @ "/scripts/managedData/managedParticleData." @ $TorqueScriptFileExtension; $PE_PARTICLEEDITOR_DEFAULT_FILENAME = %moduleDef.ModulePath @ "/scripts/managedData/managedParticleData." @ $TorqueScriptFileExtension;
if(!isDirectory(filePath($PE_PARTICLEEDITOR_DEFAULT_FILENAME)))
{
AssetBrowser.dirHandler.createFolder(filePath($PE_PARTICLEEDITOR_DEFAULT_FILENAME));
}
// Create the particle datablock and add to the emitter. // Create the particle datablock and add to the emitter.
%newParticle = getUniqueName( "newParticle" ); %newParticle = getUniqueName( "newParticle" );

View file

@ -10,7 +10,7 @@ $guiContent = new GuiControl(RiverEditorToolbar, EditorGuiGroup) {
Extent = "800 32"; Extent = "800 32";
MinExtent = "8 2"; MinExtent = "8 2";
canSave = "1"; canSave = "1";
Visible = "0"; Visible = "1";
hovertime = "1000"; hovertime = "1000";
new GuiTextCtrl() { new GuiTextCtrl() {

View file

@ -31,12 +31,10 @@ function initializeRiverEditor()
// Add ourselves to EditorGui, where all the other tools reside // Add ourselves to EditorGui, where all the other tools reside
RiverEditorGui.setVisible( false ); RiverEditorGui.setVisible( false );
RiverEditorToolbar.setVisible(false);
RiverEditorOptionsWindow.setVisible( false ); RiverEditorOptionsWindow.setVisible( false );
RiverEditorTreeWindow.setVisible( false ); RiverEditorTreeWindow.setVisible( false );
EditorGui.add( RiverEditorGui ); EditorGui.add( RiverEditorGui );
EditorGui.add( RiverEditorToolbar );
EditorGui.add( RiverEditorOptionsWindow ); EditorGui.add( RiverEditorOptionsWindow );
EditorGui.add( RiverEditorTreeWindow ); EditorGui.add( RiverEditorTreeWindow );
@ -97,7 +95,9 @@ function RiverEditorPlugin::onActivated( %this )
RiverEditorGui.setVisible(true); RiverEditorGui.setVisible(true);
RiverEditorGui.makeFirstResponder( true ); RiverEditorGui.makeFirstResponder( true );
RiverEditorToolbar.setVisible(true);
EditorGuiToolbarStack.remove( EWorldEditorToolbar );
EditorGuiToolbarStack.add( RiverEditorToolbar );
RiverEditorOptionsWindow.setVisible( true ); RiverEditorOptionsWindow.setVisible( true );
RiverEditorTreeWindow.setVisible( true ); RiverEditorTreeWindow.setVisible( true );
@ -130,7 +130,10 @@ function RiverEditorPlugin::onDeactivated( %this )
$River::EditorOpen = false; $River::EditorOpen = false;
RiverEditorGui.setVisible(false); RiverEditorGui.setVisible(false);
RiverEditorToolbar.setVisible(false);
EditorGuiToolbarStack.add( EWorldEditorToolbar );
EditorGuiToolbarStack.remove( RiverEditorToolbar );
RiverEditorOptionsWindow.setVisible( false ); RiverEditorOptionsWindow.setVisible( false );
RiverEditorTreeWindow.setVisible( false ); RiverEditorTreeWindow.setVisible( false );
%this.map.pop(); %this.map.pop();

View file

@ -10,7 +10,7 @@ $guiContent = new GuiControl(RoadEditorToolbar) {
Extent = "800 32"; Extent = "800 32";
MinExtent = "8 2"; MinExtent = "8 2";
canSave = "1"; canSave = "1";
Visible = "0"; Visible = "1";
hovertime = "1000"; hovertime = "1000";
new GuiTextCtrl() { new GuiTextCtrl() {

View file

@ -31,12 +31,10 @@ function initializeRoadEditor()
// Add ourselves to EditorGui, where all the other tools reside // Add ourselves to EditorGui, where all the other tools reside
RoadEditorGui.setVisible( false ); RoadEditorGui.setVisible( false );
RoadEditorToolbar.setVisible( false );
RoadEditorOptionsWindow.setVisible( false ); RoadEditorOptionsWindow.setVisible( false );
RoadEditorTreeWindow.setVisible( false ); RoadEditorTreeWindow.setVisible( false );
EditorGui.add( RoadEditorGui ); EditorGui.add( RoadEditorGui );
EditorGui.add( RoadEditorToolbar );
EditorGui.add( RoadEditorOptionsWindow ); EditorGui.add( RoadEditorOptionsWindow );
EditorGui.add( RoadEditorTreeWindow ); EditorGui.add( RoadEditorTreeWindow );
@ -94,7 +92,8 @@ function RoadEditorPlugin::onActivated( %this )
RoadEditorGui.setVisible( true ); RoadEditorGui.setVisible( true );
RoadEditorGui.makeFirstResponder( true ); RoadEditorGui.makeFirstResponder( true );
RoadEditorToolbar.setVisible( true ); EditorGuiToolbarStack.remove( EWorldEditorToolbar );
EditorGuiToolbarStack.add( RoadEditorToolbar );
RoadEditorOptionsWindow.setVisible( true ); RoadEditorOptionsWindow.setVisible( true );
RoadEditorTreeWindow.setVisible( true ); RoadEditorTreeWindow.setVisible( true );
@ -115,7 +114,10 @@ function RoadEditorPlugin::onDeactivated( %this )
%this.writeSettings(); %this.writeSettings();
RoadEditorGui.setVisible( false ); RoadEditorGui.setVisible( false );
RoadEditorToolbar.setVisible( false );
EditorGuiToolbarStack.add( EWorldEditorToolbar );
EditorGuiToolbarStack.remove( RoadEditorToolbar );
RoadEditorOptionsWindow.setVisible( false ); RoadEditorOptionsWindow.setVisible( false );
RoadEditorTreeWindow.setVisible( false ); RoadEditorTreeWindow.setVisible( false );
%this.map.pop(); %this.map.pop();

View file

@ -44,8 +44,6 @@ function initializeShapeEditor()
// Add windows to editor gui // Add windows to editor gui
ShapeEdPreviewGui.setVisible(false); ShapeEdPreviewGui.setVisible(false);
ShapeEdAnimWindow.setVisible(false); ShapeEdAnimWindow.setVisible(false);
ShapeEditorToolbar.setVisible(false);
ShapeEdSelectWindow.setVisible(false); ShapeEdSelectWindow.setVisible(false);
ShapeEdPropWindow.setVisible(false); ShapeEdPropWindow.setVisible(false);
@ -53,7 +51,6 @@ function initializeShapeEditor()
EditorGui.add(ShapeEdAnimWindow); EditorGui.add(ShapeEdAnimWindow);
EditorGui.add(ShapeEdAdvancedWindow); EditorGui.add(ShapeEdAdvancedWindow);
EditorGui.add(ShapeEditorToolbar);
EditorGui.add(ShapeEdSelectWindow); EditorGui.add(ShapeEdSelectWindow);
EditorGui.add(ShapeEdPropWindow); EditorGui.add(ShapeEdPropWindow);
@ -189,7 +186,6 @@ function ShapeEditorPlugin::open(%this, %shapeAsset)
ShapeEdPropWindow.setVisible(true); ShapeEdPropWindow.setVisible(true);
ShapeEdAnimWindow.setVisible(true); ShapeEdAnimWindow.setVisible(true);
ShapeEdAdvancedWindow.setVisible(ShapeEditorToolbar-->showAdvanced.getValue()); ShapeEdAdvancedWindow.setVisible(ShapeEditorToolbar-->showAdvanced.getValue());
ShapeEditorToolbar.setVisible(true);
EditorGui.bringToFront(ShapeEdPreviewGui); EditorGui.bringToFront(ShapeEdPreviewGui);
ToolsPaletteArray->WorldEditorMove.performClick(); ToolsPaletteArray->WorldEditorMove.performClick();
@ -256,6 +252,9 @@ function ShapeEditorPlugin::onActivated(%this)
%this.openShapeAssetId(%shapeFile); %this.openShapeAssetId(%shapeFile);
} }
} }
EditorGuiToolbarStack.remove( EWorldEditorToolbar );
EditorGuiToolbarStack.add( ShapeEditorToolbar );
} }
function ShapeEditorPlugin::initStatusBar(%this) function ShapeEditorPlugin::initStatusBar(%this)
@ -275,7 +274,9 @@ function ShapeEditorPlugin::onDeactivated(%this)
$gfx::wireframe = $wasInWireFrameMode; $gfx::wireframe = $wasInWireFrameMode;
ShapeEdMaterials.updateSelectedMaterial(false); ShapeEdMaterials.updateSelectedMaterial(false);
ShapeEditorToolbar.setVisible(false);
EditorGuiToolbarStack.add( EWorldEditorToolbar );
EditorGuiToolbarStack.remove( ShapeEditorToolbar );
ShapeEdPreviewGui.setVisible(false); ShapeEdPreviewGui.setVisible(false);
ShapeEdSelectWindow.setVisible(false); ShapeEdSelectWindow.setVisible(false);

View file

@ -33,6 +33,29 @@ $guiContent = new GuiContainer(EditorGui,EditorGuiGroup) {
Visible = "1"; Visible = "1";
hovertime = "1000"; hovertime = "1000";
new GuiStackControl(EditorGuiToolbarStack) {
stackingType = "Horizontal";
horizStacking = "Left to Right";
vertStacking = "Top to Bottom";
padding = "0";
dynamicSize = "1";
dynamicNonStackExtent = "0";
dynamicPos = "0";
changeChildSizeToFit = "0";
changeChildPosition = "1";
position = "0 0";
extent = "885 32";
minExtent = "16 16";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl(EHWorldEditor) { new GuiBitmapButtonCtrl(EHWorldEditor) {
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
@ -107,6 +130,76 @@ $guiContent = new GuiContainer(EditorGui,EditorGuiGroup) {
bitmapAsset = "ToolsModule:separator_h_image"; bitmapAsset = "ToolsModule:separator_h_image";
}; };
new GuiBitmapButtonCtrl() {
BitmapAsset = "ToolsModule:settings_n_image";
bitmapMode = "Stretched";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "572 0";
extent = "29 27";
minExtent = "8 8";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "ESettingsWindow.toggleEditorSettings();";
tooltipProfile = "ToolsGuiToolTipProfile";
tooltip = "Open Editor Settings";
hovertime = "1000";
isContainer = "0";
internalName = "editorSettingsBtn";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiBitmapCtrl() {
Enabled = "1";
Profile = "ToolsGuiDefaultProfile";
position = "98 3";
Extent = "2 26";
MinExtent = "1 1";
bitmapAsset = "ToolsModule:separator_h_image";
};
new GuiBitmapButtonCtrl() {
canSaveDynamicFields = "0";
internalName = AssetBrowserBtn;
Enabled = "1";
isContainer = "0";
Profile = "ToolsGuiButtonProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = "180 0";
Extent = "29 27";
MinExtent = "8 2";
canSave = "1";
Visible = "1";
Command = "AssetBrowser.toggleDialog();";
tooltipprofile = "ToolsGuiToolTipProfile";
ToolTip = "Asset Browser";
hovertime = "750";
bitmapAsset = "ToolsModule:menuGrid_n_image";
bitmapMode = "Stretched";
buttonType = "PushButton";
groupNum = "0";
useMouseEvents = "0";
};
new GuiBitmapCtrl() {
Enabled = "1";
Profile = "ToolsGuiDefaultProfile";
position = "98 3";
Extent = "2 26";
MinExtent = "1 1";
bitmapAsset = "ToolsModule:separator_h_image";
};
new GuiBitmapButtonCtrl(EWorldEditorToggleCamera) { new GuiBitmapButtonCtrl(EWorldEditorToggleCamera) {
canSaveDynamicFields = "0"; canSaveDynamicFields = "0";
Enabled = "1"; Enabled = "1";
@ -306,6 +399,7 @@ $guiContent = new GuiContainer(EditorGui,EditorGuiGroup) {
sbUsesNAColor = "0"; sbUsesNAColor = "0";
reverseTextList = "0"; reverseTextList = "0";
bitmapBounds = "16 16"; bitmapBounds = "16 16";
};
}; };
}; };

View file

@ -520,31 +520,6 @@ $guiContent = new GuiControl(EWorldEditorToolbar, EditorGuiGroup) {
useMouseEvents = "0"; useMouseEvents = "0";
}; };
new GuiBitmapButtonCtrl() {
canSaveDynamicFields = "0";
internalName = "editorSettingsBtn";
Enabled = "1";
isContainer = "0";
Profile = "ToolsGuiButtonProfile";
HorizSizing = "right";
VertSizing = "bottom";
Position = "484 3";
Extent = "29 27";
MinExtent = "8 8";
canSave = "1";
Visible = "1";
Variable = "";
Command = "ESettingsWindow.toggleEditorSettings();";
tooltipprofile = "ToolsGuiToolTipProfile";
ToolTip = "Open Editor Settings";
hovertime = "1000";
bitmapAsset = "ToolsModule:settings_n_image";
text = "";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
};
new GuiContainer(objectCenterDropdown){ new GuiContainer(objectCenterDropdown){
Profile = "IconDropdownProfile"; Profile = "IconDropdownProfile";
Position = getWord(EWorldEditorToolbar.position, 0)+getWord(ToggleButtonBar.Position, 0)+getWord(EWorldEditorToolbar-->centerObject.position, 0)-5 SPC getWord(EditorGuiToolbar.extent, 1)-1; Position = getWord(EWorldEditorToolbar.position, 0)+getWord(ToggleButtonBar.Position, 0)+getWord(EWorldEditorToolbar-->centerObject.position, 0)-5 SPC getWord(EditorGuiToolbar.extent, 1)-1;

View file

@ -91,10 +91,10 @@ function EditorGui::init(%this)
{ {
// Load Creator/Inspector GUI // Load Creator/Inspector GUI
exec("~/worldEditor/gui/WorldEditorToolbar.ed.gui"); exec("~/worldEditor/gui/WorldEditorToolbar.ed.gui");
if( isObject( EWorldEditorToolbar ) ) if( isObject( EditorGuiToolbarStack ) )
{ {
%this.add( EWorldEditorToolbar ); EditorGuiToolbarStack.add( EWorldEditorToolbar );
EWorldEditorToolbar.setVisible( false ); //EWorldEditorToolbar.setVisible( false );
} }
} }
@ -102,11 +102,11 @@ function EditorGui::init(%this)
{ {
// Load Terrain Edit GUI // Load Terrain Edit GUI
exec("~/worldEditor/gui/TerrainEditToolbar.ed.gui"); exec("~/worldEditor/gui/TerrainEditToolbar.ed.gui");
if( isObject( EWTerrainEditToolbar ) ) /*if( isObject( EWTerrainEditToolbar ) )
{ {
%this.add( EWTerrainEditToolbar ); %this.add( EWTerrainEditToolbar );
EWTerrainEditToolbar.setVisible( false ); EWTerrainEditToolbar.setVisible( false );
} }*/
} }
if( !isObject( %this-->TerrainPainter ) ) if( !isObject( %this-->TerrainPainter ) )
@ -126,11 +126,11 @@ function EditorGui::init(%this)
{ {
// Load Terrain Edit GUI // Load Terrain Edit GUI
exec("~/worldEditor/gui/TerrainPainterToolbar.ed.gui"); exec("~/worldEditor/gui/TerrainPainterToolbar.ed.gui");
if( isObject( EWTerrainPainterToolbar ) ) /*if( isObject( EWTerrainPainterToolbar ) )
{ {
%this.add( EWTerrainPainterToolbar ); %this.add( EWTerrainPainterToolbar );
EWTerrainPainterToolbar.setVisible( false ); EWTerrainPainterToolbar.setVisible( false );
} }*/
} }
if( !isObject( %this-->ToolsToolbar ) ) if( !isObject( %this-->ToolsToolbar ) )
@ -1082,7 +1082,9 @@ function TerrainEditorPlugin::onActivated( %this )
ETerrainEditor.attachTerrain(); ETerrainEditor.attachTerrain();
ETerrainEditor.makeFirstResponder( true ); ETerrainEditor.makeFirstResponder( true );
EWTerrainEditToolbar.setVisible( true ); EditorGuiToolbarStack.add(EWTerrainEditToolbar);
EditorGuiToolbarStack.remove( EWorldEditorToolbar );
//EWTerrainEditToolbar.setVisible( true );
ETerrainEditor.onBrushChanged(); ETerrainEditor.onBrushChanged();
ETerrainEditor.setup(); ETerrainEditor.setup();
TerrainEditorPlugin.syncBrushInfo(); TerrainEditorPlugin.syncBrushInfo();
@ -1098,7 +1100,9 @@ function TerrainEditorPlugin::onDeactivated( %this )
endToolTime("TerrainEditor"); endToolTime("TerrainEditor");
EditorGui.writeTerrainEditorSettings(); EditorGui.writeTerrainEditorSettings();
EWTerrainEditToolbar.setVisible( false ); EditorGuiToolbarStack.remove(EWTerrainEditToolbar);
EditorGuiToolbarStack.add( EWorldEditorToolbar );
//EWTerrainEditToolbar.setVisible( false );
ETerrainEditor.setVisible( false ); ETerrainEditor.setVisible( false );
EditorGui.menuBar.remove( %this.terrainMenu ); EditorGui.menuBar.remove( %this.terrainMenu );
@ -1216,7 +1220,10 @@ function TerrainPainterPlugin::onActivated( %this )
EditorGui-->TerrainPainter.setVisible(true); EditorGui-->TerrainPainter.setVisible(true);
EditorGui-->TerrainPainterPreview.setVisible(true); EditorGui-->TerrainPainterPreview.setVisible(true);
EWTerrainPainterToolbar.setVisible(true);
EditorGuiToolbarStack.add(EWTerrainPainterToolbar);
EditorGuiToolbarStack.remove( EWorldEditorToolbar );
//EWTerrainPainterToolbar.setVisible(true);
ETerrainEditor.onBrushChanged(); ETerrainEditor.onBrushChanged();
EPainter.setup(); EPainter.setup();
TerrainPainterPlugin.syncBrushInfo(); TerrainPainterPlugin.syncBrushInfo();
@ -1233,7 +1240,9 @@ function TerrainPainterPlugin::onDeactivated( %this )
%this.map.pop(); %this.map.pop();
EditorGui-->TerrainPainter.setVisible(false); EditorGui-->TerrainPainter.setVisible(false);
EditorGui-->TerrainPainterPreview.setVisible(false); EditorGui-->TerrainPainterPreview.setVisible(false);
EWTerrainPainterToolbar.setVisible(false); EditorGuiToolbarStack.remove(EWTerrainPainterToolbar);
EditorGuiToolbarStack.add( EWorldEditorToolbar );
//EWTerrainPainterToolbar.setVisible(false);
ETerrainEditor.setVisible( false ); ETerrainEditor.setVisible( false );
} }

View file

@ -78,3 +78,5 @@ GlobalActionMap.bind(keyboard, "ctrl F3", doProfile);
GlobalActionMap.bind(keyboard, "tilde", toggleConsole); GlobalActionMap.bind(keyboard, "tilde", toggleConsole);
EditorMap.bind( mouse, "alt zaxis", editorWheelFadeScroll ); EditorMap.bind( mouse, "alt zaxis", editorWheelFadeScroll );
EditorMap.bindCmd( keyboard, space, "", "AssetBrowser.toggleDialog();" );

View file

@ -159,7 +159,7 @@ function EPainter::updateLayers( %this, %matIndex )
%ctrl = new GuiIconButtonCtrl() %ctrl = new GuiIconButtonCtrl()
{ {
profile = "GuiCreatorIconButtonProfile"; profile = "GuiCreatorIconButtonProfile";
iconBitmap = "~/worldEditor/images/terrainpainter/new_layer_icon"; iconBitmapAsset = "ToolsModule:new_layer_icon_image";
iconLocation = "Left"; iconLocation = "Left";
textLocation = "Right"; textLocation = "Right";
extent = %listWidth SPC "46"; extent = %listWidth SPC "46";

View file

@ -246,14 +246,22 @@ function TerrainMaterialDlg::clearTextureMap(%this, %mapName)
%targetMap.setBitmap($TerrainMaterialEditor::emptyMaterialImage); %targetMap.setBitmap($TerrainMaterialEditor::emptyMaterialImage);
%targetMap.asset = ""; %targetMap.asset = "";
%targetMapName = %this.findObjectByInternalName(%mapName @ "AssetId", true);
%targetMapName.setText("None");
TerrainMaterialDlg.matDirty = true; TerrainMaterialDlg.matDirty = true;
if(%mapName $= "DetailMap") if(%mapName $= "DetailMap")
{ {
//hide the supplemental maps //hide the supplemental maps
NormalMapContainer.callOnChildren("setActive", false); NormalMapContainer.callOnChildren("setActive", false);
%this.clearTextureMap("NormalMap");
ORMMapContainer.callOnChildren("setActive", false); ORMMapContainer.callOnChildren("setActive", false);
%this.clearTextureMap("ORMMap");
MacroMapContainer.callOnChildren("setActive", false); MacroMapContainer.callOnChildren("setActive", false);
%this.clearTextureMap("MacroMap");
} }
} }
@ -290,6 +298,9 @@ function TerrainMaterialDlg::changeTerrainMatMapAsset(%this)
%targetMap.setBitmap( %image ); %targetMap.setBitmap( %image );
%targetMapName = %mapName @ "AssetId";
%targetMapName.setText(%imgAsset);
TerrainMaterialDlg.matDirty = true; TerrainMaterialDlg.matDirty = true;
} }
@ -546,29 +557,32 @@ function TerrainMaterialDlg::saveDirtyMaterial( %this, %mat )
%newName = %this-->matNameCtrl.getText(); %newName = %this-->matNameCtrl.getText();
%blankBitmap = AssetDatabase.acquireAsset($TerrainMaterialEditor::emptyMaterialImage).getImagePath();
//--- //---
%newDiffuse = %this-->texBaseMap.getBitmap(); %newDiffuse = %this-->texBaseMap.getBitmap();
if(%newDiffuse $= $TerrainMaterialEditor::emptyMaterialImage) if(%newDiffuse $= $TerrainMaterialEditor::emptyMaterialImage || %newDiffuse $= %blankBitmap)
%newDiffuse = ""; %newDiffuse = "";
//--- //---
%newNormal = %this-->texNormalMap.getBitmap(); %newNormal = %this-->texNormalMap.getBitmap();
if(%newNormal $= $TerrainMaterialEditor::emptyMaterialImage) if(%newNormal $= $TerrainMaterialEditor::emptyMaterialImage || %newNormal $= %blankBitmap)
%newNormal = ""; %newNormal = "";
//--- //---
%newormConfig = %this-->texORMConfigMap.getBitmap(); %newormConfig = %this-->texORMConfigMap.getBitmap();
if(%newormConfig $= $TerrainMaterialEditor::emptyMaterialImage) if(%newormConfig $= $TerrainMaterialEditor::emptyMaterialImage || %newormConfig $= %blankBitmap)
%newormConfig = ""; %newormConfig = "";
//--- //---
%newDetail = %this-->texDetailMap.getBitmap(); %newDetail = %this-->texDetailMap.getBitmap();
if(%newDetail $= $TerrainMaterialEditor::emptyMaterialImage) if(%newDetail $= $TerrainMaterialEditor::emptyMaterialImage || %newDetail $= %blankBitmap)
%newDetail = ""; %newDetail = "";
//--- //---
%newMacro = %this-->texMacroMap.getBitmap(); %newMacro = %this-->texMacroMap.getBitmap();
if(%newMacro $= $TerrainMaterialEditor::emptyMaterialImage) if(%newMacro $= $TerrainMaterialEditor::emptyMaterialImage || %newMacro $= %blankBitmap)
%newMacro = ""; %newMacro = "";
%detailSize = %this-->detSizeCtrl.getText(); %detailSize = %this-->detSizeCtrl.getText();

View file

@ -1060,7 +1060,12 @@ function EditorDropTypeMenu::onSelectItem(%this, %id, %text)
// a drop type is selected in the menu. // a drop type is selected in the menu.
EWorldEditor.dropType = getField(%this.item[%id], 2); EWorldEditor.dropType = getField(%this.item[%id], 2);
%this.checkRadioItem(0, (%this.getItemCount() - 1), %id); for(%i=0; %i < %this.getItemCount(); %i++)
{
%this.checkItem(%i, false);
}
%this.checkItem(%id, true);
return true; return true;
} }