The Development of CEGUI 0.7.x
Moderators: CEGUI MVP, CEGUI Team
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
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
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
CE.
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
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
CE.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
-
- 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
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?
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?
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
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.
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.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
Re: The Development of CEGUI 0.7.x
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.
-
- 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
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
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
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
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.
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.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
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.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
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 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.
CE.
- 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.
CE.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
-
- Just popping in
- Posts: 8
- Joined: Fri Jun 12, 2009 21:42
Re: The Development of CEGUI 0.7.x
You know what this means, right? ....PARTY!!!! Who's hosting?
Edit: CrazyEddie is amazing and made of win.
Edit: CrazyEddie is amazing and made of win.
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
Once this release is done we need to indulge in much 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
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
-
- 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
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
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
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
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
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
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.
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.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
-
- 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
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 ... my fault
radical
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 ... my fault
radical
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
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.
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.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: The Development of CEGUI 0.7.x
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.
CE.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
Return to “CEGUI Library Development Discussion”
Who is online
Users browsing this forum: No registered users and 3 guests