| 160 | } |
| 161 | |
| 162 | void AbyssEngine::initializeSDL() { |
| 163 | #ifdef _WIN32 |
| 164 | putenv("SDL_AUDIODRIVER=DirectSound"); |
| 165 | #endif |
| 166 | if (SDL_Init(SDL_INIT_VIDEO) != 0) { |
| 167 | throw std::runtime_error(absl::StrCat("SDL_Init Error: ", SDL_GetError())); |
| 168 | } |
| 169 | |
| 170 | _window.reset(SDL_CreateWindow("Abyss Engine", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE)); |
| 171 | if (_window == nullptr) { |
| 172 | throw std::runtime_error(absl::StrCat("SDL_CreateWindow Error: ", SDL_GetError())); |
| 173 | } |
| 174 | |
| 175 | _renderer.reset(SDL_CreateRenderer(_window.get(), -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC)); |
| 176 | if (_renderer == nullptr) { |
| 177 | throw std::runtime_error(absl::StrCat("SDL_CreateRenderer Error: ", SDL_GetError())); |
| 178 | } |
| 179 | |
| 180 | _renderTexture.reset(SDL_CreateTexture(_renderer.get(), SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, 800, 600)); |
| 181 | } |
| 182 | |
| 183 | void AbyssEngine::initializeImGui() const { |
| 184 | IMGUI_CHECKVERSION(); |
nothing calls this directly
no outgoing calls
no test coverage detected