soport de gamepad per a wasm

This commit is contained in:
2026-04-13 13:20:50 +02:00
parent d9c41f420b
commit 7f470361cc
15 changed files with 128 additions and 32 deletions

View File

@@ -2,12 +2,12 @@
#include <SDL3/SDL.h>
#include <memory> // Para shared_ptr
#include <string> // Para string
#include <vector> // Para vector
#include <memory> // Para shared_ptr
#include <string> // Para string
#include <vector> // Para vector
#include "game/scenes/scene.hpp" // Para Scene
class AnimatedSprite; // lines 11-11
class AnimatedSprite; // lines 11-11
class Surface;
class PixelReveal;
class DeltaTimer;

View File

@@ -7,8 +7,8 @@
#include <vector> // Para vector
#include "game/scenes/scene.hpp" // Para Scene
class Sprite; // lines 8-8
class Surface; // lines 9-9
class Sprite; // lines 8-8
class Surface; // lines 9-9
class PixelReveal;
class DeltaTimer;

View File

@@ -2,12 +2,12 @@
#include <SDL3/SDL.h>
#include <memory> // Para shared_ptr
#include <vector> // Para vector
#include <memory> // Para shared_ptr
#include <vector> // Para vector
#include "game/scenes/scene.hpp" // Para Scene
class AnimatedSprite; // lines 7-7
class DeltaTimer; // Forward declaration
class AnimatedSprite; // lines 7-7
class DeltaTimer; // Forward declaration
class GameOver : public Scene {
public:
@@ -51,9 +51,9 @@ class GameOver : public Scene {
void update(); // Actualiza el objeto
void render(); // Dibuja el final en pantalla
static void handleInput(); // Comprueba las entradas
void updateState(); // Actualiza el estado y transiciones
void updateColor(); // Actualiza el color usado para renderizar
void renderSprites(); // Dibuja los sprites
void updateState(); // Actualiza el estado y transiciones
void updateColor(); // Actualiza el color usado para renderizar
void renderSprites(); // Dibuja los sprites
// --- Variables miembro ---
// Objetos y punteros a recursos

View File

@@ -92,6 +92,15 @@ void Title::handleEvent(const SDL_Event& event) {
return; // No procesar más este evento
}
// Qualsevol botó del comandament al menú principal inicia partida directament
// (els bindings ja estan definits, no cal "pulsar 1" amb el teclat).
if (event.type == SDL_EVENT_GAMEPAD_BUTTON_DOWN &&
state_ == State::MAIN_MENU &&
!is_remapping_keyboard_ && !is_remapping_joystick_) {
handleMainMenuKeyPress(SDLK_1); // PLAY
return;
}
if (event.type == SDL_EVENT_KEY_DOWN && !Console::get()->isActive()) {
// Si estamos en modo remap de teclado, capturar tecla
if (is_remapping_keyboard_ && !remap_completed_) {