forked from jaildesigner-jailgames/jaildoctors_dilemma
corregides cridades a SDL3 i migrat casi tot de int a float. Falta jail_shader
This commit is contained in:
@@ -25,7 +25,7 @@ struct PlayerSpawn {
|
||||
float vy;
|
||||
int jump_init_pos;
|
||||
PlayerState state;
|
||||
SDL_RendererFlip flip;
|
||||
SDL_FlipMode flip;
|
||||
|
||||
// Constructor por defecto
|
||||
PlayerSpawn()
|
||||
@@ -38,7 +38,7 @@ struct PlayerSpawn {
|
||||
flip(SDL_FLIP_NONE) {}
|
||||
|
||||
// Constructor
|
||||
PlayerSpawn(float x, float y, float vx, float vy, int jump_init_pos, PlayerState state, SDL_RendererFlip flip)
|
||||
PlayerSpawn(float x, float y, float vx, float vy, int jump_init_pos, PlayerState state, SDL_FlipMode flip)
|
||||
: x(x),
|
||||
y(y),
|
||||
vx(vx),
|
||||
@@ -75,34 +75,34 @@ class Player {
|
||||
std::shared_ptr<SAnimatedSprite> sprite_; // Sprite del jugador
|
||||
|
||||
// Variables
|
||||
float x_; // Posición del jugador en el eje X
|
||||
float y_; // Posición del jugador en el eje Y
|
||||
float vx_; // Velocidad/desplazamiento del jugador en el eje X
|
||||
float vy_; // Velocidad/desplazamiento del jugador en el eje Y
|
||||
Uint8 color_; // Color del jugador
|
||||
SDL_Rect collider_box_; // Caja de colisión con los enemigos u objetos
|
||||
std::vector<SDL_Point> collider_points_; // Puntos de colisión con el mapa
|
||||
std::vector<SDL_Point> under_feet_; // Contiene los puntos que hay bajo cada pie del jugador
|
||||
std::vector<SDL_Point> feet_; // Contiene los puntos que hay en el pie del jugador
|
||||
PlayerState state_; // Estado en el que se encuentra el jugador. Util apara saber si está saltando o cayendo
|
||||
PlayerState previous_state_; // Estado previo en el que se encontraba el jugador
|
||||
bool is_on_border_ = false; // Indica si el jugador esta en uno de los cuatro bordes de la pantalla
|
||||
bool is_alive_ = true; // Indica si el jugador esta vivo o no
|
||||
bool is_paused_ = false; // Indica si el jugador esta en modo pausa
|
||||
bool auto_movement_ = false; // Indica si esta siendo arrastrado por una superficie automatica
|
||||
RoomBorder border_ = RoomBorder::TOP; // Indica en cual de los cuatro bordes se encuentra
|
||||
SDL_Rect last_position_; // Contiene la ultima posición del jugador, por si hay que deshacer algun movimiento
|
||||
int jump_init_pos_; // Valor del eje Y en el que se inicia el salto
|
||||
std::vector<JA_Sound_t*> jumping_sound_; // Vecor con todos los sonidos del salto
|
||||
std::vector<JA_Sound_t*> falling_sound_; // Vecor con todos los sonidos de la caída
|
||||
int jumping_counter_ = 0; // Cuenta el tiempo de salto
|
||||
int falling_counter_ = 0; // Cuenta el tiempo de caida
|
||||
float x_; // Posición del jugador en el eje X
|
||||
float y_; // Posición del jugador en el eje Y
|
||||
float vx_; // Velocidad/desplazamiento del jugador en el eje X
|
||||
float vy_; // Velocidad/desplazamiento del jugador en el eje Y
|
||||
Uint8 color_; // Color del jugador
|
||||
SDL_FRect collider_box_; // Caja de colisión con los enemigos u objetos
|
||||
std::vector<SDL_FPoint> collider_points_; // Puntos de colisión con el mapa
|
||||
std::vector<SDL_FPoint> under_feet_; // Contiene los puntos que hay bajo cada pie del jugador
|
||||
std::vector<SDL_FPoint> feet_; // Contiene los puntos que hay en el pie del jugador
|
||||
PlayerState state_; // Estado en el que se encuentra el jugador. Util apara saber si está saltando o cayendo
|
||||
PlayerState previous_state_; // Estado previo en el que se encontraba el jugador
|
||||
bool is_on_border_ = false; // Indica si el jugador esta en uno de los cuatro bordes de la pantalla
|
||||
bool is_alive_ = true; // Indica si el jugador esta vivo o no
|
||||
bool is_paused_ = false; // Indica si el jugador esta en modo pausa
|
||||
bool auto_movement_ = false; // Indica si esta siendo arrastrado por una superficie automatica
|
||||
RoomBorder border_ = RoomBorder::TOP; // Indica en cual de los cuatro bordes se encuentra
|
||||
SDL_FRect last_position_; // Contiene la ultima posición del jugador, por si hay que deshacer algun movimiento
|
||||
int jump_init_pos_; // Valor del eje Y en el que se inicia el salto
|
||||
std::vector<JA_Sound_t*> jumping_sound_; // Vecor con todos los sonidos del salto
|
||||
std::vector<JA_Sound_t*> falling_sound_; // Vecor con todos los sonidos de la caída
|
||||
int jumping_counter_ = 0; // Cuenta el tiempo de salto
|
||||
int falling_counter_ = 0; // Cuenta el tiempo de caida
|
||||
|
||||
#ifdef DEBUG
|
||||
SDL_Rect debug_rect_x_; // Rectangulo de desplazamiento para el modo debug
|
||||
SDL_Rect debug_rect_y_; // Rectangulo de desplazamiento para el modo debug
|
||||
Uint8 debug_color_; // Color del recuadro de debug del jugador
|
||||
SDL_Point debug_point_; // Punto para debug
|
||||
SDL_FRect debug_rect_x_; // Rectangulo de desplazamiento para el modo debug
|
||||
SDL_FRect debug_rect_y_; // Rectangulo de desplazamiento para el modo debug
|
||||
Uint8 debug_color_; // Color del recuadro de debug del jugador
|
||||
SDL_FPoint debug_point_; // Punto para debug
|
||||
#endif
|
||||
|
||||
// Comprueba las entradas y modifica variables
|
||||
@@ -193,10 +193,10 @@ class Player {
|
||||
void switchBorders();
|
||||
|
||||
// Obtiene el rectangulo que delimita al jugador
|
||||
SDL_Rect getRect() { return {static_cast<int>(x_), static_cast<int>(y_), WIDTH_, HEIGHT_}; }
|
||||
SDL_FRect getRect() { return {static_cast<int>(x_), static_cast<int>(y_), WIDTH_, HEIGHT_}; }
|
||||
|
||||
// Obtiene el rectangulo de colision del jugador
|
||||
SDL_Rect& getCollider() { return collider_box_; }
|
||||
SDL_FRect& getCollider() { return collider_box_; }
|
||||
|
||||
// Obtiene el estado de reaparición del jugador
|
||||
PlayerSpawn getSpawnParams() { return {x_, y_, vx_, vy_, jump_init_pos_, state_, sprite_->getFlip()}; }
|
||||
|
||||
Reference in New Issue
Block a user