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>
234 lines
7.3 KiB
C++
234 lines
7.3 KiB
C++
// ClientMain.h: interface for the CClientMain class.
|
||
//
|
||
//////////////////////////////////////////////////////////////////////
|
||
|
||
#if !defined(AFX_CLIENTMAIN_H__5547537B_9A6B_4077_96C4_62EAB9D06E84__INCLUDED_)
|
||
#define AFX_CLIENTMAIN_H__5547537B_9A6B_4077_96C4_62EAB9D06E84__INCLUDED_
|
||
|
||
#if _MSC_VER > 1000
|
||
#pragma once
|
||
#endif // _MSC_VER > 1000
|
||
|
||
#include "Network.h"
|
||
#include "BaseGraphicsLayer.h"
|
||
#include "SceneManager.h"
|
||
#include "BaseGUI.h"
|
||
#include "StringTable.h"
|
||
#include "CommonInterface.h"
|
||
#include "CharStatus.h"
|
||
#include "CharacterControl.h"
|
||
#include <list>
|
||
|
||
#define CLIENT_LOGO 0
|
||
#define CLIENT_MAIN 1
|
||
#define CLIENT_NATIONSELECT 2
|
||
#define CLIENT_CHARACTERSELECT 3
|
||
#define CLIENT_GAME 4
|
||
#define CLIENT_END 5
|
||
#define CLIENT_CHARACTERSELECTLOADING 6
|
||
#define CLIENT_GAMELOADING 7
|
||
#define CLIENT_ZONEMOVE 8
|
||
|
||
#define NATION_HUMAN 0
|
||
#define NATION_AKHAN 1
|
||
#define NATION_UNKNONE 2
|
||
|
||
#define CURSOR_NORMAL 0
|
||
#define CURSOR_CLICK 1
|
||
#define CURSOR_PICKUP 2
|
||
#define CURSOR_ATTACK 3
|
||
#define CURSOR_DIALOG 4
|
||
#define CURSOR_REPAIR 5
|
||
#define CURSOR_TOOLTIP 6
|
||
#define CURSOR_POPUP 7
|
||
|
||
#define WriteLog(s) WriteLogtoFile(s, __FILE__, __LINE__)
|
||
|
||
using namespace std;
|
||
|
||
class CClientMain
|
||
{
|
||
public:
|
||
void ProjectPt( D3DXVECTOR3 *V, float *xScreen, float *yScreen );
|
||
void SetTipBroadTimer(long lTimer);
|
||
void SetSkillCoolDown(unsigned short wSkill);
|
||
void ResetTerrain(void);
|
||
void PrintException(EXCEPTION_RECORD &SavedExceptRec, CONTEXT &SavedContext);
|
||
void SetSkillClearCoolDown(void);
|
||
void SetPotionCoolDown(void);
|
||
void SetSkillCoolDown(unsigned short wGrade, unsigned char cEndCooldown);
|
||
void WriteLogtoFile(const char *strLog, const char *strFileName, int nLine);
|
||
void ProcessScreenshot(void);
|
||
void RenderMain(void);
|
||
static vector3 GetMonsterMinBox(unsigned long dwChrID);
|
||
static vector3 GetMonsterMaxBox(unsigned long dwChrID);
|
||
static void SetChangeWeapon(BOOL bChangeWeapon);
|
||
static void SetAutoRun(BOOL bAutoRun);
|
||
static BOOL GetAutoRun(void);
|
||
static void CheckTargetforSkill(unsigned long &dwTargetID, BOOL bCheckLength);
|
||
static void SetKillCounter(long lKillCounter);
|
||
static BOOL CheckAttackable(void);
|
||
unsigned long GetScreenPosChr(POINT &Point, int nMode, float fLength);
|
||
DWORD m_dwSoundTickCount;
|
||
ISoundObject *m_CheckSoundBuffer;
|
||
bool CheckSoundBufferSpeedHack();
|
||
BOOL GetSpeedHack(void);
|
||
static char *GetMotionSheet(char *strWeaponName, char *strShieldName, unsigned short wClass);
|
||
static unsigned long GetWeaponType(char *strWeaponName);
|
||
static char m_strSheet[MAX_PATH];
|
||
static BOOL CheckSkillStart(BOOL bDown);
|
||
static BOOL CheckStillCasting(unsigned long &dwFunction);
|
||
static void ChangeWeapon(void);
|
||
BOOL GetChangeWeapon(void);
|
||
|
||
void SetPickItem(CItemInstance *lpItem, BOOL bSound = TRUE);
|
||
|
||
LPFieldInstance GetFieldObject(unsigned long dwFieldInstanceID);
|
||
void DeleteFieldObject(unsigned long dwFieldInstanceID);
|
||
void AddFieldObject(LPFieldObject lpObject);
|
||
void SetDayTimer(void);
|
||
BOOL CreateNationInterface(unsigned long dwNation);
|
||
void EnterClient(void);
|
||
void Destroy(void);
|
||
HINSTANCE m_hInstance;
|
||
HWND m_hWnd;
|
||
char m_strClientPath[MAX_PATH];
|
||
char m_strIP[MAX_PATH];
|
||
unsigned long m_dwUserID, m_dwSessionID, m_dwChannelID, m_dwVersion, m_dwServerID;
|
||
float m_fClientVersion;
|
||
unsigned long m_dwClientMode;
|
||
unsigned long m_dwClientNation;
|
||
|
||
unsigned long m_nShowInterfaceTimerID;
|
||
unsigned long m_nSceneManagerTimerID;
|
||
// unsigned long m_nSystemUpdateTimerID;
|
||
unsigned long m_nWeatherTimerID;
|
||
unsigned long m_dwServerTime;
|
||
unsigned long m_dwStartTime;
|
||
unsigned long m_dwPartyInfoTimerID;
|
||
unsigned long m_dwSpeedHackCheckTimerID;
|
||
unsigned long m_dwUpdateAddressTimerID;
|
||
unsigned long m_dwUpdateFlushTimerID;
|
||
unsigned long m_dwCheckStatusTimerID;
|
||
unsigned long m_dwPingTimerID;
|
||
|
||
unsigned long m_dwNumScreenShot;
|
||
unsigned long m_dwFunction;
|
||
|
||
BOOL m_bShowInfo;
|
||
BOOL m_bUpdateMove;
|
||
BOOL m_bMovieVersion;
|
||
|
||
unsigned long m_dwInternationalCode;
|
||
BOOL m_bTestServerVersion;
|
||
BOOL m_bAdminMode;
|
||
|
||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
// Game Data
|
||
unsigned long m_dwStartQuickSlot;
|
||
unsigned long m_dwMyChrID; // <20><> ij<><C4B3><EFBFBD><EFBFBD> ID
|
||
vector3 m_vecStartPosition;
|
||
CCharStatus m_csStatus;
|
||
BOOL m_bMouseMode;
|
||
BOOL m_bAutoRunMode;
|
||
BOOL m_bSimpleMode;
|
||
unsigned long m_dwTradingNpcID;
|
||
unsigned long m_dwCursorTimer;
|
||
BOOL m_bCursorToggle;
|
||
BOOL m_bHardwareCursor;
|
||
BOOL m_bShowCursor;
|
||
BOOL m_bSystemConsoleShow;
|
||
unsigned long m_dwKindCursor;
|
||
unsigned long m_dwMessageBoxResult;
|
||
char m_strRecentChatChrID[MAX_PATH];
|
||
char m_strWhisperChrID[MAX_PATH];
|
||
BOOL m_bInstanceWhisper;
|
||
BOOL m_bTargetMouseMode;
|
||
BOOL m_bChangeWeapon;
|
||
BOOL m_bInterfaceAlreadyLoad;
|
||
BOOL m_bStreetStallEnter;
|
||
|
||
long m_lTipBroadCounterSeed;
|
||
long m_lTipBroadCounter;
|
||
vector<char *> m_lstTipBroad;
|
||
|
||
long m_lKillCounter;
|
||
unsigned long m_dwPresentZone;
|
||
unsigned long m_dwNextZone;
|
||
|
||
unsigned long m_dwRespawnResult;
|
||
|
||
unsigned long m_dwPeaceModeResult;
|
||
unsigned long m_dwPeaceMode;
|
||
|
||
unsigned long m_dwAuthorizeResult;
|
||
unsigned long m_dwAuthorizeCasterID;
|
||
unsigned char m_cAuthorizeCmd;
|
||
|
||
unsigned long m_dwFriendResult;
|
||
char m_strFriendName[MAX_PATH];
|
||
|
||
bool m_bPeaceMode;
|
||
RejectOption m_roOption;
|
||
BOOL m_bPartyFind;
|
||
BOOL m_bPartyPlayerFind;
|
||
unsigned char m_cNumMember;
|
||
unsigned char m_cNumParty;
|
||
char m_cEliteNation;
|
||
unsigned char m_cEliteLevel;
|
||
MemberFindParty m_mfpMember[30];
|
||
PartyFindMember m_pfmParty[30];
|
||
unsigned long m_dwSelectMemberSlot;
|
||
unsigned long m_dwSelectPartySlot;
|
||
|
||
char m_strChatMessage[3][MAX_PATH]; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
|
||
CItemInstance *m_lpPickItem;
|
||
|
||
list<LPFieldInstance> m_lstFieldItem;
|
||
CEffScript *m_ClassEffectPtr; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><>ũ<EFBFBD><C5A9>Ʈ pointer
|
||
int m_ClassEffectAlpha; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> alpha value
|
||
|
||
CEffScript *m_pEnemySelectEff;
|
||
CEffScript *m_pEnemySkillSelectEff;
|
||
CEffScript *m_pPlayerSelectEff;
|
||
CEffScript *m_pPlayerSkillSelectEff;
|
||
|
||
ISoundObject *m_lpBackGroundMusic;
|
||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
// Login
|
||
CHAR_VIEW m_scLoginChar[3]; // <20>α<EFBFBD><CEB1><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(3<><33>)
|
||
vector3 m_vecCharSelectPos[3];
|
||
unsigned long m_dwSelectChr;
|
||
unsigned long m_dwClientState;
|
||
BOOL m_bCreateChar;
|
||
BOOL m_bDeleteChar;
|
||
BOOL m_bSelectChar;
|
||
BOOL m_bGameStartState[2];
|
||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
CInitValue m_InitValue; // Init Value Class /Video,Adapter,Mode/
|
||
BaseGraphicsLayer m_BaseGraphicLayer; // BaseGraphics Layer Class
|
||
CSceneManager *m_lpSceneManager; // SceneManager Class
|
||
CNetwork m_Network; // Network
|
||
CBaseGUI *m_lpInterface;
|
||
CCommonInterface *m_lpCommonInterface;
|
||
|
||
BOOL Init(HINSTANCE hInstance);
|
||
void Update(void);
|
||
void ProcessLogin(void);
|
||
void Render(void);
|
||
// void ResetTerrain(void);
|
||
unsigned long ClientProc(HWND hWnd, unsigned int uMsg, WPARAM wParam, LPARAM lParam);
|
||
void SetFocus(void) { ::SetFocus(m_hWnd); }
|
||
CClientMain(void);
|
||
~CClientMain(void);
|
||
};
|
||
|
||
extern CClientMain g_ClientMain;
|
||
extern CCharacterControl g_CharacterData;
|
||
|
||
#endif // !defined(AFX_CLIENTMAIN_H__5547537B_9A6B_4077_96C4_62EAB9D06E84__INCLUDED_)
|