#pragma once #include #include struct Osu_BeatmapStore { char* basePath; // TODO: Investigate if we can store beatmaps directly in the array. struct Osu_Beatmap** beatmaps; size_t beatmapsLen; struct SDL_Mutex* mutex; bool finishedLoading; struct SDL_Thread* loadWorker; }; struct Osu_BeatmapStore* Osu_CreateBeatmapStore(const char* dataPath); void Osu_DestroyBeatmapStore(struct Osu_BeatmapStore* store); // Thread worker. int Osu_LoadBeatmapsWorker(void* userdata);