#pragma once #include struct GlobalMemory; struct SDL_Window; struct RenderDevice; struct MiscData; struct AppState { SDL_Window* window; RenderDevice* renderDevice; MiscData* miscData; [[nodiscard]] bool isInit() const; void cleanup(); AppState(SDL_Window* window, RenderDevice* renderDevice, MiscData* miscData); AppState(AppState const& other) = delete; AppState(AppState&& other) noexcept = delete; AppState& operator=(AppState const& other) = delete; AppState& operator=(AppState&& other) noexcept = delete; ~AppState(); }; AppState* CreateAppState(GlobalMemory* memory, uint32_t const width, uint32_t const height);