injectTimePulse() missing in CEGuiD9BaseApplication.cpp

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

Rackle
CEGUI Team (Retired)
Posts: 534
Joined: Mon Jan 16, 2006 11:59
Location: Montréal

injectTimePulse() missing in CEGuiD9BaseApplication.cpp

Postby Rackle » Wed Apr 26, 2006 10:59

I finally figured out why I could not get tooltips to function...the CEGuiD3D9BaseApplication::execute() main loop does not inject time pulses into the CEGUI system, which prevents tooltips from functionning. I've made the following modifications to make it work:

Code: Select all

if (FAILED(pimpl->d_3DDevice->BeginScene()))
{
    continue;
}

//BEGIN MODIFICATION

++d_frames; // Update frame count
DWORD thisTime = GetTickCount();
if (thisTime - d_lastTime >= 100)
{
   // Update FPS
    d_FPS = d_frames;
    d_frames = 0;
   // Inject time pulse
    CEGUI::System::getSingleton().injectTimePulse(static_cast<float>(thisTime - d_lastTime) / 1000);
   d_lastTime = thisTime;
}

//updateFPS();

// END MODIFICATION

char fpsbuff[16];
sprintf(fpsbuff, "FPS: %d", d_FPS);


The DirectX v8.1 also does not inject pulses so the same modifications would apply there as well. The Irrlicht, Ogre, and OpenGL base applications inject the time pulses, so using one of these renderers might be the simplest solution for some.

Return to “Help”

Who is online

Users browsing this forum: No registered users and 6 guests