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:
104
CryptoSource/ScriptEngine-MCF File/ScriptTest/ScriptTest.dsp
Normal file
104
CryptoSource/ScriptEngine-MCF File/ScriptTest/ScriptTest.dsp
Normal 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
|
||||
245
CryptoSource/ScriptEngine-MCF File/ScriptTest/TestCode.gsf
Normal file
245
CryptoSource/ScriptEngine-MCF File/ScriptTest/TestCode.gsf
Normal 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 );
|
||||
}
|
||||
|
||||
|
||||
100
CryptoSource/ScriptEngine-MCF File/ScriptTest/main.cpp
Normal file
100
CryptoSource/ScriptEngine-MCF File/ScriptTest/main.cpp
Normal 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 );
|
||||
}
|
||||
Reference in New Issue
Block a user