Open TartessosGames opened 6 months ago
Eliminando la suma el rebote se atenua bastante. En lugar de eliminarla, le sumo la mitad: + ( p_vx = en_an_vx [enit] / 2) ;
y he conseguido que el rebote sea menos atenuado sin llegar a que el sprite atraviese los tiles behs 8 ni los tiles plataformas behs 4, que con los empujones también los atravesaban. Aunque en el caso de los behs 4 el efecto de traspasarlos con los empujones de los fanties quedaba bien.
Buenas. Encontré otro pequeño bug. Esta vez sucede cuando se activa #define PLAYER_BOUNCES y los Fanties. Al recibir un impacto de un Fanti, como coincida con que el personaje esté avanzando en la misma dirección que hacia donde va el Fanti, el sprite llega a atravesar los tiles con behs 8, quedando en algunas ocasiones encajonado, bloqueado, o yendo a parar a la pantalla adyacente. También puede ocurrir si el Fanti viene de la otra punta de la pantalla con velocidad y el personaje está quieto cerca de un tile con behs 8:
En esta prueba no está activado #define FULL_BOUNCE, por si acentua el problema, y los Fanties están con la configuración standart.
He conseguido "solucionar" el bug eliminando una parte del código en enengine.h.
queda así:
No sé si será la mejor manera, pero por lo menos en las situaciones donde lo estoy probado no me ha vuelto a ocurrir.
Cuando estaba desarrollando el anterior juego, recuerdo que acabé desactivando #define PLAYER_BOUNCES porque me ocurria eso mismo, no recuerdo si solo con los enemigos jartibles o también con los lineales, que en algunos casos terminaban empotrando al personaje dentro de tiles con behs 8 (era vista genital). No lo he vuelto a comprobar, ni se me ha dado el caso con los lineales en el nuevo proyecto, y los jartibles no los estoy utilizando, pero es probable que ocurra también.