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,104 @@
# Microsoft Developer Studio Project File - Name="ScriptTest" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=ScriptTest - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "ScriptTest.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "ScriptTest.mak" CFG="ScriptTest - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "ScriptTest - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "ScriptTest - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""$/ScriptEngine/ScriptTest", MFDAAAAA"
# PROP Scc_LocalPath "."
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "ScriptTest - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FAcs /YX /FD /c
# SUBTRACT CPP /Fr
# ADD BASE RSC /l 0x412 /d "NDEBUG"
# ADD RSC /l 0x412 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
# SUBTRACT LINK32 /map
!ELSEIF "$(CFG)" == "ScriptTest - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x412 /d "_DEBUG"
# ADD RSC /l 0x412 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"ScriptTest.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "ScriptTest - Win32 Release"
# Name "ScriptTest - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\main.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -0,0 +1,245 @@
void Print( int );
void Print( float );
void Print( string );
void Print( bool );
int getDouble( int n )
{
return n*n;
}
float getDouble( float f )
{
return f*f;
}
float TestFloat( float f1, float f2 )
{
return f1 * f2;
}
float TestFloat( float f1, float f2, float f3 )
{
return f1 * f2 * f3;
}
float TestFloat( float f1, float f2, float f3, float f4 )
{
return f1 * f2 * f3 * f4;
}
void TestArith()
{
Print( "--------변수 사칙연산 테스트---------" );
int iint1 = 0X0ecd;//54434;
int iint2 = 1840;
Print( iint1 );
int iint3 = iint1 + iint2;
Print( iint3 );
Print( iint1 - iint2 );
iint3 = iint1 * iint2;
Print( iint3 );
iint3 = iint1 / iint2;
Print( iint3 );
iint3 = iint1 % iint2;
Print( iint3 );
Print( iint3++ );
Print( iint3-- );
Print( ++iint3 );
Print( --iint3 );
Print( iint3 += iint1 );
Print( iint1 - iint3 );
Print( iint3 -= iint1 );
Print( iint3 *= iint2 );
Print( iint3 /= iint2 );
Print( iint3 %= iint1 );
}
void ScriptMain()
{
float f1 = 0.43521;
float f2 = 98.3145;
int i1 = 4352;
int i2 = 986214;
bool b1 = true;
bool b2 = false;
string str1 = "str1이지롱~";
string str2 = "str2지롱롱~~";
Print( "--------string 테스트--------" );
string str3;
Print( str3 = str1 );
str3 = i1;
Print( str3 );
Print( str3 = f1 );
str3 = b1;
Print( str3 );
str3 = "크크크 ";
str3 += str2;
Print( str3 );
str3 += i2;
Print( str3 );
str3 += f2;
Print( str3 );
str3 += b2;
Print( str3 );
Print( str1 + str2 );
Print( str1 + i1 );
Print( str1 + f1 );
Print( str1 + b1 );
Print( str2 + str1 );
Print( i2 + str2 );
Print( f2 + str2 );
Print( b2 + str2 );
str3 = str1 == str2;
Print( str3 );
str3 = str1 == "str1이지롱~";
Print( str3 );
str3 = str1 != str2;
Print( str3 );
Print( "-------Init Declaration 테스트-------" );
string sstr1 = str1;
Print( sstr1 );
string sstr2 = i1;
Print( sstr2 );
string sstr3 = f1;
Print( sstr3 );
string sstr4 = b1;
Print( sstr4 );
string sstr5 = str1 + str2;
Print( sstr5 );
string sstr6 = str1 + i2;
Print( sstr6 );
string sstr7 = str1 + f2;
Print( sstr7 );
string sstr8 = str1 + b2;
Print( sstr8 );
string sstr9 = i1 + str2;
Print( sstr9 );
string sstr10 = f1 + str2;
Print( sstr10 );
string sstr11 = b1 + str2;
Print( sstr11 );
string sstr12 = str1 == "str1이지롱~";
Print( sstr12 );
string sstr13 = str1 != str2;
Print( sstr13 );
string sstr14 = str2 == "크크크";
Print( sstr14 );
Print( "-------Float 사칙연산 테스트--------" );
Print( f1 + f2 );
Print( f1 - f2 );
Print( f1 * f2 );
Print( f1 / f2 );
Print( ++f1 );
Print( --f1 );
Print( f1++ );
Print( f1-- );
Print( f1 );
Print( f1 += f2 );
Print( f1 -= f2 );
Print( f1 *= f2 );
Print( f1 /= f2 );
Print( "-------------배열 테스트------------" );
int arrInt[] = { 2145, 124765, 7568, 7824, 23562351 };
float arrFloat[] = { 0.325, 85.235, 82.3523, 325.1216 };
bool arrBool[] = { true, false, true, str1!=str2 };
int i = 0;
for( i = 0; i < 5; i++ )
Print( arrInt[i] );
i = 0;
while( i < 4 )
{
if( i == 2 )
{
i++;
continue;
}
Print( arrFloat[i++] );
}
for( i = 0;; i++ )
{
if( i >= 4 )
break;
string strTemp;
strTemp = arrBool[i];
Print( strTemp );
}
string arrStr[] = { "str1메렁", "str2크크", "str3주글래?"
, "str4씨뱅이", 425346, 4125.5636, true, str1 };
for( i = 0; i < 8; i++ )
Print( arrStr[i] );
if( arrInt[0] != 2145 )
{
Print( "바보" );
}
else
{
TestArith();
}
switch( arrInt[1] )
{
case 2145 :
Print( "2145지롱~" );
break;
case 124765 :
Print( "124765지롱~" );
case 7568 :
Print( "7568이지롱~" );
break;
case 7824 :
Print( "7824지롱~" );
break;
case 23562351 :
Print( "23562351이지롱~" );
break;
default :
Print( "default지롱~" );
}
Print( getDouble( 10 ) );
Print( getDouble( 4.4 ) );
Print( true );
Print( false );
}

View File

@@ -0,0 +1,100 @@
#include <iostream>
#include <conio.h> //getch
using namespace std;
#include "..\ScriptEngine.h"
void PrintInt( int n )
{
cout << "Print( int ) ==> " << n << endl;
}
void PrintFloat( float f )
{
cout << "Print( float ) ==> " << f << endl;
}
void PrintStr( const char * str )
{
cout << "Print( const char * ) ==> " << str << endl;
}
void PrintBOOL( BOOL b )
{
cout << "Print( bool ) ==> ";
if( b )
cout << "true";
else
cout << "false";
cout << endl;
}
void ScriptMessage( const char * msg )
{
cout << "##" << msg << "##\n";
}
void main( int argc, char *argv[] )
{
//!!!!!!!!!!시간나면 테스트를 좀 더 자동화 할 것!!!!!!!!!!!//
//지금은 각 부분의 테스트를 하고 Print해서 찍도록 한 다음에
//직접 확인하고 있지만... assert( test == 결과값 ) 같은 형식으로 하면
//assert의 결과가 ok인지 아닌지만 확인하면 되므로 훨씬 효율적임.
_SE_SetMessageFunction( ScriptMessage );
SCRIPT Script;
if( argc != 2 )
{
Script = _SE_Create( "TestCode.gsf" );
}
else
{
Script = _SE_Create( argv[1] );
}
if( Script == 0 )
cout << "usage : ScriptTest [gsf filename]" << endl;
_SE_RegisterFunction( Script, PrintInt, T_VOID, "Print", T_INT, T_VOID );
_SE_RegisterFunction( Script, PrintFloat, T_VOID, "Print", T_FLOAT, T_VOID );
_SE_RegisterFunction( Script, PrintStr, T_VOID, "Print", T_STRING, T_VOID );
_SE_RegisterFunction( Script, PrintBOOL, T_VOID, "Print", T_BOOL, T_VOID );
_SE_Execute( Script );
SE_FUNC ScriptMain = _SE_GetScriptFunction( Script, T_VOID, "ScriptMain", 0 );
_SE_CallScriptFunction( Script, ScriptMain );
SE_FUNC getDoubleFunc = _SE_GetScriptFunction( Script, T_INT, "getDouble", T_INT, 0 );
AnyData result = _SE_CallScriptFunction( Script, getDoubleFunc, 1000 );
cout << "getDouble() ==> " << result.intValue << endl;
SE_FUNC getDoubleFunc2 = _SE_GetScriptFunction( Script, T_FLOAT, "getDouble", T_FLOAT, 0 );
AnyData result2 = _SE_CallScriptFunction( Script, getDoubleFunc2, 0.534f );
cout << "getDouble(float) ==> " << result2.floatValue << endl;
SE_FUNC TestFloat1 = _SE_GetScriptFunction( Script, T_FLOAT, "TestFloat", T_FLOAT, T_FLOAT, 0 );
result = _SE_CallScriptFunction( Script, TestFloat1, 0.325f, 13.535f ); //4.398875
cout << "TestFloat( float, float ) ==> " << result.floatValue << endl;
SE_FUNC TestFloat2 = _SE_GetScriptFunction( Script, T_FLOAT, "TestFloat", T_FLOAT, T_FLOAT, T_FLOAT, 0 );
result = _SE_CallScriptFunction( Script, TestFloat2, 0.23415f, 8412.5325f, 212.53f ); //418640.4218
cout << "TestFloat( float, float, float ) ==> " << result.floatValue << endl;
SE_FUNC TestFloat3 = _SE_GetScriptFunction( Script, T_FLOAT, "TestFloat", T_FLOAT, T_FLOAT, T_FLOAT, T_FLOAT, 0 );
result = _SE_CallScriptFunction( Script, TestFloat3, 32.3f, 35.2f, 8.2f, 93.66f );
cout << "TestFloat( float, float, float, float ) ==> " << result.floatValue << endl; //873198.92352
cout << "Press any key to continue...\n";
// getch();
_SE_Destroy( Script );
}