diff options
Diffstat (limited to 'src/init.c')
-rw-r--r-- | src/init.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/init.c b/src/init.c new file mode 100644 index 0000000..f893d1d --- /dev/null +++ b/src/init.c @@ -0,0 +1,36 @@ +#include <SDL.h> +#include <SDL_image.h> +#include "init.h" +#include "logging.h" + +void +init(void) +{ + debug("Initializing SDL..."); + if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1) { + err(1, "Failed to initialize SDL (%s)", SDL_GetError()); + } + + debug("Initializing SDL_Image..."); + if (IMG_Init(IMG_INIT_PNG) != IMG_INIT_PNG) { + err(1, "Failed to initialize SDL_Image (%s)", IMG_GetError()); + } + + debug("Setting video mode..."); + screen = SDL_SetVideoMode(240, 160, 8, SDL_SWSURFACE | SDL_ANYFORMAT); + if (screen == NULL) { + err(1, "Failed to set video mode (%s)", SDL_GetError()); + } +} + +void +quit(int status) +{ + debug("Quitting SDL_Image..."); + IMG_Quit(); + + debug("Quitting SDL..."); + SDL_Quit(); + + exit(status); +} |