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,158 @@
// SkillList.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//
#include "stdafx.h"
#include "GameDBTool.h"
#include <Skill/SkillMgr.h>
#include "SkillList.h""
// CSkillList
char g_SkillField[3][20] = { "Skill ID", "Lock", "Level" };
IMPLEMENT_DYNAMIC(CSkillList, CListCtrl)
CSkillList::CSkillList()
{
}
CSkillList::~CSkillList()
{
}
BEGIN_MESSAGE_MAP(CSkillList, CListCtrl)
//{{AFX_MSG_MAP(CUserList)
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw)
ON_NOTIFY_REFLECT(LVN_ENDLABELEDIT, OnEndLableEdit)
ON_WM_LBUTTONDBLCLK()
ON_WM_HSCROLL()
ON_WM_VSCROLL()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CSkillList::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{
CListViewControl::OnCustomDraw(pNMHDR, pResult);
}
void CSkillList::OnEndLableEdit(NMHDR* pNMHDR, LRESULT* pResult)
{
CListViewControl::OnEndLableEdit(pNMHDR, pResult);
}
void CSkillList::OnLButtonDblClk(UINT nFlags, CPoint point)
{
CListViewControl::OnLButtonDblClk(nFlags, point);
}
void CSkillList::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
CListViewControl::OnHScroll(nSBCode, nPos, pScrollBar);
}
void CSkillList::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
CListViewControl::OnVScroll(nSBCode, nPos, pScrollBar);
}
// CSkillList <20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//Interface////////////////////////////////////////////////////////////////////////////////////
//
// SetColumn [ public ]
// - <20><><EFBFBD>̺<EFBFBD> <20>÷<EFBFBD> <20><><EFBFBD><EFBFBD>
//
// Parameter :
// 1st : <20>÷<EFBFBD> <20><><EFBFBD><EFBFBD>
//
// Return:
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> true
//
///////////////////////////////////////////////////////////////////////////////////////////////
bool CSkillList::SetColumn(void)
{
DWORD ExStyle = LVS_EX_FLATSB | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES;
SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, ExStyle);
DWORD Style = GetWindowLong(m_hWnd, GWL_STYLE);
Style |= LVS_EDITLABELS;
if (!SetWindowLong(m_hWnd, GWL_STYLE, Style))
return false;
CStringList StringList;
int IndexCounter = 0;
SetColumnType(0, CT_EDIT);
InsertColumn(0, g_SkillField[0], LVCFMT_CENTER, 5 * 20 + 10);
SetColumnType(1, CT_EDIT);
InsertColumn(1, g_SkillField[1], LVCFMT_CENTER, 3 * 20 + 10);
SetColumnType(2, CT_EDIT);
InsertColumn(2, g_SkillField[2], LVCFMT_CENTER, 3 * 20 + 10);
return true;
}
bool CSkillList::AddSkillRows(LPSKILL Skill_In)
{
CString strItem;
int Counter = 1;
int Index;
DeleteAllItems();
for(Index = 0; Index < Skill_In->wSlotNum; Index++, Counter = 1)
{
strItem.Format("0x%04x", Skill_In->SSlot[Index].SKILLINFO.wSkill);
InsertItem(Index, strItem);
strItem.Format("%d", Skill_In->SSlot[Index].SKILLINFO.cLockCount);
SetItemText(Index, Counter++, strItem);
strItem.Format("%d", Skill_In->SSlot[Index].SKILLINFO.cSkillLevel);
SetItemText(Index, Counter++, strItem);
}
return true;
}
bool CSkillList::GetSkillRows(LPSKILL Skill_Out)
{
char strItemText[256];
int Counter = 0;
int Index;
int Slot = GetItemCount();
unsigned short Skill;
int Lock, Level;
int SkillNum = 0;
ZeroMemory(Skill_Out, sizeof(SKILL));
for(Index = 0; Index < Slot; Index++, Counter = 0)
{
GetItemText(Index, Counter++, strItemText, 256);
Skill = Math::Convert::StrToHex16(strItemText);
GetItemText(Index, Counter++, strItemText, 256);
Lock = atoi(strItemText);
GetItemText(Index, Counter++, strItemText, 256);
Level = atoi(strItemText);
Skill_Out->SSlot[Index].SKILLINFO.wSkill = Skill;
Skill_Out->SSlot[Index].SKILLINFO.cLockCount = Lock;
Skill_Out->SSlot[Index].SKILLINFO.cSkillLevel = Level;
SkillNum = SkillNum + Lock * (CSkillMgr::MAX_SKILL_LEVEL - 1) + Level;
}
Skill_Out->wSkillNum = SkillNum;
Skill_Out->wSlotNum = Index;
return true;
}