diff options
Diffstat (limited to 'src/ft_set_minimap_scale.c')
-rw-r--r-- | src/ft_set_minimap_scale.c | 22 |
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); } |