private static bool GetMapCoords(int PinX, int PinY, int Goal, out Point result)
{
if (!Main.mapFullscreen)
{
result = new Point(-1, -1);
return false;
}
float num3 = 2f;
int num4 = Main.maxTilesX / Main.textureMaxWidth;
int num5 = Main.maxTilesY / Main.textureMaxHeight;
float num6 = 10f;
float num7 = 10f;
float num8 = (float)(Main.maxTilesX - 10);
float num9 = (float)(Main.maxTilesY - 10);
num3 = Main.mapFullscreenScale;
float num10 = (float)(Main.screenWidth / Main.maxTilesX * 0.800000011920929);
if (Main.mapFullscreenScale < num10)
Main.mapFullscreenScale = num10;
if (Main.mapFullscreenScale > 16.0)
Main.mapFullscreenScale = 16f;
float num11 = Main.mapFullscreenScale;
if (Main.mapFullscreenPos.X < num6)
Main.mapFullscreenPos.X = num6;
if (Main.mapFullscreenPos.X > num8)
Main.mapFullscreenPos.X = num8;
if (Main.mapFullscreenPos.Y < num7)
Main.mapFullscreenPos.Y = num7;
if (Main.mapFullscreenPos.Y > num9)
Main.mapFullscreenPos.Y = num9;
float num12 = Main.mapFullscreenPos.X;
float num13 = Main.mapFullscreenPos.Y;
float num14 = num12 * num11;
float num15 = num13 * num11;
float num16 = -num14 + (float)(Main.screenWidth / 2);
float num17 = -num15 + (float)(Main.screenHeight / 2);
float x1 = num16 + num6 * num11;
float y1 = num17 + num7 * num11;
float num18 = (float)(Main.maxTilesX / 840) * Main.mapFullscreenScale;
float num19 = x1;
float num20 = y1;
float num21 = (float)Main.mapTexture.Width;
float num22 = (float)Main.mapTexture.Height;
float num23;
float num24;
float num25;
float num26;
if (Main.maxTilesX == 8400)
{
float num27 = num18 * 0.999f;
num23 = num19 - 40.6f * num27;
num24 = y1 - 5f * num27;
num25 = (num21 - 8.045f) * num27;
float num28 = (num22 + 0.12f) * num27;
if (num27 < 1.2)
num26 = num28 + 1f;
}
else if (Main.maxTilesX == 6400)
{
float num27 = num18 * 1.09f;
num23 = num19 - 38.8f * num27;
num24 = y1 - 3.85f * num27;
num25 = (num21 - 13.6f) * num27;
float num28 = (num22 - 6.92f) * num27;
if (num27 < 1.2)
num26 = num28 + 2f;
}
else if (Main.maxTilesX == 6300)
{
float num27 = num18 * 1.09f;
num23 = num19 - 39.8f * num27;
num24 = y1 - 4.08f * num27;
num25 = (num21 - 26.69f) * num27;
float num28 = (num22 - 6.92f) * num27;
if (num27 < 1.2)
num26 = num28 + 2f;
}
else if (Main.maxTilesX == 4200)
{
float num27 = num18 * 0.998f;
num23 = num19 - 37.3f * num27;
num24 = num20 - 1.7f * num27;
num25 = (num21 - 16f) * num27;
num26 = (num22 - 8.31f) * num27;
}
if (Goal == 0)
{
int x2 = (int)((-x1 + PinX) / num11 + num6);
int y2 = (int)((-y1 + PinY) / num11 + num7);
bool flag = false;
if ((double)x2 < num6)
flag = true;
if ((double)x2 >= num8)
flag = true;
if ((double)y2 < num7)
flag = true;
if ((double)y2 >= num9)
flag = true;
if (!flag)
{
result = new Point(x2, y2);
return true;
}
result = new Point(-1, -1);
return false;
}
if (Goal == 1)
{
Vector2 vector2_1 = new Vector2(x1, y1);
Vector2 vector2_2 = new Vector2((float)PinX, (float)PinY) * num11 - new Vector2(10f * num11);
result = Utils.ToPoint(vector2_1 + vector2_2);
return true;
}
result = new Point(-1, -1);
return false;
}