aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_set_minimap_scale.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_set_minimap_scale.c')
-rw-r--r--src/ft_set_minimap_scale.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/ft_set_minimap_scale.c b/src/ft_set_minimap_scale.c
index dc4bd12..14a6f56 100644
--- a/src/ft_set_minimap_scale.c
+++ b/src/ft_set_minimap_scale.c
@@ -17,10 +17,20 @@ void
{
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;
+ ml = &clist->mlist;
+ 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);
}