From: DeaDDooMER Date: Thu, 29 Dec 2022 01:10:16 +0000 (+0300) Subject: gl: force camera at map center when screen larger than map X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=commitdiff_plain;h=7ea33f434a86160ce9223f5946b5e3407026c76f gl: force camera at map center when screen larger than map --- diff --git a/src/game/renders/opengl/r_map.pas b/src/game/renders/opengl/r_map.pas index 6b54fa3..eb73217 100644 --- a/src/game/renders/opengl/r_map.pas +++ b/src/game/renders/opengl/r_map.pas @@ -1398,13 +1398,18 @@ implementation (* camera bounds *) if g_dbg_ignore_bounds = false then begin - if cx + cw > gMapInfo.Width then - cx := gMapInfo.Width - cw; - if cy + ch > gMapInfo.Height then - cy := gMapInfo.Height - ch; - if cx < 0 then + if w > gMapInfo.Width then + cx := gMapInfo.Width div 2 - w div 2 + else if cx + cw > gMapInfo.Width then + cx := gMapInfo.Width - cw + else if cx < 0 then cx := 0; - if cy < 0 then + + if h > gMapInfo.Height then + cy := gMapInfo.Height div 2 - h div 2 + else if cy + ch > gMapInfo.Height then + cy := gMapInfo.Height - ch + else if cy < 0 then cy := 0; end;