2023-11-14 22:58:51 +08:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2024-07-28 22:40:51 +08:00
|
|
|
#define MAX_CMD_INPUT 128
|
2024-02-02 22:47:51 +08:00
|
|
|
#define MAX_CMDS 144
|
|
|
|
#define MAX_CMD_STRLEN 32
|
|
|
|
|
2024-02-02 22:47:18 +08:00
|
|
|
typedef void (__cdecl *CMDPROC)(PCHAR);
|
|
|
|
|
2024-07-28 22:40:51 +08:00
|
|
|
//----------------------------------------------------
|
|
|
|
|
|
|
|
class CCmdWindow
|
2023-11-14 22:58:51 +08:00
|
|
|
{
|
|
|
|
private:
|
|
|
|
|
2024-03-20 23:43:00 +08:00
|
|
|
IDirect3DDevice9 *m_pD3DDevice;
|
2024-07-23 19:06:48 +08:00
|
|
|
CDXUTDialog *m_pGameUI;
|
|
|
|
CDXUTIMEEditBox *m_pEditControl;
|
2024-03-20 23:43:00 +08:00
|
|
|
|
2023-11-14 22:58:51 +08:00
|
|
|
public:
|
2024-02-02 22:47:18 +08:00
|
|
|
|
2024-02-02 22:47:51 +08:00
|
|
|
CMDPROC m_pCmds[MAX_CMDS];
|
|
|
|
CHAR m_szCmdNames[MAX_CMDS][MAX_CMD_STRLEN+1];
|
|
|
|
int m_iCmdCount;
|
|
|
|
|
2024-07-28 22:40:51 +08:00
|
|
|
BOOL m_bEnabled;
|
|
|
|
|
|
|
|
char m_szInputBuffer[MAX_CMD_INPUT + 1];
|
2024-03-20 23:43:00 +08:00
|
|
|
char field_1565[1290];
|
|
|
|
char field_1A6F[129];
|
|
|
|
int field_1AF0;
|
|
|
|
int field_1AF4;
|
2024-02-02 22:47:18 +08:00
|
|
|
CMDPROC m_pDefaultCmd; // used when no command specifier was
|
|
|
|
// used (ie. a normal chat message)
|
|
|
|
|
2024-07-28 22:40:51 +08:00
|
|
|
void GetDialogSize(RECT *pRect);
|
2024-02-02 22:47:18 +08:00
|
|
|
|
2024-07-28 22:40:51 +08:00
|
|
|
void Enable();
|
|
|
|
void Disable();
|
2024-02-02 22:47:18 +08:00
|
|
|
|
2024-07-28 22:40:51 +08:00
|
|
|
void ProcessInput();
|
|
|
|
|
|
|
|
CMDPROC GetCmdHandler(PCHAR szCmdName);
|
2024-02-02 22:47:18 +08:00
|
|
|
void AddDefaultCmdProc(CMDPROC cmdDefault);
|
2024-02-02 22:47:51 +08:00
|
|
|
void AddCmdProc(PCHAR szCmdName, CMDPROC cmdHandler);
|
2024-07-23 19:06:48 +08:00
|
|
|
|
|
|
|
void ResetDialogControls(CDXUTDialog *pGameUI);
|
2024-07-28 22:40:51 +08:00
|
|
|
CCmdWindow(IDirect3DDevice9 *pD3DDevice);
|
|
|
|
~CCmdWindow();
|
2023-11-14 22:58:51 +08:00
|
|
|
};
|
2024-07-28 22:40:51 +08:00
|
|
|
|
|
|
|
//----------------------------------------------------
|
|
|
|
// EOF
|