Page 1 of 1

Bootstrapping the bootstrap

Posted: Fri Sep 02, 2011 18:06
by Stomp
Hello!

I am trying to determine if CeGui is a viable widget system for my project which contains my own Direct3D engine. (School assignment).
So obviously I want to get something up and running fast. I don't want to spend a ton of time learning the system only to find out that it isn't quite right for my needs.
So, I find CEGUI, this looks pretty cool. Eventually I come across the bootstrap method, awesome!
But...it couldn't have another line or two showing me the include file(s) and the dll's I need to specify?

I know this stuff is second nature once you get used to the system, but you want more adopters, yes?
I really suggest the documentation be amended to show the include files needed.

Please help, thanks!

Re: Bootstrapping the bootstrap

Posted: Fri Sep 02, 2011 18:49
by Kulik
http://www.cegui.org.uk/docs/current/re ... orial.html

Though I admit it doesn't list the include files. It's "RendererModules/Direct3D9/CEGUIDirect3D9Renderer.h" and CEGUIClassName.h for the rest usually. Or CEGUI.h (this won't include RendererModules and other things external/optional!) as a lazy include.

We are working quite hard actually to improve documentation. Sadly most people just come here, ask for help and when they get it they just go away on their own shipping their products. It's quite hard to keep documentation level on par with commercial packages, nobody pays us to do it and we HAVE to keep doing our jobs to get some income. Thanks for understanding...

Re: Bootstrapping the bootstrap

Posted: Fri Sep 02, 2011 21:41
by Stomp
Kulik, thank you very much for the response, and I do understand what you are saying.
But the other side, right now for me anyhow, is I am sinking hours into just getting a hello world window into my app. How many people are quitting before they get that far?
So far, this is the code I have:

Code: Select all

#include "Gui.h"
#include <CEGUI.h>
#include <RendererModules\Direct3D9\CEGUIDirect3D9Renderer.h>
#include <d3dx9.h>
#include "RenderEngine/RenderEngine.h"

using namespace CEGUI;

bool Gui::Initialize(IDirect3DDevice9* graphicsDevice)
    {
    Direct3D9Renderer& myRenderer = Direct3D9Renderer::create (graphicsDevice);
    System::create (myRenderer);
    RenderEngine::RegisterForRendering (DrawCallback);
    return true;
    }

void Gui::DrawCallback ()
    {
    System::getSingleton().renderGUI();
    }


It compiles but crashes when I run it. (windows 7 Pro, VS 2010 Ultimate)
I followed another thread with similar problems just to get this far.
How do I know which dll's need to be in my Debug directory?
So far I have these:
    CEGUIBase.dll
    CEGUIBase_d.dll
    CEGUIDirect3d9Renderer.dll
    CEGUIDirect3d9Renderer_d.dll
    CEGUIExpatParser_d.dll
    CEGUISILLYImageCodec_d.dll

and (from that other thread) I learned I had to add all the Dependency dll's to the SysWOWsomething folder. (didn't see that in the bootstrap writeup).

My current error:

Code: Select all

Unhandled exception at 0x1018c459 (CEGUIBase_d.dll) in WorldEditor.exe: 0xC0000005: Access violation reading location 0xbaadf00d.


Any hints on what I am missing?
Thanks again, I really do appreciate it!

Re: Bootstrapping the bootstrap

Posted: Sat Sep 03, 2011 00:30
by Stomp
I am back to using the bootstrap...I have just seen too many schemes and imagesset breaking everything.

So it seems I have to make the data files available somehow. Where does the bootstrapping code expect them to be?

Re: Bootstrapping the bootstrap

Posted: Sat Sep 03, 2011 07:36
by Kulik
I understand you are in a hurry but please read the guidelines - viewtopic.php?f=6&t=3358

They clearly state that you have to include CEGUI.log In case CEGUI.log isn't created you should state it. This helps us narrow the problem down.

Also, please debug the application and post the backtrace. Bootstrap is just a convenience method, I don't particularly like it to be honest but it's the easiest way to get started. You have to tell CEGUI where resources are using the DefaultResourceProvider methods.

Re: Bootstrapping the bootstrap

Posted: Sat Sep 03, 2011 15:00
by Stomp
Sorry, I had to give up. Lost an entire day wanting and trying to get CeGui to work. I would think that a "mature product" would have one working minimal directx example, that's really all it would have taken to get me on board. I couldn't find one. Anywhere. That's really amazing to me. I can't imagine how many users you have lost because of this. Your product looks nice, but your low user base is a direct result of the high cost of adoption.
Good luck gentlemen!
Stomp

Re: Bootstrapping the bootstrap

Posted: Sat Sep 03, 2011 23:36
by Kulik
Unless people make these standalone samples themselves and release them on the wiki this is unlikely to get changed. It's quite easy to criticize but much harder to actually do something about it, especially if we just don't have the resources.

On the other hand if you can't get it to work in one whole day and you have the entire source code available I think you need to work on your programming skills a bit more. No offense intended...