- var sdl_display = new SDLDisplay(window_width, window_height)
- assert not sdl_display.address_is_null else print "Opening SDL display failed"
- return sdl_display
+ assert sdl.initialize((new SDLInitFlags).video.audio) else
+ print_error "Failed to initialize SDL2: {sdl.error}"
+ end
+
+ var img_flags = (new SDLImgInitFlags).png.jpg
+ assert sdl.img.initialize(img_flags) == img_flags else
+ print_error "Failed to initialize SDL2 IMG: {sdl.error}"
+ end
+
+ var sdl_window = new SDLWindow(window_title.to_cstring, window_width, window_height, (new SDLWindowFlags).opengl)
+ assert not sdl_window.address_is_null else
+ print_error "Failed to create SDL2 window: {sdl.error}"
+ end
+
+ # Audio support
+ var inited = mix.initialize(mix_init_flags)
+ assert inited != mix_init_flags else
+ print_error "Failed to load SDL2 mixer format supports: {mix.error}"
+ end
+
+ var opened = mix.open_audio(44100, mix.default_format, 2, 1024)
+ assert opened else
+ print_error "Failed to initialize SDL2 mixer: {mix.error}"
+ end
+
+ return sdl_window