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

00001 //---------------------------------------------------------------------------------------------
00002 //      This file is a part of "DinoKod".
00003 //      Copyright © 2003 Dino Productions. All Rights Reserved.
00004 //      
00005 //      File                    : A_WinCredits.h
00006 //      Author                  : Cedric Stanus
00007 //      Date                    : 29/08/2003
00008 //      Modification    :
00009 //
00010 //---------------------------------------------------------------------------------------------
00011 #ifndef __AWINCREDITS_H__
00012 #define __AWINCREDITS_H__
00013 
00014 #include "Mod_Aeternis_Client/Mod_Aeternis_ClientDll.h"
00015 #include "Interface/Win.h"
00016 #include "Interface/Button.h"
00017 #include "Interface/Text.h"
00018 #include "Interface/WinBitmap.h"
00019 #include "Common/ini.h"
00020 #include "Common/Time.h"
00021 
00022 struct sInfo
00023 {
00024         char    cName[256] ;
00025         float   fPosX ;
00026         float   fPosY ;
00027         float   fSizeX ;
00028         float   fSizeY ;
00029 } ;
00030 
00031 enum DRAW_MODE
00032 {
00033         DRAW_MODE_FADE,
00034         DRAW_MODE_ROLL,
00035         DRAW_MODE_TYPEWRITER,
00036 } ;
00037 
00038 struct sPages
00039 {
00040         u32                     uNbTexts ;
00041         u32                     uNbImages ;
00042         KStr            *pInitText ;
00043         KText           **pText ;
00044         KWinBitmap      **pBitmap ;
00045         DRAW_MODE       drawMode ;
00046         bool            bLoaded ;
00047         bool            bInitDrawMode ;
00048         KTIME           lastTime ;
00049         // Roll Mode
00050         float           fValueToRoll ;
00051         // Type Writer Mode
00052         u32                     uPosCharacter ;
00053         u32                     uCurrentText ;
00054 } ;
00055 
00056 //------------------------------------------------------------------------------------------
00057 class MOD_AETERNIS_CLIENT_API KAWinCredits : public KWin
00058 {
00059 protected:
00060         KSHADER                         m_BackGround;
00061         KButton*                        m_pButtonBack;
00062         KIni*                           m_pIniFile ;
00063 
00064         u32                                     m_uiNbCreditsPage ;
00065         float                           m_fTimeForEachPage ;
00066         float                           m_fTimeForTypeWriter ;
00067         float                           m_fRollSpeed ;
00068         sInfo                           m_sInfo ;
00069         sPages*                         m_pTabPages ;
00070         s32                                     m_uCurrentPage ;
00071         s32                                     m_uLastPage ;
00072         KTIME                           m_LastTime ;
00073         KTRACK                          m_TypeWriterSound ;
00074         KTRACK                          m_TypeWriterCRSound ;
00075         KSTREAMTRACK            m_TypeMusic ;
00076 
00077         bool                            LoadIni() ;
00078         sInfo                           GetInfo(char *pString) ;
00079         void                            DisplayPage(s32 uPage) ;
00080         void                            NextPage(void) ;
00081         void                            UnLoadPage(s32 uPage,bool bForceHide = false) ;
00082         void                            LoadPage(s32 uPage) ;
00083 
00084 public:
00085         KAWinCredits( KWin* pFather, KFPt& Pos, KFPt& Size, KInterface* pInterface );
00086         ~KAWinCredits();
00087 
00088         virtual void    Display();
00089         virtual void    Manage();
00090 
00091         virtual void    OnShow();
00092         virtual void    OnHide();
00093 
00094         // Load/Unload
00095         virtual void    Load();
00096         virtual void    Unload();
00097 };
00098 
00099 #endif  __AWINCREDITS_H__

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