so://phie

freezo

A retro platform game
git clone git://soophie.de/freezo

fix: Fixed distance calculation for shooting


commit: d4baeee3307563972cd5cfaea0af4f16ddace4e6
parent: 3a75f561ce255d25b51dd4a8128b0c65c6d256ae
author: Sophie <info@soophie.de>
time: 2024-12-16 11:02

diff --git a/src/player.c b/src/player.c

index ad14b46..fd05da3 100644

--- a/src/player.c

+++ b/src/player.c

1@@ -262,6 +262,8 @@ void player_update(player_t *player, game_t *game) {

2 float entity_distance = fabs(entity_x - (player->dir > 0 ? player->pos.x + PLAYER_WIDTH : player->pos.x));

3 if (player->target_entity != NULL && player->target_entity == entity) {

4 target_in_range = true;

5+ // if target entity set distance to that

6+ player->shooting_distance = entity_distance;

7 }

8 if (entity_distance < closest_distance) {

9 closest_distance = entity_distance;

10@@ -270,8 +272,9 @@ void player_update(player_t *player, game_t *game) {

11 }

12 }

13 if (closest_entity != NULL) {

14- player->shooting_distance = closest_distance;

15 if (!target_in_range) {

16+ // if no target entity use closest distance

17+ player->shooting_distance = closest_distance;

18 player->target_entity = closest_entity;

19 }

20 }

21

22