269 lines
12 KiB
C++
269 lines
12 KiB
C++
|
|
// DnTableVerifier.cpp : Defines the entry point for the console application.
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
|
|||
|
|
// R:\GameRes KOR SkillTable --gtest_filter=skill_data_test.* --gtest_output="xml:result.xml"
|
|||
|
|
|
|||
|
|
|
|||
|
|
#include "stdafx.h"
|
|||
|
|
#include "EtActionCoreMng.h"
|
|||
|
|
|
|||
|
|
wstring g_strResourcePath;
|
|||
|
|
string g_strResourcePathA;
|
|||
|
|
map<wstring, string> g_mapExtFolderPath;
|
|||
|
|
wstring g_strNation;
|
|||
|
|
string g_strNationExtFolder;
|
|||
|
|
string g_strTableName;
|
|||
|
|
|
|||
|
|
extern CEtActionCoreMng g_ActionCoreMng;
|
|||
|
|
|
|||
|
|
// <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
void GatherConcernedExt( /*IN*/ const char* pTableFileFullName, /*IN OUT*/ vector<string>& vlFilePathsToVerify, /*IN OUT*/ string& strTableFullPath )
|
|||
|
|
{
|
|||
|
|
// <20>켱 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20>ҷ<EFBFBD><D2B7>鿩<EFBFBD><E9BFA9>
|
|||
|
|
// Ư<><C6AF> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>켱<EFBFBD>̰<EFBFBD> <20>ű<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20>ȴ<EFBFBD>.
|
|||
|
|
// _ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD> id <20>ߺ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>.
|
|||
|
|
string strNationExtFolder = g_strNationExtFolder;
|
|||
|
|
|
|||
|
|
strTableFullPath.clear();
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ext <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|||
|
|
// <20><><EFBFBD>ҽ<EFBFBD> <20>Ŵ<EFBFBD><C5B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˻<EFBFBD><CBBB>ϵ<EFBFBD><CFB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
|
//map<wstring, string>::iterator iter = g_mapExtFolderPath.begin();
|
|||
|
|
//for( iter; iter != g_mapExtFolderPath.end(); ++iter )
|
|||
|
|
// CEtResourceMng::GetInstance().AddResourcePath( iter->second.c_str() );
|
|||
|
|
|
|||
|
|
//vector<CFileNameString> vlBaseFileList;
|
|||
|
|
//CEtResourceMng::GetInstance().FindFileListInFolder( g_mapExtFolderPath[ L"KOR" ].c_str(), "*.ext", vlBaseFileList );
|
|||
|
|
|
|||
|
|
vector<CFileNameString> vlTargetNationFileList;
|
|||
|
|
CEtResourceMng::GetInstance().FindFileListInFolder( strNationExtFolder.c_str(), "*.dnt", vlTargetNationFileList );
|
|||
|
|
|
|||
|
|
char acTableFileName[ MAX_PATH ] = { 0 };
|
|||
|
|
_GetFileName( acTableFileName, _countof(acTableFileName), pTableFileFullName );
|
|||
|
|
|
|||
|
|
char acFilePrefixToVerify[ MAX_PATH ] = { 0 };
|
|||
|
|
_GetFileName( acFilePrefixToVerify, _countof(acFilePrefixToVerify), pTableFileFullName );
|
|||
|
|
_strlwr_s( acFilePrefixToVerify );
|
|||
|
|
int nLength = (int)strlen(acFilePrefixToVerify);
|
|||
|
|
acFilePrefixToVerify[nLength] = '_';
|
|||
|
|
acFilePrefixToVerify[nLength+1] = 0;
|
|||
|
|
|
|||
|
|
vlFilePathsToVerify.clear();
|
|||
|
|
vector<string> vlFileNamesToVerify;
|
|||
|
|
|
|||
|
|
// <20>켱 Ÿ<><C5B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> Ǯ <20>н<EFBFBD><D0BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
for( DWORD i = 0; i<vlTargetNationFileList.size(); i++ )
|
|||
|
|
{
|
|||
|
|
char acTargetNationFileName[ MAX_PATH ] = { 0 };
|
|||
|
|
_GetFileName( acTargetNationFileName, _countof(acTargetNationFileName), vlTargetNationFileList[ i ].c_str() );
|
|||
|
|
_strlwr_s( acTargetNationFileName );
|
|||
|
|
|
|||
|
|
string strTargetNationFileName( acTargetNationFileName );
|
|||
|
|
string::size_type iPrefixPos = strTargetNationFileName.find_first_of( '_' );
|
|||
|
|
string strTargetNationFilePrefix;
|
|||
|
|
if( string::npos != iPrefixPos )
|
|||
|
|
strTargetNationFilePrefix = strTargetNationFileName.substr( 0, iPrefixPos+1 );
|
|||
|
|
|
|||
|
|
if( strTargetNationFilePrefix == acFilePrefixToVerify )
|
|||
|
|
//if( strstr( acTargetNationFileName, acFilePrefixToVerify ) )
|
|||
|
|
{
|
|||
|
|
CFileNameString szFullPath;
|
|||
|
|
szFullPath = CEtResourceMng::GetInstance().GetFullName( vlTargetNationFileList[i].c_str() );
|
|||
|
|
vlFilePathsToVerify.push_back( szFullPath.c_str() );
|
|||
|
|
vlFileNamesToVerify.push_back( acTargetNationFileName );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if( strTableFullPath.empty() && (0 == _stricmp( acTargetNationFileName, acTableFileName )) )
|
|||
|
|
{
|
|||
|
|
CFileNameString szFullPath;
|
|||
|
|
szFullPath = CEtResourceMng::GetInstance().GetFullName( pTableFileFullName );
|
|||
|
|
strTableFullPath.assign( szFullPath.c_str() );
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//// <20><><EFBFBD>̽<EFBFBD> <20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20><> <20>ִ<EFBFBD><D6B4><EFBFBD> <20><><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>.
|
|||
|
|
//// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8>̶<EFBFBD><CCB6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20>켱<EFBFBD>̹Ƿ<CCB9> <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
|
|||
|
|
//for( DWORD i = 0; i < vlBaseFileList.size(); ++i )
|
|||
|
|
//{
|
|||
|
|
// char acBaseFileName[ MAX_PATH ] = { 0 };
|
|||
|
|
// _GetFileName( acBaseFileName, vlBaseFileList[ i ].c_str() );
|
|||
|
|
// _strlwr_s( acBaseFileName );
|
|||
|
|
|
|||
|
|
// if( strstr( acBaseFileName, acFilePrefixToVerify ) && strcmp( acBaseFileName, acFilePrefixToVerify ) )
|
|||
|
|
// {
|
|||
|
|
// vector<string>::iterator iter = find( vlFileNamesToVerify.begin(), vlFileNamesToVerify.end(), acBaseFileName );
|
|||
|
|
// if( iter == vlFileNamesToVerify.end() )
|
|||
|
|
// {
|
|||
|
|
// CFileNameString szFullPath;
|
|||
|
|
// szFullPath = CEtResourceMng::GetInstance().GetFullName( vlBaseFileList[i].c_str() );
|
|||
|
|
// vlFilePathsToVerify.push_back( szFullPath.c_str() );
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// if( strTableFullPath.empty() && (0 == _stricmp( acBaseFileName, acTableFileName )) )
|
|||
|
|
// {
|
|||
|
|
// CFileNameString szFullPath;
|
|||
|
|
// szFullPath = CEtResourceMng::GetInstance().GetFullName( pTableFileFullName );
|
|||
|
|
// strTableFullPath.assign( szFullPath.c_str() );
|
|||
|
|
// }
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
//// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
|
//iter = g_mapExtFolderPath.begin();
|
|||
|
|
//for( iter; iter != g_mapExtFolderPath.end(); ++iter )
|
|||
|
|
//{
|
|||
|
|
// if( iter->first != g_strNation )
|
|||
|
|
// CEtResourceMng::GetInstance().RemoveResourcePath( iter->second.c_str() );
|
|||
|
|
//}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
DNTableFileFormat* LoadExtFile( const char* pTableFileFullName, char* pInverseSearchLabelFilter/* = NULL*/ )
|
|||
|
|
{
|
|||
|
|
DNTableFileFormat* pTable = NULL;
|
|||
|
|
vector<string> vlFileSeriesFilePaths;
|
|||
|
|
string strTableFullPath;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD><CCBA>̶<EFBFBD><CCB6><EFBFBD> ItemTable_Quest, ItemTable_Event, ItemTable_Equipment, ItemTable_Cash <20>ø<EFBFBD><C3B8><EFBFBD><EEBAB0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ƽ<EFBFBD> <20>ε<EFBFBD> <20><>.
|
|||
|
|
GatherConcernedExt( pTableFileFullName, vlFileSeriesFilePaths, strTableFullPath );
|
|||
|
|
|
|||
|
|
//_ASSERT( false == strTableFullPath.empty() );
|
|||
|
|
|
|||
|
|
pTable = new DNTableFileFormat;
|
|||
|
|
pTable->Load( strTableFullPath.c_str() );
|
|||
|
|
// dnt <20><><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ã<>ƾ<EFBFBD> <20>ϴ°<CFB4> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD> <20><>. (GetItemIDListFromField() <20>Լ<EFBFBD><D4BC><EFBFBD> ã<><C3A3> <20><>)
|
|||
|
|
pTable->SetGenerationInverseLabel( pInverseSearchLabelFilter );
|
|||
|
|
|
|||
|
|
for( int i = 0; i < (int)vlFileSeriesFilePaths.size(); ++i )
|
|||
|
|
{
|
|||
|
|
pTable->Load( vlFileSeriesFilePaths.at(i).c_str(), false );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return pTable;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20>۷ι<DBB7> ȯ<><C8AF> <20><><EFBFBD><EFBFBD>
|
|||
|
|
class gtest_global_environment : public ::testing::Environment
|
|||
|
|
{
|
|||
|
|
virtual void SetUp()
|
|||
|
|
{
|
|||
|
|
CEtResourceMng::CreateInstance();
|
|||
|
|
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\SharedEffect" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\MapData" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\MapData\\Resource" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\MapData\\Resource\\Prop", true );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\MapData\\Resource\\Envi" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\MapData\\Resource\\Sound", true );
|
|||
|
|
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\Char", true );
|
|||
|
|
|
|||
|
|
char acBuffer[ MAX_PATH ] = { 0 };
|
|||
|
|
WideCharToMultiByte( CP_ACP, NULL, g_strResourcePath.c_str(), (int)_tcslen(g_strResourcePath.c_str()),
|
|||
|
|
acBuffer, sizeof(acBuffer), NULL, NULL );
|
|||
|
|
string strResourcePath( acBuffer );
|
|||
|
|
|
|||
|
|
//map<wstring, string>::iterator iter = g_mapExtFolderPath.begin();
|
|||
|
|
//for( iter; iter != g_mapExtFolderPath.end(); ++iter )
|
|||
|
|
// CEtResourceMng::GetInstance().AddResourcePath( iter->second.c_str() );
|
|||
|
|
|
|||
|
|
CEtResourceMng::GetInstance().AddResourcePath( strResourcePath+"\\Resource\\Char", true );
|
|||
|
|
CEtResourceMng::GetInstance().AddResourcePath( g_strNationExtFolder.c_str() );
|
|||
|
|
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePathByCodePage( "R:\\GameRes\\Resource\\Ext" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\Weapon" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\Item", true );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\Sound", true );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\Particle" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\UI", true );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\Effect" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\fonts" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\Script", true );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\Dmv" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePathByCodePage( "R:\\GameRes\\Resource\\Npc" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePathByCodePage( "R:\\GameRes\\Resource\\Quest" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\StateEffect" );
|
|||
|
|
//CEtResourceMng::GetInstance().AddResourcePath( "R:\\GameRes\\Resource\\UIString" );
|
|||
|
|
|
|||
|
|
g_ActionCoreMng.Initialize();
|
|||
|
|
};
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20><EFBFBD>Ʈ <20><> Verifier <20><>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
|
// R:\GameRes JPN GachaJP --gtest_filter=gachapon_test.* --gtest_output="xml:result.xml"
|
|||
|
|
// [<5B><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>] [<5B>˻<EFBFBD><CBBB><EFBFBD> <20><><EFBFBD><EFBFBD>] [<5B>˻<EFBFBD><CBBB><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD>ϸ<EFBFBD>] [gtest <20><><EFBFBD>ڵ<EFBFBD>]
|
|||
|
|
// [<5B>˻<EFBFBD><CBBB><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD>ϸ<EFBFBD>] <20><> multitable id duplicate test <20><> <20><><EFBFBD>쿣 <20><><EFBFBD>õ<EFBFBD> <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ƽ<EFBFBD> <20><EFBFBD>Ʈ <20>Ѵ<EFBFBD>. ; <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20>Է¹´<DEB4>. (aaa;bbb ...)
|
|||
|
|
// R:\GameRes MAIN aaa;ItemTable --gtest_filter=multitable_id_duplicate_test.* --gtest_output="xml:result.xml"
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ݿ<EFBFBD><DDBF><EFBFBD> <20>̽<EFBFBD> #26504
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD> id <20>ߺ<EFBFBD> <20>˻<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>.
|
|||
|
|
// R:\Gameres MAIN EnchantJewelTable;ItemCompoundGroupTable;ItemCompoundTable;ItemDropGroupTable;ItemDropTable;ItemTable;MonsterGroupTable;MonsterSkillTable;MonsterTable;PartsTable;PotentialJewelTable;PotentialTable;SetItemTable;SkillLevelTable;SkillTable;testtable;VehicleTable;WeaponTable --gtest_filter=*.* --gtest_output="xml:D:\testresult.xml
|
|||
|
|
|
|||
|
|
int _tmain(int argc, _TCHAR* argv[])
|
|||
|
|
{
|
|||
|
|
g_strResourcePath.assign( argv[ 1 ] );
|
|||
|
|
|
|||
|
|
char acBuffer[ MAX_PATH ] = { 0 };
|
|||
|
|
WideCharToMultiByte( CP_ACP, NULL, g_strResourcePath.c_str(), (int)_tcslen(g_strResourcePath.c_str()),
|
|||
|
|
acBuffer, sizeof(acBuffer), NULL, NULL );
|
|||
|
|
g_strResourcePathA.assign( acBuffer );
|
|||
|
|
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"MAIN", g_strResourcePathA+"\\Resource\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"KOR", g_strResourcePathA+"\\Resource_KOR\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"JPN", g_strResourcePathA+"\\Resource_JPN\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"CHN", g_strResourcePathA+"\\Resource_CHN\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"USA", g_strResourcePathA+"\\Resource_USA\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"TWN", g_strResourcePathA+"\\Resource_TWN\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"SIN", g_strResourcePathA+"\\Resource_SIN\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"THA", g_strResourcePathA+"\\Resource_THA\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"IDN", g_strResourcePathA+"\\Resource_IDN\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"RUS", g_strResourcePathA+"\\Resource_RUS\\Ext" ) );
|
|||
|
|
g_mapExtFolderPath.insert( make_pair( L"EU", g_strResourcePathA+"\\Resource_EU\\Ext" ) );
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ƽ<DEBE> <20>߶<EFBFBD><DFB6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѱ<EFBFBD><D1B0><EFBFBD>.
|
|||
|
|
map<wstring, string>::iterator iter = g_mapExtFolderPath.find( argv[ 2 ] );
|
|||
|
|
if( g_mapExtFolderPath.end() != iter )
|
|||
|
|
g_strNationExtFolder = iter->second;
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
_tprintf( _T("[DnTableVerifier] Invalid nation setting!! Running with korea resource path!!\n\n") );
|
|||
|
|
g_strNationExtFolder = g_mapExtFolderPath[ L"KOR" ];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
g_strNation = iter->first;
|
|||
|
|
|
|||
|
|
char* pTableName = acBuffer;
|
|||
|
|
int iTableNameLength = (int)_tcslen(argv[ 3 ]);
|
|||
|
|
bool bTableNameBufferAllocated = false;
|
|||
|
|
if( sizeof(acBuffer) <= iTableNameLength )
|
|||
|
|
{
|
|||
|
|
pTableName = new char[ iTableNameLength+1 ];
|
|||
|
|
bTableNameBufferAllocated = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
SecureZeroMemory( pTableName, (iTableNameLength+1) );
|
|||
|
|
WideCharToMultiByte( CP_ACP, NULL, argv[ 3 ], (int)_tcslen(argv[ 3 ]),
|
|||
|
|
pTableName, iTableNameLength, NULL, NULL );
|
|||
|
|
|
|||
|
|
g_strTableName.assign( pTableName );
|
|||
|
|
|
|||
|
|
::testing::AddGlobalTestEnvironment( new gtest_global_environment );
|
|||
|
|
|
|||
|
|
printf( "[DnTableVerifier] Running with \"%s\" table folder\n", g_strNationExtFolder.c_str() );
|
|||
|
|
|
|||
|
|
::testing::InitGoogleTest( &argc, argv );
|
|||
|
|
|
|||
|
|
int iExitCode = RUN_ALL_TESTS();
|
|||
|
|
g_ActionCoreMng.Finalize();
|
|||
|
|
|
|||
|
|
if( bTableNameBufferAllocated )
|
|||
|
|
delete [] pTableName;
|
|||
|
|
|
|||
|
|
return iExitCode;
|
|||
|
|
}
|
|||
|
|
|