fix: ratolí visible en fullscreen
This commit is contained in:
@@ -245,8 +245,7 @@ void VectorText::render_centered(const std::string& text, const Punt& centre_pun
|
||||
// restant la meitat de les dimensions del punt central
|
||||
Punt posicio_esquerra = {
|
||||
centre_punt.x - (text_width / 2.0f),
|
||||
centre_punt.y - (text_height / 2.0f)
|
||||
};
|
||||
centre_punt.y - (text_height / 2.0f)};
|
||||
|
||||
// Delegar al mètode render() existent
|
||||
render(text, posicio_esquerra, escala, spacing, brightness);
|
||||
|
||||
@@ -32,15 +32,13 @@ void setForceHidden(bool force) {
|
||||
|
||||
if (force) {
|
||||
// Entrando en modo oculto forzado: ocultar cursor inmediatamente
|
||||
if (cursor_visible) {
|
||||
SDL_HideCursor();
|
||||
cursor_visible = false;
|
||||
}
|
||||
SDL_HideCursor();
|
||||
cursor_visible = false;
|
||||
} else {
|
||||
// Saliendo de modo oculto forzado: mostrar cursor y resetear temporizador
|
||||
SDL_ShowCursor();
|
||||
cursor_visible = true;
|
||||
// Saliendo de modo oculto forzado: NO mostrar cursor automáticamente
|
||||
// El cursor permanece oculto hasta que haya movimiento de ratón (handleEvent)
|
||||
last_mouse_move_time = SDL_GetTicks(); // Resetear temporizador
|
||||
// cursor_visible permanece false - handleEvent lo cambiará al detectar movimiento
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -241,8 +241,8 @@ void EscenaJoc::actualitzar(float delta_time) {
|
||||
// Only allow join if there's an active game
|
||||
if (algun_jugador_viu) {
|
||||
// P2 can join if not currently playing (never joined OR dead without lives)
|
||||
bool p2_no_juga = !config_partida_.jugador2_actiu || // Never joined
|
||||
itocado_per_jugador_[1] == 999.0f; // Dead without lives
|
||||
bool p2_no_juga = !config_partida_.jugador2_actiu || // Never joined
|
||||
itocado_per_jugador_[1] == 999.0f; // Dead without lives
|
||||
|
||||
if (p2_no_juga) {
|
||||
if (input->checkActionPlayer2(InputAction::START, Input::DO_NOT_ALLOW_REPEAT)) {
|
||||
@@ -251,8 +251,8 @@ void EscenaJoc::actualitzar(float delta_time) {
|
||||
}
|
||||
|
||||
// P1 can join if not currently playing (never joined OR dead without lives)
|
||||
bool p1_no_juga = !config_partida_.jugador1_actiu || // Never joined
|
||||
itocado_per_jugador_[0] == 999.0f; // Dead without lives
|
||||
bool p1_no_juga = !config_partida_.jugador1_actiu || // Never joined
|
||||
itocado_per_jugador_[0] == 999.0f; // Dead without lives
|
||||
|
||||
if (p1_no_juga) {
|
||||
if (input->checkActionPlayer1(InputAction::START, Input::DO_NOT_ALLOW_REPEAT)) {
|
||||
|
||||
@@ -26,9 +26,9 @@
|
||||
|
||||
// Game over state machine
|
||||
enum class EstatGameOver {
|
||||
NONE, // Normal gameplay
|
||||
CONTINUE, // Continue countdown screen (9→0)
|
||||
GAME_OVER // Final game over (returning to title)
|
||||
NONE, // Normal gameplay
|
||||
CONTINUE, // Continue countdown screen (9→0)
|
||||
GAME_OVER // Final game over (returning to title)
|
||||
};
|
||||
|
||||
// Classe principal del joc (escena)
|
||||
@@ -89,11 +89,11 @@ class EscenaJoc {
|
||||
Punt obtenir_punt_spawn(uint8_t player_id) const; // Get spawn position for player
|
||||
|
||||
// [NEW] Continue & Join system
|
||||
void unir_jugador(uint8_t player_id); // Join inactive player mid-game
|
||||
void processar_input_continue(); // Handle input during continue screen
|
||||
void actualitzar_continue(float delta_time); // Update continue countdown
|
||||
void check_and_apply_continue_timeout(); // Check if continue timed out and transition to GAME_OVER
|
||||
void dibuixar_continue(); // Draw continue screen
|
||||
void unir_jugador(uint8_t player_id); // Join inactive player mid-game
|
||||
void processar_input_continue(); // Handle input during continue screen
|
||||
void actualitzar_continue(float delta_time); // Update continue countdown
|
||||
void check_and_apply_continue_timeout(); // Check if continue timed out and transition to GAME_OVER
|
||||
void dibuixar_continue(); // Draw continue screen
|
||||
|
||||
// [NEW] Stage system helpers
|
||||
void dibuixar_missatge_stage(const std::string& missatge);
|
||||
|
||||
@@ -29,7 +29,7 @@ struct DistribucioEnemics {
|
||||
uint8_t pentagon; // 0-100
|
||||
uint8_t quadrat; // 0-100
|
||||
uint8_t molinillo; // 0-100
|
||||
// Suma ha de ser 100, validat en StageLoader
|
||||
// Suma ha de ser 100, validat en StageLoader
|
||||
};
|
||||
|
||||
// Multiplicadors de dificultat
|
||||
|
||||
Reference in New Issue
Block a user