From e58aa557e8d2ebd930f549eec98de59de6b63bed Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Sun, 17 Mar 2019 14:10:31 -0400 Subject: Only check errors from create calls --- demo.c | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/demo.c b/demo.c index a5116de..812e5f4 100644 --- a/demo.c +++ b/demo.c @@ -26,8 +26,13 @@ enum { Height = 402, }; +static void fail(const char *prefix) { + fprintf(stderr, "%s: %s\n", prefix, SDL_GetError()); + exit(EXIT_FAILURE); +} + int main(void) { - if (SDL_Init(SDL_INIT_VIDEO) < 0) goto fail; + if (SDL_Init(SDL_INIT_VIDEO) < 0) fail("SDL_Init"); atexit(SDL_Quit); SDL_Window *window; @@ -36,25 +41,27 @@ int main(void) { Width, Height, SDL_WINDOW_ALLOW_HIGHDPI, &window, &render ); - if (error) goto fail; + if (error) fail("SDL_CreateWindowAndRenderer"); int width, height; - if (SDL_GetRendererOutputSize(render, &width, &height) < 0) goto fail; - if (width != Width || height != Height) { - float scaleX = (float)width / Width; - float scaleY = (float)height / Height; - if (SDL_RenderSetIntegerScale(render, SDL_TRUE) < 0) goto fail; - if (SDL_RenderSetScale(render, scaleX, scaleY) < 0) goto fail; + SDL_GetRendererOutputSize(render, &width, &height); + if (width > Width || height > Height) { + SDL_RenderSetIntegerScale(render, SDL_TRUE); + SDL_RenderSetScale( + render, + (float)width / Width, + (float)height / Height + ); } // TODO: Path search/option. SDL_RWops *rw = SDL_RWFromFile("CARDS.DLL", "rb"); - if (!rw) goto fail; + if (!rw) fail("CARDS.DLL"); struct Cards *cards = Cards_Load( rw, Cards_ColorKey | Cards_AlphaCorners | Cards_BlackBorders ); - if (!cards) goto fail; + if (!cards) fail("Cards_Load"); SDL_RWclose(rw); SDL_Texture *textures[Cards_Count]; @@ -62,7 +69,7 @@ int main(void) { textures[i] = NULL; if (!cards->surfaces[i]) continue; textures[i] = SDL_CreateTextureFromSurface(render, cards->surfaces[i]); - if (!textures[i]) goto fail; + if (!textures[i]) fail("SDL_CreateTextureFromSurface"); } Cards_Free(cards); @@ -71,7 +78,7 @@ int main(void) { for (;;) { SDL_Event event; - if (!SDL_WaitEvent(&event)) goto fail; + SDL_WaitEvent(&event); if (event.type == SDL_QUIT) break; if (event.type == SDL_KEYDOWN) { @@ -95,17 +102,12 @@ int main(void) { } } - // TODO: Determine if these checks are really necessary. - if (SDL_SetRenderDrawColor(render, 0x00, 0xAA, 0x55, 0xFF) < 0) goto fail; - if (SDL_RenderClear(render) < 0) goto fail; - if (SDL_RenderCopy(render, textures[card], NULL, &rect) < 0) goto fail; + SDL_SetRenderDrawColor(render, 0x00, 0xAA, 0x55, 0xFF); + SDL_RenderClear(render); + SDL_RenderCopy(render, textures[card], NULL, &rect); SDL_RenderPresent(render); } return EXIT_SUCCESS; - -fail: - fprintf(stderr, "%s\n", SDL_GetError()); - return EXIT_FAILURE; } -- cgit 1.4.1 Expand)Author 2018-03-05Rename Tile timestamps {create,modify,access}TimeJune McEnroe 2018-03-05Pack message type enumsJune McEnroe 2018-03-05Undef COLOR_ constants in torus.hJune McEnroe 2018-03-05Generate tagsJune McEnroe 2017-10-03Simplify Makefile with pattern ruleJune McEnroe 2017-09-27Remove leading blank linesJune McEnroe 2017-09-27Add merge.c to READMEJune McEnroe 2017-09-03Assert client coords are valid after movementJune McEnroe 2017-09-03Relicense AGPLJune McEnroe 2017-09-01Revert "Add client readOnly mode"June McEnroe 2017-09-01Remove clientRemove call from clientCastJune McEnroe 2017-09-01Add client readOnly modeJune McEnroe 2017-08-31Clean up merge toolJune McEnroe 2017-08-31Choose B for tiles with equal modify timesJune McEnroe 2017-08-31Add quick data file merge toolJune McEnroe 2017-08-30Use only foreground color for selecting spawnJune McEnroe 2017-08-29Add four additional spawnsJune McEnroe 2017-08-28Add respawningJune McEnroe 2017-08-26Move license above includesJune McEnroe 2017-08-26Snapshot metadataJune McEnroe 2017-08-26Add meta.c to READMEJune McEnroe 2017-08-26Use MakefileJune McEnroe