Tipologie server:pvm
*Resursă folosită:sursa/rezolvare-incarcare-fisiere-din-p ... 88383.html
*ServerFiles utilizat:propriu
*Syserr:-
Poză:
*Detalii suplimentare: Daca stie cineva o rezolvare ar fi super, pentru sursa clasica e ok dar pentru cei cu foxfs, necesita niste modificari si sincer sa fiu nu ma descurc
EterPackManager.cpp
bool CEterPackManager::Get(CMappedFile & rMappedFile, const char * c_szFileName, LPCVOID * pData)
{
//TimeChecker timeChecker(c_szFileName);
//Logf(1, "Load %s\n", c_szFileName);
if (m_iSearchMode == SEARCH_FILE)
{
if (GetFromFile(rMappedFile, c_szFileName, pData))
{
return true;
}
return GetFromPack(rMappedFile, c_szFileName, pData);
}
else
{
if (isExistInPack(c_szFileName))
{
return GetFromPack(rMappedFile, c_szFileName, pData);
}
else if (isExist(c_szFileName))
{
return GetFromFile(rMappedFile, c_szFileName, pData);
}
}
return false;
if (GetFromPack(rMappedFile, c_szFileName, pData))
{
return true;
}
return GetFromFile(rMappedFile, c_szFileName, pData);
}
bool CEterPackManager::isExist(const char * c_szFileName)
{
if (m_iSearchMode == SEARCH_PACK)
{
if (isWhiteFile(c_szFileName) || isWhiteFileExt(c_szFileName))
{
return isExistInPack(c_szFileName) || (_access(c_szFileName, 0) == 0);
}
return isExistInPack(c_szFileName);
}
if (_access(c_szFileName, 0) == 0)
return true;
return isExistInPack(c_szFileName);
}
UserInterface.cpp
bool PackInitialize(const char * c_pszFolder)
{
NANOBEGIN
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/bgm", "bgm/");
CEterPackManager::Instance().RegisterPack("pack/effect", "d:/ymir work/effect/");
CEterPackManager::Instance().RegisterPack("pack/etc", "*");
CEterPackManager::Instance().RegisterPack("pack/guild", "d:/ymir work/guild/");
CEterPackManager::Instance().RegisterPack("pack/icon", "icon/");
CEterPackManager::Instance().RegisterPack("pack/item", "d:/ymir work/item/");
CEterPackManager::Instance().RegisterPack("pack/locale", "locale/");
CEterPackManager::Instance().RegisterPack("pack/monster", "d:/ymir work/monster/");
CEterPackManager::Instance().RegisterPack("pack/monster2", "d:/ymir work/monster2/");
CEterPackManager::Instance().RegisterPack("pack/season1", "season1/");
CEterPackManager::Instance().RegisterPack("pack/season2", "season2/");
CEterPackManager::Instance().RegisterPack("pack/npc", "d:/ymir work/npc/");
CEterPackManager::Instance().RegisterPack("pack/npc2", "d:/ymir work/npc2/");
CEterPackManager::Instance().RegisterPack("pack/npc_pet", "d:/ymir work/npc_pet/");
CEterPackManager::Instance().RegisterPack("pack/npc_mount", "d:/ymir work/npc_mount/");
CEterPackManager::Instance().RegisterPack("pack/pc", "d:/ymir work/pc/");
CEterPackManager::Instance().RegisterPack("pack/pc2", "d:/ymir work/pc2/");
CEterPackManager::Instance().RegisterPack("pack/property", "property/");
CEterPackManager::Instance().RegisterPack("pack/sound", "sound/");
CEterPackManager::Instance().RegisterPack("pack/terrain", "d:/ymir work/terrainmaps/");
CEterPackManager::Instance().RegisterPack("pack/textureset", "textureset/");
CEterPackManager::Instance().RegisterPack("pack/tree", "d:/ymir work/tree/");
CEterPackManager::Instance().RegisterPack("pack/zone", "d:/ymir work/zone/");
CEterPackManager::Instance().RegisterPack("pack/map", "map/");
CEterPackManager::Instance().RegisterRootPack((stFolder + std::string("root")).c_str());
NANOEND
return true;
}
Multumesc anticipat!



