DEADSOFTWARE

gl: handle map bounds
[d2df-sdl.git] / src / game / renders / opengl / r_map.pas
index 7cac17f0713f2a5c26623656e783075a6ddd5927..3ef4979ad1fadf181c8879a2cb7106b445fb863f 100644 (file)
@@ -1165,7 +1165,19 @@ implementation
     ww := w;
     hh := h;
 
-    // TODO lock camera at map bounds
+    if g_dbg_ignore_bounds = false then
+    begin
+      if xx + ww > gMapInfo.Width then
+        xx := gMapInfo.Width - ww;
+      if yy + hh > gMapInfo.Height then
+        yy := gMapInfo.Height - hh;
+      if xx < 0 then
+        xx := 0;
+      if yy < 0 then
+        yy := 0;
+      cx := xx - x;
+      cy := yy - y;
+    end;
 
     // TODO draw paralax
     if SkyTexture <> nil then