Skip to content
Permalink
Browse files
GIFs2PNG now will find mask in the episode folder
(I.e. in the reffered in arguments episode folder to convert)
I.e.:

./GIFs2PNG --config "/path/to/config/pack" -d "/path/to/worlds/episode/"
  • Loading branch information
Wohlstand committed Jan 8, 2017
1 parent e69c90e commit 55227d07bea641a7467f04bef97788a86bf639f8
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 7 deletions.
@@ -56,7 +56,7 @@ void ConfigPackMiniManager::setConfigDir(const std::string &config_dir)
customAppPath.push_back('/');

m_dir_list.clear();
m_dir_list.insert(m_cp_root_path);
m_dir_listUQ.insert(m_cp_root_path);

mainset.beginGroup("main");
{
@@ -91,12 +91,22 @@ bool ConfigPackMiniManager::isUsing()
}

void ConfigPackMiniManager::addIntoDirList(std::string dir)
{
appendDir(dir);
appendDirList(dir);
}

void ConfigPackMiniManager::appendDir(std::string dir)
{
std::replace(dir.begin(), dir.end(), '\\', '/');
removeDoubleSlash(dir);
addSlashToTail(dir);
m_dir_list.insert(dir);
appendDirList(dir);
if(m_dir_listUQ.find(dir) == m_dir_listUQ.end())
{
m_dir_list.push_back(dir);
m_dir_listUQ.insert(dir);
}

}

void ConfigPackMiniManager::appendDirList(const std::string& dir)
@@ -108,8 +118,7 @@ void ConfigPackMiniManager::appendDirList(const std::string& dir)
for(std::string &f : folders)
{
std::string newpath = dirs.absolutePath() + "/" + f;
removeDoubleSlash(newpath);
m_dir_list.insert(newpath);
appendDir(newpath);
}
}
}
@@ -124,8 +133,11 @@ std::string ConfigPackMiniManager::getFile(const std::string &file, std::string
if(Files::fileExists(customPath + file))
return customPath + file;

for(std::string path : m_dir_list)
for(std::vector<std::string>::reverse_iterator it = m_dir_list.rbegin();
it != m_dir_list.rend();
it++)
{
std::string path = *it;
addSlashToTail(path);
if(Files::fileExists(path + file))
return path + file;
@@ -15,18 +15,50 @@ class ConfigPackMiniManager
ConfigPackMiniManager();
~ConfigPackMiniManager() {}

/**
* @brief Initialize config pack's directory tree
* @param config_dir path to config pack's root directory
*/
void setConfigDir(const std::string &config_dir);
/**
* @brief Is config pack initialized and in use?
* @return true if config pack is initialized
*/
bool isUsing();

/**
* @brief Add a data directory with all it's sub-directories with depth 1
* @param dir Path to data directory to add
*/
void addIntoDirList(std::string dir);

/**
* @brief Add a single data directory
* @param dir Path to data directory to add
*/
void appendDir(std::string dir);
/**
* @brief Append all sub-directories in this directory
* @param dir Path to data directory to add it's sub-directories
*/
void appendDirList(const std::string &dir);

/**
* @brief Find file in added data directories
* @param file file to find
* @param customPath custom directory path
* @return absolute path to found file. Empty string if no files are found.
*/
std::string getFile(const std::string &file, std::string customPath);

private:
bool m_is_using;
std::string m_cp_root_path;
std::string m_custom_path;
std::set<std::string> m_dir_list;
//! Unique checking list
std::set<std::string> m_dir_listUQ;
//! Ordered list of folderd by priority sequence
std::vector<std::string> m_dir_list;
};

#endif // CONFIGMANAGER_H
@@ -379,6 +379,11 @@ int main(int argc, char *argv[])
{
std::cout << "============================================================================\n";
std::cout << ("Used config pack: " + setup.configPath + "\n");
if(!setup.listOfFiles)
{
config.appendDir(setup.pathIn);
std::cout << ("With episode directory: " + setup.pathIn + "\n");
}
std::cout << "============================================================================\n";
std::cout.flush();
}

0 comments on commit 55227d0

Please sign in to comment.