- [NEW] Funció per a comprobar si un arxiu existeix
This commit is contained in:
@@ -192,6 +192,40 @@ namespace file
|
||||
}
|
||||
}
|
||||
|
||||
bool fileExists(const std::string resourcename)
|
||||
{
|
||||
// Si tenim configurat agafar els recursos de arxiu, pero encara no tenim la taula de continguts carregada...
|
||||
if (file_source == SOURCE_FILE and toc.size() == 0)
|
||||
{
|
||||
// Si fallem al intentar carregar la taula de continguts de l'arxiu de recursos, canviem a pillar els recursos de carpeta
|
||||
if (not getTableOfContents())
|
||||
{
|
||||
setSource(SOURCE_FOLDER);
|
||||
}
|
||||
}
|
||||
|
||||
// Si estem pillant els recursos de un arxiu de recursos...
|
||||
if (file_source == SOURCE_FILE)
|
||||
{
|
||||
// Busquem el recurs en la taula de continguts usant la ruta
|
||||
bool found = false;
|
||||
uint32_t count = 0;
|
||||
while (!found && count < toc.size())
|
||||
{
|
||||
found = (resourcename == toc[count].path);
|
||||
if (!found)
|
||||
{
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return found;
|
||||
}
|
||||
else
|
||||
{
|
||||
return access((resource_folder + resourcename).c_str(), F_OK) == 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Obté un "FILE*" al arxiu que se li demana, independentment de la font (arxius individual en carpeta, o arxiu de recursos)
|
||||
FILE *getFilePointer(const std::string resourcename, int &filesize, const bool binary)
|
||||
{
|
||||
|
||||
@@ -23,6 +23,10 @@ namespace file
|
||||
/// @param src SOURCE_FILE o SOURCE_FOLDER, si es vol que se pillen recursos de arxiu o de carpeta
|
||||
void setSource(const int src);
|
||||
|
||||
/// @brief Comproba si un arxiu existeix.
|
||||
/// @param resourcename el nom de l'arxiu que volem comprobar
|
||||
bool fileExists(const std::string resourcename);
|
||||
|
||||
/// @brief Obté un "FILE*" al arxiu que se li demana, independentment de la font (arxius individual en carpeta, o arxiu de recursos). Recordar tancar-lo al acabar amb ell.
|
||||
/// @param resourcename el nom de l'arxiu que volem obrir
|
||||
/// @param filesize paràmetre de retorn. Ací es torna el tamany de l'arxiu
|
||||
|
||||
Reference in New Issue
Block a user