aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_set_minimap_scale.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ft_set_minimap_scale.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/ft_set_minimap_scale.c b/src/ft_set_minimap_scale.c
index 52c63e6..ed5ca1a 100644
--- a/src/ft_set_minimap_scale.c
+++ b/src/ft_set_minimap_scale.c
@@ -12,15 +12,26 @@
#include <cub3d.h>
+#include <libft.h>
void
ft_set_minimap_scale(t_cub *clist)
{
t_map *ml;
ml = &clist->mlist;
- ((ml->scale = (clist->wlist.x_size / (uint16_t)ml->map_w) - 1) < 1)
- ? (ml->scale = 1) : 0;
- (clist->wlist.y_size < (ml->map_h * ml->scale)) ? (ml->scale =
- (clist->wlist.y_size / (uint16_t)ml->map_h) - 1) : 0;
- (ml->scale >= 10) ? (ml->scale /= 4) : 0;
+ if (ml->map_w > ml->map_h)
+ {
+ ml->scale = (clist->wlist.x_size / (uint16_t)ml->map_w);
+ ml->scale = ((ml->scale - 1) < 1) ? (1) : (ml->scale);
+ ml->scale = (clist->wlist.y_size < (ml->map_h * ml->scale))
+ ? ((clist->wlist.y_size / (uint16_t)ml->map_h) - 1) : (ml->scale);
+ }
+ else
+ {
+ ml->scale = (clist->wlist.y_size / (uint16_t)ml->map_h);
+ ml->scale = ((ml->scale - 1) < 1) ? (1) : (ml->scale);
+ ml->scale = (clist->wlist.y_size < (ml->map_h * ml->scale))
+ ? ((clist->wlist.y_size / (uint16_t)ml->map_h) - 1) : (ml->scale);
+ }
+ ml->scale = (ml->scale >= 10) ? (ml->scale / 4) : (ml->scale);
}