X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fsetup.cpp;h=a248d2cf66031f56ba96930985b05bf7cd4921a6;hb=828b5e1ef1cb89d830735f24dd79bbd9b09d5b32;hp=5465cf02ea1c632d127e35eb9e61b9c0e99c957b;hpb=86d6fe09bcf7c97183cd146a7ee48bad1c9a43da;p=supertux.git diff --git a/src/setup.cpp b/src/setup.cpp index 5465cf02e..a248d2cf6 100644 --- a/src/setup.cpp +++ b/src/setup.cpp @@ -42,8 +42,8 @@ #include "defines.h" #include "globals.h" #include "setup.h" -#include "screen.h" -#include "texture.h" +#include "screen/screen.h" +#include "screen/texture.h" #include "menu.h" #include "gameloop.h" #include "configfile.h" @@ -51,7 +51,8 @@ #include "worldmap.h" #include "resources.h" #include "intro.h" -#include "music_manager.h" +#include "sound_manager.h" +#include "gettext.h" #include "player.h" @@ -64,8 +65,8 @@ /* Screen proprities: */ /* Don't use this to test for the actual screen sizes. Use screen->w/h instead! */ -#define SCREEN_W 640 -#define SCREEN_H 480 +#define SCREEN_W 800 +#define SCREEN_H 600 /* Local function prototypes: */ @@ -384,65 +385,67 @@ void st_menu(void) worldmap_menu = new Menu(); main_menu->set_pos(screen->w/2, 335); - main_menu->additem(MN_GOTO, "Start Game",0,load_game_menu, MNID_STARTGAME); - main_menu->additem(MN_GOTO, "Contrib Levels",0,contrib_menu, MNID_CONTRIB); - main_menu->additem(MN_GOTO, "Options",0,options_menu, MNID_OPTIONMENU); - main_menu->additem(MN_ACTION,"Level Editor",0,0, MNID_LEVELEDITOR); - main_menu->additem(MN_ACTION,"Credits",0,0, MNID_CREDITS); - main_menu->additem(MN_ACTION,"Quit",0,0, MNID_QUITMAINMENU); - - options_menu->additem(MN_LABEL,"Options",0,0); + main_menu->additem(MN_GOTO, _("Start Game"),0,load_game_menu, MNID_STARTGAME); + main_menu->additem(MN_GOTO, _("Contrib Levels"),0,contrib_menu, MNID_CONTRIB); + main_menu->additem(MN_GOTO, _("Options"),0,options_menu, MNID_OPTIONMENU); + main_menu->additem(MN_ACTION, _("Level Editor"),0,0, MNID_LEVELEDITOR); + main_menu->additem(MN_ACTION, _("Credits"),0,0, MNID_CREDITS); + main_menu->additem(MN_ACTION, _("Quit"),0,0, MNID_QUITMAINMENU); + + options_menu->additem(MN_LABEL,_("Options"),0,0); options_menu->additem(MN_HL,"",0,0); #ifndef NOOPENGL - options_menu->additem(MN_TOGGLE,"OpenGL",use_gl,0, MNID_OPENGL); + options_menu->additem(MN_TOGGLE,_("OpenGL "),use_gl,0, MNID_OPENGL); #else - options_menu->additem(MN_DEACTIVE,"OpenGL (not supported)",use_gl, 0, MNID_OPENGL); + options_menu->additem(MN_DEACTIVE,_("OpenGL (not supported)"),use_gl, 0, MNID_OPENGL); #endif - options_menu->additem(MN_TOGGLE,"Fullscreen",use_fullscreen,0, MNID_FULLSCREEN); + options_menu->additem(MN_TOGGLE,_("Fullscreen"),use_fullscreen,0, MNID_FULLSCREEN); if(audio_device) { - options_menu->additem(MN_TOGGLE,"Sound ", use_sound,0, MNID_SOUND); - options_menu->additem(MN_TOGGLE,"Music ", use_music,0, MNID_MUSIC); + options_menu->additem(MN_TOGGLE,_("Sound "), use_sound,0, MNID_SOUND); + options_menu->additem(MN_TOGGLE,_("Music "), use_music,0, MNID_MUSIC); } else { - options_menu->additem(MN_DEACTIVE,"Sound ", false,0, MNID_SOUND); - options_menu->additem(MN_DEACTIVE,"Music ", false,0, MNID_MUSIC); + options_menu->additem(MN_DEACTIVE,_("Sound "), false,0, MNID_SOUND); + options_menu->additem(MN_DEACTIVE,_("Music "), false,0, MNID_MUSIC); } - options_menu->additem(MN_TOGGLE,"Show FPS ",show_fps,0, MNID_SHOWFPS); - options_menu->additem(MN_GOTO,"Keyboard Setup",0,options_keys_menu); + options_menu->additem(MN_TOGGLE,_("Show FPS "),show_fps,0, MNID_SHOWFPS); + options_menu->additem(MN_GOTO,_("Setup Keys"),0,options_keys_menu); - //if(use_joystick) - // options_menu->additem(MN_GOTO,"Joystick Setup",0,options_joystick_menu); + if(use_joystick) + options_menu->additem(MN_GOTO,_("Setup Joystick"),0,options_joystick_menu); options_menu->additem(MN_HL,"",0,0); - options_menu->additem(MN_BACK,"Back",0,0); + options_menu->additem(MN_BACK,_("Back"),0,0); - options_keys_menu->additem(MN_LABEL,"Key Setup",0,0); + options_keys_menu->additem(MN_LABEL,_("Keyboard Setup"),0,0); options_keys_menu->additem(MN_HL,"",0,0); - options_keys_menu->additem(MN_CONTROLFIELD,"Left move", 0,0, 0,&keymap.left); - options_keys_menu->additem(MN_CONTROLFIELD,"Right move", 0,0, 0,&keymap.right); - options_keys_menu->additem(MN_CONTROLFIELD,"Jump", 0,0, 0,&keymap.jump); - options_keys_menu->additem(MN_CONTROLFIELD,"Duck", 0,0, 0,&keymap.duck); - options_keys_menu->additem(MN_CONTROLFIELD,"Power/Run", 0,0, 0,&keymap.fire); + options_keys_menu->additem(MN_CONTROLFIELD_KB,_("Left move"), 0,0, 0,&keymap.left); + options_keys_menu->additem(MN_CONTROLFIELD_KB,_("Right move"), 0,0, 0,&keymap.right); + options_keys_menu->additem(MN_CONTROLFIELD_KB,_("Jump"), 0,0, 0,&keymap.jump); + options_keys_menu->additem(MN_CONTROLFIELD_KB,_("Duck"), 0,0, 0,&keymap.duck); + options_keys_menu->additem(MN_CONTROLFIELD_KB,_("Activate"), 0, 0, 0, + &keymap.activate); + options_keys_menu->additem(MN_CONTROLFIELD_KB,_("Power/Run"), 0,0, 0,&keymap.fire); options_keys_menu->additem(MN_HL,"",0,0); - options_keys_menu->additem(MN_BACK,"Back",0,0); + options_keys_menu->additem(MN_BACK,_("Back"),0,0); if(use_joystick) { - options_joystick_menu->additem(MN_LABEL,"Joystick Setup",0,0); + options_joystick_menu->additem(MN_LABEL,_("Joystick Setup"),0,0); options_joystick_menu->additem(MN_HL,"",0,0); - options_joystick_menu->additem(MN_CONTROLFIELD,"X axis", 0,0, 0,&joystick_keymap.x_axis); - options_joystick_menu->additem(MN_CONTROLFIELD,"Y axis", 0,0, 0,&joystick_keymap.y_axis); - options_joystick_menu->additem(MN_CONTROLFIELD,"A button", 0,0, 0,&joystick_keymap.a_button); - options_joystick_menu->additem(MN_CONTROLFIELD,"B button", 0,0, 0,&joystick_keymap.b_button); - options_joystick_menu->additem(MN_CONTROLFIELD,"Start", 0,0, 0,&joystick_keymap.start_button); - options_joystick_menu->additem(MN_CONTROLFIELD,"DeadZone", 0,0, 0,&joystick_keymap.dead_zone); + //options_joystick_menu->additem(MN_CONTROLFIELD_JS,"X axis", 0,0, 0,&joystick_keymap.x_axis); + //options_joystick_menu->additem(MN_CONTROLFIELD_JS,"Y axis", 0,0, 0,&joystick_keymap.y_axis); + options_joystick_menu->additem(MN_CONTROLFIELD_JS,_("A button"), 0,0, 0,&joystick_keymap.a_button); + options_joystick_menu->additem(MN_CONTROLFIELD_JS,_("B button"), 0,0, 0,&joystick_keymap.b_button); + //options_joystick_menu->additem(MN_CONTROLFIELD_JS,"Start", 0,0, 0,&joystick_keymap.start_button); + //options_joystick_menu->additem(MN_CONTROLFIELD_JS,"DeadZone", 0,0, 0,&joystick_keymap.dead_zone); options_joystick_menu->additem(MN_HL,"",0,0); - options_joystick_menu->additem(MN_BACK,"Back",0,0); + options_joystick_menu->additem(MN_BACK,_("Back"),0,0); } - load_game_menu->additem(MN_LABEL,"Start Game",0,0); + load_game_menu->additem(MN_LABEL,_("Start Game"),0,0); load_game_menu->additem(MN_HL,"",0,0); load_game_menu->additem(MN_DEACTIVE,"Slot 1",0,0, 1); load_game_menu->additem(MN_DEACTIVE,"Slot 2",0,0, 2); @@ -450,9 +453,9 @@ void st_menu(void) load_game_menu->additem(MN_DEACTIVE,"Slot 4",0,0, 4); load_game_menu->additem(MN_DEACTIVE,"Slot 5",0,0, 5); load_game_menu->additem(MN_HL,"",0,0); - load_game_menu->additem(MN_BACK,"Back",0,0); + load_game_menu->additem(MN_BACK,_("Back"),0,0); - save_game_menu->additem(MN_LABEL,"Save Game",0,0); + save_game_menu->additem(MN_LABEL,_("Save Game"),0,0); save_game_menu->additem(MN_HL,"",0,0); save_game_menu->additem(MN_DEACTIVE,"Slot 1",0,0, 1); save_game_menu->additem(MN_DEACTIVE,"Slot 2",0,0, 2); @@ -462,21 +465,21 @@ void st_menu(void) save_game_menu->additem(MN_HL,"",0,0); save_game_menu->additem(MN_BACK,"Back",0,0); - game_menu->additem(MN_LABEL,"Pause",0,0); + game_menu->additem(MN_LABEL,_("Pause"),0,0); game_menu->additem(MN_HL,"",0,0); - game_menu->additem(MN_ACTION,"Continue",0,0,MNID_CONTINUE); - game_menu->additem(MN_GOTO,"Options",0,options_menu); + game_menu->additem(MN_ACTION,_("Continue"),0,0,MNID_CONTINUE); + game_menu->additem(MN_GOTO,_("Options"),0,options_menu); game_menu->additem(MN_HL,"",0,0); - game_menu->additem(MN_ACTION,"Abort Level",0,0,MNID_ABORTLEVEL); + game_menu->additem(MN_ACTION,_("Abort Level"),0,0,MNID_ABORTLEVEL); - worldmap_menu->additem(MN_LABEL,"Pause",0,0); + worldmap_menu->additem(MN_LABEL,_("Pause"),0,0); worldmap_menu->additem(MN_HL,"",0,0); - worldmap_menu->additem(MN_ACTION,"Continue",0,0,MNID_RETURNWORLDMAP); - worldmap_menu->additem(MN_GOTO,"Options",0,options_menu); + worldmap_menu->additem(MN_ACTION,_("Continue"),0,0,MNID_RETURNWORLDMAP); + worldmap_menu->additem(MN_GOTO,_("Options"),0,options_menu); worldmap_menu->additem(MN_HL,"",0,0); - worldmap_menu->additem(MN_ACTION,"Quit Game",0,0,MNID_QUITWORLDMAP); + worldmap_menu->additem(MN_ACTION,_("Quit Game"),0,0,MNID_QUITWORLDMAP); - highscore_menu->additem(MN_TEXTFIELD,"Enter your name:",0,0); + highscore_menu->additem(MN_TEXTFIELD,_("Enter your name:"),0,0); } void update_load_save_game_menu(Menu* pmenu) @@ -505,7 +508,8 @@ bool process_load_game_menu() draw_intro(); } - fadeout(); + // shrink_fade(Point((screen->w/2),(screen->h/2)), 1000); + fadeout(256); WorldMapNS::WorldMap worldmap; // Load the game or at least set the savegame_file variable @@ -555,7 +559,7 @@ void process_options_menu(void) if(use_music != options_menu->isToggled(MNID_MUSIC)) { use_music = !use_music; - music_manager->enable_music(use_music); + sound_manager->enable_music(use_music); } break; case MNID_SHOWFPS: @@ -580,16 +584,16 @@ void st_general_setup(void) SDL_EnableUNICODE(1); /* Load global images: */ - - black_text = new Text(datadir + "/images/status/letters-black.png", TEXT_TEXT, 16,18); - gold_text = new Text(datadir + "/images/status/letters-gold.png", TEXT_TEXT, 16,18); - blue_text = new Text(datadir + "/images/status/letters-blue.png", TEXT_TEXT, 16,18); - red_text = new Text(datadir + "/images/status/letters-red.png", TEXT_TEXT, 16,18); - green_text = new Text(datadir + "/images/status/letters-green.png", TEXT_TEXT, 16,18); - white_text = new Text(datadir + "/images/status/letters-white.png", TEXT_TEXT, 16,18); - white_small_text = new Text(datadir + "/images/status/letters-white-small.png", TEXT_TEXT, 8,9); - white_big_text = new Text(datadir + "/images/status/letters-white-big.png", TEXT_TEXT, 20,23); - yellow_nums = new Text(datadir + "/images/status/numbers.png", TEXT_NUM, 32,32); + gold_text = new Font(datadir + "/images/fonts/gold.png", Font::TEXT, 16,18); + blue_text = new Font(datadir + "/images/fonts/blue.png", Font::TEXT, 16,18,3); + white_text = new Font(datadir + "/images/fonts/white.png", + Font::TEXT, 16,18); + white_small_text = new Font(datadir + "/images/fonts/white-small.png", + Font::TEXT, 8,9, 1); + white_big_text = new Font(datadir + "/images/fonts/white-big.png", + Font::TEXT, 20,22, 3); + yellow_nums = new Font(datadir + "/images/fonts/numbers.png", + Font::NUM, 32,32); /* Load GUI/menu images: */ checkbox = new Surface(datadir + "/images/status/checkbox.png", USE_ALPHA); @@ -600,6 +604,7 @@ void st_general_setup(void) /* Load the mouse-cursor */ mouse_cursor = new MouseCursor( datadir + "/images/status/mousecursor.png",1); + MouseCursor::set_current(mouse_cursor); } @@ -607,12 +612,9 @@ void st_general_free(void) { /* Free global images: */ - delete black_text; delete gold_text; delete white_text; delete blue_text; - delete red_text; - delete green_text; delete white_small_text; delete white_big_text; delete yellow_nums; @@ -638,11 +640,7 @@ void st_general_free(void) void st_video_setup(void) { - if(screen != NULL) - SDL_FreeSurface(screen); - /* Init SDL Video: */ - if (SDL_Init(SDL_INIT_VIDEO) < 0) { fprintf(stderr, @@ -666,8 +664,6 @@ void st_video_setup(void) void st_video_setup_sdl(void) { - SDL_FreeSurface(screen); - if (use_fullscreen) { screen = SDL_SetVideoMode(SCREEN_W, SCREEN_H, 0, SDL_FULLSCREEN ) ; /* | SDL_HWSURFACE); */ @@ -898,13 +894,13 @@ void seticon(void) /* Load icon into a surface: */ - icon = IMG_Load((datadir + "/images/icon.xpm").c_str()); + icon = IMG_Load((datadir + "/images/supertux.xpm").c_str()); if (icon == NULL) { fprintf(stderr, "\nError: I could not load the icon image: %s%s\n" "The Simple DirectMedia error that occured was:\n" - "%s\n\n", datadir.c_str(), "/images/icon.xpm", SDL_GetError()); + "%s\n\n", datadir.c_str(), "/images/supertux.xpm", SDL_GetError()); exit(1); } @@ -1037,14 +1033,14 @@ void parseargs(int argc, char * argv[]) } else if (strcmp(argv[i], "--help") == 0) { /* Show help: */ - puts("Super Tux " VERSION "\n" - " Please see the file \"README.txt\" for more details.\n"); - printf("Usage: %s [OPTIONS] FILENAME\n\n", argv[0]); - puts("Display Options:\n" + puts(_(" SuperTux " VERSION "\n" + " Please see the file \"README.txt\" for more details.\n")); + printf(_("Usage: %s [OPTIONS] FILENAME\n\n"), argv[0]); + puts(_("Display Options:\n" " --fullscreen Run in fullscreen mode.\n" - " --opengl If opengl support was compiled in, this will enable\n" - " the EXPERIMENTAL OpenGL mode.\n" - " --sdl Use non-opengl renderer\n" + " --opengl If OpenGL support was compiled in, this will tell\n" + " SuperTux to make use of it.\n" + " --sdl Use the SDL software graphical renderer\n" "\n" "Sound Options:\n" " --disable-sound If sound support was compiled in, this will\n" @@ -1054,15 +1050,15 @@ void parseargs(int argc, char * argv[]) "Misc Options:\n" " -j, --joystick NUM Use joystick NUM (default: 0)\n" " --joymap XAXIS:YAXIS:A:B:START\n" - " --leveleditor Opens the leveleditor in a file. (Only works when a file is provided.)\n" " Define how joystick buttons and axis should be mapped\n" + " --leveleditor Opens the leveleditor in a file. (Only works when a file is provided.)\n" " -d, --datadir DIR Load Game data from DIR (default: automatic)\n" " --debug-mode Enables the debug-mode, which is useful for developers.\n" " --help Display a help message summarizing command-line\n" " options, license and game controls.\n" " --usage Display a brief message summarizing command-line options.\n" " --version Display the version of SuperTux you're running.\n\n" - ); + )); exit(0); } else if (argv[i][0] != '-') @@ -1096,7 +1092,7 @@ void usage(char * prog, int ret) /* Display the usage message: */ - fprintf(fi, "Usage: %s [--fullscreen] [--opengl] [--disable-sound] [--disable-music] [--debug-mode] | [--usage | --help | --version] [--worldmap] FILENAME\n", + fprintf(fi, _("Usage: %s [--fullscreen] [--opengl] [--disable-sound] [--disable-music] [--debug-mode] | [--usage | --help | --version] [--leveleditor] FILENAME\n"), prog);