desktop_height = info->current_h;
}
- /* we want vsync for smooth scrolling */
- SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1);
+ if(config->try_vsync) {
+ /* we want vsync for smooth scrolling */
+ SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1);
+ }
#endif
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
}
#endif
+ SDL_ShowCursor(0);
+
double aspect_ratio = config->aspect_ratio;
// try to guess aspect ratio of monitor if needed
if (aspect_ratio <= 0) {
- if(desktop_width > 0) {
+ if(config->use_fullscreen && desktop_width > 0) {
aspect_ratio = static_cast<double>(desktop_width) / static_cast<double>(desktop_height);
} else {
aspect_ratio = 4.0 / 3.0;
// use aspect ratio to calculate logical resolution
if (aspect_ratio > 1) {
- SCREEN_WIDTH = static_cast<int> (600 * aspect_ratio);
- SCREEN_HEIGHT = 600;
+ SCREEN_WIDTH = static_cast<int> (600 * aspect_ratio + 0.5);
+ SCREEN_HEIGHT = 600;
} else {
- SCREEN_WIDTH = 600;
- SCREEN_HEIGHT = static_cast<int> (600 * 1/aspect_ratio);
+ SCREEN_WIDTH = 600;
+ SCREEN_HEIGHT = static_cast<int> (600 * 1/aspect_ratio + 0.5);
}
+ log_info << (config->use_fullscreen?"fullscreen ":"window ") << SCREEN_WIDTH << "x" << SCREEN_HEIGHT << " Ratio: " << aspect_ratio << "\n";
+
// setup opengl state and transform
glDisable(GL_DEPTH_TEST);
glDisable(GL_CULL_FACE);