Files
Client/GameTools/NeoRylClient/BaseGUI.h
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

230 lines
6.5 KiB
C++

// 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 <vector>
#include <list>
#include <Texture.h>
#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<CTexture *> m_lstTexture;
vector<CGUIWindow *> 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<unsigned long> 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_)