diff --git a/source/credits.cpp b/source/credits.cpp index 983f611..38320bb 100644 --- a/source/credits.cpp +++ b/source/credits.cpp @@ -39,17 +39,20 @@ Credits::Credits() throw std::runtime_error("Failed to create SDL texture for text."); } section::name = section::Name::CREDITS; - top_black_rect_ = {play_area_.x, 0, play_area_.w, black_bars_size_}; - bottom_black_rect_ = {play_area_.x, param.game.game_area.rect.h - black_bars_size_, play_area_.w, black_bars_size_}; + //top_black_rect_ = {play_area_.x, 0, play_area_.w, black_bars_size_}; + //bottom_black_rect_ = {play_area_.x, param.game.game_area.rect.h - black_bars_size_, play_area_.w, black_bars_size_}; balloon_manager_->setPlayArea(play_area_); + fade_in_->setColor(fade_color.r, fade_color.g, fade_color.b); fade_in_->setType(FadeType::FULLSCREEN); fade_in_->setPost(50); fade_in_->setMode(FadeMode::IN); fade_in_->activate(); + fade_out_->setColor(0, 0, 0); fade_out_->setType(FadeType::FULLSCREEN); fade_out_->setPost(400); + initPlayers(); SDL_SetTextureBlendMode(text_texture_, SDL_BLENDMODE_BLEND); fillTextTexture(); diff --git a/source/credits.h b/source/credits.h index cd55686..8b6922a 100644 --- a/source/credits.h +++ b/source/credits.h @@ -10,7 +10,7 @@ class TiledBG; class Player; class Fade; -constexpr int PLAY_AREA_HEIGHT = 228; +constexpr int PLAY_AREA_HEIGHT = 200; class Credits { @@ -24,18 +24,18 @@ private: std::vector> players_; // Vector con los jugadores // Variables - Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa - Uint32 ticks_speed_ = 15; // Velocidad del bucle update - Uint32 counter_ = 0; // Contador para la lógica de la clase - Uint32 counter_pre_fade_ = 0; // Contador para activar el fundido final - Uint32 counter_prevent_endless_ = 0; // Contador para evitar que el juego se quede para siempre en los creditos - int black_bars_size_ = param.game.game_area.rect.h - PLAY_AREA_HEIGHT; // Tamaño de las barras negras - int mini_logo_final_pos_ = 0; // Ubicación donde se detiene el minilogo - bool fading_ = false; // Indica si se está realizando el fade final - bool want_to_pass_ = false; // Indica si el jugador quiere saltarse los titulos de crédito - bool mini_logo_on_position_ = false; // Indica si el minilogo ya se ha quedado en su posición - int initial_volume_ = options.audio.music.volume; // Volumen actual al crear el objeto - int steps_ = 0; // Cantidad de pasos a dar para ir reduciendo el audio + Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa + Uint32 ticks_speed_ = 15; // Velocidad del bucle update + Uint32 counter_ = 0; // Contador para la lógica de la clase + Uint32 counter_pre_fade_ = 0; // Contador para activar el fundido final + Uint32 counter_prevent_endless_ = 0; // Contador para evitar que el juego se quede para siempre en los creditos + int black_bars_size_ = (param.game.game_area.rect.h - PLAY_AREA_HEIGHT) / 2; // Tamaño de las barras negras + int mini_logo_final_pos_ = 0; // Ubicación donde se detiene el minilogo + bool fading_ = false; // Indica si se está realizando el fade final + bool want_to_pass_ = false; // Indica si el jugador quiere saltarse los titulos de crédito + bool mini_logo_on_position_ = false; // Indica si el minilogo ya se ha quedado en su posición + int initial_volume_ = options.audio.music.volume; // Volumen actual al crear el objeto + int steps_ = 0; // Cantidad de pasos a dar para ir reduciendo el audio // Rectangulos SDL_Rect credits_rect_src_ = param.game.game_area.rect; // Rectangulo con el texto de los créditos (origen) @@ -46,7 +46,7 @@ private: param.game.game_area.rect.x, param.game.game_area.rect.y + black_bars_size_, param.game.game_area.rect.w, - param.game.game_area.rect.h - black_bars_size_}; // Area visible para los creditos + PLAY_AREA_HEIGHT}; // Area visible para los creditos SDL_Rect top_black_rect_ = {play_area_.x, 0, play_area_.w, black_bars_size_}; // Rectangulo negro superior SDL_Rect bottom_black_rect_ = {play_area_.x, param.game.game_area.rect.h - black_bars_size_, play_area_.w, black_bars_size_}; // Rectangulo negro inferior SDL_Rect left_black_rect_ = {play_area_.x, param.game.game_area.center_y - 1, 0, 2}; // Rectangulo negro situado a la izquierda