[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r3856 - in trunk/pingus/src: . display
From: |
grumbel at BerliOS |
Subject: |
[Pingus-CVS] r3856 - in trunk/pingus/src: . display |
Date: |
Thu, 17 Jul 2008 21:07:52 +0200 |
Author: grumbel
Date: 2008-07-17 21:07:50 +0200 (Thu, 17 Jul 2008)
New Revision: 3856
Modified:
trunk/pingus/src/display/display.cpp
trunk/pingus/src/globals.cpp
trunk/pingus/src/globals.hpp
trunk/pingus/src/pingus_main.cpp
Log:
Replaced --delta-drawing option with --renderer RENDERER
Modified: trunk/pingus/src/display/display.cpp
===================================================================
--- trunk/pingus/src/display/display.cpp 2008-07-17 16:09:07 UTC (rev
3855)
+++ trunk/pingus/src/display/display.cpp 2008-07-17 19:07:50 UTC (rev
3856)
@@ -77,12 +77,24 @@
{
if (!framebuffer.get())
{
- if (0)
- framebuffer = std::auto_ptr<Framebuffer>(new OpenGLFramebuffer());
- else if (delta_drawing)
- framebuffer = std::auto_ptr<Framebuffer>(new DeltaFramebuffer());
- else
- framebuffer = std::auto_ptr<Framebuffer>(new SDLFramebuffer());
+ switch (framebuffer_type)
+ {
+ case OPENGL_FRAMEBUFFER:
+ framebuffer = std::auto_ptr<Framebuffer>(new OpenGLFramebuffer());
+ break;
+
+ case DELTA_FRAMEBUFFER:
+ framebuffer = std::auto_ptr<Framebuffer>(new DeltaFramebuffer());
+ break;
+
+ case SDL_FRAMEBUFFER:
+ framebuffer = std::auto_ptr<Framebuffer>(new SDLFramebuffer());
+ break;
+
+ default:
+ assert(!"Unknown framebuffer_type");
+ break;
+ }
}
if (fullscreen)
Modified: trunk/pingus/src/globals.cpp
===================================================================
--- trunk/pingus/src/globals.cpp 2008-07-17 16:09:07 UTC (rev 3855)
+++ trunk/pingus/src/globals.cpp 2008-07-17 19:07:50 UTC (rev 3856)
@@ -43,5 +43,7 @@
bool fullscreen_enabled = false;
bool delta_drawing = false;
+
+FramebufferType framebuffer_type = DELTA_FRAMEBUFFER;
/* EOF */
Modified: trunk/pingus/src/globals.hpp
===================================================================
--- trunk/pingus/src/globals.hpp 2008-07-17 16:09:07 UTC (rev 3855)
+++ trunk/pingus/src/globals.hpp 2008-07-17 19:07:50 UTC (rev 3856)
@@ -38,7 +38,6 @@
extern bool drag_drop_scrolling;
extern int tile_size; ///< --tile-size
extern bool fullscreen_enabled; ///< --enable-fullscreen
-extern bool delta_drawing; ///< --delta-drawing
extern int default_screen_width; ///< default screen width
extern int default_screen_height; ///< default screen height
extern bool draw_collision_map; ///<
@@ -50,6 +49,9 @@
extern std::string global_email; ///< The email address of
the currently logged in user
extern std::string default_language; ///< The default
language, which is used when the env var LANG is not set
extern unsigned int pingus_debug_flags; ///< Set some bits in
this thing to get debug infos
+
+enum FramebufferType { DELTA_FRAMEBUFFER, SDL_FRAMEBUFFER, OPENGL_FRAMEBUFFER
};
+extern FramebufferType framebuffer_type;
enum { PINGUS_DEBUG_ACTIONS = (1 << 0),
PINGUS_DEBUG_SOUND = (1 << 1),
Modified: trunk/pingus/src/pingus_main.cpp
===================================================================
--- trunk/pingus/src/pingus_main.cpp 2008-07-17 16:09:07 UTC (rev 3855)
+++ trunk/pingus/src/pingus_main.cpp 2008-07-17 19:07:50 UTC (rev 3856)
@@ -239,8 +239,8 @@
_("Start in Window Mode"));
argp.add_option('f', "fullscreen", "",
_("Start in Fullscreen"));
- argp.add_option(336, "delta-drawing", "",
- _("Enable experimental delta drawing"));
+ argp.add_option('r', "renderer", "RENDERER",
+ _("Use the given renderer (default: delta)"));
argp.add_option(346, "enable-swcursor", "",
_("Enable software cursor"));
argp.add_option('g', "geometry", "{width}x{height}",
@@ -306,8 +306,33 @@
{
switch (argp.get_key())
{
- case 336: // --delta-drawing
- delta_drawing = true;
+ case 'r': // --renderer
+ if (argp.get_argument() == "delta")
+ {
+ framebuffer_type = DELTA_FRAMEBUFFER;
+ }
+ else if (argp.get_argument() == "opengl")
+ {
+ framebuffer_type = OPENGL_FRAMEBUFFER;
+ }
+ else if (argp.get_argument() == "sdl")
+ {
+ framebuffer_type = SDL_FRAMEBUFFER;
+ }
+ else if (argp.get_argument() == "help")
+ {
+ std::cout << "Available renderers: " << std::endl;
+ std::cout << " delta: Software rendering with
dirty-rectangles (default)" << std::endl;
+ std::cout << " sdl: Software rendering" << std::endl;
+ std::cout << " opengl: Hardware accelerated graphics" <<
std::endl;
+ exit(EXIT_SUCCESS);
+ }
+ else
+ {
+ std::cout << "Unknown renderer: " << argp.get_argument()
+ << " use '--renderer help' to get a list of
available rendere" << std::endl;
+ exit(EXIT_FAILURE);
+ }
break;
case 359: // --credits
@@ -361,7 +386,7 @@
case 'v':
std::cout << "Pingus " << VERSION << std::endl;
- std::cout << "\n"
+ std::cout << "\n"
"Copyright (C) 1998-2008 Ingo Ruhnke <address@hidden>\n"
"See the file AUTHORS for a complete list of contributors.\n\n"
"There is NO warranty. You may redistribute this software\n"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r3856 - in trunk/pingus/src: . display,
grumbel at BerliOS <=