Files
2022-10-26 12:25:11 +08:00

167 lines
7.1 KiB
C++

#include "stdafx.h"
#include "CommonDef.h"
#include "RewardInfoList.h"
#include <AreaConquest.h>
#include <AreaConquestInfoParser.h>
#include <QuestManager.h>
#include <QuestInfoManager.h>
#include <QuestScriptLoader.h>
#include <RankOptionParser.h>
#include <MapInfoParser.h>
#include <MissionManager.h>
#include <SkillInfoParser.h>
#include <ItemInfoParser.h>
#include <SCSkillSlotContainer.h>
#include <SCSkillSlot.h>
#include <SCItemSlotContainer.h>
#include <SCItemSlot.h>
#include <SolarFileReader.h>
#include "MissionRewardParser.h"
#include "SkillInventoryStoreParser.h"
#include <io.h>
#define ERROR_PARSER( x, y ) if(!x){/*SUNLOG( eCRITICAL_LOG, "%s 파일이 없습니다!!", y );*/}
#ifdef __NA_000000_20071123_NEW_SCRIPT_PARSING_SYSTEM
BOOL LoadParser( char *pszFileName, eSCRIPT_CODE eCode, IParser* pParser, BOOL bBigData=FALSE )
{
return pParser->Load( eCode, pszFileName, bBigData, SEPERATOR_WHITESPACE, NULL, FALSE );
}
#else // __NA_000000_20071123_NEW_SCRIPT_PARSING_SYSTEM
BOOL LoadParser( char *pszFileName, eSCRIPT_CODE eCode, IParser* pParser )
{
util::SolarFileReader sr;
if( !sr.OpenFile( pszFileName, SEPERATOR_WHITESPACE ) )
return FALSE;
pParser->_LoadEx( eCode, sr, FALSE );
sr.CloseFile();
return TRUE;
}
#endif // __NA_000000_20071123_NEW_SCRIPT_PARSING_SYSTEM
int _tmain(int argc, _TCHAR* argv[])
{
//SUNLOG( eCRITICAL_LOG, "Script Check Start !!!\n\n" );
char szModuleName[MAX_PATH];
GetCurrentDirectory( MAX_PATH, szModuleName );
std::string app_path(szModuleName);
std::string check_path(szModuleName);
std::string check_path2(szModuleName);
check_path += "\\_bin";
check_path2 += "\\Data";
// 개발자 디버깅 상황인지 유저 체크 상황인지에 따라 데이타 경로가 달라진다.
if( _access( (char*)check_path.c_str(), 0) != -1 )
app_path += "\\_bin\\생성SUN4WOPS\\게임로직\\Data";
else if( _access( (char*)check_path2.c_str(), 0) != -1 )
app_path += "\\Data";
//스트링테이블 파서로딩
ERROR_PARSER(m_StringTable.Init((char*)(app_path + "\\StringTable.txt").c_str()), "StringTable.txt init");
ERROR_PARSER(m_Stringtableforname.Init((char*)(app_path + "\\Stringtableforname.txt").c_str()), "Stringtableforname.txt init");
ERROR_PARSER(m_StringTableForProgram.Init((char*)(app_path + "\\StringTableForProgram.txt").c_str()), "StringTableForProgram.txt init");
////////////////////////////////////
//Item인포 스크립트 로딩
ItemInfoParser::Instance()->Init(1000, "");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\AccessoryItemInfo.txt").c_str(), SCRIPT_ACCESSORYITEMINFO, ItemInfoParser::Instance()),"AccessoryItemInfo");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\WeaponItemInfo.txt").c_str(), SCRIPT_WEAPONITEMINFO, ItemInfoParser::Instance()),"WeaponItemInfo");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\ArmorItemInfo.txt").c_str(), SCRIPT_ARMORITEMINFO, ItemInfoParser::Instance()),"ArmorItemInfo");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\WasteItemInfo.txt").c_str(), SCRIPT_WASTEITEMINFO, ItemInfoParser::Instance()),"WasteItemInfo");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\ChargeItemInfo.txt").c_str(), SCRIPT_CHARGEITEMINFO, ItemInfoParser::Instance()),"ChargeItemInfo");
SkillInfoParser::Instance()->Init(1000, "");
SkillInventoryStoreParser::Instance()->Init(1000, "");
#ifdef __NA_000000_20071123_NEW_SCRIPT_PARSING_SYSTEM
ERROR_PARSER(LoadParser( (char*)(app_path + "\\SkillInventoryStore.txt").c_str(), SCRIPT_SKILL_INVEN_STORE, SkillInventoryStoreParser::Instance()),"SkillInventoryStore");
#else
ERROR_PARSER(SkillInventoryStoreParser::Instance()->Load((char*)(app_path + "\\SkillInventoryStore.txt").c_str() ),"SkillInventoryStore");
#endif
ERROR_PARSER(LoadParser( (char*)(app_path + "\\SkillInfo.txt").c_str(), SCRIPT_SKILLINFO, SkillInfoParser::Instance()),"SkillInfo");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\StyleInfo.txt").c_str(), SCRIPT_STYLEINFO, SkillInfoParser::Instance()),"StyleInfo");
MapInfoParser::Instance()->Init(100);
#if NATION_BUILD_VERSION >= 810
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Worldsubinfo.txt").c_str(), SCRIPT_WORLD_SUB_INFO, MapInfoParser::Instance()),"Worldsubinfo");
#endif
ERROR_PARSER(LoadParser( (char*)(app_path + "\\World.txt").c_str(), SCRIPT_WORLD, MapInfoParser::Instance()),"World");
#ifdef __NA_000000_20071123_NEW_SCRIPT_PARSING_SYSTEM
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Field.txt").c_str(), SCRIPT_FIELD, MapInfoParser::Instance(), TRUE),"Field");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Fieldwmo.txt").c_str(), SCRIPT_FIELDWMO, MapInfoParser::Instance(), TRUE),"Fieldwmo");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Fieldwut.txt").c_str(), SCRIPT_FIELDWUT, MapInfoParser::Instance(), TRUE),"Fieldwut");
#else
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Field.txt").c_str(), SCRIPT_FIELD, MapInfoParser::Instance()),"Field");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Fieldwmo.txt").c_str(), SCRIPT_FIELDWMO, MapInfoParser::Instance()),"Fieldwmo");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Fieldwut.txt").c_str(), SCRIPT_FIELDWUT, MapInfoParser::Instance()),"Fieldwut");
#endif
ERROR_PARSER(LoadParser( (char*)(app_path + "\\MapEnterancePortal.txt").c_str(), SCRIPT_MAPENTERANCEPORTAL, MapInfoParser::Instance()),"MapEnterancePortal");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\RankOptionInfo.txt").c_str(), SCRIPT_RANKOPTIONINFO, RankOptionParser::Instance()),"RankOptionInfo");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\SocketOptionInfo.txt").c_str(), SCRIPT_SOCKETOPTIONINFO, SocketOptionParser::Instance()),"SocketOptionInfo");
ExtraStoneOptionInfoParser::Instance()->Init(100);
ERROR_PARSER(LoadParser( (char*)(app_path + "\\ExtraStoneOptionInfo.txt").c_str(), SCRIPT_EXTRASTONEOPTIONINFO, ExtraStoneOptionInfoParser::Instance()),"ExtraStoneOptionInfo");
g_pQuestInfoManager = new QuestInfoManager2;
ERROR_PARSER(g_pQuestInfoManager->Load((char*)(app_path + "\\QuestInfo.txt").c_str()), "QuestInfo");
RewardInfoList::Instance()->Init("");
ERROR_PARSER(LoadParser( (char*)(app_path + "\\RewardInfoList.txt").c_str(), SCRIPT_REWARDINFOLIST, RewardInfoList::Instance()),"RewardInfoList");
AreaConquestInfoParser::Instance()->Init( 1000 );
ERROR_PARSER(LoadParser( (char*)(app_path + "\\ACScript.txt").c_str(), SCRIPT_ACSCRIPT, AreaConquestInfoParser::Instance()),"ACScript");
MissionRewardParser::Instance()->Init(100);
#ifdef __NA_000000_20071123_NEW_SCRIPT_PARSING_SYSTEM
ERROR_PARSER(LoadParser( (char*)(app_path + "\\MissionRewardInfo.txt").c_str(), SCRIPT_MISSIONREWARDINFO, MissionRewardParser::Instance()),"MissionRewardInfo");
#else
ERROR_PARSER(MissionRewardParser::Instance()->Load((char*)(app_path + "\\MissionRewardInfo.txt").c_str()),"MissionRewardInfo");
#endif
#if NATION_BUILD_VERSION >= 810
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Limitediteminfo.txt").c_str(), SCRIPT_LIMITED_ITEM_INFO, LimitedItemInfoParser::Instance()),"Limitediteminfo");
#endif
#if NATION_BUILD_VERSION >= 811
ERROR_PARSER(LoadParser( (char*)(app_path + "\\Luckyiteminfo.txt").c_str(), SCRIPT_FATE_ITEM_INFO, FateItemInfoParser::Instance()),"Luckyiteminfo");
#endif
//SUNLOG( eCRITICAL_LOG, "\n\nScript Check End !!!\n\n" );
system( "pause" );
return 0;
}