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:
161
Tools/LauncherMY/DlgRegionSelect.cpp
Normal file
161
Tools/LauncherMY/DlgRegionSelect.cpp
Normal file
@@ -0,0 +1,161 @@
|
||||
// DlgRegionSelect.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ryllogin.h"
|
||||
#include "DlgRegionSelect.h"
|
||||
#include "../LoginRes/Resource.h"
|
||||
#include "RYLLOGIN_DEFINITIONS.H"
|
||||
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CDlgRegionSelect dialog
|
||||
|
||||
|
||||
IMPLEMENT_DYNAMIC(CDlgRegionSelect, CDialog)
|
||||
CDlgRegionSelect::CDlgRegionSelect(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CDlgRegionSelect::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CDlgRegionSelect)
|
||||
// NOTE: the ClassWizard will add member initialization here
|
||||
//}}AFX_DATA_INIT
|
||||
|
||||
m_nRegionIndex = 0;
|
||||
}
|
||||
|
||||
|
||||
void CDlgRegionSelect::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CDlgRegionSelect)
|
||||
// NOTE: the ClassWizard will add DDX and DDV calls here
|
||||
//DDX_Control(pDX, IDC_LIST_SERVER, m_RegionList);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CDlgRegionSelect, CDialog)
|
||||
//{{AFX_MSG_MAP(CDlgRegionSelect)
|
||||
ON_WM_PAINT()
|
||||
ON_WM_LBUTTONDOWN()
|
||||
ON_WM_CTLCOLOR()
|
||||
//ON_LBN_SELCHANGE(IDC_LIST_SERVER, OnLbnSelchangeListServer)
|
||||
//ON_LBN_DBLCLK(IDC_LIST_SERVER, OnLbnDblclkListServer)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CDlgRegionSelect message handlers
|
||||
|
||||
|
||||
void CDlgRegionSelect::RenderBack( CDC &rDC, CBitmap &rBitmap, int Px, int Py , int SizeX, int SizeY )
|
||||
{
|
||||
CBitmap *pOldBitmap;
|
||||
CDC memDC;
|
||||
memDC.CreateCompatibleDC(&rDC);
|
||||
pOldBitmap=memDC.SelectObject(&rBitmap);
|
||||
CSize sBitmap=rBitmap.GetBitmapDimension();
|
||||
|
||||
BITMAP bmInfo;
|
||||
rBitmap.GetBitmap(&bmInfo);
|
||||
|
||||
if( SizeX == -1 && SizeY == -1 )
|
||||
rDC.BitBlt(Px,Py,bmInfo.bmWidth,bmInfo.bmHeight,&memDC,0,0,SRCCOPY);
|
||||
else
|
||||
rDC.BitBlt(Px,Py,SizeX,SizeY,&memDC,0,0,SRCCOPY);
|
||||
|
||||
memDC.SelectObject(pOldBitmap);
|
||||
|
||||
}
|
||||
|
||||
void CDlgRegionSelect::OnPaint()
|
||||
{
|
||||
CPaintDC dc(this); // device context for painting
|
||||
|
||||
RenderBack( dc, m_btmBack, 0, 0 );
|
||||
|
||||
// TODO: Add your message handler code here
|
||||
// Do not call CDialog::OnPaint() for painting messages
|
||||
}
|
||||
|
||||
BOOL CDlgRegionSelect::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// TODO: Add extra initialization here
|
||||
SetDllResource();
|
||||
m_btmBack.LoadBitmap( IDB_BITMAP_SERVERSEL );
|
||||
SetDefaultResource();
|
||||
|
||||
|
||||
SetWindowPos( NULL, 0, 0, 286, 237, SWP_NOZORDER | SWP_NOMOVE );
|
||||
m_RegionList.SetWindowPos( NULL, 17, 24, 150-17, 203-24, SWP_NOZORDER );
|
||||
|
||||
for( int i = 0; i < m_vec_strRegionName.size(); ++i )
|
||||
{
|
||||
m_RegionList.InsertString( -1, m_vec_strRegionName[i] );
|
||||
}
|
||||
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
|
||||
void CDlgRegionSelect::OnLButtonDown(UINT nFlags, CPoint point)
|
||||
{
|
||||
// TODO: Add your message handler code here and/or call default
|
||||
|
||||
PostMessage( WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM( point.x, point.y) );
|
||||
CDialog::OnLButtonDown(nFlags, point);
|
||||
}
|
||||
|
||||
|
||||
|
||||
HBRUSH CDlgRegionSelect::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
|
||||
{
|
||||
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
|
||||
|
||||
switch(nCtlColor)
|
||||
{
|
||||
case CTLCOLOR_LISTBOX:
|
||||
pDC->SetBkMode(TRANSPARENT);
|
||||
pDC->SetTextColor(RGB( 200,200,200 ));
|
||||
return (HBRUSH)GetStockObject(NULL_BRUSH);
|
||||
break;
|
||||
}
|
||||
|
||||
// TODO: Change any attributes of the DC here
|
||||
|
||||
// TODO: Return a different brush if the default is not desired
|
||||
return hbr;
|
||||
}
|
||||
|
||||
|
||||
void CDlgRegionSelect::OnLbnSelchangeListServer()
|
||||
{
|
||||
//m_ServerList.Invalidate( FALSE );
|
||||
Invalidate( FALSE );
|
||||
// TODO: Add your control notification handler code here
|
||||
}
|
||||
|
||||
|
||||
void CDlgRegionSelect::OnLbnDblclkListServer()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
|
||||
if( m_RegionList.GetCurSel() == -1 )
|
||||
{
|
||||
AfxMessageBox( RYLLoginGetMessage( 0 ) );
|
||||
return;
|
||||
}
|
||||
|
||||
m_nRegionIndex = m_RegionList.GetCurSel();
|
||||
|
||||
CDialog::OnOK();
|
||||
}
|
||||
Reference in New Issue
Block a user