SkinTypeManager problem

Stardragon

15-03-2010 21:22:03

Apologies if multiple threads by me seems like spam: it seemed like a good idea to start a new thread for a new query.

So, I'm doing my best to debug and update to QG 10.1. I'm doing all right, I think, even getting the code to run - then it crashes out at the code below:


// now set up the QuickGUI subsystem

gui_root=new QuickGUI::Root();

QuickGUI::SkinTypeManager::getSingleton().loadTypes();

QuickGUI::GUIManagerDesc gui_manager_desc;

gui_manager_desc.sceneManager=scene_mgr;
gui_manager_desc.viewport=camera->getViewport();
gui_manager_desc.name="Sentinel_GUI";

gui_manager=QuickGUI::Root::getSingletonPtr()->createGUIManager(gui_manager_desc);

The line that seems to be making it choke is the call to the SkinTypeManager. I should note that I'm coming from QG9.05, where this worked all just fine and dandy.

Checking the Ogre.log, the last entries are:


21:41:10: [QGUI] Loading SkinClass and SkinType definitions...
21:41:10: [QGUI] Skin definition for class "SkinClass" with ID "Button" found.


I'm sure I'm doing something wrong, somewhere...

kungfoomasta

15-03-2010 23:47:58

Are you making sure to load in the QuickGUI scriptLoader prior to initialization of resources? The ScriptLoader tells Ogre that .skinType files are important, and then parses them. I believe you just need to add qgui.core.zip somewhere in your project and have it added as an Ogre resource, prior to registering the ScriptLoader and initializing resources.

Stardragon

16-03-2010 00:24:06

This is called before the code I posted above:


void Ogre_Renderer::initializeResourceGroups()
{
QuickGUI::registerScriptReader();

TextureManager::getSingleton().setDefaultNumMipmaps(5);
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
}

Is that what you mean?

EDIT
I already have a qgui.skinTypes file and a qgui.textures.zip file from back when I was last actively working on this project. It's been a year, and a lot has happened since then, it seems. I guess I'm a little slow at present :-(

Stardragon

16-03-2010 09:46:18

I put qgui.core.zip in the project, pointed Ogre at it, and made sure to call registerScriptReader at the very start of the defineResources() function. It still crashes out, but now with an IdentityException:


Unhandled exception at 0x76f0b727 in Sentinel.exe: Microsoft C++ exception: QuickGUI::Exception at memory location 0x0018f010.


... actually, I think I know what's going on. My qgui.skintypes file still has the old definitions, with SkinClasses and such, which are notable by their absence from the qgui.skintypes file that I pulled out of the qgui.core.zip file. Aha.

ToeNails

22-04-2010 05:36:46

I'm getting this same bug after I updated to latest build.
Any solution come to this problem?

kungfoomasta

22-04-2010 20:59:52

Have you tried deleting the old qgui.skintypes file and using the new one? If I remember correctly I modified the Skin definitions, so all definitions will need to be udpated to match. The qgui.skintypes file from the latest release will show examples of all the Widget types, and how their definitions should look.