// BaseGUI.h: interface for the CBaseGUI class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_BASEGUI_H__3E9B914A_483F_4DBB_A374_227D1CAAC19F__INCLUDED_) #define AFX_BASEGUI_H__3E9B914A_483F_4DBB_A374_227D1CAAC19F__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include #include #include #include "GUIWindow.h" using namespace std; #define POPUP_NORMAL 1 #define POPUP_GUARD 2 #define POPUP_NOBIND 3 #define POPUP_WEAPONMERCHANT 11 #define POPUP_ARMOURMERCHANT 12 #define POPUP_ETCMERCHANT 13 #define POPUP_WEAPONNARMOURMERCHANT 14 #define POPUP_DARKWEAPONMERCHANT 16 #define POPUP_DARKARMOURMERCHANT 17 #define POPUP_DARKETCMERCHANT 18 #define POPUP_BLACKSMITH 21 #define POPUP_COUNSELLER 26 #define POPUP_ADVENTURETRAINER 31 #define POPUP_FIGHTERTRAINER 32 #define POPUP_ROGUETRAINER 33 #define POPUP_MAGETRAINER 34 #define POPUP_ACOLYTETRAINER 35 #define POPUP_TELEPORTER 41 #define POPUP_PEACEGUILD 42 #define POPUP_CONTAINER 43 #define POPUP_A_NORMAL 51 #define POPUP_A_GUARD 52 #define POPUP_A_NOBIND 53 #define POPUP_A_WEAPONMERCHANT 61 #define POPUP_A_ARMOURMERCHANT 62 #define POPUP_A_ETCMERCHANT 63 #define POPUP_A_DARKWEAPONMERCHANT 66 #define POPUP_A_DARKARMOURMERCHANT 67 #define POPUP_A_DARKETCMERCHANT 68 #define POPUP_A_BLACKSMITH 71 #define POPUP_A_COUNSELLER 76 #define POPUP_A_BEGINNERTRAINER 81 #define POPUP_A_COMBATANTTRAINER 82 #define POPUP_A_OPPICATERTRAINER 83 #define POPUP_A_TELEPORTER 91 #define POPUP_A_PEACEGUILD 92 #define POPUP_A_CONTAINER 93 #define POPUP_PC 100 #define POPUP_LEADER 101 #define POPUP_MEMBER 102 #define POPUPMENU_EXCHANGE 0 #define POPUPMENU_DUEL 1 #define POPUPMENU_PARTYINVATE 2 #define POPUPMENU_STREETSTALL 3 #define POPUPMENU_LEADER 4 #define POPUPMENU_VANISH 5 #define POPUPMENU_DIALOG 6 #define POPUPMENU_SAVEPOS 7 #define POPUPMENU_TRADE 8 #define POPUPMENU_UPGRADE 9 #define POPUPMENU_UNLOCK 10 #define POPUPMENU_JOBCHANGE 11 #define POPUPMENU_ZONEMOVE 12 #define POPUPMENU_DIALOG2 13 #define POPUPMENU_DEPOSIT 14 #define POPUPMENU_PARTYDUEL 15 #define POPUPMENU_QUEST 16 #define POPUPMENU_FRIEND 17 #define POPUPMENU_BAN 18 #define POPUPMENU_PEACE 19 #define CHRSELECT_SELECT 0 #define CHRSELECT_START 1 #define CHRSELECT_CREATE 2 #define CHRSELECT_INITSELECT 3 #define CHRSELECT_INITSTART 4 #define CHRSELECT_INITCREATE 5 #define GAME_LOADING 6 #define GAME_PLAYING 7 #define GAME_END 8 typedef struct PopupMenu { unsigned long m_dwPopupKind; char m_strPopupStr[MAX_PATH]; unsigned long m_dwQuestID; } PopupMenu; class CBaseGUI { public: void RenderChant(LPDIRECT3DDEVICE8 lpD3DDevice); BOOL InitZone(unsigned long dwZoneNumber); void ProcessSkill(void); void RenderCrossHair(LPDIRECT3DDEVICE8 lpD3DDevice, unsigned long dwMode); static void PickItem(DWORD nSelectItem); void RenderChrName(LPDIRECT3DDEVICE8 lpD3DDevice, unsigned long dwUID, short wPosX, short wPosY); void RenderSkillGauge(LPDIRECT3DDEVICE8 lpD3DDevice); BOOL SelectNPC(unsigned long dwTargetID, BOOL bButton = FALSE); void NPCSpawn(void); unsigned long m_dwKindMarket; BOOL UpdatePopup(void); unsigned long m_dwKindPos; unsigned long m_dwPopupSelect; PopupMenu m_pmPopupMenu[20]; // char m_strPopupMenu[6][MAX_PATH]; int m_nPopupWindowY; int m_nPopupWindowX; unsigned long m_dwNormalTargetChrID; unsigned long m_dwSpecialTargetChrID; unsigned long m_dwRangedWeaponTargetChrID; unsigned long m_dwPopupWindowLength; unsigned long m_dwPopupMenu; BOOL m_bPopupShow; unsigned long m_dwPopupSelectChrID; unsigned long m_dwKindPopup; vector m_lstTexture; vector m_lstWindow; BOOL m_bQuickWeaponExchange; BOOL m_bWeaponExchageAble; float m_fWeaponExchageAbleTimeCounter; BOOL m_bExchange; unsigned long m_dwExchangeCmdResult; unsigned long m_dwExchangeCmdSenderID; unsigned long m_dwExchangeCmdType; unsigned long m_dwDuelCmdResult; unsigned long m_dwDuelCmdSenderID; unsigned long m_dwDuelCmdType; unsigned long m_dwPartyDuelCmdResult; unsigned long m_dwPartyDuelCmdSenderID; unsigned long m_dwPartyDuelCmdType; unsigned long m_dwPartyCmdResult; unsigned long m_dwPartyCmdType; unsigned long m_dwPartyCmdSenderID; CSprite *m_lpSkillGaugeFrame; CSprite *m_lpSkillGauge[5]; CSprite *m_lpTarget[2]; CSprite *m_lpHPGauge; CSprite *m_lpQuiver; CSprite *m_lpChant[42]; CTexture *m_lpChrButtonTexture; CTexture *m_lpPopupTexture; CTexture *m_lpSocket; CTexture *m_lpCommonWindow; CTexture *m_lpChantIcon; list m_lstDeleteChr; unsigned long m_dwSpendTime[6]; BOOL m_bClickButton; BOOL m_bShowHelp; BOOL m_bShowSkillError; void RenderChrButton(LPDIRECT3DDEVICE8 lpD3DDevice, char *strText, short wPosX, short wPosY); void RenderChrButton(LPDIRECT3DDEVICE8 lpD3DDevice, unsigned long dwUID, short wPosX, short wPosY); void RenderPopUp(LPDIRECT3DDEVICE8 lpD3DDevice); void DestroyAllObject(void); CBaseGUI(); virtual ~CBaseGUI(); virtual BOOL InitChrSelect(void) = 0; virtual void UpdateChrSelect(void) = 0; virtual void RenderChrSelect(LPDIRECT3DDEVICE8 lpD3DDevice) = 0; virtual BOOL InitGame(void) = 0; virtual void UpdateGame(void) = 0; virtual void RenderGame(LPDIRECT3DDEVICE8 lpD3DDevice) = 0; virtual void InitTrade(unsigned long dwKindMarket, unsigned long dwNPCID) = 0; virtual BOOL GetIsTrade(void) = 0; virtual void InitClassChange(unsigned long dwNPCID) = 0; virtual void ProcessExchangeCmd(unsigned long dwSenderID, unsigned short wCmd) = 0; virtual void InitPos(CItemInstance *lpItem) = 0; virtual BOOL GetIsExchange(void) = 0; // virtual BOOL StartSkill(void); virtual BOOL InitPopup(unsigned long dwKindPopup, unsigned long dwUID, unsigned long dwKindPos) = 0; virtual void InitSkillUnLock(unsigned long dwNPCID) = 0; virtual void InitChannel(unsigned char cChannelNum, unsigned short *lpChannel) = 0; virtual void InitRespawn(unsigned char cZoneNum) = 0; virtual BOOL GetIsRespawn(void) = 0; virtual void DestroyRespawn(void) = 0; virtual BOOL GetEnableChat(void) = 0; virtual void InitDeposit(void) = 0; virtual void ShowWindow(unsigned long dwWindowNum) = 0; virtual BOOL GetBusy(void) = 0; virtual BOOL GetIsBlackMarket(void) = 0; virtual void InitStreetStall(unsigned long dwChrID, char *lpstrStreetName) = 0; virtual void InitQuest(unsigned long dwChrID, unsigned long dwQuestID) = 0; }; #endif // !defined(AFX_BASEGUI_H__3E9B914A_483F_4DBB_A374_227D1CAAC19F__INCLUDED_)