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__
1.5.1-p1