D:/Zythum/DinoKod/Mod_Aeternis_Client/A_WinCredits.cpp

00001 //---------------------------------------------------------------------------------------------
00002 //      This file is a part of "DinoKod".
00003 //      Copyright © 2003 Dino Productions. All Rights Reserved.
00004 //      
00005 //      File                    : WinCredits.cpp
00006 //      Author                  : Cedric Stanus
00007 //      Date                    : 29/08/2003
00008 //      Modification    :
00009 //
00010 //---------------------------------------------------------------------------------------------
00011 #include "Common/Time.h"
00012 #include "Render/Render.h"
00013 #include "Render/Font.h"
00014 #include "Common/LocalizedString.h"
00015 #include "Common/Directory.h"
00016 #include "Sound/SoundDS.h"
00017 
00018 #include "Mod_Aeternis_Client/A_Interface.h"
00019 #include "Mod_Aeternis_Client/A_WinCredits.h"
00020 
00021 #define GUIDIR( __gui ) KStr( "GUI/%s/%s", GETLANGUAGEPREFIX(), __gui )
00022 
00023 #define BUTTONBACK                      GUIDIR("Return")
00024 #define BUTTONBACKHL            GUIDIR("Return_HL")
00025 #define BUTTONBACKC                     GUIDIR("Return_C")
00026 
00027 //------------------------------------------------------------------------------------------
00028 //------------------------------------------------------------------------------------------
00029 //------------------------------------------------------------------------------------------
00030 KAWinCredits::KAWinCredits( KWin* pFather, KFPt& Pos, KFPt& Size, KInterface* pInterface )
00031 : KWin( pFather, Pos, Size, pInterface )
00032 {
00033         m_BackGround    = KSHADER_NO;
00034         m_TypeMusic             = KTRACK_NO;
00035 
00036         KFPt    ButtonSize = KFPt( 0.25f, 0.04f );
00037         // Button Back
00038         m_pButtonBack = new KButton( this, KFPt( 0.8f, 0.9f ) - ButtonSize / 2, ButtonSize, m_pInterface, BUTTONBACK, BUTTONBACKHL, BUTTONBACKC );
00039 
00040         KStr sTextPath = g_Directory.GetPath( KStr( "Text" ), 1 ) ;
00041         sTextPath += "Credits.ini" ;
00042         m_pIniFile = new KIni( sTextPath ) ;
00043 
00044         m_uiNbCreditsPage       = 0 ;
00045         m_fTimeForEachPage      = 0 ;
00046         m_uCurrentPage          = -1 ;
00047         m_uLastPage                     = -2 ;
00048         m_pTabPages                     = NULL ;
00049 
00050         KSound*         pSound = ((KAInterface*)m_pInterface)->GetpSound();
00051         if( pSound )
00052         {
00053                 // Sons
00054                 m_TypeWriterSound       = pSound->LoadTrack( KStr("GUI/Machine.ogg"), KSTT_SOUND );
00055                 m_TypeWriterCRSound = pSound->LoadTrack( KStr("GUI/Machine2.ogg"), KSTT_SOUND );
00056         
00057                 // Musique
00058                 m_TypeMusic = pSound->LoadStreamTrack( KStr("Musics/Woodoo.ogg") );
00059         }
00060 
00061         if(m_pIniFile)
00062         {
00063                 LoadIni() ;
00064         }
00065 }
00066 
00067 //------------------------------------------------------------------------------------------
00068 KAWinCredits::~KAWinCredits()
00069 {
00070         for(u32 uCptPages = 0 ; uCptPages < m_uiNbCreditsPage ; uCptPages ++)
00071         {
00072                 // On parcours tous les textes de la page
00073 /*              for(u32 uCptText = 0 ; uCptText < m_pTabPages[uCptPages].uNbTexts ; uCptText ++)
00074                 {
00075                         SafeDeletep( m_pTabPages[uCptPages].pText[uCptText] );
00076                 }
00077 */
00078                 SafeDeletev( m_pTabPages[uCptPages].pText );
00079                 SafeDeletev( m_pTabPages[uCptPages].pInitText );
00080 
00081                 // On parcours toutes les images de la page
00082 /*
00083                 for(u32 uCptImages = 0 ; uCptImages < m_pTabPages[uCptPages].uNbImages ; uCptImages ++)
00084                 {
00085                         SafeDeletep( m_pTabPages[uCptPages].pBitmap[uCptImages] );
00086                 }
00087 */
00088                 SafeDeletev( m_pTabPages[uCptPages].pBitmap );
00089         }
00090 
00091         SafeDeletev( m_pTabPages );
00092         SafeDeletep( m_pIniFile );
00093 
00094         KSound*         pSound = ((KAInterface*)m_pInterface)->GetpSound();
00095         if( pSound )
00096         {
00097                 // Sons
00098                 pSound->UnloadTrack( m_TypeWriterSound );
00099                 pSound->UnloadTrack( m_TypeWriterCRSound );
00100 
00101                 // Musique
00102                 pSound->UnloadStreamTrack( m_TypeMusic );
00103         }
00104 }
00105 
00106 //------------------------------------------------------------------------------------------
00107 bool KAWinCredits::LoadIni()
00108 {
00109         m_fTimeForEachPage              = m_pIniFile->ReadFloat("GLOBAL","TIMEFOREACHPAGE",5000) ;
00110         m_uiNbCreditsPage               = m_pIniFile->ReadInt("GLOBAL","NB_CREDITS_PAGES",0) ;
00111         m_fTimeForTypeWriter    = m_pIniFile->ReadFloat("GLOBAL","TIMEFORTYPEwriter",70) ;
00112         m_fRollSpeed                    = m_pIniFile->ReadFloat("GLOBAL","ROLLSPEED",0.2f) ;
00113         KFPt ButtonSize                 = KFPt( 0.20f, 0.04f );
00114 
00115         if(m_uiNbCreditsPage == 0)
00116                 return false ;
00117 
00118         m_pTabPages = new sPages[m_uiNbCreditsPage] ;
00119 
00120         // On parcours toutes les pages de credits
00121         for(u32 uCptPages = 0 ; uCptPages < m_uiNbCreditsPage ; uCptPages ++)
00122         {
00123                 char cTempSection[256] = "" ;
00124                 sprintf(cTempSection,"CREDIT%i",uCptPages) ;
00125                 u32 uNbTexts    = m_pIniFile->ReadInt(cTempSection,"NB_TEXTS",0) ;
00126                 u32 uNbImages   = m_pIniFile->ReadInt(cTempSection,"NB_IMAGES",0) ;
00127                 m_pTabPages[uCptPages].drawMode = (DRAW_MODE)m_pIniFile->ReadInt(cTempSection,"DRAW_MODE",0) ;
00128 
00129                 m_pTabPages[uCptPages].pText            = NULL ;
00130                 m_pTabPages[uCptPages].pBitmap          = NULL ;
00131                 m_pTabPages[uCptPages].pInitText        = NULL ;
00132                 m_pTabPages[uCptPages].uNbImages        = uNbImages ;
00133                 m_pTabPages[uCptPages].uNbTexts         = uNbTexts ;
00134                 m_pTabPages[uCptPages].fValueToRoll     = 1.0f ;
00135 
00136                 if(uNbTexts != 0)
00137                 {
00138                         m_pTabPages[uCptPages].pInitText = new KStr[uNbTexts] ;
00139                         m_pTabPages[uCptPages].pText = new KText*[uNbTexts] ;
00140                 }
00141                 if(uNbImages != 0)
00142                         m_pTabPages[uCptPages].pBitmap = new KWinBitmap*[uNbImages] ;
00143 
00144                 m_pTabPages[uCptPages].bLoaded = false ;
00145 
00146                 // On parcours tous les textes de la page
00147                 for(u32 uCptText = 0 ; uCptText < uNbTexts ; uCptText ++)
00148                 {
00149                         char cTempText[256] = "" ;
00150                         sprintf(cTempText,"TEXT%i",uCptText) ;
00151                         char *pString = (char*)m_pIniFile->ReadString(cTempSection,cTempText,"") ;
00152                         GetInfo(pString) ;
00153                         m_pTabPages[uCptPages].pText[uCptText] = new KText(this, KFPt( m_sInfo.fPosX, m_sInfo.fPosY ) - ButtonSize / 2, ButtonSize, m_pInterface, m_sInfo.cName) ;
00154                         m_pTabPages[uCptPages].pText[uCptText]->Hide() ;
00155 //                      m_pTabPages[uCptPages].pInitText[uCptText] = new char[256] ;
00156                         m_pTabPages[uCptPages].pInitText[uCptText] = KStr(m_sInfo.cName);
00157                 }
00158                 // On parcours toutes les images de la page
00159 
00160                 for(u32 uCptImages = 0 ; uCptImages < uNbImages ; uCptImages ++)
00161                 {
00162                         char cTempImage[256] = "" ;
00163                         sprintf(cTempImage,"IMAGE%i",uCptImages) ;
00164                         char *pString = (char*)m_pIniFile->ReadString(cTempSection,cTempImage,"") ;
00165                         GetInfo(pString) ;
00166                         m_pTabPages[uCptPages].pBitmap[uCptImages] = new KWinBitmap(this, KFPt( m_sInfo.fPosX, m_sInfo.fPosY ), KFPt( m_sInfo.fSizeX, m_sInfo.fSizeY ), m_pInterface,KStr(m_sInfo.cName)) ;
00167                         m_pTabPages[uCptPages].pBitmap[uCptImages]->Hide() ;
00168                 }
00169 
00170         }
00171 
00172         return true ;
00173 }
00174 
00175 //------------------------------------------------------------------------------------------
00176 void KAWinCredits::Display()
00177 {
00178         u8              FadeAlpha = (u8)(255.0f * GetFade());
00179 
00180         m_pInterface->ShowMouse();
00181         DrawQuad( 0.0f, 0.0f, 1.0f, 1.0f, m_BackGround, KRGBA( 255, 255, 255, FadeAlpha ) );
00182         DrawQuad( 0.05f, 0.25f, 0.9f, 0.6f, KSHADER_NO, KRGBA( 56, 91, 149, FadeAlpha / 4 ), KRGB_BLACK, KRM_MODULATE );
00183 }
00184 
00185 //------------------------------------------------------------------------------------------
00186 void KAWinCredits::Manage()
00187 {
00188         if(m_uLastPage == -2)
00189         {
00190                 m_uLastPage = -1 ;
00191                 NextPage() ;
00192         }
00193         KTIME currentTime = g_Time.GetTime() ;
00194 
00195         if(((currentTime - m_LastTime) >= m_fTimeForEachPage) && (m_pTabPages[m_uCurrentPage].bLoaded))
00196                 NextPage() ;
00197 
00198 #ifdef _DEBUG
00199         if( GetAsyncKeyState( VK_SPACE ) && ((currentTime - m_LastTime) > 500)/* && (m_pTabPages[m_uCurrentPage].bLoaded) */)
00200                 NextPage();
00201 #endif
00202 
00203         DisplayPage(m_uCurrentPage) ;
00204 
00205         // Back
00206         if( m_pButtonBack->IsClicked() )
00207         {
00208                 m_pButtonBack->Reset() ;
00209                 ((KAInterface*)m_pInterface)->SetWin( KAIW_START );
00210         }
00211 }
00212 
00213 //------------------------------------------------------------------------------------------
00214 void KAWinCredits::DisplayPage(s32 uPage)
00215 {
00216         if(uPage < 0)
00217                 return ;
00218 
00219         if(m_pTabPages[uPage].bLoaded)
00220                 return ;
00221 
00222         if(m_pTabPages[uPage].drawMode == DRAW_MODE_ROLL)
00223         {
00224                 if(m_pTabPages[uPage].bInitDrawMode)
00225                 {
00226                         m_pTabPages[uPage].bInitDrawMode = false ;
00227                         for(u32 uCptText = 0 ; uCptText < m_pTabPages[uPage].uNbTexts ; uCptText ++)
00228                         {
00229                                 KFPt pos = m_pTabPages[uPage].pText[uCptText]->GetPos() ;
00230                                 if(m_pTabPages[uPage].fValueToRoll == 1.0f)
00231                                         pos.y += m_pTabPages[uPage].fValueToRoll ;
00232                                 else
00233                                         pos.y += (1.0f - m_pTabPages[uPage].fValueToRoll) ;
00234                                 m_pTabPages[uPage].pText[uCptText]->SetPos(pos) ;
00235                         }
00236                         for(u32 uCptImages = 0 ; uCptImages < m_pTabPages[uPage].uNbImages ; uCptImages ++)
00237                         {
00238                                 KFPt pos = m_pTabPages[uPage].pBitmap[uCptImages]->GetPos() ;
00239                                 if(m_pTabPages[uPage].fValueToRoll == 1.0f)
00240                                         pos.y += m_pTabPages[uPage].fValueToRoll ;
00241                                 else
00242                                         pos.y += (1.0f - m_pTabPages[uPage].fValueToRoll) ;
00243                                 m_pTabPages[uPage].pBitmap[uCptImages]->SetPos(pos) ;
00244                         }
00245                         m_pTabPages[uPage].fValueToRoll = 1.0f ;
00246                 }
00247 
00248                 float fTimeElapsed = (float)(g_Time.GetTime() - m_pTabPages[uPage].lastTime) ;
00249                 m_pTabPages[uPage].lastTime = g_Time.GetTime() ;
00250                 float fStep = (fTimeElapsed * m_fRollSpeed) / 1000.0f ;
00251                 if((m_pTabPages[uPage].fValueToRoll - fStep) < 0)
00252                         fStep = m_pTabPages[uPage].fValueToRoll ;
00253  
00254                 m_pTabPages[uPage].fValueToRoll -= fStep ;
00255 
00256                 for(u32 uCptText = 0 ; uCptText < m_pTabPages[uPage].uNbTexts ; uCptText ++)
00257                 {
00258                         KFPt pos = m_pTabPages[uPage].pText[uCptText]->GetPos() ;
00259                         pos.y -= fStep ;
00260                         m_pTabPages[uPage].pText[uCptText]->SetPos(pos) ;
00261 
00262                         if(pos.y >= 0.82f)
00263                                 m_pTabPages[uPage].pText[uCptText]->Hide() ;
00264                         else
00265                                 m_pTabPages[uPage].pText[uCptText]->Show() ;
00266                 }
00267                 for(u32 uCptImages = 0 ; uCptImages < m_pTabPages[uPage].uNbImages ; uCptImages ++)
00268                 {
00269                         KFPt pos = m_pTabPages[uPage].pBitmap[uCptImages]->GetPos() ;
00270                         pos.y -= fStep ;
00271                         m_pTabPages[uPage].pBitmap[uCptImages]->SetPos(pos) ;
00272                 }
00273 
00274                 if(m_pTabPages[uPage].fValueToRoll <= 0)
00275                 {
00276                         m_pTabPages[uPage].bLoaded = true ;
00277                         m_LastTime = g_Time.GetTime() ;
00278                 }
00279         }
00280         if(m_pTabPages[uPage].drawMode == DRAW_MODE_TYPEWRITER)
00281         {
00282                 if(m_pTabPages[uPage].bInitDrawMode)
00283                 {
00284                         m_pTabPages[uPage].bInitDrawMode = false ;
00285                         m_pTabPages[uPage].uCurrentText = 0 ;
00286                         m_pTabPages[uPage].uPosCharacter = 0 ;
00287 
00288                         for(u32 uCptText = 0 ; uCptText < m_pTabPages[uPage].uNbTexts ; uCptText ++)
00289                         {
00290                                 m_pTabPages[uPage].pText[uCptText]->SetpText("") ;
00291                         }
00292                 }
00293 
00294                 float fTimeElapsed = (float)g_Time.GetTime() - (float)m_pTabPages[uPage].lastTime ;
00295 
00296                 if(fTimeElapsed < m_fTimeForTypeWriter)
00297                         return ;
00298                 m_pTabPages[uPage].lastTime = g_Time.GetTime() ;
00299 
00300                 char cTemp[1024] = "" ;
00301                 strncpy( cTemp, m_pTabPages[uPage].pInitText[m_pTabPages[uPage].uCurrentText].GetpString(), m_pTabPages[uPage].uPosCharacter + 1 ) ;
00302                 m_pTabPages[uPage].pText[m_pTabPages[uPage].uCurrentText]->SetpText(cTemp) ;
00303 
00304                 KSound* pSound = ((KAInterface*)m_pInterface)->GetpSound();
00305                 if( pSound )
00306                         pSound->Play( m_TypeWriterSound );
00307 
00308                 if(strlen(m_pTabPages[uPage].pText[m_pTabPages[uPage].uCurrentText]->GetpText()) >= m_pTabPages[uPage].pInitText[m_pTabPages[uPage].uCurrentText].GetLength() )
00309                 {
00310                         m_pTabPages[uPage].uCurrentText ++ ;
00311                         m_pTabPages[uPage].uPosCharacter = 0 ;
00312                         m_pTabPages[uPage].lastTime += 500 ;
00313                         if( pSound )
00314                                 pSound->Play( m_TypeWriterCRSound );
00315                 }
00316                 else
00317                         m_pTabPages[uPage].uPosCharacter ++ ;
00318 
00319                 if(m_pTabPages[uPage].uCurrentText == m_pTabPages[uPage].uNbTexts)
00320                 {
00321                         m_pTabPages[uPage].bLoaded = true ;
00322                         m_LastTime = g_Time.GetTime() ;
00323                 }
00324         }
00325 }
00326 
00327 //------------------------------------------------------------------------------------------
00328 void KAWinCredits::NextPage()
00329 {
00330         m_uLastPage = m_uCurrentPage ;
00331         m_uCurrentPage ++ ;
00332 
00333         if(m_uCurrentPage == m_uiNbCreditsPage)
00334                 m_uCurrentPage = 0 ;
00335 
00336         UnLoadPage(m_uLastPage) ;
00337         LoadPage(m_uCurrentPage) ;
00338 
00339         m_LastTime = g_Time.GetTime() ;
00340 }
00341 
00342 //------------------------------------------------------------------------------------------
00343 void KAWinCredits::LoadPage(s32 uPage)
00344 {
00345         if(uPage < 0)
00346                 return ;
00347 
00348         for(u32 uCptText = 0 ; uCptText < m_pTabPages[uPage].uNbTexts ; uCptText ++)
00349         {
00350                 m_pTabPages[uPage].pText[uCptText]->Show() ;
00351                 m_pTabPages[uPage].pText[uCptText]->StartFadeIn() ;
00352         }
00353 
00354         for(u32 uCptImages = 0 ; uCptImages < m_pTabPages[uPage].uNbImages ; uCptImages ++)
00355         {
00356                 m_pTabPages[uPage].pBitmap[uCptImages]->Show() ;
00357                 m_pTabPages[uPage].pBitmap[uCptImages]->StartFadeIn() ;
00358         }
00359 
00360         if(m_pTabPages[uPage].drawMode == DRAW_MODE_FADE)
00361                 m_pTabPages[uPage].bLoaded = true ;
00362 
00363         m_pTabPages[uPage].bInitDrawMode        = true ;
00364         m_pTabPages[uPage].lastTime                     = g_Time.GetTime() ;
00365 }
00366 
00367 //------------------------------------------------------------------------------------------
00368 void KAWinCredits::UnLoadPage(s32 uPage,bool bForceHide)
00369 {
00370         if(uPage < 0)
00371                 return ;
00372 
00373         for(u32 uCptText = 0 ; uCptText < m_pTabPages[uPage].uNbTexts ; uCptText ++)
00374         {
00375                 if(bForceHide)
00376                         m_pTabPages[uPage].pText[uCptText]->Hide() ;
00377                 else
00378                         m_pTabPages[uPage].pText[uCptText]->StartFadeOut() ;
00379         }
00380 
00381         for(u32 uCptImages = 0 ; uCptImages < m_pTabPages[uPage].uNbImages ; uCptImages ++)
00382         {
00383                 if(bForceHide)
00384                         m_pTabPages[uPage].pBitmap[uCptImages]->Hide() ;
00385                 else
00386                         m_pTabPages[uPage].pBitmap[uCptImages]->StartFadeOut() ;
00387         }
00388 
00389         m_pTabPages[uPage].bLoaded = false ;
00390 
00391 }
00392 
00393 //------------------------------------------------------------------------------------------
00394 sInfo KAWinCredits::GetInfo(char *pString)
00395 {
00396         u64 uSize = strlen(pString) ;
00397 
00398         u32 uiCptString = 0 ;
00399         u32 uiCptTemp = 0 ;
00400         char cTemp[256] = "" ;
00401         while((pString[uiCptString] != ';') && (uiCptString < uSize))
00402         {
00403                 cTemp[uiCptTemp] = pString[uiCptString] ;
00404                 uiCptString ++ ;
00405                 uiCptTemp++ ;
00406         }
00407         strcpy(m_sInfo.cName,cTemp) ;
00408         strncpy(cTemp,"",256) ;
00409         uiCptString ++ ;
00410         uiCptTemp = 0 ;
00411         while((pString[uiCptString] != ';') && (uiCptString < uSize))
00412         {
00413                 cTemp[uiCptTemp] = pString[uiCptString] ;
00414                 uiCptString ++ ;
00415                 uiCptTemp++ ;
00416         }
00417         m_sInfo.fPosX = (float)atof(cTemp) ;
00418         strncpy(cTemp,"",256) ;
00419         uiCptString ++ ;
00420         uiCptTemp = 0 ;
00421 
00422         while((pString[uiCptString] != ';') && (uiCptString < uSize))
00423         {
00424                 cTemp[uiCptTemp] = pString[uiCptString] ;
00425                 uiCptString ++ ;
00426                 uiCptTemp++ ;
00427         }
00428         m_sInfo.fPosY = (float)atof(cTemp) ;
00429         strncpy(cTemp,"",256) ;
00430         uiCptString ++ ;
00431         uiCptTemp = 0 ;
00432 
00433         if(uiCptString >= uSize)
00434                 return m_sInfo ;
00435 
00436         while((pString[uiCptString] != ';') && (uiCptString < uSize))
00437         {
00438                 cTemp[uiCptTemp] = pString[uiCptString] ;
00439                 uiCptString ++ ;
00440                 uiCptTemp++ ;
00441         }
00442         m_sInfo.fSizeX = (float)atof(cTemp) ;
00443         strncpy(cTemp,"",256) ;
00444         uiCptString ++ ;
00445         uiCptTemp = 0 ;
00446 
00447         while((pString[uiCptString] != ';') && (uiCptString < uSize))
00448         {
00449                 cTemp[uiCptTemp] = pString[uiCptString] ;
00450                 uiCptString ++ ;
00451                 uiCptTemp++ ;
00452         }
00453         m_sInfo.fSizeY = (float)atof(cTemp) ;
00454         strncpy(cTemp,"",256) ;
00455         uiCptString ++ ;
00456         uiCptTemp = 0 ;
00457 
00458         return m_sInfo ;
00459 }
00460 
00461 //------------------------------------------------------------------------------------------
00462 void KAWinCredits::Load()
00463 {
00464         m_uLastPage = -2 ;
00465         m_uCurrentPage = -1 ;
00466 
00467         KWin::Load();
00468 
00469         for(u32 uCptPages = 0 ; uCptPages < m_uiNbCreditsPage ; uCptPages ++)
00470         {
00471                 UnLoadPage(uCptPages,true) ;
00472 
00473                 for(u32 uCptImages = 0 ; uCptImages < m_pTabPages[uCptPages].uNbImages ; uCptImages ++)
00474                 {
00475                         m_pTabPages[uCptPages].pBitmap[uCptImages]->LoadShader() ;
00476                 }
00477         }
00478 
00479         m_BackGround = m_pRender->GetpShaderBank()->LoadShader( GUIDIR("Credits_bg") );
00480 }
00481 
00482 //------------------------------------------------------------------------------------------
00483 void KAWinCredits::Unload()
00484 {
00485         KWin::Unload();
00486 
00487         for(u32 uCptPages = 0 ; uCptPages < m_uiNbCreditsPage ; uCptPages ++)
00488         {
00489                 for(u32 uCptImages = 0 ; uCptImages < m_pTabPages[uCptPages].uNbImages ; uCptImages ++)
00490                 {
00491                         m_pTabPages[uCptPages].pBitmap[uCptImages]->UnLoadShader() ;
00492                 }
00493         }
00494 
00495         m_pRender->GetpShaderBank()->UnloadShader( m_BackGround );
00496 }
00497 
00498 //------------------------------------------------------------------------------------------
00499 void KAWinCredits::OnShow()
00500 {
00501         KWin::OnShow();
00502 
00503         ((KAInterface*)m_pInterface)->StopMenuMusic();
00504 
00505         KSound*         pSound = ((KAInterface*)m_pInterface)->GetpSound();
00506         if( pSound )
00507                 pSound->PlayStreamTrack( m_TypeMusic, true );
00508 }
00509 
00510 //------------------------------------------------------------------------------------------
00511 void KAWinCredits::OnHide()
00512 {
00513         KWin::OnHide();
00514 
00515         ((KAInterface*)m_pInterface)->PlayMenuMusic();
00516 
00517         KSound*         pSound = ((KAInterface*)m_pInterface)->GetpSound();
00518         if( pSound )
00519                 pSound->StopStreamTrack( m_TypeMusic, true );
00520 }

Generated on Sun Mar 25 20:02:14 2007 for Zythum Project by  doxygen 1.5.1-p1