Ok, here is the solution.
Update your ZInterfaceBackground.cpp with the following codes
case LOGIN_SCENE_FALLDOWN
Code:
case LOGIN_SCENE_FALLDOWN :
{
// Get current clock
DWORD dwClock = ( timeGetTime() - m_dwClock);
/*
// Show maiet logo
if ( !m_bShowMaietLogo)
{
m_bShowMaietLogo = true;
ZGetScreenEffectManager()->AddScreenEffect( "maiet_logo");
}
*/
// Set fog density
fForgDensity = dwClock * 15.0f;
// Set wait time
if ( dwClock < 500)
dwClock = 0;
else
dwClock -= 500;
// Play BGM music
if ( dwClock > 2000)
ZApplication::GetSoundEngine()->PlayMusic( true);
// End of scroll camera
float fSeed = dwClock * 0.00035f; // Ä«¸Þ¶ó°¡ ÀüºÎ ´Ù ³»·Á¿À±â ±îÁö °É¸®´Â ½Ã°£( dwClock¿¡ °öÇØÁÖ´Â °ªÀÌ
// ÀÛÀ»¼ö·Ï »¡¸® ³»·Á¿È)
if ( fSeed > 3.14)
{
m_nSceneNumber = LOGIN_SCENE_FIXEDCHAR;
// m_bShowMaietLogo = false;
}
// Move camera position & direction
float fGain = ( cos( fSeed) + 1.0f) / 2.0f; // 0 < fGain < 1.0
vCamPos = m_vCamPosEd + ( m_vCamPosSt - m_vCamPosEd) * fGain;
vCamDir = m_vCamDirEd + ( m_vCamDirSt - m_vCamDirEd) * fGain;
//if (m_bShowMaietLogo)
//{
// ZGetScreenEffectManager()->UpdateEffects();
ZGetScreenEffectManager()->DrawEffects();
//}
break;
}
case LOGIN_SCENE_FIXEDCHAR
Code:
case LOGIN_SCENE_FIXEDCHAR :
{
// Show menu UI
MWidget* pWidget = (MWidget*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget( "CharSelection");
if ( pWidget)
{
if ( ZApplication::GetGameInterface()->GetState() == GUNZ_CHARSELECTION)
pWidget->Show( true);
}
MPicture* pPicture = (MPicture*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget( "CharSel_TopScreen");
if ( pPicture)
pPicture->SetOpacity( 0);
// Play BGM music
ZApplication::GetSoundEngine()->PlayMusic( true);
// Fixed camera
vCamPos = m_vCamPosEd;
vCamDir = m_vCamDirEd;
// Cleared fog
fForgDensity = 50000.0f;
break;
}
case LOGIN_SCENE_SELECTCHAR
Code:
case LOGIN_SCENE_SELECTCHAR :
{
// Get current clock
DWORD dwClock = ( timeGetTime() - m_dwClock);
MPicture* pPicture = (MPicture*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget( "CharSel_TopScreen");
if ( pPicture)
{
// Set wait time
if ( dwClock < 1200)
dwClock = 0;
else
dwClock -= 1200;
// Set opacity of black screen
int nOpacity = (int)( dwClock / 3.0f);
if ( nOpacity > 255)
nOpacity = 255;
pPicture->SetOpacity( nOpacity);
}
// Fixed camera
vCamPos = m_vCamPosEd;
vCamDir = m_vCamDirEd;
// Cleared fog
fForgDensity = 50000.0f;
break;
}