Files
Client/GameTools/NeoRylClient/ClientMain.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

234 lines
7.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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_)