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,266 @@
/**
* @file NFNet.h
* @brief Network Base Ŭ<><C5AC><EFBFBD><EFBFBD>
* @remarks
* @author <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(edith2580@gmail.com)
* @date 2009-04-02
*/
#pragma once
/// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Windows <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
#define WIN32_LEAN_AND_MEAN
// Windows <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
#include <windows.h>
#include <time.h> // timer
#include <assert.h> // assert
#include <process.h> // Thread
#include <stdio.h> // standard I/O
#include <stdlib.h>
// sock
#include <winsock2.h> // win32 socket
#pragma comment(lib,"ws2_32.lib")
#include <Mswsock.h> // extension socket library
#pragma comment(lib,"mswsock.lib")
#include "mmsystem.h" // <20><>Ƽ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD> Ÿ<≯Ӹ<CCB8> <20><><EFBFBD><EFBFBD>
#pragma comment(lib,"winmm.lib")
#include "NFPacket.h"
#include "NFSync.h"
namespace NaveNet {
#define MAX_PACKET 256 /// <20>ִ<EFBFBD> Packet <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
#define WM_CONNECT WM_APP + 0x1001 /// CONNECT <20>޽<EFBFBD><DEBD><EFBFBD>
#define WM_RECV_MSG WM_APP + 0x1002 /// RECV <20>޽<EFBFBD><DEBD><EFBFBD>
#define WM_SOCK_CLOSE WM_APP + 0x1003 /// CLOSE <20>޽<EFBFBD><DEBD><EFBFBD>
/**
* @class NFPacketQueue
* @brief Packet Queue ó<><C3B3><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
* @remarks
*
* @par
* @author Edith
* @date 2009-04-04
*/
class NFPacketQueue
{
/// Queue <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> INDEX <20><><EFBFBD><EFBFBD>ü
struct INDEX
{
/// <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> <20><>ġ
INDEX* pNext;
/// <20><>Ŷ
NFPacket Packet;
INDEX()
{
pNext = NULL;
Packet.Init();
}
};
public:
/// NFPacketQueue <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
NFPacketQueue()
{
pList = NULL;
pHead = NULL;
pTail = NULL;
nQueueCnt = 0;
nMaxQueueCnt = 0;
}
/// NFPacketQueue <20>Ҹ<EFBFBD><D2B8><EFBFBD>
~NFPacketQueue()
{
Release();
}
/// Queue<75><65> <20>ʱ<EFBFBD>ȭ <20>մϴ<D5B4>.
VOID Release()
{
NFSyncLock Sync(&nfSync);
if(pList)
{
delete [] pList;
pList = NULL;
}
}
/// <20><>Ŷ ť<><C5A5> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
BOOL Create(int nMAXCnt = MAX_PACKET)
{
NFSyncLock Sync(&nfSync);
if(nMAXCnt <= 0) return FALSE;
if(pList)
{
delete [] pList;
pList = NULL;
}
nMaxQueueCnt = nMAXCnt;
if((pList = new INDEX[nMaxQueueCnt]) == NULL)
{
nMaxQueueCnt = 0;
return FALSE;
}
for(int i = nMaxQueueCnt - 1; i >= 0 ; i--)
{
if( (i+1) == nMaxQueueCnt)
{
pList[i].pNext = &pList[0];
continue;
}
pList[i].pNext = &pList[i+1];
}
pHead = pTail = &pList[0];
return TRUE;
}
/// ť<><C5A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
int GetQueCnt()
{
NFSyncLock Sync(&nfSync);
return nQueueCnt;
}
/// ť<><C5A5> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
void Reset()
{
NFSyncLock Sync(&nfSync);
pHead = pTail = &pList[0];
nQueueCnt = 0;
}
/// <20><>Ŷ<EFBFBD><C5B6> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
BOOL Add(NFPacket& Packet)
{
NFSyncLock Sync(&nfSync);
if(!pList) return FALSE;
if(nQueueCnt == nMaxQueueCnt)
{
nQueueCnt = 0;
pHead = pTail = &pList[0];
return FALSE;
}
//if(szData[0] == NULL) return FALSE;
if(Packet.m_Header.Size <= 0) return FALSE;
if(Packet.m_Header.Size >= DEF_MAXPACKETSIZE) return FALSE;
// Head<61><64> Size<7A><65> Header <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
int PacketSize = Packet.m_Header.Size-sizeof(Packet.m_Header);
// <20><><EFBFBD><20><><EFBFBD><EFBFBD>..
CopyMemory(&pTail->Packet.m_Header, &Packet.m_Header, sizeof(Packet.m_Header));
CopyMemory(pTail->Packet.m_Packet,Packet.m_Packet,PacketSize);
pTail->Packet.m_Packet[PacketSize] = 0;
pTail = pTail->pNext;
InterlockedIncrement((LONG*)&nQueueCnt);
return TRUE;
}
/**
* @brief <09><>Ŷ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
* @param Packet <20><>Ŷ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <09><>Ŷ<EFBFBD><C5B6> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
int GetPnt(NFPacket** Packet)
{
NFSyncLock Sync(&nfSync);
if(!pList) return -1;
if(nQueueCnt == 0) return -1;
int nLen = -1;
*Packet = &pHead->Packet;
nLen = pHead->Packet.m_Header.Size;
return nLen;
}
/// ù<><C3B9><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
void Del()
{
NFSyncLock Sync(&nfSync);
if(!pList) return;
if(nQueueCnt == 0) return;
int nLen = -1;
pHead->Packet.Init();
pHead = pHead->pNext;
InterlockedDecrement((LONG*)&nQueueCnt);
}
/**
* @brief <09><>Ŷ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
* @param Packet <20><>Ŷ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <09><>Ŷ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
int Get(NFPacket& Packet)
{
NFSyncLock Sync(&nfSync);
if(!pList) return -1;
if(nQueueCnt == 0) return -1;
int nLen = -1;
int PacketSize = pHead->Packet.m_Header.Size-sizeof(pHead->Packet.m_Header);
CopyMemory(&Packet.m_Header, &pHead->Packet.m_Header, sizeof(Packet.m_Header));
CopyMemory(Packet.m_Packet, pHead->Packet.m_Packet, PacketSize);
Packet.m_Packet[PacketSize] = 0;
nLen = Packet.m_Header.Size;
pHead->Packet.Init();
pHead = pHead->pNext;
InterlockedDecrement((LONG*)&nQueueCnt);
return nLen;
}
private:
/// <20><>Ŷ<EFBFBD><C5B6> <20><><EFBFBD><EFBFBD>Ʈ
INDEX* pList;
/// <20><>Ŷ <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD>
INDEX* pHead;
/// <20><>Ŷ <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><>
INDEX* pTail;
/// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> ť<><C5A5> <20><><EFBFBD><EFBFBD>
int nQueueCnt;
/// <20>ִ<EFBFBD> ť<><C5A5> <20><><EFBFBD><EFBFBD>
int nMaxQueueCnt;
/// <20><><EFBFBD><EFBFBD>ȭ <20><><EFBFBD><EFBFBD>
NFSync nfSync;
};
/// Socket<65><74> Port<72><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
int SockRemotePort( SOCKET Sock );
/// Socket<65><74> IP<49><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
int SockRemoteIP( SOCKET Sock, unsigned char ip[4] );
/// Domain<69≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> ip<69><70> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
BOOL GetHostIPByDomain(IN_ADDR &Addr, const char *szDomain);
}