The Development of CEGUI 0.7.x

Discussion regarding the development of CEGUI itself - as opposed to questions about CEGUI usage that should be in the help forums.

Moderators: CEGUI MVP, CEGUI Team

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Sat Jul 25, 2009 20:05

Latest updates in trunk for 0.7.0 include:

FreeType library optional
It's now possible to build CEGUI without the freetype dependency, obviously you're then stuck with static pixmap / imageset based fonts, but hey!

Optimisation disabled for ReleaseWithSymbols (MSVC++)
This was another request made here on the forum. Basically with optimisations enabled the symbols become of limited use since the code gets moved around a lot more or even eliminated - this should help to resolve that :P

DragContainer has a 'sticky' mode added
Quite a long standing request from mantis. This adds a new mode that gives the ability to click on a draggable item to kind of pick it up, then you click again when you want to drop it :)

Config file support completely rewritten
CEGUI has config file support that enables some options to be specified very early in the startup process. Over the years this had been badly neglected and no longer offered much in the way of useful function. This old system has been totally replaced with an all new one (so old config files will no longer work), and gives the ability to set up resource groups (DefaultResourceProvider only), to set default resource groups, so set the XMLParser and ImageCodec modules to use, specify resources to auto-load, and set the default font and mouse cursor options... So basically there's the possibility to completely initialise the system without writing any code :D

CE.

radical-dev
Not too shy to talk
Not too shy to talk
Posts: 24
Joined: Mon Jul 27, 2009 09:53
Location: Germany
Contact:

Re: The Development of CEGUI 0.7.x

Postby radical-dev » Mon Jul 27, 2009 11:01

Hi all!

I'm working on a game, which is intended to use CEGUI (because its an economic simulation it uses it excessive). It uses the Irrlicht-Engine 1.5 for now and the framework with state managment is ready to get input ;-) . Now a few questions:

- Are there many API-Changes to the 0.6.2-Release? I want to start implementing CEGUI now, but it makes no sense if i use the 0.6.2 and have to rewrite nearly everything for 0.7
- If there are many changes, i would take the source from svn. Can i build 0.7-IrrlichtRenderer against Irrlicht 1.5? And will there be any documentation regarding new interfaces / skinning properties and so on?

Thanks in advance.

radical

EDIT: Tried to build trunk against Irrlicht 1.5 - failed. 3 erros and a bunch of warnings:

The 3 errors:
ceguiirrlichtrenderer.cpp(44) : error C2491: 'CEGUI::IrrlichtRenderer::d_rendererID': Definition von Statisches Datenmember für dllimport nicht zulässig
ceguiirrlichttexture.cpp(39) : error C2491: 'CEGUI::IrrlichtTexture::d_textureNumber': Definition von Statisches Datenmember für dllimport nicht zulässig
ceguiirrlichttexturetarget.cpp(35) : error C2491: 'CEGUI::IrrlichtTextureTarget::DEFAULT_SIZE': Definition von Statisches Datenmember für dllimport nicht zulässig

It's german and means that a definition of static members for dllimport isn't allowed

Warnings: most warnings regarding "inconsistent DLL-binding"

Any ideas?

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Mon Jul 27, 2009 14:02

First, thanks for the interest in SVN trunk / 0.7.0.

To answer the question about what's broken between the new code and the existing 0.6.2, you should look at: http://www.cegui.org.uk/wiki/index.php/ ... _for_0.7.0 although note that this code is in a state of flux at the moment, meaning that more breaking changes are likely in the coming weeks. All the docs will be updated once the release is made.

With reference to the specific issue of Irrlicht 1.5, I can confirm that the new renderer does work with Irrlicht 1.5 (since that's what I have), though I have only built it on my main Gentoo system so far. I'll probably spend tomorrow on Windows, so will look at fixing the build for MSVC++ people - thanks for alerting me to the existence of issues :) I'm not sure what the fixes will be, though it looks pretty minor to me - I probably either used the IRR_GUIRENDERER_API specifier where I should not have, or I messed up the definition of IRRLICHT_GUIRENDERER_EXPORTS that controls whether IRR_GUIRENDERER_API imports or exports.

CE.

User avatar
Mikademus
CEGUI MVP
CEGUI MVP
Posts: 130
Joined: Wed Mar 18, 2009 19:14

Re: The Development of CEGUI 0.7.x

Postby Mikademus » Mon Jul 27, 2009 21:38

About compressed archived of all needed resource files, from a production perspective, this is actually quite an essential feature! I don't really think it would turn CEGUI into a resource management system, rather the opposite, it would allow the user not to have to worry about resources. It would also simplify skin management.

radical-dev
Not too shy to talk
Not too shy to talk
Posts: 24
Joined: Mon Jul 27, 2009 09:53
Location: Germany
Contact:

Re: The Development of CEGUI 0.7.x

Postby radical-dev » Tue Jul 28, 2009 10:12

Hey CE!

Thanks for your fast help...i've had a look at the changes and decided that it makes no sense to develop with 0.6.2 (too many changes). So i'm using trunk for now ( after compilation errors went away ;-) ). A short question:

- For the moment i only need to initialise / shutdown CEGUI and the possibility of loading a standard scheme (Taharez i think) and create a window with some buttons (main menu). The scheme files delivered with trunk are adapted to 0.7.x i think, or?

- I've built the API reference with doxygen...this should be actual for now, right?

Questions about questions ;-).

radical

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Tue Jul 28, 2009 11:17

OK, I have now fixed the compile issue of the Irrlicht renderer on MSVC++ and also most of the warnings. I did notice in testing that the renderer is only functional using the OpenGL driver; when using the D3D driver all we get is a blank window - I'm guessing this is an issue regarding some difference between the two systems that's not abstracted away fully by Irrlicht (possibly something like LH / RH co-ord differences).

Also, there's this issue at the moment regarding blending modes and Irrlicht whereby you can't have the required blending modes active simultaneously which leads to vertex alpha currently having no effect. There's a patch for Irrlicht that addresses this issue and I intend to add support for this patch into the renderer code before the eventual release of 0.7.0 (and hopefully that support will be added to Irrlicht for the 1.6 release).

To answer the questions:
- The datafiles that come with each branch of code are always updated as needed by the code, since these are used to test the changes :) Though do report any issues you may have.
- The documentation situation is that the API reference part of the docs are maintained with the code as much as possible, errors should be reported so we can fix them. The additional doxygen based documentation that now accompanies the API reference (the tutorials and such) is not currently up to date, and will only be updated once the code changes are complete (since I only want to update them once ;) ).

CE.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Tue Jul 28, 2009 11:20

Mikademus wrote:About compressed archived of all needed resource files, from a production perspective, this is actually quite an essential feature! I don't really think it would turn CEGUI into a resource management system, rather the opposite, it would allow the user not to have to worry about resources. It would also simplify skin management.

Yeah, I'm giving this some serious thought; perhaps for 0.8.0 or possibly even 0.7.1 or 0.7.2, depending on how things pan out between now and those future releases.

CE.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Wed Jul 29, 2009 13:19

Anybody keeping an eye on the roadmap will now notice that apparently 0.7.0 is 100% complete - well, that's almost the case, but not quite :lol: The situation is as follows:

- Pretty much all the new additions that are going into 0.7.0 are now done.
- Of the main changes (as opposed to additions) going into 0.7.0, the only thing left to do is the fixes to the injected event handling (including those issues of incorrect return values from the inject functions, and changing which events propagate, how and when). This work should be done over the coming weekend.

So, where will that leave us? That will leave us with about six weeks of testing, tuning and fixing all the issues that now exist due to the huge number and size of the changes made. :twisted:

CE.

IgnisInCaelum
Just popping in
Just popping in
Posts: 8
Joined: Fri Jun 12, 2009 21:42

Re: The Development of CEGUI 0.7.x

Postby IgnisInCaelum » Wed Jul 29, 2009 17:52

You know what this means, right? ....PARTY!!!! Who's hosting?

Edit: CrazyEddie is amazing and made of win.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Wed Jul 29, 2009 18:35

Once this release is done we need to indulge in much :pint: :pint: :pint: 0.7.0 has been a long time coming - and even though we're not quite there yet, I thank everyone for their patience and continued faith in CEGUI :mrgreen:

radical-dev
Not too shy to talk
Not too shy to talk
Posts: 24
Joined: Mon Jul 27, 2009 09:53
Location: Germany
Contact:

Re: The Development of CEGUI 0.7.x

Postby radical-dev » Tue Aug 04, 2009 06:42

Hi CE!

thanks for fixing the MSVC-Build with Windows!

For now i started to go through the samples and begun to learn the new structure ;-)

At the D3D-issue at irrlicht i'm goin to investigate the irrlicht-developers :D

I think i've your permission to quote the issue and bring it to the Irrlicht-forum for fixing it, or?

Thanks

radical

P.S. Hail to the CEGUI-developers for their great GUI-Library :D

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Tue Aug 04, 2009 08:32

With regard to the irrlicht / D3D issue in trunk / 0.7.0, I have not looked into that yet. This is separate from another irrlicht issue posted in another thread (although it also was about GL/D3D differences, and in that case is an irrlicht issue IMO). Because the new renderer is wildly different from the old one, I need to double-check the Irrlicht docs and other stuff to ensure that it's not "our" problem (i.e. we did not follow the docs / specifications correctly) - I don't like laying the blame at someone else's feet before I know for sure it's not our own SNAFU!

I might get to this today, since I'm doing some snagging and debugging work on the renderers right now; when I come to some conclusion about this, I'll post back here with my findings.

CE.

radical-dev
Not too shy to talk
Not too shy to talk
Posts: 24
Joined: Mon Jul 27, 2009 09:53
Location: Germany
Contact:

Re: The Development of CEGUI 0.7.x

Postby radical-dev » Tue Aug 04, 2009 11:44

Ok CE,

for my base application OpenGL does his work :)

So don't need to hurry, i thought it was sure that the issue comes from Irrlicht :oops: ... my fault ;)

radical

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Tue Aug 04, 2009 12:57

Ok, done some digging... There are differences between what happens in Irrlicht when running under the different drivers. However, we can't expect them to change that now, because it would effectively break a whole load of Irrlicht users code.

The fixes needed were possible on our side by detecting the driver and flipping some stuff about depending on whether OpenGL is in use or not. I also fixed the issue relating to texel to pixel mapping under D3D (fixable in this version because we're using the 3D APIs and not the 2D ones!), and finally, I updated the blending on the materials to allow use of vertex alpha along with texture alpha, though to get the benefit of this you need to be using the trunk version of Irrlicht since the patch to enable this was only applied just over a week ago (if you don't have the patched Irrlicht, it will still run but vertex alpha will have no effect).

Let me know of any other issues you spot ;)

CE.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: The Development of CEGUI 0.7.x

Postby CrazyEddie » Tue Aug 11, 2009 12:07

Things continue to progress towards a 0.7.0 release of CEGUI. Today I have uploaded new precompiled versions of the CEGUI dependency libraries. These new packages use the latest versions of the libraries and it is these packages that you should now be using with the current trunk code.

CE.


Return to “CEGUI Library Development Discussion”

Who is online

Users browsing this forum: No registered users and 1 guest