X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Ftitle.cpp;h=59df3d09170f7f4fad748461faa04e5bea56f882;hb=99302c84892a6cea724ca524cbd20cdc37d7bd4a;hp=fad1e81004050ba4d32d0833baf4613aba817fee;hpb=45d21c1c59a58aa557b62d3aa22ba89a975e323c;p=supertux.git diff --git a/src/title.cpp b/src/title.cpp index fad1e8100..59df3d091 100644 --- a/src/title.cpp +++ b/src/title.cpp @@ -36,7 +36,6 @@ #include #endif -#include "defines.h" #include "app/globals.h" #include "title.h" #include "video/screen.h" @@ -52,7 +51,7 @@ #include "gameloop.h" #include "worldmap.h" #include "leveleditor.h" -#include "scene.h" +#include "player_status.h" #include "tile.h" #include "sector.h" #include "object/tilemap.h" @@ -61,6 +60,7 @@ #include "resources.h" #include "app/gettext.h" #include "misc.h" +#include "textscroller.h" static Surface* bkg_title; static Surface* logo; @@ -84,9 +84,8 @@ static FrameRate frame_rate(100); */ void resume_demo() { - // FIXME: shouldn't be needed if GameSession - // didn't relay on global variables - titlesession->get_current_sector()->activate(); + player_status.reset(); + titlesession->get_current_sector()->activate("main"); titlesession->set_current(); frame_rate.update(); @@ -182,7 +181,7 @@ void check_levels_contrib_menu() fadeout(256); DrawingContext context; context.draw_text(white_text, "Loading...", - Vector(screen->w/2, screen->h/2), CENTER_ALLIGN, LAYER_FOREGROUND1); + Vector(SCREEN_WIDTH/2, SCREEN_HEIGHT/2), CENTER_ALLIGN, LAYER_FOREGROUND1); context.do_drawing(); // TODO: slots should be available for contrib maps @@ -215,7 +214,7 @@ void check_levels_contrib_menu() contrib_subset_menu->additem(MN_HL,"",0,0); contrib_subset_menu->additem(MN_BACK, _("Back"), 0, 0); - titlesession->get_current_sector()->activate(); + titlesession->get_current_sector()->activate("main"); titlesession->set_current(); } } @@ -246,22 +245,22 @@ void draw_demo(float elapsed_time) world->play_music(LEVEL_MUSIC); - tux->key_event((SDLKey) keymap.right,DOWN); + tux->key_event((SDLKey) keymap.right, true); if(random_timer.check()) { random_timer.start(float(rand() % 3000 + 3000) / 1000.); walking = !walking; } else { if(walking) - tux->key_event((SDLKey) keymap.jump,UP); + tux->key_event((SDLKey) keymap.jump, false); else - tux->key_event((SDLKey) keymap.jump,DOWN); + tux->key_event((SDLKey) keymap.jump, true); } // Wrap around at the end of the level back to the beginnig if(world->solids->get_width() * 32 - 320 < tux->get_pos().x) { - tux->level_begin(); + world->activate("main"); world->camera->reset(tux->get_pos()); } @@ -286,6 +285,7 @@ void title(void) { walking = true; LevelEditor* leveleditor; + MusicRef credits_music; Ticks::pause_init(); @@ -297,7 +297,7 @@ void title(void) logo = new Surface(datadir + "/images/title/logo.png", true); img_choose_subset = new Surface(datadir + "/images/status/choose-level-subset.png", true); - titlesession->get_current_sector()->activate(); + titlesession->get_current_sector()->activate("main"); titlesession->set_current(); /* --- Main title loop: --- */ @@ -341,16 +341,19 @@ void title(void) if (Menu::current() == main_menu) - context.draw_surface(logo, Vector(screen->w/2 - logo->w/2, 30), + context.draw_surface(logo, Vector(SCREEN_WIDTH/2 - logo->w/2, 30), LAYER_FOREGROUND1+1); context.draw_text(white_small_text, " SuperTux " PACKAGE_VERSION "\n", - Vector(0, screen->h - 70), LEFT_ALLIGN, LAYER_FOREGROUND1); + Vector(0, SCREEN_HEIGHT - 50), LEFT_ALLIGN, LAYER_FOREGROUND1); context.draw_text(white_small_text, - _("Copyright (c) 2003 SuperTux Devel Team\n" - "This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you\n" - "are welcome to redistribute it under certain conditions; see the file COPYING\n" - "for details.\n"), Vector(0, screen->h - 70 + white_small_text->get_height()), LEFT_ALLIGN, LAYER_FOREGROUND1); + _( +"Copyright (c) 2003 SuperTux Devel Team\n" +"This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" +"redistribute it under certain conditions; see the file COPYING for details.\n" + ), + Vector(0, SCREEN_HEIGHT - 50 + white_small_text->get_height() + 5), + LEFT_ALLIGN, LAYER_FOREGROUND1); /* Don't draw menu, if quit is true */ Menu* menu = Menu::current(); @@ -381,7 +384,9 @@ void title(void) break; case MNID_CREDITS: fadeout(500); - display_text_file("credits.txt", SCROLL_SPEED_CREDITS, white_big_text , white_text, white_small_text, blue_text ); + credits_music = SoundManager::get()->load_music(datadir + "/music/credits.ogg"); + SoundManager::get()->play_music(credits_music); + display_text_file("credits.txt"); fadeout(500); Menu::set_current(main_menu); break;