// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
#include <config.h>
+#include <version.h>
#include <assert.h>
#include "log.hpp"
" -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution\n"
" -a, --aspect WIDTH:HEIGHT Run SuperTux with given aspect ratio\n"
" -d, --default Reset video settings to default values\n"
+ " --renderer RENDERER Use sdl, opengl, or auto to render\n"
" --disable-sfx Disable sound effects\n"
" --disable-music Disable music\n"
- " -h, --help Show this help message\n"
+ " -h, --help Show this help message and quit\n"
" -v, --version Show SuperTux version and quit\n"
" --console Enable ingame scripting console\n"
" --noconsole Disable ingame scripting console\n"
std::cout << PACKAGE_NAME << " " << PACKAGE_VERSION << std::endl;
return true;
}
+ if(arg == "--help" || arg == "-h") {
+ print_usage(argv[0]);
+ return true;
+ }
}
return false;
for(int i = 1; i < argc; ++i) {
std::string arg = argv[i];
- if(arg == "--help" || arg == "-h") {
- print_usage(argv[0]);
- return true;
- } else if(arg == "--fullscreen" || arg == "-f") {
+ if(arg == "--fullscreen" || arg == "-f") {
config->use_fullscreen = true;
} else if(arg == "--default" || arg == "-d") {
config->use_fullscreen = false;
}
}
}
+ } else if(arg == "--renderer") {
+ i += 1;
+ if(i >= argc)
+ {
+ print_usage(argv[0]);
+ throw std::runtime_error("Need to specify a renderer for renderer argument");
+ }
+ else
+ {
+ config->video = get_video_system(argv[i]);
+ }
} else if(arg == "--show-fps") {
config->show_fps = true;
} else if(arg == "--no-show-fps") {
{
int result = 0;
-#ifndef DEBUG
try {
-#endif
if(pre_parse_commandline(argc, argv))
return 0;
main_loop = new MainLoop();
if(config->start_level != "") {
- // we have a normal path specified at commandline not physfs paths.
+ // we have a normal path specified at commandline, not a physfs path.
// So we simply mount that path here...
std::string dir = FileSystem::dirname(config->start_level);
+ log_debug << "Adding dir: " << dir << std::endl;
PHYSFS_addToSearchPath(dir.c_str(), true);
if(config->start_level.size() > 4 &&
//init_rand(); PAK: this call might subsume the above 3, but I'm chicken!
main_loop->run(context);
-#ifndef DEBUG
} catch(std::exception& e) {
log_fatal << "Unexpected exception: " << e.what() << std::endl;
result = 1;
log_fatal << "Unexpected exception" << std::endl;
result = 1;
}
-#endif
delete main_loop;
main_loop = NULL;