#pragma once #include "game.h" #include struct Osu_Graphics { struct SDL_Window* window; struct SDL_Renderer* renderer; struct TTF_Font* font; struct TTF_Font* debugFont; struct TTF_TextEngine* textEngine; struct TTF_Text* debugText; struct SDL_Texture* selectedBeatmapWallpaper; struct SDL_FRect screenRect; Uint8 beatmapDimFactor; // Static textures; will not change during runtime struct SDL_Texture* beatmapWedgeTexture; struct SDL_Texture* cursorTexture; struct SDL_Texture* menuBackgroundTexture; struct SDL_Texture* songSelectTopTexture; struct SDL_Texture* hitCircleTexture; struct SDL_Texture* hitCircleOverlayTexture; struct SDL_Texture* approachCircleTexture; }; struct Osu_Graphics* Osu_CreateGraphics(const char* dataPath); void Osu_DestroyGraphics(struct Osu_Graphics* graphics); void Osu_PrepareRender(struct Osu_Graphics* graphics); void Osu_RenderWallpaper(struct Osu_Graphics* graphics); void Osu_RenderCursor(struct Osu_Graphics* graphics); void Osu_SetWallpaper(struct Osu_Graphics* graphics, const char* filePath);