#pragma once #include #include #include #include class KaizenGui final : QMainWindow { public: explicit KaizenGui() noexcept; ~KaizenGui(); bool fastForward = false; bool unlockFramerate = false; bool minimized = false; SettingsWindow *settingsWindow; RenderWidget *vulkanWidget; EmuThread emuThread; SDL_Gamepad *gamepad = nullptr; static void LoadTAS(const std::string &path) noexcept; void LoadROM(const std::string &path) noexcept; private: int width{}, height{}; bool aboutOpen = false; bool fileDialogOpen = false; bool quit = false; bool shouldDisplaySpinner = false; std::string fileToLoad = ""; void FileWorker() { if (fileToLoad.empty()) return; LoadROM(fileToLoad); shouldDisplaySpinner = false; fileToLoad = ""; } };