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,282 @@
// ItemQuantityControlDlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//
#include "stdafx.h"
#include "MainFrm.h"
#include "AdminToolClient.h"
#include "ItemQuantityControlDlg.h"
#include "GlobalFunctions.h"
#include "WindowMgr.h"
#include "PacketManager.h"
#include "CharacterDoc.h"
#include <Network/Protocol/RYL_AdminMgrProtocol.h>
#include <Item/ItemMgr.h>
#include "ItemQtyControlAddDlg.h"
// CItemQuantityControlDlg <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
IMPLEMENT_DYNAMIC(CItemQuantityControlDlg, CDialog)
CItemQuantityControlDlg::CItemQuantityControlDlg(CWnd* pParent /*=NULL*/)
: CDialog(CItemQuantityControlDlg::IDD, pParent)
, m_strMessage(_T(""))
, m_strFrequencyStartHour(_T(""))
, m_strFrequencyStartMin(_T(""))
, m_strFrequencyEndHour(_T(""))
, m_strFrequencyEndMin(_T(""))
, m_dwItemQty(0)
, m_strSelItemName(_T(""))
, m_dwSelItemTypeID(0)
, m_dwCurrentItemQty(0)
, m_strCurrentDropItemCount(_T(""))
, m_strLimitDropItemCount(_T("Undisided"))
{
}
CItemQuantityControlDlg::~CItemQuantityControlDlg()
{
ERASE_WINDOW(IDD_ITEMQUANTITYCONTROLDLG);
}
void CItemQuantityControlDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_DROPCONTROL_DROPITEM_LIST, m_ctrlDropItemList);
DDX_Control(pDX, IDC_DROPCONTROL_GROUP_CB, m_ctrlServerGroupCb);
DDX_Text(pDX, IDC_DROPCONTROL_MESSAGE_EDIT, m_strMessage);
DDX_Control(pDX, IDC_DROPCONTROL_STARTDROP_DATE, m_ctrlStartDropDate);
DDX_Control(pDX, IDC_DROPCONTROL_ENDDROP_DATE, m_ctrlEndDropDate);
DDX_Text(pDX, IDC_DROPCONTROL_FREQUENCY_H1_EDIT, m_strFrequencyStartHour);
DDX_Text(pDX, IDC_DROPCONTROL_FREQUENCY_M1_EDIT, m_strFrequencyStartMin);
DDX_Text(pDX, IDC_DROPCONTROL_FREQUENCY_H2_EDIT, m_strFrequencyEndHour);
DDX_Text(pDX, IDC_DROPCONTROL_FREQUENCY_M2_EDIT, m_strFrequencyEndMin);
DDX_Text(pDX, IDC_DROPCONTROL_QUANTITY_EDIT, m_dwItemQty);
DDX_Text(pDX, IDC_DROPCONTROL_SELITEMNAME_EDIT, m_strSelItemName);
DDX_Text(pDX, IDC_DROPCONTROL_SELITEMID_EDIT, m_dwSelItemTypeID);
DDX_Text(pDX, IDC_DROPCONTROL_CURRENTQUANTITY_EDIT, m_dwCurrentItemQty);
DDX_Text(pDX, IDC_DROPCONTROL_MINCOUNT_EDIT, m_strCurrentDropItemCount);
DDX_Text(pDX, IDC_DROPCONTROL_MAXCOUNT_EDIT, m_strLimitDropItemCount);
}
BEGIN_MESSAGE_MAP(CItemQuantityControlDlg, CDialog)
ON_BN_CLICKED(IDC_DROPCONTROL_ADDITEM_BTN, OnBnClickedAdditemBtn)
ON_BN_CLICKED(IDC_DROPCONTROL_DELITEM_BTN, OnBnClickedDelitemBtn)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_DROPCONTROL_DROPITEM_LIST, OnLvnItemchangedlDropitemList)
ON_BN_CLICKED(IDC_DROPCONTROL_EDIT_BTN, OnBnClickedDropcontrolEditBtn)
ON_CBN_SELCHANGE(IDC_DROPCONTROL_GROUP_CB, OnCbnSelchangeDropcontrolGroupCb)
END_MESSAGE_MAP()
// CItemQuantityControlDlg <20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
BOOL CItemQuantityControlDlg::OnInitDialog()
{
CDialog::OnInitDialog();
INSERT_WINDOW(IDD_ITEMQUANTITYCONTROLDLG, static_cast<CWnd*>(this));
ServerGroupComboSet(m_ctrlServerGroupCb);
m_ctrlDropItemList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
m_ctrlDropItemList.InsertColumn(0, GetLocalString("TYPE_ID"), LVCFMT_LEFT,100);
m_ctrlDropItemList.InsertColumn(1, GetLocalString("NAME"), LVCFMT_LEFT,150);
SetWindowText(GetLocalString("IDD_ITEMQUANTITYCONTROLDLG"));
SetUIString(this->m_hWnd, IDC_DROPCONTROL_01, "IDC_DROPCONTROL_01");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_02, "IDC_DROPCONTROL_02");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_03, "IDC_DROPCONTROL_03");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_04, "IDC_DROPCONTROL_04");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_05, "IDC_DROPCONTROL_05");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_06, "IDC_DROPCONTROL_06");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_07, "IDC_DROPCONTROL_07");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_08, "IDC_DROPCONTROL_08");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_09, "IDC_DROPCONTROL_09");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_10, "IDC_DROPCONTROL_10");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_11, "IDC_DROPCONTROL_11");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_12, "IDC_DROPCONTROL_12");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_13, "IDC_DROPCONTROL_13");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_14, "IDC_DROPCONTROL_14");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_15, "IDC_DROPCONTROL_15");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_16, "IDC_DROPCONTROL_16");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_17, "IDC_DROPCONTROL_17");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_ADDITEM_BTN, "IDC_DROPCONTROL_ADDITEM_BTN");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_DELITEM_BTN, "IDC_DROPCONTROL_DELITEM_BTN");
SetUIString(this->m_hWnd, IDC_DROPCONTROL_EDIT_BTN, "IDC_DROPCONTROL_EDIT_BTN");
return TRUE;
}
void CItemQuantityControlDlg::OnBnClickedAdditemBtn()
{
if(CB_ERR != m_ctrlServerGroupCb.GetCurSel())
{
CItemQtyControlAddDlg dlg;
dlg.DoModal();
}
}
void CItemQuantityControlDlg::OnBnClickedDelitemBtn()
{
UpdateData(true);
if(1 == m_ctrlDropItemList.GetSelectedCount())
{
int Index = m_ctrlDropItemList.GetNextItem(-1, LVIS_SELECTED);
if(-1 != Index)
{
unsigned long dwServerGroup = 0;
CString strGroupName;
m_ctrlServerGroupCb.GetLBText(m_ctrlServerGroupCb.GetCurSel(), strGroupName);
CCharacterDoc::GetInstance().GetServerIndex(strGroupName, dwServerGroup);
CPacketMgr::GetInstance()->SendItemQtyControlData(
PktAdminMgr::PktItemQtyControl::DEL, (unsigned char)dwServerGroup,
_ttol(m_ctrlDropItemList.GetItemText(Index, 0)));
}
}
else
{
m_strMessage.Format(_T("%s"), GetLocalString("MSG_0107"));
UpdateData(false);
}
}
void CItemQuantityControlDlg::OnCbnSelchangeDropcontrolGroupCb()
{
unsigned long dwServerGroup = 0;
CString strGroupName;
m_ctrlServerGroupCb.GetLBText(m_ctrlServerGroupCb.GetCurSel(), strGroupName);
CCharacterDoc::GetInstance().GetServerIndex(strGroupName, dwServerGroup);
CPacketMgr::GetInstance()->SendItemQtyControlData(
PktAdminMgr::PktItemQtyControl::STATUS_REQUEST, (unsigned char)dwServerGroup);
for(int nCnt = 0; nCnt < m_ctrlDropItemList.GetItemCount(); ++nCnt)
{
PktAdminMgr::PktItemQtyControl* lpItemData =
reinterpret_cast<PktAdminMgr::PktItemQtyControl*>
(m_ctrlDropItemList.GetItemData(nCnt));
delete lpItemData;
}
m_ctrlDropItemList.DeleteAllItems();
}
void CItemQuantityControlDlg::OnLvnItemchangedlDropitemList(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
if(1 == m_ctrlDropItemList.GetSelectedCount())
{
int Index = m_ctrlDropItemList.GetNextItem(-1, LVIS_SELECTED);
if(-1 != Index)
{
PktAdminMgr::PktItemQtyControl* lpPktItemQtyControl =
reinterpret_cast<PktAdminMgr::PktItemQtyControl*>(m_ctrlDropItemList.GetItemData(Index));
if(NULL != lpPktItemQtyControl)
{
const Item::ItemInfo* ItemInfo =
Item::CItemMgr::GetInstance().GetItemInfo((unsigned short)lpPktItemQtyControl->m_dwItemTypeID);
if(NULL != ItemInfo)
{
m_strSelItemName.Format(_T("%s"), ItemInfo->m_SpriteData.m_szName);
m_dwSelItemTypeID = lpPktItemQtyControl->m_dwItemTypeID;
m_dwItemQty = lpPktItemQtyControl->m_dwItemQty;
m_dwCurrentItemQty = lpPktItemQtyControl->m_dwCurrentItemQty;
COleDateTime tStartOleDateTime(lpPktItemQtyControl->m_tStartTime);
COleDateTime tEndOleDateTime(lpPktItemQtyControl->m_tEndTime);
m_ctrlStartDropDate.SetTime(tStartOleDateTime);
m_ctrlEndDropDate.SetTime(tEndOleDateTime);
tm tOutStartTime;
tm tOutEndTime;
tOutStartTime = *(localtime(&lpPktItemQtyControl->m_tStartTime));
tOutEndTime = *(localtime(&lpPktItemQtyControl->m_tEndTime));
m_strFrequencyStartHour.Format(_T("%d"), tOutStartTime.tm_hour);
m_strFrequencyStartMin.Format(_T("%d"), tOutStartTime.tm_min);
m_strFrequencyEndHour.Format(_T("%d"), tOutEndTime.tm_hour);
m_strFrequencyEndMin.Format(_T("%d"), tOutEndTime.tm_min);
}
}
else
{
m_strMessage = _T("Selected row has not data");
}
}
}
UpdateData(false);
*pResult = 0;
}
void CItemQuantityControlDlg::OnBnClickedDropcontrolEditBtn()
{
UpdateData(true);
if(m_strSelItemName != "" && m_dwSelItemTypeID != 0
&& "" != m_strFrequencyStartHour && "" != m_strFrequencyStartMin
&& "" != m_strFrequencyEndHour && "" != m_strFrequencyEndMin
&& 0 != m_dwItemQty)
{
unsigned long dwServerGroup = 0;
CString strGroupName;
m_ctrlServerGroupCb.GetLBText(m_ctrlServerGroupCb.GetCurSel(), strGroupName);
CCharacterDoc::GetInstance().GetServerIndex(strGroupName, dwServerGroup);
COleDateTime GetTime1, GetTime2;
m_ctrlStartDropDate.GetTime(GetTime1);
m_ctrlEndDropDate.GetTime(GetTime2);
tm tInStartTime;
memset(&tInStartTime, 0, sizeof(tm));
tInStartTime.tm_year = GetTime1.GetYear() - 1900;
tInStartTime.tm_mon = GetTime1.GetMonth() - 1;
tInStartTime.tm_mday = GetTime1.GetDay();
tInStartTime.tm_hour = _ttoi(m_strFrequencyStartHour);
tInStartTime.tm_min = _ttoi(m_strFrequencyStartMin);
tm tInEndTime;
memset(&tInEndTime, 0, sizeof(tm));
tInEndTime.tm_year = GetTime2.GetYear() - 1900;
tInEndTime.tm_mon = GetTime2.GetMonth() - 1;
tInEndTime.tm_mday = GetTime2.GetDay();
tInEndTime.tm_hour = _ttoi(m_strFrequencyEndHour);
tInEndTime.tm_min = _ttoi(m_strFrequencyEndMin);
time_t tStartTime = mktime(&tInStartTime);
time_t tEndTime = mktime(&tInEndTime);
CPacketMgr::GetInstance()->SendItemQtyControlData(
PktAdminMgr::PktItemQtyControl::ADD, (unsigned char)dwServerGroup,
m_dwSelItemTypeID, tStartTime, tEndTime, m_dwItemQty);
}
}
void CItemQuantityControlDlg::PostNcDestroy()
{
((CMainFrame*)AfxGetMainWnd())->m_lpItemQtyControlDlg = NULL;
delete this;
CDialog::PostNcDestroy();
}
void CItemQuantityControlDlg::OnCancel()
{
DestroyWindow();
//CDialog::OnCancel();
}