Separate SDL window and renderer creation

This commit is contained in:
Lily Rose 2025-03-04 19:39:36 +11:00
parent d16b256cac
commit 775688cdfe

14
main.c
View file

@ -55,11 +55,19 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) {
} }
*appstate = state; *appstate = state;
if (!SDL_CreateWindowAndRenderer("Game Dev", 1280, 960, 0, &state->window, &state->rendererData.renderer)) { state->window = SDL_CreateWindow("Game Dev", 1280, 960, SDL_WINDOW_RESIZABLE);
SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Failed to create window and renderer: %s", SDL_GetError()); if (!state->window) {
SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Failed to create window: %s", SDL_GetError());
return SDL_APP_FAILURE; return SDL_APP_FAILURE;
} }
SDL_SetWindowResizable(state->window, true);
state->rendererData.renderer = SDL_CreateRenderer(state->window, NULL);
if (!state->rendererData.renderer) {
SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Failed to create renderer: %s", SDL_GetError());
return SDL_APP_FAILURE;
}
SDL_SetRenderDrawBlendMode(state->rendererData.renderer, SDL_BLENDMODE_BLEND);
state->rendererData.textEngine = TTF_CreateRendererTextEngine(state->rendererData.renderer); state->rendererData.textEngine = TTF_CreateRendererTextEngine(state->rendererData.renderer);
if (!state->rendererData.textEngine) { if (!state->rendererData.textEngine) {