From fbfa0d436cb4ce47d19f449b8d376f20294f29f4 Mon Sep 17 00:00:00 2001 From: Aloshi Date: Fri, 27 Jul 2012 17:35:45 -0500 Subject: [PATCH] Resolution now uses whatever the system was before. A custom resolution can be used with the -w and -h switches. For the old resolution, use "emulationstation -w 1024 -h 768". --- src/Renderer.cpp | 4 ++-- src/main.cpp | 27 +++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/Renderer.cpp b/src/Renderer.cpp index ad4c5bf45..9ff861f66 100644 --- a/src/Renderer.cpp +++ b/src/Renderer.cpp @@ -3,8 +3,8 @@ std::vector renderVector; -unsigned int Renderer::getScreenWidth() { return 1024; } -unsigned int Renderer::getScreenHeight() { return 768; } +unsigned int Renderer::getScreenWidth() { return Renderer::screen ? Renderer::screen->w : 640; } //1024; } +unsigned int Renderer::getScreenHeight() { return Renderer::screen ? Renderer::screen->h : 480; } void Renderer::registerComponent(GuiComponent* comp) { diff --git a/src/main.cpp b/src/main.cpp index ae3a64c17..e69f2bdff 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,7 +7,7 @@ #include #include "components/GuiInputConfig.h" -int main() +int main(int argc, char* argv[]) { bool running = true; @@ -25,12 +25,35 @@ int main() return 1; } - Renderer::screen = SDL_SetVideoMode(Renderer::getScreenWidth(), Renderer::getScreenHeight(), 16, SDL_SWSURFACE); + + int width = 0; + int height = 0; + if(argc > 1) + { + for(int i = 1; i < argc; i++) + { + if(strcmp(argv[i], "-w") == 0) + { + width = atoi(argv[i + 1]); + i++; + }else if(strcmp(argv[i], "-h") == 0) + { + height = atoi(argv[i + 1]); + i++; + } + } + } + + Renderer::screen = SDL_SetVideoMode(width, height, 16, SDL_SWSURFACE | SDL_FULLSCREEN); + if(Renderer::screen == NULL) { std::cerr << "Error - could not set video mode!\n"; std::cerr << " " << SDL_GetError() << "\n"; + std::cerr << "\nYou may want to try using -w and -h to specify a resolution.\n"; return 1; + }else{ + std::cout << "Video mode is " << Renderer::screen->w << "x" << Renderer::screen->h << "\n"; } SDL_ShowCursor(false);