diff --git a/Puyolib/AssetBundle.cpp b/Puyolib/AssetBundle.cpp index 3e90604d..6ec7e31c 100644 --- a/Puyolib/AssetBundle.cpp +++ b/Puyolib/AssetBundle.cpp @@ -178,8 +178,14 @@ void FolderAssetBundle::reload() std::list FolderAssetBundle::listPuyoSkins() { std::list new_list; - for (auto folder : std::filesystem::directory_iterator(m_translator->token2fn("%base%/") + kFolderUserPuyo)) { - new_list.push_back((folder.path().stem()).string()); + try { + for (auto folder : std::filesystem::directory_iterator(m_translator->token2fn("%base%/") + kFolderUserPuyo)) { + new_list.push_back((folder.path().stem()).string()); + } + } + catch (std::filesystem::filesystem_error& e) { + // Illegal path, fail silent + std::cerr << "Failed to locate bundles in " << m_translator->token2fn("%base%/") + kFolderUserPuyo< FolderAssetBundle::listPuyoSkins() std::list FolderAssetBundle::listBackgrounds() { std::list new_list; - for (auto folder : std::filesystem::directory_iterator(m_translator->token2fn("%base%/") + kFolderUserBackgrounds)) { - if (folder.is_directory()) { - new_list.push_back((folder.path().filename()).string()); + try { + for (auto folder : std::filesystem::directory_iterator(m_translator->token2fn("%base%/") + kFolderUserBackgrounds)) { + if (folder.is_directory()) { + new_list.push_back((folder.path().filename()).string()); + } } } + catch (std::filesystem::filesystem_error& e) { + // Illegal path, fail silent + std::cerr << "Failed to locate bundles in " << m_translator->token2fn("%base%/") + kFolderUserBackgrounds< FolderAssetBundle::listSfx() { std::list new_list; - for (auto folder : std::filesystem::directory_iterator(m_translator->token2fn("%base%/") + kFolderUserSounds)) { - if (folder.is_directory()) { - new_list.push_back((folder.path().filename()).string()); + try { + for (auto folder : std::filesystem::directory_iterator(m_translator->token2fn("%base%/") + kFolderUserSounds)) { + if (folder.is_directory()) { + new_list.push_back((folder.path().filename()).string()); + } } } + catch (std::filesystem::filesystem_error& e) { + // Illegal path, fail silent + std::cerr << "Failed to locate bundles in " << m_translator->token2fn("%base%/") + kFolderUserSounds< FolderAssetBundle::listCharacterSkins() { std::list new_list; - for (auto folder : std::filesystem::directory_iterator(m_translator->token2fn("%base%/") + kFolderUserCharacter)) { - if (folder.is_directory()) { - new_list.push_back((folder.path().filename()).string()); + try { + for (auto folder : std::filesystem::directory_iterator(m_translator->token2fn("%base%/") + kFolderUserCharacter)) { + if (folder.is_directory()) { + new_list.push_back((folder.path().filename()).string()); + } } } + catch (std::filesystem::filesystem_error& e) { + // Illegal path, fail silent + std::cerr << "Failed to locate bundles in " << m_translator->token2fn("%base%/") + kFolderUserCharacter<