DynamicModule Loading Error!!!

For help with general CEGUI usage:
- Questions about the usage of CEGUI and its features, if not explained in the documentation.
- Problems with the CMAKE configuration or problems occuring during the build process/compilation.
- Errors or unexpected behaviour.

Moderators: CEGUI MVP, CEGUI Team

aymen
Not too shy to talk
Not too shy to talk
Posts: 29
Joined: Wed Apr 01, 2009 13:55

Re: DynamicModule Loading Error!!!

Postby aymen » Wed Apr 29, 2009 15:14

I did as u told me CE and this is the output :

root@sdk:~# ldd -d /usr/local/lib/libCEGUISILLYImageCodec.so
linux-gate.so.1 => (0x29556000)
libCEGUIBase.so.1 => /usr/local/lib/libCEGUIBase.so.1 (0x2956c000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x29808000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x29820000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x29844000)
libm.so.6 => /lib/libm.so.6 (0x29924000)
libc.so.6 => /lib/libc.so.6 (0x299a4000)
/lib/ld-linux.so.2 (0x52aac000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x29aa4000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x29ac0000)
libz.so.1 => /usr/lib/libz.so.1 (0x29b2c000)
libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x29b50000)
undefined symbol: _ZTVN5SILLY16MemoryDataSourceE (/usr/local/lib/libCEGUISILLYImageCodec.so)
:?: :?:

and with TGA Image Codec, samples works but with some display issues like transparent background...it's due to directfb renderer?

and for directfb renderer, the pb with is the renderer itself? or my directfb conf? because I get 25-30 fps with other progs (not CEGUI) ? maybe I have to modify the renderer that comes with CEGUI?? please advice CE, Im really confused :)

Thanks a lot
Aymen

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

Re: DynamicModule Loading Error!!!

Postby CrazyEddie » Wed Apr 29, 2009 19:18

The SILLY issue is odd, it seems it's not linked against the SILLY library, though it's just that single error. c++filt says the symbol is 'vtable for SILLY::MemoryDataSource'. I'll check tomorrow what my own output is from ldd - I'm pretty sure libSILLY.so should be in that list ;)

I'm not sure what to advise as far as the DirectFB renderer goes; I also experience those issues you mention, though I also have issues where my DirectFB installation is - as far as I can tell - not configured correctly, and this puts me in a difficult spot of being unable to properly test, debug and tune the DirectFB renderer - which was contributed by a user and accepted in good faith. Add to this the fact I have zero experience of using DirectFB anyway, and chances are you have me at a disadvantage here ;)

CE.

aymen
Not too shy to talk
Not too shy to talk
Posts: 29
Joined: Wed Apr 01, 2009 13:55

Re: DynamicModule Loading Error!!!

Postby aymen » Fri Jun 26, 2009 16:28

Hi CE,

i have made a small modif on the imagset and the fps of directfb render jumped to 200 FPS after being 4 :!: :!:

i have deleted :

<Image Name="GenericBrush" XPos="9" YPos="71" Width="1" Height="1" />

from TaharezLook.imageset since it was causing software fallbacks...I think that StretchBlit that is used by directfb renderer have maximum scale factor of 32 and since GenericBrush is 1X1 then we have software fallback...

anyways, i have another problem now that maybe you can give me a hint to solve it...FrameWindow are displayed without any background!! mean that dark blue color is not rendered, i took a screenshot :

Image

do you have any idea why the background is transparent? i tried to change many rendering option in directfb renderer but didnt help :(

Thank a lot for your help,

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

Re: DynamicModule Loading Error!!!

Postby CrazyEddie » Sun Jun 28, 2009 08:31

Hi,

Thanks for the tip about the Imageset; I'll give it a try later today and see if I can get the same results :)

With reference to the transparent background, I get this too. I'll have to check some things, but I think it's the way that alpha is dealt with in the directFB renderer. Basically, IIRC, a decision is made where to source the alpha from, and depending on where it comes from and what the value is, you can end up with either 100% opacity or 100% transparency.

When I try the imageset fix later, I'll also look at the alpha thing and hopefully be able to give a more definitive answer.

CE.

aymen
Not too shy to talk
Not too shy to talk
Posts: 29
Joined: Wed Apr 01, 2009 13:55

Re: DynamicModule Loading Error!!!

Postby aymen » Sun Jun 28, 2009 13:39

Hi CE,

Thanks a lot for your answer. yes I got 200 fps with FirstWindow sample application.
and for the transparent background, im sure that the problem comes from the alpha, when i debug the alpha value, it's either 0 or 255, but even if set to a fixed value, i have window with transparency but that transparent background still. I played with some directfb flags like shown in this article http://www.directfb.org/wiki/index.php/Blending_HOWTO but didnt help...anyways, you know much better than me so hope that you can make it works :)

Thanks again,
Aymen

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

Re: DynamicModule Loading Error!!!

Postby CrazyEddie » Tue Jun 30, 2009 08:47

Ok. I tested this out and played around with it some on Sunday, though my results are not good.

I tried removing the GenericBrush image, but in my case the FPS remained around the same at 25 - 30FPS. Also, note that this is the image used for the background of the FrameWindow - so without this Image, the frame window would not show any background even if the colour blending worked correctly :)

I can confirm that the missing background (and other) imagery is due to the blend settings. I did try a few options, but was unable to get satisfactory results - I got either white, black or transparent, but never the dark blue that was supposed to appear. The same issue applies to any other image that gets coloured in the same manner - so things like selection highlights are also affected. I'm not sure how to fix this as I'm not experienced with directFB, as I said, I did play around with some settings hoping to luck into the solution, but was not lucky :?

CE.

aymen
Not too shy to talk
Not too shy to talk
Posts: 29
Joined: Wed Apr 01, 2009 13:55

Re: DynamicModule Loading Error!!!

Postby aymen » Tue Jun 30, 2009 12:40

Hi CE,

Thanks a lot for your effort, as I told u I tried also to play around with Directfb flags but didnt help much...but I will not give up... :)
for the moment, I just used a picture as a background (staticImage) even I didnt succeed to have this kind of textured window like in this pic : http://www.cegui.org.uk/gallery/albums/ ... mo_new.jpg , I searched the forum but didnt find how to have such texture.

do you have the contact of the guy who made directfb renderer first time? maybe he can help with this issue?

Thanks a lot CE,
Cheers

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

Re: DynamicModule Loading Error!!!

Postby CrazyEddie » Wed Jul 01, 2009 08:30

aymen wrote:I just used a picture as a background (staticImage) even I didnt succeed to have this kind of textured window like in this pic : http://www.cegui.org.uk/gallery/albums/ ... mo_new.jpg , I searched the forum but didnt find how to have such texture.

Now this is where I did have success ;) In the TaharezLook.looknfeel where the FrameWindow is defined, you change the ImagerySections that use GenericBrush to use ClientBrush, change the formatting from Stretched to Tiled, and remove the ColourProperty specification (this is all just for the FrameWindow, obviously you do not do it for all window types ;)).

aymen wrote:do you have the contact of the guy who made directfb renderer first time? maybe he can help with this issue?

I'll probably see about dropping him a email over the next couple of days.

CE.

aymen
Not too shy to talk
Not too shy to talk
Posts: 29
Joined: Wed Apr 01, 2009 13:55

Re: DynamicModule Loading Error!!!

Postby aymen » Tue Jul 07, 2009 10:33

Thanks a lot CE, it works well :)

and about the blending, I think in DirectFB, the alpha value must be premultiplied by the color value before rendering, but I'm not sure if pixels pointed by const void* buffPtr in loadFromMemory fct, are already premultiplied or no, as debug info give always a wrong value for alpha...

I would like to ask u about something else, I want to use another input device (remote control) and im detecting well input events thru DirectFB, but im not too sure about how to make it work with cegui, I mean if I should add a new event handler to each widget, for exemple for a button, add to CEGUIPushButton.cpp onRCButtonUp()...? or there are other things to do? since a RC is a bit different from a mouse, so maybe many modifications should be done...hope that you can give me some hints about the best way to do it.

Thank you soo much CE,
Regards

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

Re: DynamicModule Loading Error!!!

Postby CrazyEddie » Wed Jul 08, 2009 09:12

I can confirm that the values coming back from the ImageCodecs and Font classes that pass information internally to loadFromMemory do not perform any premultiplication of the alpha values.

With regards to the remote control input device, the way I would suggest to handle the inputs is to emulate the mouse - so you're still injecting mouse movement or mouse positions and button up/down events - this keeps things clean and ensures that once you have that system in place, all controls should work as expected. Now there's a couple of ways you can go with this; first you could have your remote directional controls move the mouse pointer - for example 10 pixels at a time (or whatever), or secondly, hide the mouse pointer and reposition it directly over the 'next' or 'previous' controls in the layout (so that buttons highlight). Obviously the second approach is more effort since you need to have code to track and decide which control to move to next, and you may have to deal with the lack of visual feedback on non-button controls. But anyway, that's the general way I would go.

I didn't email Keith Mok yet, since I'm just recovering from having major email issues - I may do that this weekend.

CE.

aymen
Not too shy to talk
Not too shy to talk
Posts: 29
Joined: Wed Apr 01, 2009 13:55

Re: DynamicModule Loading Error!!!

Postby aymen » Thu Jul 09, 2009 08:29

Hi CE,

Thanks so much for your support, and for ur smart suggestion. Actually it turn out to be the best solution to use RC, as so far, I tried to change all classes and add structs and fcts everywhere to support RC and it ends up by being a big mess :oops:

so emulating the mouse will be much better!!

I thought that this may be helpful for someone who want to add RC inputs thru DF, To detect RC inputs correctly , an input buffer must be added to CEGuiDirectFBBaseApplication::execute(CEGuiSample* sampleApp)

Code: Select all

pimpl->d_dfb->CreateInputEventBuffer( pimpl->d_dfb, DICAPS_ALL, DFB_FALSE, &(pimpl->d_event_buffer) );


then later to detect button hit :

Code: Select all

switch(evt->key_symbol) {
               case DIKS_OKButton: .....


I added an RCButton to MouseEventArgs, so when event fires I know which button was hit.

I would like to ask if there is any way to have CEGUI always listening for MouseEvent?? for exemple in my GUI, I have a yellow button and a blue button. so when I press the remote control yellow button, I get a MouseEvent with MouseEventArgs e.RCButton == yellow and so I can execute CEGUI's yellow button callback?

hope that the question was clear enough :)

Thank You CE
Regards

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

Re: DynamicModule Loading Error!!!

Postby CrazyEddie » Thu Jul 09, 2009 09:09

I'm glad you're making some progress ;)

To answer your question, there is a global event set, which will fire off any subscribed handlers for any given event no matter what the source. These global events have use a kind of namespace system to differentiate between certain events, and this namespace is always the name of the class that introduces the event to the system. That's not particularly clear, so here's an example:

Code: Select all

CEGUI::GlobalEventSet::getSingleton().subscribeEvent( CEGUI::Window::EventNamespace + "/" + CEGUI::Window::EventMouseButtonDown, &myEventHandler );

Your handler is then called for every mouse button down event that gets sent to any window.

GlobalEventSet is discussed a bit more in this thread: viewtopic.php?t=2542

HTH

CE.

aymen
Not too shy to talk
Not too shy to talk
Posts: 29
Joined: Wed Apr 01, 2009 13:55

Re: DynamicModule Loading Error!!!

Postby aymen » Fri Jul 10, 2009 08:17

HI CE,

thanks too much for your help, the remote control works well now :)

but had the change a bit the code :

Code: Select all

CEGUI::GlobalEventSet::getSingleton().subscribeEvent( CEGUI::Window::EventNamespace + "/" +
   CEGUI::Window::EventMouseButtonDown, CEGUI::Event::Subscriber(&myEventHandler ,   this));


as you suggested, I will have to implement previous/next navigation, I think i will use http://www.cegui.org.uk/wiki/index.php/Tab_Order to code it since it's not yet implemented in CEGUI.

Thanks a lot CE and have a nice day!
Regards

aymen
Not too shy to talk
Not too shy to talk
Posts: 29
Joined: Wed Apr 01, 2009 13:55

Re: DynamicModule Loading Error!!!

Postby aymen » Fri Jul 10, 2009 10:50

Hi,

I tried to test Chis tab stop patch but cant download it from tracker. http://sourceforge.net/tracker/index.ph ... tid=605424
there is anyway to do it?

viewtopic.php?f=5&t=541&start=15

Thanks you

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

Re: DynamicModule Loading Error!!!

Postby CrazyEddie » Fri Jul 10, 2009 12:30

Hi,

Yeah, sorry to you and everyone that tabbing between widgets is still not added - perhaps I can pencil that in for version 0.8.0 :lol:

We stopped using the sourceforge trackers for issues and patches in favour of our own copy of Mantis (http://mantis.cegui.org.uk/). Having said that I was able to download those from Chris - maybe it's my project admin status that allows that? Not sure. There's another patch on mantis for tab support (http://www.cegui.org.uk/mantis/view.php?id=113), not sure if that's any use. I can't vouch for that or Chris' patch since I don't think I got around to trying them. Also, be aware that all of these patches are quite old, so may not apply cleanly.

CE.


Return to “Help”

Who is online

Users browsing this forum: No registered users and 9 guests