afegit AnimatedSprite::getCurrentAnimationFrame()
fix: player2.gif faltava el outline noves veus i arreglo d'altres style: fitxer de config
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# Coffee Crisis - Asset Configuration
|
# Coffee Crisis Arcade Edition - Asset Configuration
|
||||||
# Formato: TIPO|RUTA [|OPCIONES]
|
# Formato: TIPO|RUTA [|OPCIONES]
|
||||||
# Opciones: optional, absolute (separadas por comas)
|
# Opciones: optional, absolute (separadas por comas)
|
||||||
# Variables: ${PREFIX}, ${SYSTEM_FOLDER}
|
# Variables: ${PREFIX}, ${SYSTEM_FOLDER}
|
||||||
@@ -9,34 +9,35 @@ DATA|${SYSTEM_FOLDER}/controllers.json|optional,absolute
|
|||||||
DATA|${SYSTEM_FOLDER}/score.bin|optional,absolute
|
DATA|${SYSTEM_FOLDER}/score.bin|optional,absolute
|
||||||
|
|
||||||
# Archivos de configuración del juego
|
# Archivos de configuración del juego
|
||||||
|
DATA|${PREFIX}/data/config/formations.txt
|
||||||
|
DATA|${PREFIX}/data/config/gamecontrollerdb.txt
|
||||||
DATA|${PREFIX}/data/config/param_320x240.txt
|
DATA|${PREFIX}/data/config/param_320x240.txt
|
||||||
DATA|${PREFIX}/data/config/param_320x256.txt
|
DATA|${PREFIX}/data/config/param_320x256.txt
|
||||||
DEMODATA|${PREFIX}/data/config/demo1.bin
|
|
||||||
DEMODATA|${PREFIX}/data/config/demo2.bin
|
|
||||||
DATA|${PREFIX}/data/config/gamecontrollerdb.txt
|
|
||||||
DATA|${PREFIX}/data/config/formations.txt
|
|
||||||
DATA|${PREFIX}/data/config/pools.txt
|
DATA|${PREFIX}/data/config/pools.txt
|
||||||
DATA|${PREFIX}/data/config/stages.txt
|
DATA|${PREFIX}/data/config/stages.txt
|
||||||
|
DEMODATA|${PREFIX}/data/config/demo1.bin
|
||||||
|
DEMODATA|${PREFIX}/data/config/demo2.bin
|
||||||
|
|
||||||
# Música
|
# Música
|
||||||
|
MUSIC|${PREFIX}/data/music/credits.ogg
|
||||||
MUSIC|${PREFIX}/data/music/intro.ogg
|
MUSIC|${PREFIX}/data/music/intro.ogg
|
||||||
MUSIC|${PREFIX}/data/music/playing.ogg
|
MUSIC|${PREFIX}/data/music/playing.ogg
|
||||||
MUSIC|${PREFIX}/data/music/title.ogg
|
MUSIC|${PREFIX}/data/music/title.ogg
|
||||||
MUSIC|${PREFIX}/data/music/credits.ogg
|
|
||||||
|
|
||||||
# Sonidos
|
# Sonidos
|
||||||
SOUND|${PREFIX}/data/sound/balloon_pop0.wav
|
|
||||||
SOUND|${PREFIX}/data/sound/balloon_pop1.wav
|
|
||||||
SOUND|${PREFIX}/data/sound/balloon_pop2.wav
|
|
||||||
SOUND|${PREFIX}/data/sound/balloon_pop3.wav
|
|
||||||
SOUND|${PREFIX}/data/sound/balloon_bounce0.wav
|
SOUND|${PREFIX}/data/sound/balloon_bounce0.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_bounce1.wav
|
SOUND|${PREFIX}/data/sound/balloon_bounce1.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_bounce2.wav
|
SOUND|${PREFIX}/data/sound/balloon_bounce2.wav
|
||||||
SOUND|${PREFIX}/data/sound/balloon_bounce3.wav
|
SOUND|${PREFIX}/data/sound/balloon_bounce3.wav
|
||||||
|
SOUND|${PREFIX}/data/sound/balloon_pop0.wav
|
||||||
|
SOUND|${PREFIX}/data/sound/balloon_pop1.wav
|
||||||
|
SOUND|${PREFIX}/data/sound/balloon_pop2.wav
|
||||||
|
SOUND|${PREFIX}/data/sound/balloon_pop3.wav
|
||||||
SOUND|${PREFIX}/data/sound/bullet.wav
|
SOUND|${PREFIX}/data/sound/bullet.wav
|
||||||
SOUND|${PREFIX}/data/sound/clock.wav
|
SOUND|${PREFIX}/data/sound/clock.wav
|
||||||
SOUND|${PREFIX}/data/sound/coffee_out.wav
|
SOUND|${PREFIX}/data/sound/coffee_out.wav
|
||||||
SOUND|${PREFIX}/data/sound/continue_clock.wav
|
SOUND|${PREFIX}/data/sound/continue_clock.wav
|
||||||
|
SOUND|${PREFIX}/data/sound/credit.wav
|
||||||
SOUND|${PREFIX}/data/sound/debian_drop.wav
|
SOUND|${PREFIX}/data/sound/debian_drop.wav
|
||||||
SOUND|${PREFIX}/data/sound/debian_pickup.wav
|
SOUND|${PREFIX}/data/sound/debian_pickup.wav
|
||||||
SOUND|${PREFIX}/data/sound/hi_score_achieved.wav
|
SOUND|${PREFIX}/data/sound/hi_score_achieved.wav
|
||||||
@@ -55,7 +56,9 @@ SOUND|${PREFIX}/data/sound/tabe_hit.wav
|
|||||||
SOUND|${PREFIX}/data/sound/tabe.wav
|
SOUND|${PREFIX}/data/sound/tabe.wav
|
||||||
SOUND|${PREFIX}/data/sound/title.wav
|
SOUND|${PREFIX}/data/sound/title.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_aw_aw_aw.wav
|
SOUND|${PREFIX}/data/sound/voice_aw_aw_aw.wav
|
||||||
|
SOUND|${PREFIX}/data/sound/voice_brbrbr.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_coffee.wav
|
SOUND|${PREFIX}/data/sound/voice_coffee.wav
|
||||||
|
SOUND|${PREFIX}/data/sound/voice_credit_thankyou.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_get_ready.wav
|
SOUND|${PREFIX}/data/sound/voice_get_ready.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_no.wav
|
SOUND|${PREFIX}/data/sound/voice_no.wav
|
||||||
SOUND|${PREFIX}/data/sound/voice_power_up.wav
|
SOUND|${PREFIX}/data/sound/voice_power_up.wav
|
||||||
@@ -63,50 +66,50 @@ SOUND|${PREFIX}/data/sound/voice_thankyou.wav
|
|||||||
SOUND|${PREFIX}/data/sound/walk.wav
|
SOUND|${PREFIX}/data/sound/walk.wav
|
||||||
|
|
||||||
# Shaders
|
# Shaders
|
||||||
DATA|${PREFIX}/data/shaders/crtpi_256.glsl
|
|
||||||
DATA|${PREFIX}/data/shaders/crtpi_240.glsl
|
DATA|${PREFIX}/data/shaders/crtpi_240.glsl
|
||||||
|
DATA|${PREFIX}/data/shaders/crtpi_256.glsl
|
||||||
|
|
||||||
# Texturas - Balloons
|
# Texturas - Balloons
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/balloon0.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/balloon0.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/balloon0.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/balloon1.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/balloon1.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/balloon1.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/balloon2.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/balloon2.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/balloon2.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/balloon3.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/balloon3.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/balloon3.ani
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/balloon0.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/balloon1.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/balloon2.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/balloon3.png
|
||||||
|
|
||||||
# Texturas - Explosiones
|
# Texturas - Explosiones
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/explosion0.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/explosion0.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/explosion0.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/explosion1.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/explosion1.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/explosion1.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/explosion2.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/explosion2.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/explosion2.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/explosion3.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/explosion3.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/explosion3.ani
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/explosion0.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/explosion1.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/explosion2.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/explosion3.png
|
||||||
|
|
||||||
# Texturas - Power Ball
|
# Texturas - Power Ball
|
||||||
BITMAP|${PREFIX}/data/gfx/balloon/powerball.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/balloon/powerball.ani
|
ANIMATION|${PREFIX}/data/gfx/balloon/powerball.ani
|
||||||
|
BITMAP|${PREFIX}/data/gfx/balloon/powerball.png
|
||||||
|
|
||||||
# Texturas - Bala
|
# Texturas - Bala
|
||||||
BITMAP|${PREFIX}/data/gfx/bullet/bullet.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/bullet/bullet.ani
|
ANIMATION|${PREFIX}/data/gfx/bullet/bullet.ani
|
||||||
|
BITMAP|${PREFIX}/data/gfx/bullet/bullet.png
|
||||||
|
|
||||||
# Texturas - Tabe
|
# Texturas - Tabe
|
||||||
BITMAP|${PREFIX}/data/gfx/tabe/tabe.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/tabe/tabe.ani
|
ANIMATION|${PREFIX}/data/gfx/tabe/tabe.ani
|
||||||
|
BITMAP|${PREFIX}/data/gfx/tabe/tabe.png
|
||||||
|
|
||||||
# Texturas - Juego
|
# Texturas - Juego
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_buildings.png
|
BITMAP|${PREFIX}/data/gfx/game/game_buildings.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_clouds1.png
|
BITMAP|${PREFIX}/data/gfx/game/game_clouds1.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_clouds2.png
|
BITMAP|${PREFIX}/data/gfx/game/game_clouds2.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_grass.png
|
BITMAP|${PREFIX}/data/gfx/game/game_grass.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/game/game_moon.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_power_meter.png
|
BITMAP|${PREFIX}/data/gfx/game/game_power_meter.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_sky_colors.png
|
BITMAP|${PREFIX}/data/gfx/game/game_sky_colors.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_sun.png
|
BITMAP|${PREFIX}/data/gfx/game/game_sun.png
|
||||||
BITMAP|${PREFIX}/data/gfx/game/game_moon.png
|
|
||||||
|
|
||||||
# Texturas - Intro
|
# Texturas - Intro
|
||||||
BITMAP|${PREFIX}/data/gfx/intro/intro1.png
|
BITMAP|${PREFIX}/data/gfx/intro/intro1.png
|
||||||
@@ -117,75 +120,75 @@ BITMAP|${PREFIX}/data/gfx/intro/intro5.png
|
|||||||
BITMAP|${PREFIX}/data/gfx/intro/intro6.png
|
BITMAP|${PREFIX}/data/gfx/intro/intro6.png
|
||||||
|
|
||||||
# Texturas - Logo
|
# Texturas - Logo
|
||||||
BITMAP|${PREFIX}/data/gfx/logo/logo_jailgames.png
|
|
||||||
BITMAP|${PREFIX}/data/gfx/logo/logo_jailgames_mini.png
|
BITMAP|${PREFIX}/data/gfx/logo/logo_jailgames_mini.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/logo/logo_jailgames.png
|
||||||
BITMAP|${PREFIX}/data/gfx/logo/logo_since_1998.png
|
BITMAP|${PREFIX}/data/gfx/logo/logo_since_1998.png
|
||||||
|
|
||||||
# Texturas - Items
|
# Texturas - Items
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_points1_disk.png
|
ANIMATION|${PREFIX}/data/gfx/item/item_clock.ani
|
||||||
|
ANIMATION|${PREFIX}/data/gfx/item/item_coffee_machine.ani
|
||||||
|
ANIMATION|${PREFIX}/data/gfx/item/item_coffee.ani
|
||||||
|
ANIMATION|${PREFIX}/data/gfx/item/item_debian.ani
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_points1_disk.ani
|
ANIMATION|${PREFIX}/data/gfx/item/item_points1_disk.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_points2_gavina.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_points2_gavina.ani
|
ANIMATION|${PREFIX}/data/gfx/item/item_points2_gavina.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_points3_pacmar.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_points3_pacmar.ani
|
ANIMATION|${PREFIX}/data/gfx/item/item_points3_pacmar.ani
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_clock.png
|
BITMAP|${PREFIX}/data/gfx/item/item_clock.png
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_clock.ani
|
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_coffee.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_coffee.ani
|
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_debian.png
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_debian.ani
|
|
||||||
BITMAP|${PREFIX}/data/gfx/item/item_coffee_machine.png
|
BITMAP|${PREFIX}/data/gfx/item/item_coffee_machine.png
|
||||||
ANIMATION|${PREFIX}/data/gfx/item/item_coffee_machine.ani
|
BITMAP|${PREFIX}/data/gfx/item/item_coffee.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/item/item_debian.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/item/item_points1_disk.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/item/item_points2_gavina.png
|
||||||
|
BITMAP|${PREFIX}/data/gfx/item/item_points3_pacmar.png
|
||||||
|
|
||||||
# Texturas - Titulo
|
# Texturas - Titulo
|
||||||
|
ANIMATION|${PREFIX}/data/gfx/title/title_dust.ani
|
||||||
|
BITMAP|${PREFIX}/data/gfx/title/title_arcade_edition.png
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_bg_tile.png
|
BITMAP|${PREFIX}/data/gfx/title/title_bg_tile.png
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_coffee.png
|
BITMAP|${PREFIX}/data/gfx/title/title_coffee.png
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_crisis.png
|
BITMAP|${PREFIX}/data/gfx/title/title_crisis.png
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_arcade_edition.png
|
|
||||||
BITMAP|${PREFIX}/data/gfx/title/title_dust.png
|
BITMAP|${PREFIX}/data/gfx/title/title_dust.png
|
||||||
ANIMATION|${PREFIX}/data/gfx/title/title_dust.ani
|
|
||||||
|
|
||||||
# Texturas - Jugador 1
|
# Texturas - Jugador 1
|
||||||
|
BITMAP|${PREFIX}/data/gfx/player/player1_power.png
|
||||||
BITMAP|${PREFIX}/data/gfx/player/player1.gif
|
BITMAP|${PREFIX}/data/gfx/player/player1.gif
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player1_coffee1.pal
|
PALETTE|${PREFIX}/data/gfx/player/player1_coffee1.pal
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player1_coffee2.pal
|
PALETTE|${PREFIX}/data/gfx/player/player1_coffee2.pal
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player1_invencible.pal
|
PALETTE|${PREFIX}/data/gfx/player/player1_invencible.pal
|
||||||
BITMAP|${PREFIX}/data/gfx/player/player1_power.png
|
|
||||||
|
|
||||||
# Texturas - Jugador 2
|
# Texturas - Jugador 2
|
||||||
|
BITMAP|${PREFIX}/data/gfx/player/player2_power.png
|
||||||
BITMAP|${PREFIX}/data/gfx/player/player2.gif
|
BITMAP|${PREFIX}/data/gfx/player/player2.gif
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player2_coffee1.pal
|
PALETTE|${PREFIX}/data/gfx/player/player2_coffee1.pal
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player2_coffee2.pal
|
PALETTE|${PREFIX}/data/gfx/player/player2_coffee2.pal
|
||||||
PALETTE|${PREFIX}/data/gfx/player/player2_invencible.pal
|
PALETTE|${PREFIX}/data/gfx/player/player2_invencible.pal
|
||||||
BITMAP|${PREFIX}/data/gfx/player/player2_power.png
|
|
||||||
|
|
||||||
# Animaciones del jugador
|
# Animaciones del jugador
|
||||||
ANIMATION|${PREFIX}/data/gfx/player/player.ani
|
|
||||||
ANIMATION|${PREFIX}/data/gfx/player/player_power.ani
|
ANIMATION|${PREFIX}/data/gfx/player/player_power.ani
|
||||||
|
ANIMATION|${PREFIX}/data/gfx/player/player.ani
|
||||||
|
|
||||||
# Texturas - Golpe del jugador
|
# Texturas - Golpe del jugador
|
||||||
BITMAP|${PREFIX}/data/gfx/player/hit.png
|
BITMAP|${PREFIX}/data/gfx/player/hit.png
|
||||||
|
|
||||||
# Fuentes de texto
|
# Fuentes de texto
|
||||||
BITMAP|${PREFIX}/data/font/8bithud.png
|
|
||||||
FONT|${PREFIX}/data/font/8bithud.txt
|
|
||||||
BITMAP|${PREFIX}/data/font/aseprite.png
|
|
||||||
FONT|${PREFIX}/data/font/aseprite.txt
|
|
||||||
BITMAP|${PREFIX}/data/font/smb2.png
|
|
||||||
BITMAP|${PREFIX}/data/font/smb2_grad.png
|
|
||||||
FONT|${PREFIX}/data/font/smb2.txt
|
|
||||||
BITMAP|${PREFIX}/data/font/04b_25.png
|
|
||||||
FONT|${PREFIX}/data/font/04b_25.txt
|
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_2x.png
|
BITMAP|${PREFIX}/data/font/04b_25_2x.png
|
||||||
FONT|${PREFIX}/data/font/04b_25_2x.txt
|
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_metal.png
|
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_grey.png
|
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_flat.png
|
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_reversed.png
|
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_flat_2x.png
|
BITMAP|${PREFIX}/data/font/04b_25_flat_2x.png
|
||||||
|
BITMAP|${PREFIX}/data/font/04b_25_flat.png
|
||||||
|
BITMAP|${PREFIX}/data/font/04b_25_grey.png
|
||||||
|
BITMAP|${PREFIX}/data/font/04b_25_metal.png
|
||||||
BITMAP|${PREFIX}/data/font/04b_25_reversed_2x.png
|
BITMAP|${PREFIX}/data/font/04b_25_reversed_2x.png
|
||||||
|
BITMAP|${PREFIX}/data/font/04b_25_reversed.png
|
||||||
|
BITMAP|${PREFIX}/data/font/04b_25.png
|
||||||
|
BITMAP|${PREFIX}/data/font/8bithud.png
|
||||||
|
BITMAP|${PREFIX}/data/font/aseprite.png
|
||||||
|
BITMAP|${PREFIX}/data/font/smb2_grad.png
|
||||||
|
BITMAP|${PREFIX}/data/font/smb2.png
|
||||||
|
FONT|${PREFIX}/data/font/04b_25_2x.txt
|
||||||
|
FONT|${PREFIX}/data/font/04b_25.txt
|
||||||
|
FONT|${PREFIX}/data/font/8bithud.txt
|
||||||
|
FONT|${PREFIX}/data/font/aseprite.txt
|
||||||
|
FONT|${PREFIX}/data/font/smb2.txt
|
||||||
|
|
||||||
# Idiomas
|
# Idiomas
|
||||||
LANG|${PREFIX}/data/lang/es_ES.json
|
|
||||||
LANG|${PREFIX}/data/lang/en_UK.json
|
|
||||||
LANG|${PREFIX}/data/lang/ba_BA.json
|
LANG|${PREFIX}/data/lang/ba_BA.json
|
||||||
|
LANG|${PREFIX}/data/lang/en_UK.json
|
||||||
|
LANG|${PREFIX}/data/lang/es_ES.json
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 16 KiB |
BIN
data/sound/credit.wav
Normal file
BIN
data/sound/credit.wav
Normal file
Binary file not shown.
BIN
data/sound/voice_brbrbr.wav
Normal file
BIN
data/sound/voice_brbrbr.wav
Normal file
Binary file not shown.
BIN
data/sound/voice_credit_thankyou.wav
Normal file
BIN
data/sound/voice_credit_thankyou.wav
Normal file
Binary file not shown.
Binary file not shown.
@@ -52,7 +52,7 @@ AnimatedSprite::AnimatedSprite(std::shared_ptr<Texture> texture, const Animation
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene el índice de la animación a partir del nombre
|
// Obtiene el índice de la animación a partir del nombre
|
||||||
auto AnimatedSprite::getIndex(const std::string& name) -> int {
|
auto AnimatedSprite::getAnimationIndex(const std::string& name) -> int {
|
||||||
auto iterator = animation_indices_.find(name);
|
auto iterator = animation_indices_.find(name);
|
||||||
if (iterator != animation_indices_.end()) {
|
if (iterator != animation_indices_.end()) {
|
||||||
// Si se encuentra la animación en el mapa, devuelve su índice
|
// Si se encuentra la animación en el mapa, devuelve su índice
|
||||||
@@ -101,7 +101,7 @@ auto AnimatedSprite::animationIsCompleted() -> bool {
|
|||||||
|
|
||||||
// Establece la animacion actual
|
// Establece la animacion actual
|
||||||
void AnimatedSprite::setCurrentAnimation(const std::string& name, bool reset) {
|
void AnimatedSprite::setCurrentAnimation(const std::string& name, bool reset) {
|
||||||
const auto NEW_ANIMATION = getIndex(name);
|
const auto NEW_ANIMATION = getAnimationIndex(name);
|
||||||
if (current_animation_ != NEW_ANIMATION) {
|
if (current_animation_ != NEW_ANIMATION) {
|
||||||
const auto OLD_ANIMATION = current_animation_;
|
const auto OLD_ANIMATION = current_animation_;
|
||||||
current_animation_ = NEW_ANIMATION;
|
current_animation_ = NEW_ANIMATION;
|
||||||
|
|||||||
@@ -56,17 +56,18 @@ class AnimatedSprite : public MovingSprite {
|
|||||||
void update() override; // Actualiza la animación
|
void update() override; // Actualiza la animación
|
||||||
|
|
||||||
// --- Control de animaciones ---
|
// --- Control de animaciones ---
|
||||||
void setCurrentAnimation(const std::string& name = "default", bool reset = true); // Establece la animación por nombre
|
void setCurrentAnimation(const std::string& name = "default", bool reset = true); // Establece la animación por nombre
|
||||||
void setCurrentAnimation(int index = 0, bool reset = true); // Establece la animación por índice
|
void setCurrentAnimation(int index = 0, bool reset = true); // Establece la animación por índice
|
||||||
void resetAnimation(); // Reinicia la animación actual
|
void resetAnimation(); // Reinicia la animación actual
|
||||||
void setAnimationSpeed(size_t value); // Establece la velocidad de la animación
|
void setAnimationSpeed(size_t value); // Establece la velocidad de la animación
|
||||||
auto getAnimationSpeed() const -> size_t { return animations_[current_animation_].speed; } // Obtiene la velocidad de la animación actual
|
auto getAnimationSpeed() const -> size_t { return animations_[current_animation_].speed; } // Obtiene la velocidad de la animación actual
|
||||||
void animtionPause() { animations_[current_animation_].paused = true; } // Detiene la animación
|
void animtionPause() { animations_[current_animation_].paused = true; } // Detiene la animación
|
||||||
void animationResume() { animations_[current_animation_].paused = false; } // Reanuda la animación
|
void animationResume() { animations_[current_animation_].paused = false; } // Reanuda la animación
|
||||||
|
auto getCurrentAnimationFrame() const -> size_t { return animations_[current_animation_].current_frame; } // Obtiene el numero de frame de la animación actual
|
||||||
|
|
||||||
// --- Consultas ---
|
// --- Consultas ---
|
||||||
auto animationIsCompleted() -> bool; // Comprueba si la animación ha terminado
|
auto animationIsCompleted() -> bool; // Comprueba si la animación ha terminado
|
||||||
auto getIndex(const std::string& name) -> int; // Obtiene el índice de una animación por nombre
|
auto getAnimationIndex(const std::string& name) -> int; // Obtiene el índice de una animación por nombre
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// --- Datos de animación ---
|
// --- Datos de animación ---
|
||||||
|
|||||||
@@ -101,14 +101,11 @@ auto saveToFile() -> bool {
|
|||||||
|
|
||||||
// Opciones de ventana
|
// Opciones de ventana
|
||||||
file << "## WINDOW\n";
|
file << "## WINDOW\n";
|
||||||
file << "\n";
|
|
||||||
|
|
||||||
file << "window.zoom=" << window.zoom << "\n";
|
file << "window.zoom=" << window.zoom << "\n";
|
||||||
|
|
||||||
// Opciones de video
|
// Opciones de video
|
||||||
file << "## VIDEO\n";
|
file << "\n## VIDEO\n";
|
||||||
file << "## video.scale_mode [" << static_cast<int>(SDL_ScaleMode::SDL_SCALEMODE_NEAREST) << ": nearest, " << static_cast<int>(SDL_ScaleMode::SDL_SCALEMODE_LINEAR) << ": lineal]\n";
|
file << "## video.scale_mode [" << static_cast<int>(SDL_ScaleMode::SDL_SCALEMODE_NEAREST) << ": nearest, " << static_cast<int>(SDL_ScaleMode::SDL_SCALEMODE_LINEAR) << ": lineal]\n";
|
||||||
file << "\n";
|
|
||||||
|
|
||||||
file << "video.fullscreen=" << boolToString(video.fullscreen) << "\n";
|
file << "video.fullscreen=" << boolToString(video.fullscreen) << "\n";
|
||||||
file << "video.scale_mode=" << static_cast<int>(video.scale_mode) << "\n";
|
file << "video.scale_mode=" << static_cast<int>(video.scale_mode) << "\n";
|
||||||
@@ -117,9 +114,8 @@ auto saveToFile() -> bool {
|
|||||||
file << "video.shaders=" << boolToString(video.shaders) << "\n";
|
file << "video.shaders=" << boolToString(video.shaders) << "\n";
|
||||||
|
|
||||||
// Opciones de audio
|
// Opciones de audio
|
||||||
file << "\n\n## AUDIO\n";
|
file << "\n## AUDIO\n";
|
||||||
file << "## volume [0 .. 100]\n";
|
file << "## volume [0 .. 100]\n";
|
||||||
file << "\n";
|
|
||||||
|
|
||||||
file << "audio.enabled=" << boolToString(audio.enabled) << "\n";
|
file << "audio.enabled=" << boolToString(audio.enabled) << "\n";
|
||||||
file << "audio.volume=" << audio.volume << "\n";
|
file << "audio.volume=" << audio.volume << "\n";
|
||||||
@@ -129,10 +125,9 @@ auto saveToFile() -> bool {
|
|||||||
file << "audio.sound.volume=" << audio.sound.volume << "\n";
|
file << "audio.sound.volume=" << audio.sound.volume << "\n";
|
||||||
|
|
||||||
// Opciones del juego
|
// Opciones del juego
|
||||||
file << "\n\n## GAME\n";
|
file << "\n## GAME\n";
|
||||||
file << "## game.language [0: spanish, 1: valencian, 2: english]\n";
|
file << "## game.language [0: spanish, 1: valencian, 2: english]\n";
|
||||||
file << "## game.difficulty [" << static_cast<int>(Difficulty::Code::EASY) << ": easy, " << static_cast<int>(Difficulty::Code::NORMAL) << ": normal, " << static_cast<int>(Difficulty::Code::HARD) << ": hard]\n";
|
file << "## game.difficulty [" << static_cast<int>(Difficulty::Code::EASY) << ": easy, " << static_cast<int>(Difficulty::Code::NORMAL) << ": normal, " << static_cast<int>(Difficulty::Code::HARD) << ": hard]\n";
|
||||||
file << "\n";
|
|
||||||
|
|
||||||
file << "game.language=" << static_cast<int>(settings.language) << "\n";
|
file << "game.language=" << static_cast<int>(settings.language) << "\n";
|
||||||
file << "game.difficulty=" << static_cast<int>(settings.difficulty) << "\n";
|
file << "game.difficulty=" << static_cast<int>(settings.difficulty) << "\n";
|
||||||
@@ -140,11 +135,11 @@ auto saveToFile() -> bool {
|
|||||||
file << "game.shutdown_enabled=" << boolToString(settings.shutdown_enabled) << "\n";
|
file << "game.shutdown_enabled=" << boolToString(settings.shutdown_enabled) << "\n";
|
||||||
|
|
||||||
// Opciones de mandos
|
// Opciones de mandos
|
||||||
file << "\n\n## CONTROLLERS\n";
|
file << "\n## CONTROLLERS\n";
|
||||||
gamepad_manager.saveToFile(file);
|
gamepad_manager.saveToFile(file);
|
||||||
|
|
||||||
// Opciones de teclado
|
// Opciones de teclado
|
||||||
file << "\n\n## KEYBOARD\n";
|
file << "\n## KEYBOARD\n";
|
||||||
file << "keyboard.player=" << static_cast<int>(keyboard.player_id) << "\n";
|
file << "keyboard.player=" << static_cast<int>(keyboard.player_id) << "\n";
|
||||||
|
|
||||||
// Cierra el fichero
|
// Cierra el fichero
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ void Player::move() {
|
|||||||
handleWaitingMovement();
|
handleWaitingMovement();
|
||||||
break;
|
break;
|
||||||
case State::RECOVER:
|
case State::RECOVER:
|
||||||
handleThankYouMovement();
|
handleRecoverMovement();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -201,11 +201,9 @@ void Player::handlePlayingMovement() {
|
|||||||
shiftSprite();
|
shiftSprite();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::handleThankYouMovement() {
|
void Player::handleRecoverMovement() {
|
||||||
// Si termina la animacion, cambia de estado
|
if (player_sprite_->getCurrentAnimationFrame() == 10) { playSound("voice_brbrbr.wav"); }
|
||||||
if (player_sprite_->animationIsCompleted()) {
|
if (player_sprite_->animationIsCompleted()) { setPlayingState(State::RESPAWNING); }
|
||||||
setPlayingState(State::RESPAWNING);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::handleRollingMovement() {
|
void Player::handleRollingMovement() {
|
||||||
@@ -641,10 +639,10 @@ void Player::setPlayingState(State state) {
|
|||||||
|
|
||||||
switch (playing_state_) {
|
switch (playing_state_) {
|
||||||
case State::RECOVER: {
|
case State::RECOVER: {
|
||||||
playSound("voice_thankyou.wav");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case State::RESPAWNING: {
|
case State::RESPAWNING: {
|
||||||
|
playSound("voice_thankyou.wav");
|
||||||
setPlayingState(State::PLAYING);
|
setPlayingState(State::PLAYING);
|
||||||
setInvulnerable(true);
|
setInvulnerable(true);
|
||||||
break;
|
break;
|
||||||
@@ -708,7 +706,7 @@ void Player::setPlayingState(State state) {
|
|||||||
case State::TITLE_ANIMATION: {
|
case State::TITLE_ANIMATION: {
|
||||||
// Activa la animación de rodar
|
// Activa la animación de rodar
|
||||||
player_sprite_->setCurrentAnimation("walk");
|
player_sprite_->setCurrentAnimation("walk");
|
||||||
playSound("voice_thankyou.wav");
|
playSound("voice_credit_thankyou.wav");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case State::TITLE_HIDDEN: {
|
case State::TITLE_HIDDEN: {
|
||||||
@@ -947,7 +945,6 @@ void Player::playSound(const std::string &name) const {
|
|||||||
|
|
||||||
// Indica si se puede dibujar el objeto
|
// Indica si se puede dibujar el objeto
|
||||||
auto Player::isRenderable() const -> bool {
|
auto Player::isRenderable() const -> bool {
|
||||||
// return !isGameOver() && !isTitleHidden();
|
|
||||||
return !isTitleHidden();
|
return !isTitleHidden();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -966,3 +963,8 @@ void Player::addScoreToScoreBoard() const {
|
|||||||
|
|
||||||
manager->saveToFile(Asset::get()->get("score.bin"));
|
manager->saveToFile(Asset::get()->get("score.bin"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Player::addCredit() {
|
||||||
|
++credits_used_;
|
||||||
|
playSound("credit.wav");
|
||||||
|
}
|
||||||
@@ -184,8 +184,8 @@ class Player {
|
|||||||
void setScoreBoardPanel(Scoreboard::Id panel) { scoreboard_panel_ = panel; }
|
void setScoreBoardPanel(Scoreboard::Id panel) { scoreboard_panel_ = panel; }
|
||||||
void setScoreMultiplier(float value) { score_multiplier_ = value; }
|
void setScoreMultiplier(float value) { score_multiplier_ = value; }
|
||||||
void setWalkingState(State state) { walking_state_ = state; }
|
void setWalkingState(State state) { walking_state_ = state; }
|
||||||
void addCredit() { ++credits_used_; }
|
|
||||||
|
|
||||||
|
void addCredit();
|
||||||
void setGamepad(std::shared_ptr<Input::Gamepad> gamepad) { gamepad_ = gamepad; }
|
void setGamepad(std::shared_ptr<Input::Gamepad> gamepad) { gamepad_ = gamepad; }
|
||||||
[[nodiscard]] auto getGamepad() const -> std::shared_ptr<Input::Gamepad> { return gamepad_; }
|
[[nodiscard]] auto getGamepad() const -> std::shared_ptr<Input::Gamepad> { return gamepad_; }
|
||||||
void setUsesKeyboard(bool value) { uses_keyboard_ = value; }
|
void setUsesKeyboard(bool value) { uses_keyboard_ = value; }
|
||||||
@@ -281,7 +281,7 @@ class Player {
|
|||||||
void transitionToCooling(); // Cambia el estado actual al de enfriamiento (por ejemplo, tras una ráfaga o sobrecalentamiento)
|
void transitionToCooling(); // Cambia el estado actual al de enfriamiento (por ejemplo, tras una ráfaga o sobrecalentamiento)
|
||||||
void completeCooling(); // Finaliza el proceso de enfriamiento y restablece el estado listo para disparar
|
void completeCooling(); // Finaliza el proceso de enfriamiento y restablece el estado listo para disparar
|
||||||
void handlePlayingMovement(); // Gestiona el movimiento del personaje u objeto durante el estado de juego activo
|
void handlePlayingMovement(); // Gestiona el movimiento del personaje u objeto durante el estado de juego activo
|
||||||
void handleThankYouMovement(); // Comprueba si ha acabado la animación
|
void handleRecoverMovement(); // Comprueba si ha acabado la animación
|
||||||
void handleRollingMovement(); // Actualiza la lógica de movimiento de "rodar" (posiblemente tras impacto o acción especial)
|
void handleRollingMovement(); // Actualiza la lógica de movimiento de "rodar" (posiblemente tras impacto o acción especial)
|
||||||
void handleRollingBoundaryCollision(); // Detecta y maneja colisiones del objeto rodante con los límites de la pantalla
|
void handleRollingBoundaryCollision(); // Detecta y maneja colisiones del objeto rodante con los límites de la pantalla
|
||||||
void handleRollingGroundCollision(); // Gestiona la interacción del objeto rodante con el suelo (rebotes, frenado, etc.)
|
void handleRollingGroundCollision(); // Gestiona la interacción del objeto rodante con el suelo (rebotes, frenado, etc.)
|
||||||
|
|||||||
@@ -598,8 +598,7 @@ void Resource::createTextTextures() {
|
|||||||
{"game_text_powerup", Lang::getText("[GAME_TEXT] 4")},
|
{"game_text_powerup", Lang::getText("[GAME_TEXT] 4")},
|
||||||
{"game_text_one_hit", Lang::getText("[GAME_TEXT] 5")},
|
{"game_text_one_hit", Lang::getText("[GAME_TEXT] 5")},
|
||||||
{"game_text_stop", Lang::getText("[GAME_TEXT] 6")},
|
{"game_text_stop", Lang::getText("[GAME_TEXT] 6")},
|
||||||
{"game_text_1000000_points", Lang::getText("[GAME_TEXT] 8")},
|
{"game_text_1000000_points", Lang::getText("[GAME_TEXT] 8")}};
|
||||||
{"game_text_thank_you", Lang::getText("[GAME_TEXT] THANK_YOU")}};
|
|
||||||
|
|
||||||
auto text = getText("04b_25");
|
auto text = getText("04b_25");
|
||||||
for (const auto &s : strings) {
|
for (const auto &s : strings) {
|
||||||
|
|||||||
@@ -144,7 +144,6 @@ void Game::setResources() {
|
|||||||
game_text_textures_.emplace_back(Resource::get()->getTexture("game_text_one_hit"));
|
game_text_textures_.emplace_back(Resource::get()->getTexture("game_text_one_hit"));
|
||||||
game_text_textures_.emplace_back(Resource::get()->getTexture("game_text_stop"));
|
game_text_textures_.emplace_back(Resource::get()->getTexture("game_text_stop"));
|
||||||
game_text_textures_.emplace_back(Resource::get()->getTexture("game_text_100000_points"));
|
game_text_textures_.emplace_back(Resource::get()->getTexture("game_text_100000_points"));
|
||||||
game_text_textures_.emplace_back(Resource::get()->getTexture("game_text_thank_you"));
|
|
||||||
|
|
||||||
// Texturas - Items
|
// Texturas - Items
|
||||||
item_textures_.clear();
|
item_textures_.clear();
|
||||||
@@ -1405,9 +1404,6 @@ void Game::handlePlayerContinueInput(const std::shared_ptr<Player> &player) {
|
|||||||
player->setPlayingState(Player::State::RECOVER);
|
player->setPlayingState(Player::State::RECOVER);
|
||||||
player->addCredit();
|
player->addCredit();
|
||||||
sendPlayerToTheFront(player);
|
sendPlayerToTheFront(player);
|
||||||
// Crea letrero de THANK_YOU
|
|
||||||
//const auto X = player->getPosX() + (player->getWidth() - game_text_textures_.at(7)->getWidth()) / 2;
|
|
||||||
//createItemText(X, game_text_textures_.at(7));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disminuye el contador de continuación si se presiona cualquier botón de disparo.
|
// Disminuye el contador de continuación si se presiona cualquier botón de disparo.
|
||||||
|
|||||||
Reference in New Issue
Block a user