void HGAssets::loadAssets() { lo("::loadAssets") << "loading local profiles" << endl; loadLocalProfiles(); for(const auto& packPath : getScan<Mode::Single, Type::Folder>("Packs/")) { const auto& packPathStr(packPath.getStr()); string packName{packPathStr.substr(6, packPathStr.size() - 7)}, packLua; for(const auto& p : getScan<Mode::Recurse, Type::File, Pick::ByExt>(packPath, ".lua")) packLua.append(getFileContents(p)); ssvuj::Obj packRoot{getFromFile(packPath + "/pack.json")}; ssvu::getEmplaceUptrMap<PackData>(packDatas, packName, packName, getExtr<string>(packRoot, "name"), getExtr<float>(packRoot, "priority")); } for(auto& p : packDatas) { const auto& pd(p.second); string packId{pd->id}, packPath{"Packs/" + packId + "/"}; packIds.emplace_back(packId); packPaths.emplace_back(packPath); if(!levelsOnly) { lo("::loadAssets") << "loading " << packId << " music\n"; loadMusic(packPath); } if(!levelsOnly) { lo("::loadAssets") << "loading " << packId << " music data\n"; loadMusicData(packPath); } lo("::loadAssets") << "loading " << packId << " style data\n"; loadStyleData(packPath); lo("::loadAssets") << "loading " << packId << " level data\n"; loadLevelData(packPath); if(!levelsOnly) { lo("::loadAssets") << "loading " << packId << " custom sounds\n"; loadCustomSounds(packId, packPath); } lo().flush(); } }
void HGAssets::createLocalProfile(const string& mName) { ssvuj::Obj root; ssvuj::arch(root, "name", mName); ssvuj::arch(root, "scores", ssvuj::Obj{}); ssvuj::writeToFile(root, "Profiles/" + mName + ".json"); profileDataMap.clear(); loadLocalProfiles(); }
void HGAssets::createLocalProfile(const string& mName) { ssvuj::Obj root; root["name"] = mName; root["scores"] = {}; ssvuj::writeToFile(root, "Profiles/" + mName + ".json"); profileDataMap.clear(); loadLocalProfiles(); }