Game Development Community

[BUG 1.0] Gui Editor gui selection

by Adam Beer · in Torque 3D Professional · 09/29/2009 (12:03 pm) · 10 replies

If you open the gui editor and want to select which GUI to edit, it doesnt allow you to select that GUI but instead goes to an 'unnamed' GUI. This makes the GUI editor half unusable.

#1
09/29/2009 (1:49 pm)
What GUI are you trying to open? Some of the editor guis are added as child controls of others after they are created so things get shuffled around from how they were initially in the list ( maybe ).

I really never use the drop down selector for this reason, and never had any problems if I use open from the gui file ( under the file menu ).
#2
09/29/2009 (3:05 pm)
It does it for every GUI.
#3
09/29/2009 (5:03 pm)
Am I following that you select a GUI from the dropdown and instead of bringing up the selected GUI, the editor jumps to a different (unnamed) GUI in the list?

Are there errors in the log?
#4
09/29/2009 (6:55 pm)
Yup, thats what happens. Heres what happens in console:

GuiEditCtrl::readGuides - no control '14550101'
Set::add: Object "31" doesn't exist
tools/guiEditor/gui/guiEditor.ed.cs (192): Unable to find object: '31' attempting to call function 'getName'
Set::getObject index out of range.
tools/guiEditor/gui/guiEditor.ed.cs (201): Unable to find object: '-1' attempting to call function 'resize'

I am assuming you guys can confirm your getting this too?
#5
09/30/2009 (4:56 am)

Actually, I had never seen this before but I've checked the release repo now and something definitely has slipped in there. Can reproduce this consistently. It's not happening in the 1.1 branch.

I'll fix this ASAP
#6
09/30/2009 (5:31 am)
Ok, got it. Someone made GuiPopupMenuCtrl::sort re-assign all IDs of the entires--which kills all the user-assigned IDs. Will investigate what the reason for this change was.

For now, to fix the problem, go into gui/controls/guiPopUpCtrl.cpp and change the sort functions:

//------------------------------------------------------------------------------
void GuiPopUpMenuCtrl::sort()
{
   S32 size = mEntries.size();
   if( size > 0 )
      dQsort( mEntries.address(), size, sizeof(Entry), textCompare);

//KILL THIS:
//>>	// Entries need to re-Id themselves
//>>	for( U32 i = 0; i < mEntries.size(); i++ )
//>>		mEntries[i].id = i;
}

// Added to sort by entry ID
//------------------------------------------------------------------------------
void GuiPopUpMenuCtrl::sortID()
{
   S32 size = mEntries.size();
   if( size > 0 )
      dQsort( mEntries.address(), size, sizeof(Entry), idCompare);

//KILL THIS:	
//>>	// Entries need to re-Id themselves
//>>	for( U32 i = 0; i < mEntries.size(); i++ )
//>>		mEntries[i].id = i;
}

These changes were part of work being done on the particle editor so I'm pretty sure removing the lines will add some breakage there. However, the changes are simply wrong as the control has no business changing the user-assigned IDs. Will check back with who originally made this change.

//EDIT: developing an unsettling affinity with 'quote'
#8
06/11/2010 (8:20 pm)
It's happening to me in the 1.1 branch (1.1 beta 1). It actually killed my world editor GUI also. Poor timing for me - I'm 3 weeks into a senior project for school. Is there any way to fix in script (since it has already occurred)? I really need to get the world editor working again pronto...
#9
06/15/2010 (6:34 pm)
Logged: TQA-387
#10
08/02/2010 (5:19 pm)
Fixed in 1.1 Beta 2