X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=new%2Fplomrogue%2Fmapping.py;h=e6ae9871b13fabaeb24f7e6bc76892c03a1e8099;hb=14d027c893d5576d54a86db2168f5b43dd5f9773;hp=9826e6887eb9571cdd53349f9217184321000cf8;hpb=d918b4815941beb84b34c985b5e99dcc8499d239;p=plomrogue2-experiments
diff --git a/new/plomrogue/mapping.py b/new/plomrogue/mapping.py
index 9826e68..e6ae987 100644
--- a/new/plomrogue/mapping.py
+++ b/new/plomrogue/mapping.py
@@ -85,10 +85,17 @@ class MapGeometry():
self.neighbors_to[map_size][pos] = neighbors
return neighbors
- def pos_in_projection(self, pos, offset, maps_size):
- pos_y = pos[1].y + (maps_size.y * pos[0].y) - offset.y
- pos_x = pos[1].x + (maps_size.x * pos[0].x) - offset.x
- return YX(pos_y, pos_x)
+ def undouble_coordinate(self, maps_size, coordinate):
+ y = maps_size.y * coordinate[0].y + coordinate[1].y
+ x = maps_size.x * coordinate[0].x + coordinate[1].x
+ return YX(y, x)
+
+ def get_view_offset(self, maps_size, center, radius):
+ yx_to_origin = self.undouble_coordinate(maps_size, center)
+ return yx_to_origin - YX(radius, radius)
+
+ def pos_in_view(self, pos, offset, maps_size):
+ return self.undouble_coordinate(maps_size, pos) - offset
def correct_double_coordinate(self, map_size, big_yx, little_yx):