Index: game-gui-sdl.cpp
===================================================================
--- game-gui-sdl.cpp	(revision d02c25fa79b67a8b494319ad045f999c30903fd1)
+++ game-gui-sdl.cpp	(revision d5f2b42822ceb964aa43e90cf4cb4ab7c43a3920)
@@ -1,3 +1,11 @@
 #include "game-gui-sdl.hpp"
+
+string GameGui_SDL::s_errorMessage;
+
+string& GameGui_SDL::GetError() {
+   GameGui_SDL::s_errorMessage = SDL_GetError();
+
+   return GameGui_SDL::s_errorMessage;
+}
 
 bool GameGui_SDL::Init() {
@@ -5,10 +13,6 @@
    // prevents SDL from setting up its own handlers for SIG_SEGV and stuff like that
 
-   // If this function fails, I can call SDL_GetError() for more info
-   // I should create a generic error retrieval function, similar to SDL_GetError()
+   GameGui_SDL::s_errorMessage = "No error";
 
-   // cout << "SDL could not initialize! SDL_Error: " << SDL_GetError() << endl;
-
-   // TODO: Print out contextual error messages instead of just returning
    if (SDL_Init(SDL_INIT_EVERYTHING) < 0) {
       return RTWO_ERROR;
Index: game-gui-sdl.hpp
===================================================================
--- game-gui-sdl.hpp	(revision d02c25fa79b67a8b494319ad045f999c30903fd1)
+++ game-gui-sdl.hpp	(revision d5f2b42822ceb964aa43e90cf4cb4ab7c43a3920)
@@ -11,4 +11,6 @@
 class GameGui_SDL : public GameGui {
    public:
+      string& GetError();
+
       bool Init();
       void Shutdown();
@@ -26,4 +28,6 @@
    private:
       SDL_Window* window;
+
+      static string s_errorMessage;
 };
 
Index: game-gui.hpp
===================================================================
--- game-gui.hpp	(revision d02c25fa79b67a8b494319ad045f999c30903fd1)
+++ game-gui.hpp	(revision d5f2b42822ceb964aa43e90cf4cb4ab7c43a3920)
@@ -18,4 +18,6 @@
       virtual ~GameGui() {};
 
+      virtual string& GetError() = 0;
+
       virtual bool Init() = 0;
       virtual void Shutdown() = 0;
Index: vulkan-game.cpp
===================================================================
--- vulkan-game.cpp	(revision d02c25fa79b67a8b494319ad045f999c30903fd1)
+++ vulkan-game.cpp	(revision d5f2b42822ceb964aa43e90cf4cb4ab7c43a3920)
@@ -30,5 +30,5 @@
    if (gui->Init() == RTWO_ERROR) {
       cout << "UI library could not be initialized!" << endl;
-      cout << SDL_GetError() << endl;
+      cout << gui->GetError() << endl;
       return RTWO_ERROR;
    }
