Compare commits
2 Commits
b3215bf381
...
336c3119ff
| Author | SHA1 | Date | |
|---|---|---|---|
| 336c3119ff | |||
| bfb334bef0 |
@@ -144,19 +144,9 @@ void Credits::checkInput()
|
|||||||
{
|
{
|
||||||
// Comprueba si se ha pulsado cualquier botón (de los usados para jugar)
|
// Comprueba si se ha pulsado cualquier botón (de los usados para jugar)
|
||||||
if (Input::get()->checkAnyButtonPressed(INPUT_ALLOW_REPEAT))
|
if (Input::get()->checkAnyButtonPressed(INPUT_ALLOW_REPEAT))
|
||||||
|
|
||||||
{
|
{
|
||||||
if (mini_logo_on_position_)
|
want_to_pass_ = true;
|
||||||
{
|
fading_ = mini_logo_on_position_;
|
||||||
// Si el mini_logo ha llegado a su posición final, al pulsar cualquier tecla se activa el fundido
|
|
||||||
fading_ = true;
|
|
||||||
want_to_pass_ = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Si todavía estan los creditos en marcha, se pasan solos a toda pastilla
|
|
||||||
want_to_pass_ = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ Director::Director(int argc, const char *argv[])
|
|||||||
section::name = section::Name::GAME;
|
section::name = section::Name::GAME;
|
||||||
section::options = section::Options::GAME_PLAY_1P;
|
section::options = section::Options::GAME_PLAY_1P;
|
||||||
#elif DEBUG
|
#elif DEBUG
|
||||||
section::name = section::Name::LOGO;
|
section::name = section::Name::GAME;
|
||||||
#else // NORMAL GAME
|
#else // NORMAL GAME
|
||||||
section::name = section::Name::LOGO;
|
section::name = section::Name::LOGO;
|
||||||
section::options = section::Options::NONE;
|
section::options = section::Options::NONE;
|
||||||
|
|||||||
@@ -359,6 +359,9 @@ void Game::updateGameStateGameOver()
|
|||||||
// Gestiona eventos para el estado del final del juego
|
// Gestiona eventos para el estado del final del juego
|
||||||
void Game::updateGameStateCompleted()
|
void Game::updateGameStateCompleted()
|
||||||
{
|
{
|
||||||
|
constexpr int START_CELEBRATIONS = 400;
|
||||||
|
constexpr int END_CELEBRATIONS = START_CELEBRATIONS + 300;
|
||||||
|
|
||||||
updatePlayers();
|
updatePlayers();
|
||||||
updateScoreboard();
|
updateScoreboard();
|
||||||
updateBackground();
|
updateBackground();
|
||||||
@@ -383,7 +386,7 @@ void Game::updateGameStateCompleted()
|
|||||||
|
|
||||||
// Comienza las celebraciones
|
// Comienza las celebraciones
|
||||||
// Muestra el mensaje de felicitación y da los puntos a los jugadores
|
// Muestra el mensaje de felicitación y da los puntos a los jugadores
|
||||||
if (game_completed_counter_ == 200)
|
if (game_completed_counter_ == START_CELEBRATIONS)
|
||||||
{
|
{
|
||||||
createMessage({paths_.at(4), paths_.at(5)}, Resource::get()->getTexture("game_text_congratulations"));
|
createMessage({paths_.at(4), paths_.at(5)}, Resource::get()->getTexture("game_text_congratulations"));
|
||||||
createMessage({paths_.at(6), paths_.at(7)}, Resource::get()->getTexture("game_text_1000000_points"));
|
createMessage({paths_.at(6), paths_.at(7)}, Resource::get()->getTexture("game_text_1000000_points"));
|
||||||
@@ -403,7 +406,7 @@ void Game::updateGameStateCompleted()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Termina las celebraciones
|
// Termina las celebraciones
|
||||||
if (game_completed_counter_ == 500)
|
if (game_completed_counter_ == END_CELEBRATIONS)
|
||||||
{
|
{
|
||||||
for (auto &player : players_)
|
for (auto &player : players_)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#include "gif.h"
|
#include "gif.h"
|
||||||
#include <cstdio> // for fprintf, stderr
|
#include <iostream> // Para std::cout
|
||||||
#include <cstring> // for memcpy, size_t
|
#include <cstring> // Para memcpy, size_t
|
||||||
#include <stdexcept> // for runtime_error
|
#include <stdexcept> // Para runtime_error
|
||||||
#include <string> // for allocator, char_traits, operator==, basic_string
|
#include <string> // Para allocator, char_traits, operator==, basic_string
|
||||||
|
|
||||||
namespace GIF
|
namespace GIF
|
||||||
{
|
{
|
||||||
@@ -52,7 +52,7 @@ namespace GIF
|
|||||||
{
|
{
|
||||||
if (input_length <= 0)
|
if (input_length <= 0)
|
||||||
{
|
{
|
||||||
throw std::runtime_error("Unexpected end of input in uncompress");
|
throw std::runtime_error("Unexpected end of input in decompress");
|
||||||
}
|
}
|
||||||
bit = ((*input & mask) != 0) ? 1 : 0;
|
bit = ((*input & mask) != 0) ? 1 : 0;
|
||||||
mask <<= 1;
|
mask <<= 1;
|
||||||
@@ -89,7 +89,8 @@ namespace GIF
|
|||||||
{
|
{
|
||||||
if (code > dictionary_ind)
|
if (code > dictionary_ind)
|
||||||
{
|
{
|
||||||
std::fprintf(stderr, "code = %.02x, but dictionary_ind = %d\n", code, dictionary_ind);
|
std::cerr << "code = " << std::hex << code
|
||||||
|
<< ", but dictionary_ind = " << dictionary_ind << std::endl;
|
||||||
throw std::runtime_error("LZW error: code exceeds dictionary_ind.");
|
throw std::runtime_error("LZW error: code exceeds dictionary_ind.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,7 +125,8 @@ namespace GIF
|
|||||||
// Verifica que 'code' sea un índice válido antes de usarlo.
|
// Verifica que 'code' sea un índice válido antes de usarlo.
|
||||||
if (code < 0 || static_cast<size_t>(code) >= dictionary.size())
|
if (code < 0 || static_cast<size_t>(code) >= dictionary.size())
|
||||||
{
|
{
|
||||||
std::fprintf(stderr, "Invalid LZW code %d, dictionary size %zu\n", code, dictionary.size());
|
std::cerr << "Invalid LZW code " << code
|
||||||
|
<< ", dictionary size " << dictionary.size() << std::endl;
|
||||||
throw std::runtime_error("LZW error: invalid code encountered");
|
throw std::runtime_error("LZW error: invalid code encountered");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,8 +138,8 @@ namespace GIF
|
|||||||
out[dictionary[curCode].len - 1] = dictionary[curCode].byte;
|
out[dictionary[curCode].len - 1] = dictionary[curCode].byte;
|
||||||
if (dictionary[curCode].prev == curCode)
|
if (dictionary[curCode].prev == curCode)
|
||||||
{
|
{
|
||||||
std::fprintf(stderr, "Internal error; self-reference detected.\n");
|
std::cerr << "Internal error; self-reference detected." << std::endl;
|
||||||
throw std::runtime_error("Internal error in uncompress: self-reference");
|
throw std::runtime_error("Internal error in decompress: self-reference");
|
||||||
}
|
}
|
||||||
curCode = dictionary[curCode].prev;
|
curCode = dictionary[curCode].prev;
|
||||||
}
|
}
|
||||||
@@ -226,9 +228,6 @@ namespace GIF
|
|||||||
w = screen_descriptor.width;
|
w = screen_descriptor.width;
|
||||||
h = screen_descriptor.height;
|
h = screen_descriptor.height;
|
||||||
|
|
||||||
// Imprime para depuración
|
|
||||||
std::fprintf(stderr, "Screen Descriptor - Width: %d, Height: %d\n", w, h);
|
|
||||||
|
|
||||||
int color_resolution_bits = ((screen_descriptor.fields & 0x70) >> 4) + 1;
|
int color_resolution_bits = ((screen_descriptor.fields & 0x70) >> 4) + 1;
|
||||||
std::vector<RGB> global_color_table;
|
std::vector<RGB> global_color_table;
|
||||||
if (screen_descriptor.fields & 0x80)
|
if (screen_descriptor.fields & 0x80)
|
||||||
@@ -300,7 +299,7 @@ namespace GIF
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::fprintf(stderr, "Unrecognized block type %.02x\n", block_type);
|
std::cerr << "Unrecognized block type " << std::hex << static_cast<int>(block_type) << std::endl;
|
||||||
return std::vector<uint8_t>{};
|
return std::vector<uint8_t>{};
|
||||||
}
|
}
|
||||||
block_type = *buffer++;
|
block_type = *buffer++;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint> // for uint8_t, uint16_t, uint32_t
|
#include <cstdint> // Para uint8_t, uint16_t, uint32_t
|
||||||
#include <vector> // for vector
|
#include <vector> // Para vector
|
||||||
|
|
||||||
namespace GIF
|
namespace GIF
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
#include "texture.h"
|
#include "texture.h"
|
||||||
#include <SDL2/SDL_error.h> // for SDL_GetError
|
#include <SDL2/SDL_error.h> // Para SDL_GetError
|
||||||
#include <SDL2/SDL_surface.h> // for SDL_CreateRGBSurfaceWithFormatFrom
|
#include <SDL2/SDL_surface.h> // Para SDL_CreateRGBSurfaceWithFormatFrom
|
||||||
#include <stdint.h> // for uint32_t
|
#include <stdint.h> // Para uint32_t
|
||||||
#include <cstring> // for memcpy, size_t
|
#include <cstring> // Para memcpy, size_t
|
||||||
#include <fstream> // for basic_ostream, operator<<, basic_ifstream
|
#include <fstream> // Para basic_ostream, operator<<, basic_ifstream
|
||||||
#include <iostream> // for cerr, cout
|
#include <iostream> // Para cerr, cout
|
||||||
#include <stdexcept> // for runtime_error
|
#include <stdexcept> // Para runtime_error
|
||||||
#include <string> // for char_traits, operator<<, operator+
|
#include <string> // Para char_traits, operator<<, operator+
|
||||||
#include <vector> // for vector
|
#include <vector> // Para vector
|
||||||
#include "gif.h" // for Gif
|
#include "gif.h" // Para Gif
|
||||||
#include "utils.h" // for getFileName, Color, printWithDots
|
#include "utils.h" // Para getFileName, Color, printWithDots
|
||||||
|
|
||||||
#define STB_IMAGE_IMPLEMENTATION
|
#define STB_IMAGE_IMPLEMENTATION
|
||||||
#include "stb_image.h" // Para stbi_failure_reason, stbi_image_free
|
#include "stb_image.h" // Para stbi_failure_reason, stbi_image_free
|
||||||
|
|||||||
Reference in New Issue
Block a user