Page 1 of 1

Cegui Head + Ogre Head

Posted: Sat Jun 25, 2005 03:15
by tonyhnz
I have tried using Ogre CVS HEAD from last weekend + current Cegui CVS HEAD.

I built CEGUI (with xerces disabled) using the dependancies included on this site.
Copied the resulting cegui dlls to debug/release in Ogre samples/common/bin.
Copied the generated libs to debug/release in ogre dependancies/lib.
Copied the CEGUI includes across to Ogre Dependencies\include.

Rebuilt Ogre and tried to run the Gui demo in debug. The demo starts and displays the screen and everything works more or less if you dont move the mouse.
If you move the mouse the application hangs the computer.
In release mode the mouse does not seem to have any effect. In both cases mouse cursor is not visible.
The logs just end abruptly with no errors displayed.

Should the 2 CVS heads play nicely at the moment or do I have a mismatch ?
I also noticed that the devil.dll differs between Ogre and Cegui.

Re: Cegui Head + Ogre Head

Posted: Sat Jun 25, 2005 07:43
by CrazyEddie
Hi,

There should be no issues, but I'll test it and get back to you (need to make sure, as it will affect the imminent 0.3.0 release).

DevIL is only used by CEGUI if you're using the pure OpenGL renderer, so you don't need to worry about conflicts if you're using Ogre.

CE.

Re: Cegui Head + Ogre Head

Posted: Sat Jun 25, 2005 10:10
by CrazyEddie
I've tested current Ogre HEAD code against current CEGUI HEAD code, using the Demo_Gui app in Ogre. I experienced none of the issues that you report, so it must be something else.

Did you ensure to do a full clean and rebuild of the affected parts of Ogre (that being the renderer dll and the demo exe)? Can't think of anything else at the moment.

CE.

Re: Cegui Head + Ogre Head

Posted: Sat Jun 25, 2005 17:42
by tonyhnz
I tried rebuilding everything including getting a clean checkout from ogre. Still getting the same problem but have been able to trap the call stack ...

OgreMain_d.dll!Ogre::RenderTarget::addViewport(Ogre::Camera * cam=0xffc00000, int ZOrder=1242720, float left=1.741e-039#DEN, float top=1.#QNAN00, float width=-0.0040000002, float height=-0.0010000000) Line 124 C++
> Demo_Gui.exe!GuiFrameListener::mouseMoved(Ogre::MouseEvent * e=0x081376b8) Line 92 + 0x6d C++
OgreMain_d.dll!Ogre::MouseMotionTarget::processMouseMotionEvent(Ogre::MouseEvent * e=0x081376b8) Line 56 + 0x10 C++
OgreMain_d.dll!Ogre::EventProcessor::processEvent(Ogre::InputEvent * e=0x081376b8) Line 192 C++
OgreMain_d.dll!Ogre::EventProcessor::frameStarted(const Ogre::FrameEvent & evt={...}) Line 146 + 0x14 C++
OgreMain_d.dll!Ogre::Root::_fireFrameStarted(Ogre::FrameEvent & evt={...}) Line 548 + 0x26 C++
OgreMain_d.dll!Ogre::Root::_fireFrameStarted() Line 593 C++
OgreMain_d.dll!Ogre::Root::renderOneFrame() Line 675 + 0x8 C++
OgreMain_d.dll!Ogre::Root::startRendering() Line 666 + 0x8 C++
Demo_Gui.exe!ExampleApplication::go() Line 58 + 0xe C++
Demo_Gui.exe!WinMain(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * __formal=0x00000000, char * strCmdLine=0x00141f1c, HINSTANCE__ * __formal=0x00000000) Line 574 + 0x8 C++
Demo_Gui.exe!WinMainCRTStartup() Line 390 + 0x39 C

The problem seems to be with :
CEGUI::System::getSingleton().injectMouseMove(
e->getRelX() * mGUIRenderer->getWidth(),
e->getRelY() * mGUIRenderer->getHeight());

To me it looks like an invalid camera is being passed to the addViewport function. I will try to debug further.

Re: Cegui Head + Ogre Head

Posted: Sat Jun 25, 2005 18:21
by tonyhnz
Update : mGUIRenderer->getWidth() & getHeight functions are both blowing up.

Re: Cegui Head + Ogre Head

Posted: Sat Jun 25, 2005 19:27
by tonyhnz
FIXED !

I use the Ogre paging landscape manager which has a different ExampleFrameListener.h for some reason.It overlaid the standard ogre one when i copied the PLSM files across.
Net result was inheritance nightmare where frame listener was deriving from MouseListener and ExampleFrameListener that also derived from MouseListener.

Removed the inheritance roundabout and it worked fine.

Thanks for the assistance.