Files
Client/CryptoSource/ScriptConvert-GSF File/ScriptConvert.cpp
LGram16 dd97ddec92 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>
2025-11-29 20:17:20 +09:00

357 lines
17 KiB
C++

#include "stdafx.h"
using namespace Item;
enum SERVER_TYPE
{
SERVER_NORMAL = 1,
SERVER_BATTLE = 2
};
#define MAX_VERSION_HISTORY 2000 // ÃÑ ¹öÀü ¶óÀμö
char g_szCurrentVersion[10] = { 0, };
int g_nVersionLineCnt = 0;
char g_szVersionInfo[MAX_VERSION_HISTORY][MAX_PATH] = { 0, };
void InitVersionInfo(void);
SERVER_TYPE GetCurrentItemScript(void)
{
int nSelect = 0;
while (true)
{
printf("Type of ItemScript (1 -ROW Online , 2 -Battle Lohan) : ");
scanf("%d", &nSelect);
if (1 == nSelect)
{
return SERVER_NORMAL;
}
if (2 == nSelect)
{
return SERVER_BATTLE;
}
}
}
bool ItemScriptCheck(CItemMgr& ItemMgr)
{
while (true)
{
int nType = 0;
printf("\nInput Items ID. (0 - Quit) : ");
scanf("%d", &nType);
if (0 == nType) { break; }
if (0 == ItemMgr.GetItemInfo(nType))
{
printf("Can't find the Item which is ID No.%d ", nType);
continue;
}
printf("Item Name : %s Note : %s\n", ItemMgr.GetItemInfo(nType)->m_SpriteData.m_szName,
ItemMgr.GetItemInfo(nType)->m_StringData.m_szItemDescribe);
}
return true;
}
int _tmain(int argc, _TCHAR* argv[])
{
InitVersionInfo();
printf("\n<< Script Convert Ver %s >>\n", g_szCurrentVersion);
char szItemScriptTrashFile[MAX_PATH] = "ItemScript.jpg";
CItemMgr& ItemMgr = CItemMgr::GetInstance();
int nType = 0;
printf("\nSelect Number. (Quit : 0)");
printf("\n===========================================================");
printf("\n1 : Item Script Converting & Load Test");
printf("\n2 : Skillscript");
printf("\n2 : Monster proto");
printf("\n===========================================================");
printf("\n");
printf("\n");
START:
printf("\n? ");
scanf("%d", &nType);
switch (nType)
{
case 0:
break;
case 1:
{
SERVER_TYPE serverType = GetCurrentItemScript();
if (false == ItemMgr.LoadItemProtoType((SERVER_BATTLE == serverType) ? "BGItemScript.txt" : "ItemScript.txt"))
{
printf("Failed to ItemScipt file loading!\n");
getchar();getchar();
return -1;
}
if (false == ItemMgr.SaveItemProtoTypeBinary((SERVER_BATTLE == serverType) ? "BGItemScript.gsf" : "ItemScript.gsf",
szItemScriptTrashFile))
{
printf("Failed to ItemScipt file saving!\n");
getchar();getchar();
return -1;
}
if (false == ItemMgr.LoadItemProtoTypeBinary((SERVER_BATTLE == serverType) ? "BGItemScript.gsf" : "ItemScript.gsf"))
{
printf("Failed to ItemScipt reloading!\n");
getchar();getchar();
return -1;
}
if (false == ItemScriptCheck(ItemMgr))
{
printf("Irregular ItemScript. Check script Please.\n");
getchar();getchar();
return -1;
}
/*ItemMgr.PrintDropListByLevel();
ItemMgr.PrintRingDropListByLevel();
ItemMgr.PrintNecklaceDropListByLevel();
ItemMgr.PrintRuneDropListByLevel();*/
printf("Success to ItemScript converting.\n");
getchar();getchar();
break;
}
case 2:
{
if (g_SkillMgr.LoadSkillsFromFile("SkillScript.txt") == false)
{
printf("Failed to load SkillScript.txt!\n");
getchar();getchar();
return -1;
}
if (g_SkillMgr.SaveSkillsToBinary("SkillScript.gsf", "SkillScript.jpg") == false)
{
printf("Failed to save SkillScript.gsf!\n");
printf("You sure you got write rights and SkillScript.jpg in this folder?!\n");
getchar();getchar();
return -1;
}
if (g_SkillMgr.LoadSkillsFromBinary("SkillScript.gsf") == false)
{
printf("Failed to load SkillScript.gsf!\n");
getchar();getchar();
return -1;
}
printf("Converting done.\n");
getchar();getchar();
break;
}
case 3:
{
if (g_MonsterMgr.LoadMonstersFromFile("MonsterProtoType.txt") == false)
{
printf("Failed to load MonsterProtoType.txt!\n");
getchar();getchar();
return -1;
}
if (g_MonsterMgr.SaveMonstersToBinary("MonsterProtoType.gsf", "MonsterProtoType.jpg") == false)
{
printf("Failed to save MonsterProtoType.gsf!\n");
printf("You sure you got write rights and MonsterProtoType.jpg in this folder?!\n");
getchar();getchar();
return -1;
}
if (g_MonsterMgr.LoadMonstersFromBinary("MonsterProtoType.gsf") == false)
{
printf("Failed to load MonsterProtoType.gsf!\n");
getchar();getchar();
return -1;
}
printf("Converting done.\n");
getchar();getchar();
break;
}
default:
{
printf("It is wrong number.\n");
getchar();getchar();
goto START;
}
}
return 0;
}
void InitVersionInfo(void)
{
#define ADD_LINE() \
++nLine; \
if (nLine >= MAX_VERSION_HISTORY) { \
MessageBox(NULL, "VERSION ERROR : Input higher number of MAX_VERSION_HISTORY.", "Error", MB_OK); \
exit(0); \
}
// ¸Þ´º¿¡ Ç¥½ÃµÉ ÃֽйöÀü Á¤º¸
strcpy(g_szCurrentVersion, "1.39");
// ÃֽйöÀüÀÇ ¶óÀμö
g_nVersionLineCnt = 2;
// "========================================================================================"
// "Version History"
// "----------------------------------------------------------------------------------------"
//
int nLine = 0;
strcpy(g_szVersionInfo[nLine], " - 1.39 (2006-06-19)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : ItemType¿¡ GEM_SELL ŸÀÔ Ãß°¡(±¸¸Å/ÆÇ¸Å°¡ µ¿ÀÏ ¾ÆÀÌÅÛ) " ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.38 (2006-04-26)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : 3Â÷ ¹ë·±½º ÆÐÄ¡ / S ±×·¹ÀÌµå ¾ÆÀÌÅÛ Ãß°¡·Î ÀÎÇÑ ¸®ºôµå " ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.37 (2005-10-31)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ½ºÅ©¸³Æ® : ±¹°¡Àü ¼®»ó ¸®½ºÆù °¡´É ¿©ºÎ Ä÷³ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.36 (2005-07-20)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : SKILL_ITEM ŸÀÔ(¿¬°áµÈ ½ºÅ³ÀÇ È¿°ú¸¦ ¹ßÈÖÇÏ´Â ¾ÆÀÌÅÛ) Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : LinkQID Ä÷³ »èÁ¦" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : ForStatueWar, LimitRealmPoint Ä÷³ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.35 (2005-07-15)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ½ºÅ©¸³Æ® : ¼®»ó È¿°ú ŸÀÔ, ¼®»ó È¿°ú ÆÛ¼¾Æ® ÅÇ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.34 (2005-07-08)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : FIXED_PORTAL ŸÀÔ(±Íȯ À§Ä¡ °íÁ¤Çü ±Íȯ¼­) Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.33 (2005-04-12)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ÇÁ·ÎÅäŸÀÔ ½ºÅ©¸³Æ® : Guard ŸÀÔ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.32 (2005-03-18)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ±¤¹° ¹èÄ¡ ½ºÅ©¸³Æ® : ±¤¸Æ À̸§ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.31 (2005-02-25)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : LinkQID Ä÷³ Ãß°¡ (»ç¿ë¾ÆÀÌÅÛ¸¸ Àû¿ë)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.30 (2005-02-24)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ÇÁ·Î±×·¥ ¿µ¹®È­ (È÷½ºÅ丮 Á¦¿Ü)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.29 (2005-02-23)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : AbleExchangeAndDrop, AbleSell Ä÷³ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.28 (2005-02-23)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ½ºÅ©¸³Æ® : ¸ó½ºÅÍ À̸§ ÃÖ´ë±æÀ̸¦ 32 ¹ÙÀÌÆ®¿¡¼­ 64 ¹ÙÀÌÆ®·Î ´Ã¸²" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¹öÀü Á¤º¸ È®ÀÎ ±â´É Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.27 (2005-02-17)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : ·é, ¾Ç¼¼»ç¸® Ãß°¡ ¼öÁ¤" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ½ºÅ©¸³Æ® : ·é, ¾Ç¼¼»ç¸® µå¶ø·ü ÅÇ Ãß°¡ ¼öÁ¤, µå¶ø·ü ´ÜÀ§ Áõ°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.26 (2005-02-15)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : ·é, ¾Ç¼¼»ç¸®¿Í °ü·ÃµÈ ·çƾ Ãß°¡·Î ÀçÄÁ¹öÆÃ ÇÊ¿ä" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ½ºÅ©¸³Æ® : ·é, ¾Ç¼¼»ç¸® µå¶ø·ü ÅÇ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.25 (2005-02-14)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + º¹±Ç ½ºÅ©¸³Æ® : ·Îµù½Ã ¹ö±× ¼öÁ¤ ¹× °ü·Ã ·Î±× Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.24 (2005-01-20)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ½ºÅ³ ½ºÅ©¸³Æ® : ¼Ò¼È ¾×¼Ç °ü·Ã ³»¿ë Ãß°¡ (ŸÀÔ Ãß°¡)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ º¸»ó ½ºÅ©¸³Æ® : ¾ÆÀÌÅÛ Å¸ÀÔÀÇ Áõ°¡·Î ÀÎÇØ ÀçÄÁ¹öÆÃ ÇÊ¿ä" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.23 (2005-01-20)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ±¤¹° ¹èÄ¡ ½ºÅ©¸³Æ® : ¹®ÀÚ¿­ óÀ½ºÎºÐ¿¡ ÀÖ´Â Tab ¹®ÀÚ Á¦°Å ±â´É Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.22 (2005-01-06)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : ¿ùµå¿þÆù ½ºÅ¸ÅÍŶ 2°³, ±¤¹° ¸Å¸³·® È®ÀΠŶ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.21 (2004-12-29)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ½ºÅ©¸³Æ® : '¾ÆÀÌÅÛ µå¶ø °³¼± °èȹ'¿¡ µû¶ó µå¶ø °ü·Ã ¿­ Ãß°¡/¼öÁ¤" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.20 (2004-12-21)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ±¤¹° ¹èÄ¡ ½ºÅ©¸³Æ® : Trash ÆÄÀÏÀ» ½ºÅ©¸³Æ®¿¡ ³Ö¾îÁÖµµ·Ï º¯°æ" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.19 (2004-12-16)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ½ºÅ³ ½ºÅ©¸³Æ® : Counter ¿­ Ãß°¡ (Ä«¿îÅ͸¦ ´çÇÒ ¼ö ÀÖ´ÂÁö ¿©ºÎ)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.18 (2004-12-16)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + »õ·Î¿î ½ºÅ³ ŸÀÔÀ¸·Î SET Ãß°¡ (æƮ/ÀÎæƮÀÇ Ãß°¡ È¿°ú ½ºÅ³)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ½ºÅ³ ½ºÅ©¸³Æ® üũ ·çƾ ÀÔ·Â ¹æ½Ä º¯°æ (10Áø¼ö -> 16Áø¼ö)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.17 (2004-12-15)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ±¤¹° ¹èÄ¡ ½ºÅ©¸³Æ® ÄÁ¹öÆÃ ±â´É Ãß°¡ (MineralVein?.gsf)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.16 (2004-11-23)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¿å¼³ ½ºÅ©¸³Æ® ¿øº» Àоî¿À´Â °æ·Î¸¦ ¼öÁ¤" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.15 (2004-11-17)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + æƮ/ÀÎæƮ Ç÷¡±×°¡ ¼öÁ¤µÇ¾î¼­ ¸ó½ºÅÍ ½ºÅ©¸³Æ® ÄÁ¹öÆÃÀ» ´Ù½Ã ÇØ¾ßÇÕ´Ï´Ù." ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.14 (2004-09-21)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + º¹±Ç À̺¥Æ® ½ºÅ©¸³Æ® ·ÎµùÀ» ÇöÀç Æú´õ¿¡¼­ ÇϰԲû ¼öÁ¤" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.13 (2004-09-02)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + FightStatus°¡ ¼öÁ¤µÇ¼­ ¸ó½ºÅÍ ½ºÅ©¸³Æ® ÄÁ¹öÆÃÀ» ´Ù½Ã ÇØ¾ßÇÕ´Ï´Ù." ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.12 (2004-08-13)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ º¸»ó ½ºÅ©¸³Æ® Ãß°¡ (SpeacialCompensation.txt)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.11 (2004-08-10)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : ¾ÆÀÌÅÛ Äù½ºÆ®¸¦ À§ÇÑ Äù½ºÆ® ID ¿­ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.10 (2004-07-21)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ½ºÅ©¸³Æ® : LOD ¿©ºÎ ¿­ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.09 (2004-07-14)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : Ç÷¡±×°ª ¼öÁ¤ (Item::DetailData::Flags Âü°í)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.08 (2004-07-07)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : ¸ó½ºÅÍ ·¹º§º°·Î ¶³±¸´Â ¾ÆÀÌÅÛ ¸ñ·Ï(±âȹ Âü°í¿ë) ÀÛ¼º ±â´É Ãß°¡ "); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.07 (2004-06-18)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ½ºÅ³ ½ºÅ©¸³Æ® : mRange, LockAdd ¿­ Ãß°¡. DRC ¿­ »èÁ¦" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.06 (2004-06-17)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸ó½ºÅÍ ½ºÅ©¸³Æ® : Àåºñ µå¶ø È®·üÀÌ ±×·¹À̵庰·Î ¼¼ºÐÈ­µÊ " ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.05 (2004-06-16)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¾ÆÀÌÅÛ ½ºÅ©¸³Æ® : OptionPrice ¿­ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.04 (2004-06-09)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¸®¹ë·±½Ì¿ëÀ¸·Î ¾ÆÀÌÅÛ/¸ó½ºÅÍ ½ºÅ©¸³Æ® ´ëÆø ¼öÁ¤" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.03" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + °ø¼º ¿ÀºêÁ§Æ® ¸ó½ºÅÍ ÇÁ·ÎÅä ŸÀÔ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + °ø¼º ¿ÀºêÁ§Æ®¿¡ ÇÊ¿äÇÑ ¿­ Ãß°¡ (¸¶Áö¸· 13°³)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.02" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + °ø¼º ¿ÀºêÁ§Æ®¸¦ À§ÇØ ÀÎæƮ/æƮ ¹«½Ã¿©ºÎ Á¤º¸¸¦ ¸ó½ºÅÍ ÇÁ·ÎÅä ŸÀÔ¿¡ Ãß°¡" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.01" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + °ø¼º ¾ÆÀÌÅÛ Ãß°¡ (½ºÅ¸ÅÍŶ 4°³)" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " - 1.00" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + ¹öÀü ³Ñ¹ö¸µ ½ÃÀÛ" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], " + Ä¡ÇÁ ¸ó½ºÅÍ Ãß°¡¿¡ ´õºÒ¾î ¹èÆ÷" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "" ); ADD_LINE();
strcpy(g_szVersionInfo[nLine], "End" ); ADD_LINE();
// " ======================================================================================="
}