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:
110
Server/ToolProject/SkillRebalanceConverter/3DArrayChecker.h
Normal file
110
Server/ToolProject/SkillRebalanceConverter/3DArrayChecker.h
Normal file
@@ -0,0 +1,110 @@
|
||||
#ifndef _3D_ARRAY_CHECKER_H_
|
||||
#define _3D_ARRAY_CHECKER_H_
|
||||
|
||||
|
||||
#include <Item/ItemStructure.h>
|
||||
|
||||
|
||||
class C3DArrayChecker
|
||||
{
|
||||
public:
|
||||
|
||||
C3DArrayChecker(TakeType::TakeSource eTakeSource) : m_eTakeSource(eTakeSource) { }
|
||||
|
||||
virtual void Set(Item::ItemPos itemPos, int nXSize, int nYSize) = 0;
|
||||
virtual bool Test(Item::ItemPos itemPos, int nXSize, int nYSize) = 0;
|
||||
virtual bool FindEmptyPos(Item::ItemPos& foundPos, int nXSize, int nYSize) = 0;
|
||||
|
||||
protected:
|
||||
|
||||
TakeType::TakeSource m_eTakeSource;
|
||||
};
|
||||
|
||||
template<int tX, int tY, int tZ>
|
||||
class C3DItemArrayChecker : public C3DArrayChecker
|
||||
{
|
||||
public:
|
||||
|
||||
C3DItemArrayChecker(TakeType::TakeSource eTakeSource) : C3DArrayChecker(eTakeSource)
|
||||
{
|
||||
memset(m_Set, 0, sizeof(char) * tX * tY * tZ);
|
||||
}
|
||||
|
||||
virtual void Set(Item::ItemPos itemPos, int nXSize, int nYSize)
|
||||
{
|
||||
int nZ = itemPos.GetZIndex();
|
||||
|
||||
if(nZ < tZ)
|
||||
{
|
||||
int nY = itemPos.GetYIndex();
|
||||
int nX = itemPos.GetXIndex();
|
||||
|
||||
int nMaxY = std::min(nY + nYSize, tY);
|
||||
int nMaxX = std::min(nX + nXSize, tX);
|
||||
|
||||
for(nY = itemPos.GetYIndex(); nY < nMaxY; ++nY)
|
||||
{
|
||||
for(nX = itemPos.GetXIndex(); nX < nMaxX; ++nX)
|
||||
{
|
||||
m_Set[nX][nY][nZ] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
virtual bool Test(Item::ItemPos itemPos, int nXSize, int nYSize)
|
||||
{
|
||||
int nZ = itemPos.GetZIndex();
|
||||
int nY = itemPos.GetYIndex();
|
||||
int nX = itemPos.GetXIndex();
|
||||
|
||||
int nMaxY = std::min(nY + nYSize, tY);
|
||||
int nMaxX = std::min(nX + nXSize, tX);
|
||||
|
||||
if(tZ <= nZ || tY <= nMaxY || tX < nMaxX)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
for(nY = itemPos.GetYIndex(); nY < nMaxY; ++nY)
|
||||
{
|
||||
for(nX = itemPos.GetXIndex(); nX < nMaxX; ++nX)
|
||||
{
|
||||
if(0 != m_Set[nX][nY][nZ])
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual bool FindEmptyPos(Item::ItemPos& foundPos, int nXSize, int nYSize)
|
||||
{
|
||||
for(int nZ = 0; nZ < tZ; ++nZ)
|
||||
{
|
||||
for(int nY = 0; nY < tY; ++nY)
|
||||
{
|
||||
for(int nX = 0; nX < tX; ++nX)
|
||||
{
|
||||
foundPos.SetPos(nX, nY, nZ);
|
||||
if(Test(foundPos, nXSize, nYSize))
|
||||
{
|
||||
foundPos.m_cPos = static_cast<unsigned short>(m_eTakeSource);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
char m_Set[tX][tY][tZ];
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
85
Server/ToolProject/SkillRebalanceConverter/ItemSerialMgr.cpp
Normal file
85
Server/ToolProject/SkillRebalanceConverter/ItemSerialMgr.cpp
Normal file
@@ -0,0 +1,85 @@
|
||||
#include "stdafx.h"
|
||||
#include "ItemSerialMgr.h"
|
||||
|
||||
#include <DB/DBComponent.h>
|
||||
#include <DB/GameDBComponent.h>
|
||||
#include <Network/Packet/PacketStruct/ServerInfo.h>
|
||||
|
||||
#include <Log/ServerLog.h>
|
||||
|
||||
|
||||
CItemSerialMgr::CItemSerialMgr()
|
||||
: m_dwItemSerial(0LL), m_dwServerID(0)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CItemSerialMgr::~CItemSerialMgr()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool CItemSerialMgr::SetItemSerial(unsigned __int64 dwItemSerial)
|
||||
{
|
||||
if(m_dwItemSerial < dwItemSerial)
|
||||
{
|
||||
m_dwItemSerial = dwItemSerial;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CItemSerialMgr::LoadItemSerial(CDBComponent& DBComponent, unsigned long dwServerID)
|
||||
{
|
||||
m_dwItemSerial = 0LL;
|
||||
m_dwServerID = dwServerID;
|
||||
|
||||
using namespace DBComponent;
|
||||
|
||||
if (!GameDB::GetItemUID(DBComponent, dwServerID, &m_dwItemSerial))
|
||||
{
|
||||
// 등록되지 않은 서버
|
||||
if (!GameDB::InsertItemUID(DBComponent, dwServerID))
|
||||
{
|
||||
ERRLOG1(g_Log, "ServerID:0x%08X / 아이템 시리얼 얻기 실패", m_dwServerID);
|
||||
return false;
|
||||
}
|
||||
|
||||
// 아이템 시리얼 막 커지는 건 버그였음.. 전과 같이 존 / 채널 2byte체제로 간다.
|
||||
|
||||
SERVER_ID serverID;
|
||||
serverID.dwID = dwServerID;
|
||||
|
||||
m_dwItemSerial = ((static_cast<unsigned __int64>(serverID.GetZone()) << 56) & 0xFF00000000000000LL) |
|
||||
((static_cast<unsigned __int64>(serverID.GetChannel()) << 48) & 0x00FF000000000000LL);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CItemSerialMgr::SaveItemSerial(CDBComponent& DBComponent, unsigned long dwServerID)
|
||||
{
|
||||
if(m_dwServerID != dwServerID)
|
||||
{
|
||||
ERRLOG2(g_Log, "OldServerID:0x%08X / NewServerID:0x%08X / 아이템 시리얼 저장 실패 : 서버 ID가 다릅니다",
|
||||
m_dwServerID, dwServerID);
|
||||
}
|
||||
else
|
||||
{
|
||||
using namespace DBComponent;
|
||||
|
||||
if(GameDB::SetItemUID(DBComponent, dwServerID, m_dwItemSerial))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ERRLOG2(g_Log, "ServerID:0x%08X / ItemSerial : 0x016I64X / 아이템 시리얼 저장 실패 : DB에 시리얼 저장 실패",
|
||||
m_dwServerID, m_dwItemSerial);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
25
Server/ToolProject/SkillRebalanceConverter/ItemSerialMgr.h
Normal file
25
Server/ToolProject/SkillRebalanceConverter/ItemSerialMgr.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef _RYL_DB_ITEM_SERIAL_MGR_H_
|
||||
#define _RYL_DB_ITEM_SERIAL_MGR_H_
|
||||
|
||||
class CDBComponent;
|
||||
|
||||
class CItemSerialMgr
|
||||
{
|
||||
public:
|
||||
|
||||
CItemSerialMgr();
|
||||
~CItemSerialMgr();
|
||||
|
||||
unsigned __int64 GetItemSerial() const { return m_dwItemSerial; }
|
||||
bool SetItemSerial(unsigned __int64 dwItemSerial);
|
||||
|
||||
bool LoadItemSerial(CDBComponent& DBComponent, unsigned long dwServerID);
|
||||
bool SaveItemSerial(CDBComponent& DBComponent, unsigned long dwServerID);
|
||||
|
||||
private:
|
||||
|
||||
unsigned __int64 m_dwItemSerial;
|
||||
unsigned long m_dwServerID;
|
||||
};
|
||||
|
||||
#endif
|
||||
32
Server/ToolProject/SkillRebalanceConverter/ReadMe.txt
Normal file
32
Server/ToolProject/SkillRebalanceConverter/ReadMe.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
========================================================================
|
||||
콘솔 응용 프로그램 : SkillRebalanceConverter 프로젝트 개요
|
||||
========================================================================
|
||||
|
||||
응용 프로그램 마법사에서 이 SkillRebalanceConverter 응용 프로그램을 만들었습니다.
|
||||
이 파일에는 SkillRebalanceConverter 응용 프로그램을 구성하는 각각의 파일에
|
||||
들어 있는 요약 설명이 포함되어 있습니다.
|
||||
|
||||
|
||||
SkillRebalanceConverter.vcproj
|
||||
응용 프로그램 마법사를 사용하여 생성한 VC++ 프로젝트의 기본 프로젝트 파일입니다.
|
||||
해당 파일을 생성한 Visual C++의 버전 정보를 비롯하여
|
||||
응용 프로그램 마법사에서 선택한 플랫폼, 구성 및
|
||||
프로젝트 기능에 대한 정보가 들어 있습니다.
|
||||
|
||||
SkillRebalanceConverter.cpp
|
||||
기본 응용 프로그램 소스 파일입니다.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
기타 표준 파일:
|
||||
|
||||
StdAfx.h 및 StdAfx.cpp는
|
||||
SkillRebalanceConverter.pch라는 이름의 PCH(미리 컴파일된 헤더) 파일과
|
||||
StdAfx.obj라는 이름의 미리 컴파일된 형식 파일을 빌드하는 데 사용됩니다.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
기타 참고:
|
||||
|
||||
응용 프로그램 마법사에서 사용하는 "TODO:" 주석은 사용자가 추가하거나 사용자 지정해야 하는
|
||||
소스 코드 부분을 나타냅니다.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,165 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="SkillRebalanceConverter"
|
||||
ProjectGUID="{1B283422-70D3-44C5-893E-0FE56898A3E8}"
|
||||
Keyword="Win32Proj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="../DBToolExecutable/$(ConfigurationName)"
|
||||
IntermediateDirectory="../Intermediate/$(ProjectName)/$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../;./;../../RylServerProject/;../../RylServerProject/BaseLibrary;../../RylServerProject/RylGameLibrary;../../RylServerProject/RylServerLibrary"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/SkillRebalanceConverter.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile="$(OutDir)/SkillRebalanceConverter.pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../DBToolExecutable/$(ConfigurationName)"
|
||||
IntermediateDirectory="../Intermediate/$(ProjectName)/$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="../;./;../../RylServerProject/;../../RylServerProject/BaseLibrary;../../RylServerProject/RylGameLibrary;../../RylServerProject/RylServerLibrary"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ws2_32.lib"
|
||||
OutputFile="$(OutDir)/SkillRebalanceConverter.exe"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="소스 파일"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
|
||||
<File
|
||||
RelativePath=".\ItemSerialMgr.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SkillRebalanceConverter.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="헤더 파일"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
|
||||
<File
|
||||
RelativePath=".\3DArrayChecker.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ItemSerialMgr.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="리소스 파일"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
8
Server/ToolProject/SkillRebalanceConverter/stdafx.cpp
Normal file
8
Server/ToolProject/SkillRebalanceConverter/stdafx.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
// stdafx.cpp : 표준 포함 파일만 들어 있는 소스 파일입니다.
|
||||
// SkillRebalanceConverter.pch는 미리 컴파일된 헤더가 됩니다.
|
||||
// stdafx.obj에는 미리 컴파일된 형식 정보가 포함됩니다.
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
// TODO: 필요한 추가 헤더는
|
||||
// 이 파일이 아닌 STDAFX.H에서 참조합니다.
|
||||
15
Server/ToolProject/SkillRebalanceConverter/stdafx.h
Normal file
15
Server/ToolProject/SkillRebalanceConverter/stdafx.h
Normal file
@@ -0,0 +1,15 @@
|
||||
// stdafx.h : 자주 사용하지만 자주 변경되지는 않는
|
||||
// 표준 시스템 포함 파일 및 프로젝트 관련 포함 파일이
|
||||
// 들어 있는 포함 파일입니다.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include <tchar.h>
|
||||
|
||||
// TODO: 프로그램에 필요한 추가 헤더는 여기에서 참조합니다.
|
||||
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
Reference in New Issue
Block a user