anchor.diff:    SDL_LockSurface(tmpSurface);
   
     //glReadPixels(0, 0, Self.Width, Self.Height, GL_BGR, GL_UNSIGNED_BYTE, tmpSurface^.pixels);
  +
  +  // By default Elysion's origin is at the top-left corner which is not the
  +  // default setting of OpenGL (default setting of OpenGL: bottom-left)
  +  // So we need to flip the image vertically (That's all that's happenin' here)
     glReadPixels(0, 0, Self.Width, Self.Height, GL_RGB, GL_UNSIGNED_BYTE, tmpSurface^.pixels);
  +  SDL_FlipRectV(tmpSurface, PSDLRect(0, 0, Self.Width, Self.Height));
   
     SDL_UnlockSurface(tmpSurface);
   
  -  SDL_SaveBMP(tmpSurface, PChar(Filename));
  +  ImagingSDL.SaveSDLSurfaceToFile(Filename, tmpSurface);
   
     SDL_FreeSurface(tmpSurface);
   
  
positive.code:     JoyHat[i] := false;
    end;
  
    if FHideCursor then SDL_ShowCursor(0)
                   else SDL_ShowCursor(1);
  
  
negative.code:   ElysionTexture,
    ElysionTimer,
    ElysionUtils,
    ElysionKeyCode,
  
    SDL,
    SDLUtils,
  