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>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,207 @@
// BlockedListDlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//
#include "stdafx.h"
#include "AdminToolClient.h"
#include "BlockManagementDlg.h"
#include "GlobalFunctions.h"
#include "CharacterDoc.h"
#include "WindowMgr.h"
#include "PacketManager.h"
#include "ListCtrlSortClass.h"
// CBlockManagementDlg <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
IMPLEMENT_DYNAMIC(CBlockManagementDlg, CDialog)
CBlockManagementDlg::CBlockManagementDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBlockManagementDlg::IDD, pParent)
, m_bSortListAsc(false)
{
INSERT_WINDOW(IDD_BLOCKEDLISTDLG, this);
}
CBlockManagementDlg::~CBlockManagementDlg()
{
ERASE_WINDOW(IDD_BLOCKEDLISTDLG);
}
void CBlockManagementDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BLOCKEDLIST, m_ctrlBlockedList);
DDX_Control(pDX, IDC_BM_SERVERCOMBO, m_ctrlBMServerCombo);
}
BEGIN_MESSAGE_MAP(CBlockManagementDlg, CDialog)
ON_BN_CLICKED(IDC_BLOCKLIST_SEARCH, OnBnClickedBlocklistSearch)
ON_WM_CONTEXTMENU()
ON_COMMAND(ID_DELETE_BLOCK, OnDeleteBlock)
ON_BN_CLICKED(IDC_BLOCKLIST_CLIP_BTN, OnBnClickedBlocklistClipBtn)
ON_NOTIFY(LVN_COLUMNCLICK, IDC_BLOCKEDLIST, OnLvnColumnclickBlockedlist)
END_MESSAGE_MAP()
// CBlockManagementDlg <20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
BOOL CBlockManagementDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_ctrlBlockedList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
m_ctrlBlockedList.InsertColumn(0, GetLocalString("ADDED_STRING_114"), LVCFMT_RIGHT, 50);
m_ctrlBlockedList.InsertColumn(1, GetLocalString("SERVER_GROUP"), LVCFMT_LEFT, 90);
m_ctrlBlockedList.InsertColumn(2, _T("UID"), LVCFMT_LEFT, 100);
m_ctrlBlockedList.InsertColumn(3, GetLocalString("ACCOUNT"), LVCFMT_LEFT, 100);
m_ctrlBlockedList.InsertColumn(4, GetLocalString("CHAR_NAME"), LVCFMT_LEFT, 100);
m_ctrlBlockedList.InsertColumn(5, GetLocalString("BLOCK_TARGET"), LVCFMT_LEFT, 70);
m_ctrlBlockedList.InsertColumn(6, GetLocalString("BLCOK_TERM"), LVCFMT_LEFT, 70);
m_ctrlBlockedList.InsertColumn(7, GetLocalString("BLOCK_START_TIME"), LVCFMT_LEFT, 120);
m_ctrlBlockedList.InsertColumn(8, GetLocalString("BLOCK_END_TIME"), LVCFMT_LEFT, 120);
m_ctrlBlockedList.InsertColumn(9, GetLocalString("ADMIN_ID"), LVCFMT_LEFT, 80);
m_ctrlBlockedList.InsertColumn(10, GetLocalString("DESCRIPTION"), LVCFMT_LEFT, 170);
SetWindowText(GetLocalString("IDD_BLOCKEDLISTDLG"));
SetUIString(this->m_hWnd, IDC_BLOCKMANAGE_01,"IDC_BLOCKMANAGE_01");
SetUIString(this->m_hWnd, IDC_BLOCKMANAGE_02,"IDC_BLOCKMANAGE_02");
SetUIString(this->m_hWnd, IDC_BLOCKMANAGE_03,"IDC_BLOCKMANAGE_03");
SetUIString(this->m_hWnd, IDC_BLOCKLIST_SEARCH,"IDC_BLOCKLIST_SEARCH");
SetUIString(this->m_hWnd, IDC_BLOCKLIST_CLIP_BTN,"IDC_BLOCKLIST_CLIP_BTN");
ServerGroupComboSet(m_ctrlBMServerCombo);
return TRUE;
}
void CBlockManagementDlg::OnDeleteBlock()
{
int Index = m_ctrlBlockedList.GetNextItem(-1, LVIS_SELECTED);
if(-1 != Index)
{
TCHAR szValue[256];
unsigned long dwServerGroup;
m_ctrlBlockedList.GetItemText(Index, 1, szValue, sizeof(szValue));
CCharacterDoc::GetInstance().GetServerIndex(szValue, dwServerGroup);
m_ctrlBlockedList.GetItemText(Index, 0, szValue, sizeof(szValue));
unsigned long nidx = _ttol(szValue);
CPacketMgr::GetInstance()->SendDelBlockUser((char)dwServerGroup, nidx, szValue);
// <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
m_ctrlBlockedList.DeleteAllItems();
CPacketMgr::GetInstance()->SendPktSearchBlock(dwServerGroup);
}
}
void CBlockManagementDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
if(pWnd->GetSafeHwnd() == m_ctrlBlockedList.GetSafeHwnd() &&
m_ctrlBlockedList.GetSelectedCount() == 1)
{
CMenu muTemp, *pContextMenu;
muTemp.LoadMenu(IDR_CONTEXTMENU);
pContextMenu = muTemp.GetSubMenu(10);
pContextMenu->ModifyMenu(0, MF_STRING | MF_BYPOSITION, ID_DELETE_BLOCK, GetLocalString("MENU_030"));
pContextMenu->TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);
}
}
void CBlockManagementDlg::OnOK()
{
//CDialog::OnOK();
}
void CBlockManagementDlg::OnCancel()
{
CDialog::OnCancel();
}
void CBlockManagementDlg::OnBnClickedBlocklistSearch()
{
CComboBox* lpServerCombo = static_cast<CComboBox*>(GetDlgItem(IDC_BM_SERVERCOMBO));
if(CB_ERR != lpServerCombo->GetCurSel())
{
m_ctrlBlockedList.DeleteAllItems();
CString strServerName;
unsigned long dwServerGroup;
lpServerCombo->GetLBText(lpServerCombo->GetCurSel(), strServerName);
CCharacterDoc::GetInstance().GetServerIndex(strServerName, dwServerGroup);
CPacketMgr::GetInstance()->SendPktSearchBlock(dwServerGroup);
}
}
void CBlockManagementDlg::OnBnClickedBlocklistClipBtn()
{
ClippingListCtrl(m_ctrlBlockedList, 9, true);
}
void CBlockManagementDlg::OnLvnColumnclickBlockedlist(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
if(pNMLV->iSubItem == m_iSortListItem)
{
m_bSortListAsc = !m_bSortListAsc;
}
else
{
m_iSortListItem = pNMLV->iSubItem;
m_bSortListAsc = true;
}
SortListWndItem(&m_ctrlBlockedList, m_iSortListItem);
*pResult = 0;
}
void CBlockManagementDlg::SortListWndItem(CListCtrl* lpListCtrl, const int iCol)
{
CListCtrlSortClass SortClass(lpListCtrl, iCol);
switch(m_iSortListItem)
{
case SORT_TYPE::INDEX:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
break;
case SORT_TYPE::SERVER_GROUP:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
break;
case SORT_TYPE::UID:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
break;
case SORT_TYPE::ACCOUNT:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
break;
case SORT_TYPE::CHAR_NAME:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
break;
case SORT_TYPE::TARGET:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
break;
case SORT_TYPE::TERM:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
break;
case SORT_TYPE::START_TIME:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
break;
case SORT_TYPE::END_TIME:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
break;
case SORT_TYPE::ADMIN_ID:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRINGNOCASE);
break;
case SORT_TYPE::DESCRIPTION:
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRINGNOCASE);
break;
}
}