Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
225
Tools/LauncherMY/RYLLoginDlg.h
Normal file
225
Tools/LauncherMY/RYLLoginDlg.h
Normal file
@@ -0,0 +1,225 @@
|
||||
// RYLLoginDlg.h : header file
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MSGDialog.h"
|
||||
#include "afxwin.h"
|
||||
|
||||
#include "ZBitmapButton.h"
|
||||
#include "CISBitmap.h"
|
||||
#include "GradientStatic.h"
|
||||
#include "DlgServerSelect.h"
|
||||
|
||||
#include <Network/clientsocket/LoginSocket.h>
|
||||
#include <Network/Packet/PacketStruct/ServerInfo.h>
|
||||
|
||||
#include "UpdateManager.h"
|
||||
|
||||
#include "memdc.h"
|
||||
#include "SplashDlg.h"
|
||||
|
||||
#include "RYLLOGIN_DEFINITIONS.H"
|
||||
|
||||
#include "tranlistbox.h"
|
||||
|
||||
#include <list>
|
||||
|
||||
// forward decl.
|
||||
class ISoundObject;
|
||||
|
||||
enum ConnectionState
|
||||
{
|
||||
CS_IDLE,
|
||||
CS_START,
|
||||
CS_FILEINFOGATHERING,
|
||||
CS_PATCHDOWN,
|
||||
CS_DECOMPRESS,
|
||||
CS_SERVERSELECT,
|
||||
};
|
||||
|
||||
class ILoginDlgCommand
|
||||
{
|
||||
public:
|
||||
|
||||
virtual ~ILoginDlgCommand() { }
|
||||
|
||||
virtual bool IsProcessNow(DWORD dwCurrentTime) { return true; }
|
||||
virtual bool ProcessCommand() = 0;
|
||||
};
|
||||
|
||||
|
||||
// CRYLLoginDlg dialog
|
||||
class CRYLLoginDlg : public CDialog
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
|
||||
CRYLLoginDlg(CWnd* pParent = NULL);
|
||||
|
||||
enum { IDD = IDD_RYLLOGIN_DIALOG };
|
||||
|
||||
protected:
|
||||
|
||||
// DDX/DDV support
|
||||
virtual void DoDataExchange(CDataExchange* pDX);
|
||||
|
||||
// Generated message map functions
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
afx_msg void OnBnClickedButtonNewacc();
|
||||
afx_msg void OnBnClickedButtonPsw();
|
||||
afx_msg void OnBnClickedButtonEnd();
|
||||
afx_msg void OnMove(int x, int y);
|
||||
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
||||
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
||||
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
||||
afx_msg void OnTimer(UINT nIDEvent);
|
||||
afx_msg void OnBnClickedButtonMusic();
|
||||
afx_msg void OnBnClickedButtonFilecheck();
|
||||
afx_msg void OnBnClickedButtonSetup();
|
||||
afx_msg LRESULT OnRylLauncherShutdown(WPARAM,LPARAM);
|
||||
afx_msg void OnDestroy();
|
||||
afx_msg void OnBnClickedButtonStart();
|
||||
afx_msg void OnLbnSelchangeListServer();
|
||||
afx_msg void OnLbnDblclkListServer();
|
||||
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
|
||||
|
||||
public:
|
||||
|
||||
bool IsServerClosed() { return m_bServerClosed; }
|
||||
|
||||
void RenderBack( CDC &rDC, CBitmap &rBitmap, int Px, int Py, int SizeX = -1 , int SizeY = -1 );
|
||||
void RenderAni( CDC &rDC, CBitmap &rBitmap, int Px, int Py , int SizeX, int SizeY, int nAniNum );
|
||||
|
||||
void PlayBGM(void);
|
||||
void InitClientFoloder(void);
|
||||
void InitInterface(void);
|
||||
void InitWebBrowser(void);
|
||||
bool UpdateFile(bool bFileCheck = false); // '<27><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>˻<EFBFBD>'<27>ÿ<EFBFBD><C3BF><EFBFBD> <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>Ͱ<EFBFBD> true
|
||||
|
||||
void Execute(CString strExec, BOOL bWait);
|
||||
void ExecuteClient(int nServer);
|
||||
|
||||
DWORD GetLocalClientVersion();
|
||||
void SetClientVer(DWORD dwVer);
|
||||
|
||||
DWORD WaitForWebPageCreated(DWORD dwMilliseconds = INFINITE) const
|
||||
{ return WaitForSingleObject(m_hWebPageCreated, dwMilliseconds); }
|
||||
|
||||
void SetLoginDisplayText(const char* szText, bool bInvalidate = true)
|
||||
{
|
||||
m_stcLoginDisplay.SetWindowText(szText);
|
||||
if (bInvalidate) { m_stcLoginDisplay.Invalidate(); }
|
||||
}
|
||||
|
||||
void SetDefaultLoginServerAddress(const char* szLoginAddress)
|
||||
{ m_strDefaultLoginServerAddr.SetString(szLoginAddress); }
|
||||
|
||||
bool ConnectToLoginServer();
|
||||
bool RequestServerList();
|
||||
bool ProcessServerList(DWORD dwClientVersionFromServer,
|
||||
const char* szPatchAddressFromLoginServer, const SERVER_LIST& serverList);
|
||||
|
||||
LoginSocket* GetLoginSocket() { return m_pLoginSocket; }
|
||||
|
||||
void PutCommand(ILoginDlgCommand* lpLoginDlgCommand) { m_LoginDlgCommandList.push_back(lpLoginDlgCommand); }
|
||||
|
||||
// <20><>ġ<EFBFBD><C4A1> <20>Ϸᰡ <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD> Ȯ<><C8AE>.
|
||||
|
||||
bool GetPatchComplete() { return m_bPatchComplete; }
|
||||
void SetPatchComplete(bool bPatchComplete) { m_bPatchComplete = bPatchComplete; }
|
||||
|
||||
private:
|
||||
|
||||
typedef std::list<ILoginDlgCommand*> LoginDlgCommandList;
|
||||
|
||||
LoginDlgCommandList m_LoginDlgCommandList;
|
||||
|
||||
// Graphic variables
|
||||
CZBitmapButton m_btnNewAcc;
|
||||
CZBitmapButton m_btnPsw;
|
||||
CZBitmapButton m_btnSetup;
|
||||
CZBitmapButton m_btnFileCheck;
|
||||
CZBitmapButton m_btnMusic;
|
||||
CZBitmapButton m_btnEnd;
|
||||
CZBitmapButton m_btnServerStart;
|
||||
|
||||
CGradientStatic m_stcLoginDisplay;
|
||||
CGradientStatic m_stcVersionView;
|
||||
|
||||
CTranListBox m_ServerList;
|
||||
|
||||
CHtmlCtrl m_WebPage;
|
||||
CCISBitmap m_btmBase;
|
||||
CBitmap m_btmFILE;
|
||||
CBitmap m_btmFTP;
|
||||
CBitmap m_btmPatching;
|
||||
CBitmap m_btmComplete;
|
||||
CBitmap m_btmLoging;
|
||||
CBitmap m_btmAlarmAni;
|
||||
|
||||
CDC m_memDC;
|
||||
CDC m_BkDC;
|
||||
CBitmap m_BkBitmap;
|
||||
CSplashDlg m_dlgSplash;
|
||||
CRect m_rt;
|
||||
HICON m_hIcon;
|
||||
|
||||
#ifdef _TW_
|
||||
CMSGDialog* m_TMsgDlg;
|
||||
#endif
|
||||
|
||||
// String variable
|
||||
CString m_strRYLFolder;
|
||||
CString m_strLoginServerAddrFromRegistry;
|
||||
CString m_strPatchUrlFromRegistry;
|
||||
CString m_strDefaultLoginServerAddr;
|
||||
CString m_strPatchUrlFromLoginServer;
|
||||
|
||||
CUpdateManager m_UpdateManager;
|
||||
|
||||
CFont *m_pBoldFont;
|
||||
ISoundObject *m_pStreamSound;
|
||||
LoginSocket *m_pLoginSocket;
|
||||
CBitmap *m_pOldBitmap;
|
||||
|
||||
const char *m_szVersionSignature;
|
||||
|
||||
SERVER_LIST m_ServerListData;
|
||||
DEVMODE m_DeviceMode;
|
||||
|
||||
HANDLE m_hWebPageCreated;
|
||||
|
||||
volatile ConnectionState m_ConnectionState;
|
||||
|
||||
float m_fBlueProgressPercentage;
|
||||
float m_fRedProgressPercentage;
|
||||
|
||||
DWORD m_dwLocalClientVersion;
|
||||
DWORD m_dwServerClientVersion;
|
||||
|
||||
int m_nLoginProcess;
|
||||
int m_nFade;
|
||||
|
||||
int m_nUpdateAni;
|
||||
int m_nUpdateLogoAni;
|
||||
|
||||
int m_nShowRateServerSelectDlg;
|
||||
int m_nServerClass;
|
||||
|
||||
bool m_bFileCheck; // file check <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5> <20><><EFBFBD>̾<EFBFBD><CCBE>α<EFBFBD> <20>ڽ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool m_bServerClosed;
|
||||
bool m_bPatchComplete;
|
||||
|
||||
bool m_bCheckSetup;
|
||||
bool m_bCheckSucLoginData;
|
||||
|
||||
bool m_bBGMPlay;
|
||||
bool m_bUpdating;
|
||||
bool m_bShowServerSelectDlg;
|
||||
};
|
||||
Reference in New Issue
Block a user