ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
if (_access(c_pszFolder, 0) != 0)
return true;
std::string stFolder(c_pszFolder);
stFolder += "/";
CTextFileLoader::SetCacheMode();
CEterPackManager::Instance().SetCacheMode();
CEterPackManager::Instance().SetSearchMode(CEterPackManager::SEARCH_PACK);
CSoundData::SetPackMode();
// CEterPackManager::Instance().RegisterPack("pack/effect", "*");
CEterPackManager::Instance().RegisterPack("pack/etc", "*");
CEterPackManager::Instance().RegisterPack("pack/icon", "*");
// CEterPackManager::Instance().RegisterPack("pack/items", "*");
CEterPackManager::Instance().RegisterPack("pack/locale", "*");
CEterPackManager::Instance().RegisterPack("pack/maps", "*");
// CEterPackManager::Instance().RegisterPack("pack/monster", "*");
// CEterPackManager::Instance().RegisterPack("pack/monster2", "*");
CEterPackManager::Instance().RegisterPack("pack/npc", "*");
// CEterPackManager::Instance().RegisterPack("pack/npc2", "*");
CEterPackManager::Instance().RegisterPack("pack/pc", "*");
CEterPackManager::Instance().RegisterPack("pack/pc2", "*");
CEterPackManager::Instance().RegisterPack("pack/property", "*");
CEterPackManager::Instance().RegisterPack("pack/sound", "*");
// CEterPackManager::Instance().RegisterPack("pack/terrain", "*");
CEterPackManager::Instance().RegisterPack("pack/textureset", "*");
CEterPackManager::Instance().RegisterPack("pack/season", "*");
CEterPackManager::Instance().RegisterPack("pack/zone", "*");
CEterPackManager::Instance().RegisterRootPack((stFolder + std::string("root")).c_str());
return true;
struct FileCompressor
{
std::vector<unsigned char> data;
std::vector<unsigned char> src;
unsigned int compressed;
unsigned int decompressed;
unsigned int hash;
FileCompressor()
{
data.resize(FILE_COMPRESSOR_MEM);
src.resize(FILE_COMPRESSOR_MEM);
}
bool operator()(const std::string& source)
{
compressed = 0;
decompressed = 0;
hash = 0;
std::ifstream input(source.c_str(), std::ifstream::binary | std::ifstream::in);
bool r = false;
if (input)
{
input.seekg(0, std::ifstream::end);
decompressed = input.tellg();
input.seekg(0, std::ifstream::beg);
input.read(reinterpret_cast<char*>(&src[0]), MIN(src.size(), decompressed));
input.close();
hash = XXH32(reinterpret_cast<char*>(&src[0]), decompressed, FOXFS_MAGIC);
// LZ4_compress_HC kullanıldı
if ((compressed = LZ4_compress_HC(reinterpret_cast<char*>(&src[0]), reinterpret_cast<char*>(&data[0]), decompressed, data.size(), 9)) >= decompressed)
{
// Eğer sıkıştırma oranı düşerse, veriyi kopyala (özellikle sıkıştırma başarısız olursa)
memcpy(&data[0], &src[0], src.size());
compressed = decompressed;
}
r = true;
}
return r;
}
};