Backends: Added init/de-init messages for backends
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
This commit is contained in:
parent
53e2b715d4
commit
9be8b9a493
10 changed files with 66 additions and 1 deletions
|
@ -65,6 +65,7 @@ static void Callback(void *user_data, Uint8 *stream_uint8, int len)
|
|||
|
||||
BOOL AudioBackend_Init(void)
|
||||
{
|
||||
Backend_PrintInfo("Initializing SDL2 audio backend...");
|
||||
if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0)
|
||||
{
|
||||
std::string errorMessage = std::string("'SDL_InitSubSystem(SDL_INIT_AUDIO)' failed: ") + SDL_GetError();
|
||||
|
@ -101,14 +102,17 @@ BOOL AudioBackend_Init(void)
|
|||
|
||||
Backend_PrintInfo("Selected SDL audio driver: %s", SDL_GetCurrentAudioDriver());
|
||||
|
||||
Backend_PrintInfo("Succesfully initialized SDL2 audio backend");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void AudioBackend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing SDL2 audio backend...");
|
||||
SDL_CloseAudioDevice(device_id);
|
||||
|
||||
SDL_QuitSubSystem(SDL_INIT_AUDIO);
|
||||
Backend_PrintInfo("Finished de-initializing SDL2 audio backend");
|
||||
}
|
||||
|
||||
AudioBackend_Sound* AudioBackend_CreateSound(unsigned int frequency, const unsigned char *samples, size_t length)
|
||||
|
|
|
@ -73,6 +73,7 @@ static void Callback(ma_device *device, void *output_stream, const void *input_s
|
|||
|
||||
BOOL AudioBackend_Init(void)
|
||||
{
|
||||
Backend_PrintInfo("Initializing miniaudio audio backend...");
|
||||
ma_device_config config = ma_device_config_init(ma_device_type_playback);
|
||||
config.playback.pDeviceID = NULL;
|
||||
config.playback.format = ma_format_f32;
|
||||
|
@ -99,6 +100,7 @@ BOOL AudioBackend_Init(void)
|
|||
|
||||
Mixer_Init(device.sampleRate);
|
||||
|
||||
Backend_PrintInfo("Successfully initialized miniaudio audio backend");
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
|
@ -133,6 +135,7 @@ BOOL AudioBackend_Init(void)
|
|||
|
||||
void AudioBackend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing miniaudio audio backend...");
|
||||
ma_result return_value;
|
||||
return_value = ma_device_stop(&device);
|
||||
|
||||
|
@ -144,6 +147,7 @@ void AudioBackend_Deinit(void)
|
|||
ma_mutex_uninit(&mutex);
|
||||
|
||||
ma_device_uninit(&device);
|
||||
Backend_PrintInfo("Finished de-initializing miniaudio audio backend...");
|
||||
}
|
||||
|
||||
AudioBackend_Sound* AudioBackend_CreateSound(unsigned int frequency, const unsigned char *samples, size_t length)
|
||||
|
|
|
@ -71,6 +71,7 @@ static void JoystickCallback(int joystick_id, int event)
|
|||
|
||||
BOOL ControllerBackend_Init(void)
|
||||
{
|
||||
Backend_PrintInfo("Initializing GLFW controller backend...");
|
||||
// Connect joysticks that are already plugged-in
|
||||
for (int i = GLFW_JOYSTICK_1; i < GLFW_JOYSTICK_LAST; ++i)
|
||||
if (glfwJoystickPresent(i) == GLFW_TRUE)
|
||||
|
@ -79,11 +80,13 @@ BOOL ControllerBackend_Init(void)
|
|||
// Set-up the callback for future (dis)connections
|
||||
glfwSetJoystickCallback(JoystickCallback);
|
||||
|
||||
Backend_PrintInfo("Sucessfully initialized GLFW controller backend");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void ControllerBackend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing GLFW controller backend...");
|
||||
glfwSetJoystickCallback(NULL);
|
||||
|
||||
joystick_connected = FALSE;
|
||||
|
@ -91,6 +94,7 @@ void ControllerBackend_Deinit(void)
|
|||
|
||||
free(axis_neutrals);
|
||||
axis_neutrals = NULL;
|
||||
Backend_PrintInfo("Finished de-initializing GLFW controller backend");
|
||||
}
|
||||
|
||||
BOOL ControllerBackend_GetJoystickStatus(JOYSTICK_STATUS *status)
|
||||
|
|
|
@ -159,10 +159,14 @@ static void ErrorCallback(int code, const char *description)
|
|||
|
||||
BOOL Backend_Init(void)
|
||||
{
|
||||
Backend_PrintInfo("Initializing GLFW platform backend...");
|
||||
glfwSetErrorCallback(ErrorCallback);
|
||||
|
||||
if (glfwInit() == GL_TRUE)
|
||||
{
|
||||
Backend_PrintInfo("Successfully initialized GLFW platform backend");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Backend_ShowMessageBox("Fatal error", "Could not initialise GLFW3");
|
||||
|
||||
|
@ -171,10 +175,12 @@ BOOL Backend_Init(void)
|
|||
|
||||
void Backend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing GLFW platform backend...");
|
||||
if (cursor != NULL)
|
||||
glfwDestroyCursor(cursor);
|
||||
|
||||
glfwTerminate();
|
||||
Backend_PrintInfo("Finished de-initializing GLFW platform backend ");
|
||||
}
|
||||
|
||||
void Backend_PostWindowCreation(void)
|
||||
|
|
|
@ -583,7 +583,10 @@ static void PostGLCallCallback(const char *name, void *function_pointer, int len
|
|||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen)
|
||||
{
|
||||
#ifndef USE_OPENGLES2
|
||||
Backend_PrintInfo("Initializing OpenGL3 rendering backend...");
|
||||
glad_set_post_callback(PostGLCallCallback);
|
||||
#else
|
||||
Backend_PrintInfo("Initializing OpenGLES2 rendering backend...");
|
||||
#endif
|
||||
|
||||
actual_screen_width = screen_width;
|
||||
|
@ -668,6 +671,12 @@ RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_w
|
|||
config.delete_texture_callback = GlyphBatch_DestroyTexture;
|
||||
spritebatch_init(&glyph_batcher, &config, NULL);
|
||||
|
||||
#ifndef USE_OPENGLES2
|
||||
Backend_PrintInfo("Successfully initialized OpenGL3 rendering backend");
|
||||
#else
|
||||
Backend_PrintInfo("Successfully initialized OpenGLES2 rendering backend");
|
||||
#endif
|
||||
|
||||
return &framebuffer;
|
||||
}
|
||||
|
||||
|
@ -694,6 +703,11 @@ RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_w
|
|||
|
||||
void RenderBackend_Deinit(void)
|
||||
{
|
||||
#ifndef USE_OPENGLES2
|
||||
Backend_PrintInfo("De-initializing OpenGL3 rendering backend...");
|
||||
#else
|
||||
Backend_PrintInfo("De-initializing OpenGLES2 rendering backend...");
|
||||
#endif
|
||||
free(local_vertex_buffer);
|
||||
|
||||
spritebatch_term(&glyph_batcher);
|
||||
|
@ -710,6 +724,12 @@ void RenderBackend_Deinit(void)
|
|||
#endif
|
||||
|
||||
WindowBackend_OpenGL_DestroyWindow();
|
||||
|
||||
#ifndef USE_OPENGLES2
|
||||
Backend_PrintInfo("Finished de-initializing OpenGL3 rendering backend");
|
||||
#else
|
||||
Backend_PrintInfo("Finished de-initializing OpenGLES2 rendering backend");
|
||||
#endif
|
||||
}
|
||||
|
||||
void RenderBackend_DrawScreen(void)
|
||||
|
|
|
@ -47,6 +47,7 @@ static void RectToSDLRect(const RECT *rect, SDL_Rect *sdl_rect)
|
|||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen)
|
||||
{
|
||||
Backend_PrintInfo("Initializing SDLSurface rendering backend...");
|
||||
window = SDL_CreateWindow(window_title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, screen_width, screen_height, 0);
|
||||
|
||||
if (window != NULL)
|
||||
|
@ -66,6 +67,7 @@ RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_w
|
|||
{
|
||||
Backend_PostWindowCreation();
|
||||
|
||||
Backend_PrintInfo("Successfully initialized SDLSurface rendering backend");
|
||||
return &framebuffer;
|
||||
}
|
||||
|
||||
|
@ -91,8 +93,10 @@ RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_w
|
|||
|
||||
void RenderBackend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing SDLSurface rendering backend...");
|
||||
SDL_FreeSurface(framebuffer.sdlsurface);
|
||||
SDL_DestroyWindow(window);
|
||||
Backend_PrintInfo("Finished de-initializing SDLSurface rendering backend");
|
||||
}
|
||||
|
||||
void RenderBackend_DrawScreen(void)
|
||||
|
|
|
@ -128,6 +128,7 @@ static void GlyphBatch_DestroyTexture(SPRITEBATCH_U64 texture_id, void *udata)
|
|||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen)
|
||||
{
|
||||
Backend_PrintInfo("Initializing SDLTexture rendering backend...");
|
||||
Backend_PrintInfo("Available SDL render drivers:");
|
||||
|
||||
for (int i = 0; i < SDL_GetNumRenderDrivers(); ++i)
|
||||
|
@ -185,6 +186,7 @@ RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_w
|
|||
{
|
||||
Backend_PostWindowCreation();
|
||||
|
||||
Backend_PrintInfo("Successfully initialized SDLTexture rendering backend");
|
||||
return &framebuffer;
|
||||
}
|
||||
else
|
||||
|
@ -220,10 +222,12 @@ RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_w
|
|||
|
||||
void RenderBackend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing SDLTexture rendering backend...");
|
||||
spritebatch_term(&glyph_batcher);
|
||||
SDL_DestroyTexture(framebuffer.texture);
|
||||
SDL_DestroyRenderer(renderer);
|
||||
SDL_DestroyWindow(window);
|
||||
Backend_PrintInfo("Finished de-initializing SDLTexture rendering backend...");
|
||||
}
|
||||
|
||||
void RenderBackend_DrawScreen(void)
|
||||
|
|
|
@ -35,18 +35,29 @@ static RenderBackend_Surface *glyph_destination_surface;
|
|||
|
||||
RenderBackend_Surface* RenderBackend_Init(const char *window_title, int screen_width, int screen_height, BOOL fullscreen)
|
||||
{
|
||||
Backend_PrintInfo("Initializing Software rendering backend...");
|
||||
size_t pitch;
|
||||
framebuffer.pixels = WindowBackend_Software_CreateWindow(window_title, screen_width, screen_height, fullscreen, &pitch);
|
||||
framebuffer.width = screen_width;
|
||||
framebuffer.height = screen_height;
|
||||
framebuffer.pitch = pitch;
|
||||
|
||||
if (framebuffer.pixels)
|
||||
{
|
||||
Backend_PrintInfo("Successfully initialized Software rendering backend");
|
||||
return &framebuffer;
|
||||
}
|
||||
else
|
||||
{
|
||||
Backend_PrintError("Failed to create window");
|
||||
}
|
||||
}
|
||||
|
||||
void RenderBackend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing Software rendering backend...");
|
||||
WindowBackend_Software_DestroyWindow();
|
||||
Backend_PrintInfo("Finished de-initializing Software rendering backend");
|
||||
}
|
||||
|
||||
void RenderBackend_DrawScreen(void)
|
||||
|
|
|
@ -17,17 +17,20 @@ static Sint16 *axis_neutrals;
|
|||
|
||||
BOOL ControllerBackend_Init(void)
|
||||
{
|
||||
Backend_PrintInfo("Initializing SDL2 controller backend...");
|
||||
if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) < 0)
|
||||
{
|
||||
Backend_PrintError("Couldn't initialise joystick SDL subsystem: %s", SDL_GetError());
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Backend_PrintInfo("Successfully initialized SDL2 controller backend");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void ControllerBackend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing SDL2 controller backend...");
|
||||
if (joystick != NULL)
|
||||
{
|
||||
SDL_JoystickClose(joystick);
|
||||
|
@ -35,6 +38,7 @@ void ControllerBackend_Deinit(void)
|
|||
}
|
||||
|
||||
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
||||
Backend_PrintInfo("Finished de-initializing SDL2 controller backend");
|
||||
}
|
||||
|
||||
BOOL ControllerBackend_GetJoystickStatus(JOYSTICK_STATUS *status)
|
||||
|
|
|
@ -33,6 +33,7 @@ static SDL_Cursor *cursor;
|
|||
|
||||
BOOL Backend_Init(void)
|
||||
{
|
||||
Backend_PrintInfo("Initializing SDL2 platform backend...");
|
||||
if (SDL_Init(SDL_INIT_EVENTS) == 0)
|
||||
{
|
||||
if (SDL_InitSubSystem(SDL_INIT_VIDEO) == 0)
|
||||
|
@ -49,6 +50,7 @@ BOOL Backend_Init(void)
|
|||
else
|
||||
Backend_PrintError("No SDL video driver initialized !");
|
||||
|
||||
Backend_PrintInfo("Successfully initialized SDL2 platform backend");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -67,6 +69,7 @@ BOOL Backend_Init(void)
|
|||
|
||||
void Backend_Deinit(void)
|
||||
{
|
||||
Backend_PrintInfo("De-initializing SDL2 platform backend...");
|
||||
if (cursor != NULL)
|
||||
SDL_FreeCursor(cursor);
|
||||
|
||||
|
@ -76,6 +79,7 @@ void Backend_Deinit(void)
|
|||
free(cursor_surface_pixels);
|
||||
|
||||
SDL_Quit();
|
||||
Backend_PrintInfo("Finished de-initializing SDL2 platform backend...");
|
||||
}
|
||||
|
||||
void Backend_PostWindowCreation(void)
|
||||
|
|
Loading…
Add table
Reference in a new issue