Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DrawMap()

void Terraria.Main.DrawMap ( GameTime gameTime)
inlineprotected

Definition at line 52345 of file Main.cs.

52346 {
52347 string text = "";
52348 if (!mapEnabled || !mapReady)
52349 {
52350 return;
52351 }
52352 float num = 0f;
52353 float num2 = 0f;
52354 float num3 = num;
52355 float num4 = num2;
52356 float num5 = 2f;
52357 byte b = byte.MaxValue;
52360 float num7 = Lighting.OffScreenTiles;
52361 float num8 = Lighting.OffScreenTiles;
52362 float num9 = maxTilesX - Lighting.OffScreenTiles - 1;
52363 float num10 = maxTilesY - Lighting.OffScreenTiles - 42;
52364 float num11 = 0f;
52365 float num12 = 0f;
52366 num7 = 10f;
52367 num8 = 10f;
52368 num9 = maxTilesX - 10;
52369 num10 = maxTilesY - 10;
52370 for (int i = 0; i < mapTarget.GetLength(0); i++)
52371 {
52372 for (int j = 0; j < mapTarget.GetLength(1); j++)
52373 {
52374 if (mapTarget[i, j] != null)
52375 {
52376 if (mapTarget[i, j].IsContentLost && !mapWasContentLost[i, j])
52377 {
52378 mapWasContentLost[i, j] = true;
52379 refreshMap = true;
52380 clearMap = true;
52381 }
52382 else if (!mapTarget[i, j].IsContentLost && mapWasContentLost[i, j])
52383 {
52384 mapWasContentLost[i, j] = false;
52385 }
52386 }
52387 }
52388 }
52389 num = 200f;
52390 num2 = 300f;
52391 float num13 = 0f;
52392 float num14 = 0f;
52393 float num15 = num9 - 1f;
52394 float num16 = num10 - 1f;
52396 bool flag = false;
52397 float mapScale = MapScale;
52398 float num17 = 1f / mapScale;
52399 int num18 = mouseX;
52400 int num19 = mouseY;
52402 Matrix transformMatrix = uIScaleMatrix;
52406 int num20 = -1;
52407 if (mapStyle != 1)
52408 {
52409 transformMatrix = Matrix.Identity;
52410 }
52411 if (mapFullscreen)
52412 {
52413 transformMatrix = Matrix.Identity;
52414 }
52415 if (!mapFullscreen && mapStyle == 1)
52416 {
52417 transformMatrix *= matrix;
52418 transformMatrix2 *= matrix;
52419 }
52420 if (!mapFullscreen)
52421 {
52422 spriteBatch.End();
52424 if (num5 > 1f)
52425 {
52426 flag = true;
52427 }
52428 }
52429 if (mapFullscreen)
52430 {
52431 if (mouseLeft && base.IsActive && !CaptureManager.Instance.UsingMap)
52432 {
52433 if (mouseLeftRelease)
52434 {
52435 grabMapX = mouseX;
52436 grabMapY = mouseY;
52437 }
52438 else
52439 {
52440 float num21 = (float)mouseX - grabMapX;
52441 float num22 = (float)mouseY - grabMapY;
52442 grabMapX = mouseX;
52443 grabMapY = mouseY;
52444 num21 *= 0.06255f;
52445 num22 *= 0.06255f;
52446 mapFullscreenPos.X -= num21 * (16f / mapFullscreenScale);
52447 mapFullscreenPos.Y -= num22 * (16f / mapFullscreenScale);
52448 }
52449 }
52450 player[myPlayer].mouseInterface = true;
52451 float num23 = (float)screenWidth / (float)maxTilesX * 0.599f;
52453 {
52455 }
52456 if (mapFullscreenScale > 31.2f)
52457 {
52458 mapFullscreenScale = 31.18f;
52459 }
52461 b = byte.MaxValue;
52462 if (mapFullscreenPos.X < num7)
52463 {
52464 mapFullscreenPos.X = num7;
52465 }
52466 if (mapFullscreenPos.X > num9)
52467 {
52468 mapFullscreenPos.X = num9;
52469 }
52470 if (mapFullscreenPos.Y < num8)
52471 {
52472 mapFullscreenPos.Y = num8;
52473 }
52474 if (mapFullscreenPos.Y > num10)
52475 {
52476 mapFullscreenPos.Y = num10;
52477 }
52478 float num24 = mapFullscreenPos.X;
52479 float num25 = mapFullscreenPos.Y;
52480 if (resetMapFull)
52481 {
52482 resetMapFull = false;
52483 num24 = (screenPosition.X + (float)(screenWidth / 2)) / 16f;
52484 num25 = (screenPosition.Y + (float)(screenHeight / 2)) / 16f;
52485 mapFullscreenPos.X = num24;
52486 mapFullscreenPos.Y = num25;
52487 }
52488 num24 *= num5;
52489 num25 *= num5;
52490 num = 0f - num24 + (float)(screenWidth / 2);
52491 num2 = 0f - num25 + (float)(screenHeight / 2);
52492 num += num7 * num5;
52493 num2 += num8 * num5;
52494 float num26 = maxTilesX / 840;
52496 float num27 = num;
52497 float num28 = num2;
52498 float num29 = TextureAssets.Map.Width();
52499 float num30 = TextureAssets.Map.Height();
52500 if (maxTilesX == 8400)
52501 {
52502 num26 *= 0.999f;
52503 num27 -= 40.6f * num26;
52504 num28 = num2 - 5f * num26;
52505 num29 -= 8.045f;
52506 num29 *= num26;
52507 num30 += 0.12f;
52508 num30 *= num26;
52509 if ((double)num26 < 1.2)
52510 {
52511 num30 += 1f;
52512 }
52513 }
52514 else if (maxTilesX == 6400)
52515 {
52516 num26 *= 1.09f;
52517 num27 -= 38.8f * num26;
52518 num28 = num2 - 3.85f * num26;
52519 num29 -= 13.6f;
52520 num29 *= num26;
52521 num30 -= 6.92f;
52522 num30 *= num26;
52523 if ((double)num26 < 1.2)
52524 {
52525 num30 += 2f;
52526 }
52527 }
52528 else if (maxTilesX == 6300)
52529 {
52530 num26 *= 1.09f;
52531 num27 -= 39.8f * num26;
52532 num28 = num2 - 4.08f * num26;
52533 num29 -= 26.69f;
52534 num29 *= num26;
52535 num30 -= 6.92f;
52536 num30 *= num26;
52537 if ((double)num26 < 1.2)
52538 {
52539 num30 += 2f;
52540 }
52541 }
52542 else if (maxTilesX == 4200)
52543 {
52544 num26 *= 0.998f;
52545 num27 -= 37.3f * num26;
52546 num28 -= 1.7f * num26;
52547 num29 -= 16f;
52548 num29 *= num26;
52549 num30 -= 8.31f;
52550 num30 *= num26;
52551 }
52552 spriteBatch.End();
52554 flag = true;
52556 Microsoft.Xna.Framework.Rectangle destinationRectangle = new Microsoft.Xna.Framework.Rectangle((int)num27, (int)num28, (int)num29, (int)num30);
52557 spriteBatch.Draw(TextureAssets.Map.Value, destinationRectangle, Microsoft.Xna.Framework.Color.White);
52559 {
52560 double totalSeconds = gameTime.TotalGameTime.TotalSeconds;
52562 {
52563 TriggerPing((MouseScreen - new Vector2(num - 10f * num5, num2 - 10f * num5)) / num5);
52564 }
52567 }
52568 if (num5 < 1f)
52569 {
52570 spriteBatch.End();
52571 spriteBatch.Begin();
52572 flag = false;
52573 }
52574 }
52575 else if (mapStyle == 1)
52576 {
52578 miniMapWidth = 240;
52579 miniMapHeight = 240;
52582 miniMapX = (int)((float)miniMapX * num17);
52583 miniMapY = (int)((float)miniMapY * num17);
52584 mouseX = (int)((float)mouseX * num17);
52585 mouseY = (int)((float)mouseY * num17);
52586 _ = (float)miniMapHeight / (float)maxTilesY;
52587 if ((double)mapMinimapScale < 0.2)
52588 {
52589 mapMinimapScale = 0.2f;
52590 }
52591 if (mapMinimapScale > 3f)
52592 {
52593 mapMinimapScale = 3f;
52594 }
52595 if ((double)mapMinimapAlpha < 0.01)
52596 {
52597 mapMinimapAlpha = 0.01f;
52598 }
52599 if (mapMinimapAlpha > 1f)
52600 {
52601 mapMinimapAlpha = 1f;
52602 }
52604 b = (byte)(255f * mapMinimapAlpha);
52605 num = miniMapX;
52606 num2 = miniMapY;
52607 num3 = num;
52608 num4 = num2;
52609 float num31 = (screenPosition.X + (float)(PlayerInput.RealScreenWidth / 2)) / 16f;
52610 float num32 = (screenPosition.Y + (float)(PlayerInput.RealScreenHeight / 2)) / 16f;
52611 num11 = (0f - (num31 - (float)(int)((screenPosition.X + (float)(PlayerInput.RealScreenWidth / 2)) / 16f))) * num5;
52612 num12 = (0f - (num32 - (float)(int)((screenPosition.Y + (float)(PlayerInput.RealScreenHeight / 2)) / 16f))) * num5;
52613 num15 = (float)miniMapWidth / num5;
52614 num16 = (float)miniMapHeight / num5;
52615 num13 = (float)(int)num31 - num15 / 2f;
52616 num14 = (float)(int)num32 - num16 / 2f;
52617 _ = (float)maxTilesY + num14;
52618 float num33 = num3 - 6f;
52619 float num34 = num4 - 6f;
52620 MinimapFrameManagerInstance.DrawTo(spriteBatch, new Vector2(num33 + 10f, num34 + 10f));
52621 }
52622 else if (mapStyle == 2)
52623 {
52624 float num35 = (float)screenWidth / (float)maxTilesX;
52625 if (mapOverlayScale < num35)
52626 {
52628 }
52629 if (mapOverlayScale > 16f * GameViewMatrix.Zoom.X)
52630 {
52631 mapOverlayScale = 16f * GameViewMatrix.Zoom.X;
52632 }
52633 if ((double)mapOverlayAlpha < 0.01)
52634 {
52635 mapOverlayAlpha = 0.01f;
52636 }
52637 if (mapOverlayAlpha > 1f)
52638 {
52639 mapOverlayAlpha = 1f;
52640 }
52642 b = (byte)(255f * mapOverlayAlpha);
52643 _ = maxTilesX;
52644 _ = maxTilesY;
52645 float num36 = (screenPosition.X + (float)(screenWidth / 2)) / 16f;
52646 float num37 = (screenPosition.Y + (float)(screenHeight / 2)) / 16f;
52647 num36 *= num5;
52648 float num38 = num37 * num5;
52649 num = 0f - num36 + (float)(screenWidth / 2);
52650 num2 = 0f - num38 + (float)(screenHeight / 2);
52651 num += num7 * num5;
52652 num2 += num8 * num5;
52653 }
52654 if (mapStyle == 1 && !mapFullscreen)
52655 {
52656 if (num13 < num7)
52657 {
52658 num -= (num13 - num7) * num5;
52659 }
52660 if (num14 < num8)
52661 {
52662 num2 -= (num14 - num8) * num5;
52663 }
52664 }
52665 num15 = num13 + num15;
52666 num16 = num14 + num16;
52667 if (num13 > num7)
52668 {
52669 num7 = num13;
52670 }
52671 if (num14 > num8)
52672 {
52673 num8 = num14;
52674 }
52675 if (num15 < num9)
52676 {
52677 num9 = num15;
52678 }
52679 if (num16 < num10)
52680 {
52681 num10 = num16;
52682 }
52683 float num39 = (float)textureMaxWidth * num5;
52684 float num40 = (float)textureMaxHeight * num5;
52685 float num41 = num;
52686 float num42 = 0f;
52687 for (int k = 0; k <= 4; k++)
52688 {
52689 if (!((float)((k + 1) * textureMaxWidth) > num7) || !((float)(k * textureMaxWidth) < num7 + num9))
52690 {
52691 continue;
52692 }
52693 for (int l = 0; l <= num6; l++)
52694 {
52695 if ((float)((l + 1) * textureMaxHeight) > num8 && (float)(l * textureMaxHeight) < num8 + num10)
52696 {
52697 float num43 = num + (float)(int)((float)k * num39);
52698 float num44 = num2 + (float)(int)((float)l * num40);
52699 float num45 = k * textureMaxWidth;
52700 float num46 = l * textureMaxHeight;
52701 float num47 = 0f;
52702 float num48 = 0f;
52703 if (num45 < num7)
52704 {
52705 num47 = num7 - num45;
52706 num43 = num;
52707 }
52708 else
52709 {
52710 num43 -= num7 * num5;
52711 }
52712 if (num46 < num8)
52713 {
52714 num48 = num8 - num46;
52715 num44 = num2;
52716 }
52717 else
52718 {
52719 num44 -= num8 * num5;
52720 }
52721 num43 = num41;
52722 float num49 = textureMaxWidth;
52723 float num50 = textureMaxHeight;
52724 float num51 = (k + 1) * textureMaxWidth;
52725 float num52 = (l + 1) * textureMaxHeight;
52726 if (num51 >= num9)
52727 {
52728 num49 -= num51 - num9;
52729 }
52730 if (num52 >= num10)
52731 {
52732 num50 -= num52 - num10;
52733 }
52734 num43 += num11;
52735 num44 += num12;
52736 if (num49 > num47)
52737 {
52739 spriteBatch.Draw(mapTarget[k, l], new Vector2(num43, num44), value, new Microsoft.Xna.Framework.Color(b, b, b, b), 0f, default(Vector2), num5, SpriteEffects.None, 0f);
52740 }
52741 num42 = (float)((int)num49 - (int)num47) * num5;
52742 }
52743 if (l == num6)
52744 {
52745 num41 += num42;
52746 }
52747 }
52748 }
52749 if (flag)
52750 {
52751 spriteBatch.End();
52753 }
52754 if (!mapFullscreen)
52755 {
52756 if (mapStyle == 2)
52757 {
52758 float num53 = (num5 * 0.2f * 2f + 1f) / 3f;
52759 if (num53 > 1f)
52760 {
52761 num53 = 1f;
52762 }
52763 num53 *= UIScale;
52764 MapIcons.Draw(Vector2.Zero, new Vector2(num - 10f * num5, num2 - 10f * num5), null, num5, num53, ref text);
52765 revengeMarker = NPC.RevengeManager.DrawMapIcons(spriteBatch, Vector2.Zero, new Vector2(num - 10f * num5, num2 - 10f * num5), null, num5, num53, ref text);
52766 DrawMiscMapIcons(spriteBatch, Vector2.Zero, new Vector2(num - 10f * num5, num2 - 10f * num5), null, num5, num53, ref text);
52767 spriteBatch.End();
52768 if (revengeMarker != null)
52769 {
52771 try
52772 {
52773 revengeMarker.UseMouseOver(spriteBatch, ref text, num53);
52774 }
52775 catch (Exception e)
52776 {
52777 TimeLogger.DrawException(e);
52778 }
52779 spriteBatch.End();
52780 }
52782 try
52783 {
52784 for (int m = 0; m < 200; m++)
52785 {
52786 if (npc[m].active && npc[m].townNPC)
52787 {
52789 if (headIndexSafe > 0)
52790 {
52792 if (npc[m].direction > 0)
52793 {
52794 dir = SpriteEffects.FlipHorizontally;
52795 }
52796 float num54 = (npc[m].position.X + (float)(npc[m].width / 2)) / 16f * num5;
52797 float num55 = (npc[m].position.Y + (float)(npc[m].height / 2)) / 16f * num5;
52798 num54 += num;
52799 num55 += num2;
52800 num54 -= 10f * num5;
52801 num55 -= 10f * num5;
52803 }
52804 }
52805 if (!npc[m].active || npc[m].GetBossHeadTextureIndex() == -1)
52806 {
52807 continue;
52808 }
52809 float bossHeadRotation = npc[m].GetBossHeadRotation();
52810 SpriteEffects bossHeadSpriteEffects = npc[m].GetBossHeadSpriteEffects();
52811 Vector2 vector = npc[m].Center + new Vector2(0f, npc[m].gfxOffY);
52812 if (npc[m].type == 134)
52813 {
52814 Vector2 center = npc[m].Center;
52815 int num56 = 1;
52816 int num57 = (int)npc[m].ai[0];
52817 while (num56 < 15 && npc[num57].active && npc[num57].type >= 134 && npc[num57].type <= 136)
52818 {
52819 num56++;
52820 center += npc[num57].Center;
52821 num57 = (int)npc[num57].ai[0];
52822 }
52823 center /= (float)num56;
52824 vector = center;
52825 }
52826 int bossHeadTextureIndex = npc[m].GetBossHeadTextureIndex();
52827 float num58 = vector.X / 16f * num5;
52828 float num59 = vector.Y / 16f * num5;
52829 num58 += num;
52830 num59 += num2;
52831 num58 -= 10f * num5;
52832 num59 -= 10f * num5;
52834 }
52835 }
52836 catch (Exception e2)
52837 {
52838 TimeLogger.DrawException(e2);
52839 }
52840 spriteBatch.End();
52842 for (int n = 0; n < 255; n++)
52843 {
52844 if (player[n].active && !player[n].dead && n != myPlayer && ((!player[myPlayer].hostile && !player[n].hostile) || (player[myPlayer].team == player[n].team && player[n].team != 0) || n == myPlayer))
52845 {
52846 float num60 = (player[n].position.X + (float)(player[n].width / 2)) / 16f * num5;
52847 float num61 = player[n].position.Y / 16f * num5;
52848 num60 += num;
52849 num61 += num2;
52850 num60 -= 6f;
52851 num61 -= 2f;
52852 num61 -= 2f - num5 / 5f * 2f;
52853 num60 -= 10f * num5;
52854 num61 -= 10f * num5;
52856 MapPlayerRenderer.DrawPlayerHead(Camera, player[n], new Vector2(num60, num61), (float)(int)b / 255f, num53, playerHeadBordersColor);
52857 }
52858 }
52859 spriteBatch.End();
52860 spriteBatch.Begin();
52861 }
52862 if (mapStyle == 1)
52863 {
52864 float num62 = (num5 * 0.25f * 2f + 1f) / 3f;
52865 if (num62 > 1f)
52866 {
52867 num62 = 1f;
52868 }
52872 spriteBatch.End();
52874 for (int num63 = 0; num63 < 200; num63++)
52875 {
52876 if (npc[num63].active && npc[num63].townNPC)
52877 {
52879 if (headIndexSafe2 > 0)
52880 {
52882 if (npc[num63].direction > 0)
52883 {
52884 dir2 = SpriteEffects.FlipHorizontally;
52885 }
52886 float num64 = ((npc[num63].position.X + (float)npc[num63].width / 2f) / 16f - num13) * num5;
52887 float num65 = ((npc[num63].position.Y + npc[num63].gfxOffY + (float)npc[num63].height / 2f) / 16f - num14) * num5;
52888 num64 += num3;
52889 num65 += num4;
52890 num65 -= 2f * num5 / 5f;
52891 num64 += num11;
52892 num65 += num12;
52893 if (num64 > (float)(miniMapX + 12) && num64 < (float)(miniMapX + miniMapWidth - 16) && num65 > (float)(miniMapY + 10) && num65 < (float)(miniMapY + miniMapHeight - 14))
52894 {
52895 float num66 = num64 - (float)(TextureAssets.NpcHead[headIndexSafe2].Width() / 2) * num62;
52896 float num67 = num65 - (float)(TextureAssets.NpcHead[headIndexSafe2].Height() / 2) * num62;
52897 float num68 = num66 + (float)TextureAssets.NpcHead[headIndexSafe2].Width() * num62;
52898 float num69 = num67 + (float)TextureAssets.NpcHead[headIndexSafe2].Height() * num62;
52899 if ((float)mouseX >= num66 && (float)mouseX <= num68 && (float)mouseY >= num67 && (float)mouseY <= num69)
52900 {
52901 text = npc[num63].FullName;
52902 }
52904 }
52905 }
52906 }
52907 if (!npc[num63].active || npc[num63].GetBossHeadTextureIndex() == -1)
52908 {
52909 continue;
52910 }
52911 float bossHeadRotation2 = npc[num63].GetBossHeadRotation();
52912 SpriteEffects bossHeadSpriteEffects2 = npc[num63].GetBossHeadSpriteEffects();
52913 Vector2 vector2 = npc[num63].Center + new Vector2(0f, npc[num63].gfxOffY);
52914 if (npc[num63].type == 134)
52915 {
52916 Vector2 center2 = npc[num63].Center;
52917 int num70 = 1;
52918 int num71 = (int)npc[num63].ai[0];
52919 while (num70 < 15 && npc[num71].active && npc[num71].type >= 134 && npc[num71].type <= 136)
52920 {
52921 num70++;
52922 center2 += npc[num71].Center;
52923 num71 = (int)npc[num71].ai[0];
52924 }
52925 center2 /= (float)num70;
52926 vector2 = center2;
52927 }
52928 int bossHeadTextureIndex2 = npc[num63].GetBossHeadTextureIndex();
52929 float num72 = (vector2.X / 16f - num13) * num5;
52930 float num73 = (vector2.Y / 16f - num14) * num5;
52931 num72 += num3;
52932 num73 += num4;
52933 num73 -= 2f * num5 / 5f;
52934 num72 += num11;
52935 num73 += num12;
52936 if (num72 > (float)(miniMapX + 12) && num72 < (float)(miniMapX + miniMapWidth - 16) && num73 > (float)(miniMapY + 10) && num73 < (float)(miniMapY + miniMapHeight - 14))
52937 {
52938 float num74 = num72 - (float)(TextureAssets.NpcHeadBoss[bossHeadTextureIndex2].Width() / 2) * num62;
52939 float num75 = num73 - (float)(TextureAssets.NpcHeadBoss[bossHeadTextureIndex2].Height() / 2) * num62;
52940 float num76 = num74 + (float)TextureAssets.NpcHeadBoss[bossHeadTextureIndex2].Width() * num62;
52941 float num77 = num75 + (float)TextureAssets.NpcHeadBoss[bossHeadTextureIndex2].Height() * num62;
52942 if ((float)mouseX >= num74 && (float)mouseX <= num76 && (float)mouseY >= num75 && (float)mouseY <= num77)
52943 {
52944 text = npc[num63].GivenOrTypeName;
52945 }
52947 }
52948 }
52949 spriteBatch.End();
52951 for (int num78 = 0; num78 < 255; num78++)
52952 {
52953 if (!player[num78].active || ((player[myPlayer].hostile || player[num78].hostile) && (player[myPlayer].team != player[num78].team || player[num78].team == 0) && num78 != myPlayer))
52954 {
52955 continue;
52956 }
52957 float num79 = ((player[num78].position.X + (float)(player[num78].width / 2)) / 16f - num13) * num5;
52958 float num80 = ((player[num78].position.Y + player[num78].gfxOffY + (float)(player[num78].height / 2)) / 16f - num14) * num5;
52959 num79 += num3;
52960 num80 += num4;
52961 num79 -= 6f;
52962 num80 -= 6f;
52963 num80 -= 2f - num5 / 5f * 2f;
52964 num79 += num11;
52965 num80 += num12;
52966 if (!player[num78].dead && num79 > (float)(miniMapX + 6) && num79 < (float)(miniMapX + miniMapWidth - 16) && num80 > (float)(miniMapY + 6) && num80 < (float)(miniMapY + miniMapHeight - 14))
52967 {
52969 MapPlayerRenderer.DrawPlayerHead(Camera, player[num78], new Vector2(num79, num80), (float)(int)b / 255f, num62, playerHeadBordersColor2);
52970 if (num78 != myPlayer)
52971 {
52972 float num81 = num79 + 4f - 14f * num62;
52973 float num82 = num80 + 2f - 14f * num62;
52974 float num83 = num81 + 28f * num62;
52975 float num84 = num82 + 28f * num62;
52976 if ((float)mouseX >= num81 && (float)mouseX <= num83 && (float)mouseY >= num82 && (float)mouseY <= num84)
52977 {
52978 text = player[num78].name;
52979 }
52980 }
52981 }
52982 if (!player[num78].showLastDeath)
52983 {
52984 continue;
52985 }
52986 num79 = (player[num78].lastDeathPostion.X / 16f - num13) * num5;
52987 num80 = (player[num78].lastDeathPostion.Y / 16f - num14) * num5;
52988 num79 += num3;
52989 num80 += num4;
52990 num80 -= 2f - num5 / 5f * 2f;
52991 num79 += num11;
52992 num80 += num12;
52993 if (num79 > (float)(miniMapX + 8) && num79 < (float)(miniMapX + miniMapWidth - 18) && num80 > (float)(miniMapY + 8) && num80 < (float)(miniMapY + miniMapHeight - 16))
52994 {
52995 spriteBatch.Draw(TextureAssets.MapDeath.Value, new Vector2(num79, num80), new Microsoft.Xna.Framework.Rectangle(0, 0, TextureAssets.MapDeath.Width(), TextureAssets.MapDeath.Height()), Microsoft.Xna.Framework.Color.White, 0f, new Vector2((float)TextureAssets.MapDeath.Width() * 0.5f, (float)TextureAssets.MapDeath.Height() * 0.5f), num62, SpriteEffects.None, 0f);
52996 float num85 = num79 + 4f - 14f * num62;
52997 float num86 = num80 + 2f - 14f * num62;
52998 num85 -= 4f;
52999 num86 -= 4f;
53000 float num87 = num85 + 28f * num62;
53001 float num88 = num86 + 28f * num62;
53002 if ((float)mouseX >= num85 && (float)mouseX <= num87 && (float)mouseY >= num86 && (float)mouseY <= num88)
53003 {
53004 num20 = num78;
53005 }
53006 }
53007 }
53008 spriteBatch.End();
53011 spriteBatch.End();
53013 if (num20 != -1)
53014 {
53015 TimeSpan timeSpan = DateTime.Now - player[num20].lastDeathTime;
53016 text = Language.GetTextValue("Game.PlayerDeathTime", player[num20].name, Lang.LocalizedDuration(timeSpan, abbreviated: false, showAllAvailableUnits: false));
53017 }
53018 else
53019 {
53020 revengeMarker?.UseMouseOver(spriteBatch, ref text);
53021 }
53022 }
53023 }
53024 if (mapFullscreen)
53025 {
53026 int num89 = (int)((0f - num + (float)mouseX) / num5 + num7);
53027 int num90 = (int)((0f - num2 + (float)mouseY) / num5 + num8);
53028 bool flag2 = false;
53029 if ((float)num89 < num7)
53030 {
53031 flag2 = true;
53032 }
53033 if ((float)num89 >= num9)
53034 {
53035 flag2 = true;
53036 }
53037 if ((float)num90 < num8)
53038 {
53039 flag2 = true;
53040 }
53041 if ((float)num90 >= num10)
53042 {
53043 flag2 = true;
53044 }
53045 if (!flag2 && Map[num89, num90].Light > 40)
53046 {
53047 int type = Map[num89, num90].Type;
53048 int num91 = MapHelper.tileLookup[21];
53049 int num92 = MapHelper.tileLookup[441];
53051 int num94 = MapHelper.tileLookup[467];
53052 int num95 = MapHelper.tileLookup[468];
53053 int num96 = MapHelper.tileOptionCounts[467];
53054 int num97 = MapHelper.tileLookup[88];
53056 LocalizedText[] chestType = Lang.chestType;
53057 LocalizedText[] chestType2 = Lang.chestType2;
53058 if (type >= num91 && type < num91 + num93)
53059 {
53060 Tile tile = Main.tile[num89, num90];
53061 if (tile != null)
53062 {
53063 int num99 = num89;
53064 int num100 = num90;
53065 if (tile.frameX % 36 != 0)
53066 {
53067 num99--;
53068 }
53069 if (tile.frameY % 36 != 0)
53070 {
53071 num100--;
53072 }
53073 text = DrawMap_FindChestName(chestType, tile, num99, num100);
53074 }
53075 }
53076 else if (type >= num94 && type < num94 + num96)
53077 {
53078 Tile tile2 = Main.tile[num89, num90];
53079 if (tile2 != null)
53080 {
53081 int num101 = num89;
53082 int num102 = num90;
53083 if (tile2.frameX % 36 != 0)
53084 {
53085 num101--;
53086 }
53087 if (tile2.frameY % 36 != 0)
53088 {
53089 num102--;
53090 }
53091 text = DrawMap_FindChestName(chestType2, tile2, num101, num102);
53092 }
53093 }
53094 else if (type >= num92 && type < num92 + num93)
53095 {
53096 Tile tile3 = Main.tile[num89, num90];
53097 if (tile3 != null)
53098 {
53099 int num103 = num89;
53100 int num104 = num90;
53101 if (tile3.frameX % 36 != 0)
53102 {
53103 num103--;
53104 }
53105 if (tile3.frameY % 36 != 0)
53106 {
53107 num104--;
53108 }
53109 text = chestType[tile3.frameX / 36].Value;
53110 }
53111 }
53112 else if (type >= num95 && type < num95 + num96)
53113 {
53114 Tile tile4 = Main.tile[num89, num90];
53115 if (tile4 != null)
53116 {
53117 int num105 = num89;
53118 int num106 = num90;
53119 if (tile4.frameX % 36 != 0)
53120 {
53121 num105--;
53122 }
53123 if (tile4.frameY % 36 != 0)
53124 {
53125 num106--;
53126 }
53127 text = chestType2[tile4.frameX / 36].Value;
53128 }
53129 }
53130 else if (type >= num97 && type < num97 + num98)
53131 {
53132 Tile tile5 = Main.tile[num89, num90];
53133 if (tile5 != null)
53134 {
53135 int num107 = num90;
53136 int x = num89 - tile5.frameX % 54 / 18;
53137 if (tile5.frameY % 36 != 0)
53138 {
53139 num107--;
53140 }
53141 int num108 = Chest.FindChest(x, num107);
53142 text = ((num108 < 0) ? Lang.dresserType[0].Value : ((!(chest[num108].name != "")) ? Lang.dresserType[tile5.frameX / 54].Value : (Lang.dresserType[tile5.frameX / 54].Value + ": " + chest[num108].name)));
53143 }
53144 }
53145 else
53146 {
53147 text = Lang.GetMapObjectName(type);
53148 }
53149 }
53150 float num109 = (num5 * 0.25f * 2f + 1f) / 3f;
53151 if (num109 > 1f)
53152 {
53153 num109 = 1f;
53154 }
53155 num109 = 1f;
53156 num109 = UIScale;
53157 revengeMarker = NPC.RevengeManager.DrawMapIcons(spriteBatch, Vector2.Zero, new Vector2(num - 10f * num5, num2 - 10f * num5), null, num5, num109, ref text);
53158 DrawMiscMapIcons(spriteBatch, Vector2.Zero, new Vector2(num - 10f * num5, num2 - 10f * num5), null, num5, num109, ref text);
53159 spriteBatch.End();
53161 for (int num110 = 0; num110 < 200; num110++)
53162 {
53163 if (npc[num110].active && npc[num110].townNPC)
53164 {
53166 if (headIndexSafe3 > 0)
53167 {
53169 if (npc[num110].direction > 0)
53170 {
53171 dir3 = SpriteEffects.FlipHorizontally;
53172 }
53173 float num111 = (npc[num110].position.X + (float)(npc[num110].width / 2)) / 16f * num5;
53174 float num112 = (npc[num110].position.Y + npc[num110].gfxOffY + (float)(npc[num110].height / 2)) / 16f * num5;
53175 num111 += num;
53176 num112 += num2;
53177 num111 -= 10f * num5;
53178 num112 -= 10f * num5;
53179 float num113 = num111 - (float)(TextureAssets.NpcHead[headIndexSafe3].Width() / 2) * num109;
53180 float num114 = num112 - (float)(TextureAssets.NpcHead[headIndexSafe3].Height() / 2) * num109;
53181 float num115 = num113 + (float)TextureAssets.NpcHead[headIndexSafe3].Width() * num109;
53182 float num116 = num114 + (float)TextureAssets.NpcHead[headIndexSafe3].Height() * num109;
53183 if ((float)mouseX >= num113 && (float)mouseX <= num115 && (float)mouseY >= num114 && (float)mouseY <= num116)
53184 {
53185 text = npc[num110].FullName;
53186 }
53188 }
53189 }
53190 if (!npc[num110].active || npc[num110].GetBossHeadTextureIndex() == -1)
53191 {
53192 continue;
53193 }
53194 float bossHeadRotation3 = npc[num110].GetBossHeadRotation();
53195 SpriteEffects bossHeadSpriteEffects3 = npc[num110].GetBossHeadSpriteEffects();
53196 Vector2 vector3 = npc[num110].Center + new Vector2(0f, npc[num110].gfxOffY);
53197 if (npc[num110].type == 134)
53198 {
53199 Vector2 center3 = npc[num110].Center;
53200 int num117 = 1;
53201 int num118 = (int)npc[num110].ai[0];
53202 while (num117 < 15 && npc[num118].active && npc[num118].type >= 134 && npc[num118].type <= 136)
53203 {
53204 num117++;
53205 center3 += npc[num118].Center;
53206 num118 = (int)npc[num118].ai[0];
53207 }
53208 center3 /= (float)num117;
53209 vector3 = center3;
53210 }
53211 int bossHeadTextureIndex3 = npc[num110].GetBossHeadTextureIndex();
53212 float num119 = vector3.X / 16f * num5;
53213 float num120 = vector3.Y / 16f * num5;
53214 num119 += num;
53215 num120 += num2;
53216 num119 -= 10f * num5;
53217 num120 -= 10f * num5;
53219 float num121 = num119 - (float)(TextureAssets.NpcHeadBoss[bossHeadTextureIndex3].Width() / 2) * num109;
53220 float num122 = num120 - (float)(TextureAssets.NpcHeadBoss[bossHeadTextureIndex3].Height() / 2) * num109;
53223 if ((float)mouseX >= num121 && (float)mouseX <= num123 && (float)mouseY >= num122 && (float)mouseY <= num124)
53224 {
53225 text = npc[num110].GivenOrTypeName;
53226 }
53227 }
53228 bool flag3 = false;
53229 spriteBatch.End();
53231 for (int num125 = 0; num125 < 255; num125++)
53232 {
53233 if (player[num125].active && ((!player[myPlayer].hostile && !player[num125].hostile) || (player[myPlayer].team == player[num125].team && player[num125].team != 0) || num125 == myPlayer) && player[num125].showLastDeath && DrawPlayerDeathMarker(num, num2, num5, num13, num14, num109, num125))
53234 {
53235 num20 = num125;
53236 }
53237 }
53238 if (num20 != -1)
53239 {
53240 TimeSpan timeSpan2 = DateTime.Now - player[num20].lastDeathTime;
53241 text = Language.GetTextValue("Game.PlayerDeathTime", player[num20].name, Lang.LocalizedDuration(timeSpan2, abbreviated: false, showAllAvailableUnits: false));
53242 }
53243 else if (revengeMarker != null)
53244 {
53245 spriteBatch.End();
53247 revengeMarker.UseMouseOver(spriteBatch, ref text, num109);
53248 spriteBatch.End();
53250 }
53251 for (int num126 = 0; num126 < 255; num126++)
53252 {
53253 if (!player[num126].active || ((player[myPlayer].hostile || player[num126].hostile) && (player[myPlayer].team != player[num126].team || player[num126].team == 0) && num126 != myPlayer))
53254 {
53255 continue;
53256 }
53257 float num127 = ((player[num126].position.X + (float)(player[num126].width / 2)) / 16f - num13) * num5;
53258 float num128 = ((player[num126].position.Y + player[num126].gfxOffY + (float)(player[num126].height / 2)) / 16f - num14) * num5;
53259 num127 += num;
53260 num128 += num2;
53261 num127 -= 6f;
53262 num128 -= 2f;
53263 num128 -= 2f - num5 / 5f * 2f;
53264 num127 -= 10f * num5;
53265 num128 -= 10f * num5;
53266 float num129 = num127 + 4f - 14f * num109;
53267 float num130 = num128 + 2f - 14f * num109;
53268 float num131 = num129 + 28f * num109;
53269 float num132 = num130 + 28f * num109;
53270 if (player[num126].dead)
53271 {
53272 continue;
53273 }
53275 MapPlayerRenderer.DrawPlayerHead(Camera, player[num126], new Vector2(num127, num128), (float)(int)b / 255f, num109, playerHeadBordersColor3);
53276 if (!((float)mouseX >= num129) || !((float)mouseX <= num131) || !((float)mouseY >= num130) || !((float)mouseY <= num132))
53277 {
53278 continue;
53279 }
53280 text = player[num126].name;
53281 if (num126 != myPlayer && player[myPlayer].team > 0 && player[myPlayer].team == player[num126].team && netMode == 1 && player[myPlayer].HasUnityPotion() && !flag3 && !cancelWormHole)
53282 {
53283 flag3 = true;
53284 if (!unityMouseOver)
53285 {
53287 }
53288 unityMouseOver = true;
53291 text = Language.GetTextValue("Game.TeleportTo", player[num126].name);
53293 {
53294 mouseLeftRelease = false;
53295 mapFullscreen = false;
53296 player[myPlayer].UnityTeleport(player[num126].position);
53297 player[myPlayer].TakeUnityPotion();
53298 }
53299 }
53300 }
53301 cancelWormHole = false;
53302 MapIcons.Draw(Vector2.Zero, new Vector2(num - 10f * num5, num2 - 10f * num5), null, num5, num109, ref text);
53303 if (!flag3 && unityMouseOver)
53304 {
53305 unityMouseOver = false;
53306 }
53307 spriteBatch.End();
53310 int num133 = 10;
53311 int num134 = screenHeight - 40;
53312 if (showFrameRate)
53313 {
53314 num134 -= 15;
53315 }
53316 int num135 = 0;
53317 int num136 = 130;
53319 {
53320 num136 = 255;
53321 num135 += 4;
53322 player[myPlayer].mouseInterface = true;
53324 {
53326 mapFullscreen = false;
53327 }
53328 }
53331 }
53332 mouseX = num18;
53333 mouseY = num19;
53334 float t = 3f;
53335 Utils.Swap(ref t, ref inventoryScale);
53336 if (text != "")
53337 {
53338 MouseText(text, 0, 0);
53339 }
53340 Utils.Swap(ref t, ref inventoryScale);
53341 spriteBatch.End();
53342 try
53343 {
53344 if (num13 < num7)
53345 {
53346 num += (num13 - num7) * num5;
53347 }
53348 if (num14 < num8)
53349 {
53350 num2 += (num14 - num8) * num5;
53351 }
53352 if (mapFullscreen && Main.OnPostFullscreenMapDraw != null)
53353 {
53354 Main.OnPostFullscreenMapDraw(new Vector2(num, num2), num5);
53355 }
53356 }
53357 catch (Exception e3)
53358 {
53359 TimeLogger.DrawException(e3);
53360 }
53361 spriteBatch.Begin();
53363 TimeLogger.DetailedDrawTime(9);
53364 }
static readonly BlendState AlphaBlend
Definition BlendState.cs:36
static readonly RasterizerState CullCounterClockwise
static readonly SamplerState PointClamp
static readonly SamplerState LinearClamp
static void PlaySound(int type, Vector2 position, int style=1)
static Asset< Texture2D > Map
static Asset< Texture2D >[] NpcHeadBoss
static Asset< Texture2D >[] MapIcon
static Asset< Texture2D >[] NpcHead
static Asset< Texture2D > MapDeath
static string GetTextValue(string key)
Definition Language.cs:15
static bool showFrameRate
Definition Main.cs:1094
static float mapFullscreenScale
Definition Main.cs:936
static void TriggerPing(Vector2 position)
Definition Main.cs:53575
static void DrawNPCHeadBoss(Entity theNPC, byte alpha, float headScale, float rotation, SpriteEffects effects, int bossHeadId, float x, float y)
Definition Main.cs:53592
static bool clearMap
Definition Main.cs:886
static bool[,] mapWasContentLost
Definition Main.cs:898
static int maxTilesY
Definition Main.cs:1116
static string DrawMap_FindChestName(LocalizedText[] chestNames, Tile chestTile, int x, int y, int fullTileWidth=36)
Definition Main.cs:53657
static void DrawMapFullscreenBackground(Vector2 screenPosition, int screenWidth, int screenHeight)
Definition Main.cs:53366
static Chest[] chest
Definition Main.cs:1699
RenderTarget2D[,] mapTarget
Definition Main.cs:892
static SpriteBatch spriteBatch
Definition Main.cs:974
void DrawMiscMapIcons(SpriteBatch spriteBatch, Vector2 mapTopLeft, Vector2 mapX2Y2AndOff, Microsoft.Xna.Framework.Rectangle? mapRect, float mapScale, float drawScale, ref string mouseTextString)
Definition Main.cs:53491
static float grabMapX
Definition Main.cs:910
static int myPlayer
Definition Main.cs:1801
static int netMode
Definition Main.cs:2095
static float grabMapY
Definition Main.cs:912
static bool refreshMap
Definition Main.cs:858
static bool cancelWormHole
Definition Main.cs:2549
static float UIScale
Definition Main.cs:2624
static Vector2 DrawThickCursor(bool smart=false)
Definition Main.cs:45092
static int miniMapY
Definition Main.cs:916
static float mapOverlayScale
Definition Main.cs:928
static bool mouseLeftRelease
Definition Main.cs:1755
static int _minimapTopRightAnchorOffsetTowardsBottom
Definition Main.cs:2547
static float mapMinimapAlpha
Definition Main.cs:926
static int screenHeight
Definition Main.cs:1721
static Vector2 screenPosition
Definition Main.cs:1715
static void DrawCursor(Vector2 bonus, bool smart=false)
Definition Main.cs:45012
static Vector2 MouseScreen
Definition Main.cs:2773
static int mapStyle
Definition Main.cs:908
static Matrix UIScaleMatrix
Definition Main.cs:2619
static Microsoft.Xna.Framework.Color OurFavoriteColor
Definition Main.cs:902
static int maxTilesX
Definition Main.cs:1114
static SpriteViewMatrix GameViewMatrix
Definition Main.cs:227
static bool DrawPlayerDeathMarker(float X, float Y, float scale, float left, float top, float headScale, int i)
Definition Main.cs:53470
static float inventoryScale
Definition Main.cs:1779
static Vector2 _lastPingMousePosition
Definition Main.cs:371
static Tile[,] tile
Definition Main.cs:1675
static SamplerState SamplerStateForCursor
Definition Main.cs:980
static float mapMinimapScale
Definition Main.cs:924
static void DrawNPCHeadFriendly(Entity theNPC, byte alpha, float headScale, SpriteEffects dir, int townHeadId, float x, float y)
Definition Main.cs:53587
static float MapScale
Definition Main.cs:2543
static int miniMapHeight
Definition Main.cs:920
static bool resetMapFull
Definition Main.cs:934
static Vector2 mapFullscreenPos
Definition Main.cs:938
static int textureMaxHeight
Definition Main.cs:870
static int textureMaxWidth
Definition Main.cs:868
static MapHeadRenderer MapPlayerRenderer
Definition Main.cs:295
static Microsoft.Xna.Framework.Color GetPlayerHeadBordersColor(Player plr)
Definition Main.cs:53640
static void UpdateMinimapAnchors()
Definition Main.cs:52333
static int miniMapX
Definition Main.cs:914
static NPC[] npc
Definition Main.cs:1685
static float mapOverlayAlpha
Definition Main.cs:930
static int miniMapWidth
Definition Main.cs:918
static double _lastPingMouseDownTime
Definition Main.cs:373
static bool mapEnabled
Definition Main.cs:906
static MinimapFrameManager MinimapFrameManagerInstance
Definition Main.cs:2259
static int screenWidth
Definition Main.cs:1719
static int mouseY
Definition Main.cs:606
static bool mapReady
Definition Main.cs:866
static bool mapFullscreen
Definition Main.cs:932
static MapIconOverlay MapIcons
Definition Main.cs:367
bool unityMouseOver
Definition Main.cs:281
static Player[] player
Definition Main.cs:1803
void MouseText(string cursorText, int rare=0, byte diff=0, int hackedMouseX=-1, int hackedMouseY=-1, int hackedScreenWidth=-1, int hackedScreenHeight=-1, int pushWidthX=0)
Definition Main.cs:18729
static int mouseX
Definition Main.cs:604
static int _minimapTopRightAnchorOffsetTowardsLeft
Definition Main.cs:2545
static bool mouseLeft
Definition Main.cs:614
static int[] tileOptionCounts
Definition MapHelper.cs:176
static ushort[] tileLookup
Definition MapHelper.cs:180
static Matrix CreateScale(float xScale, float yScale, float zScale)
Definition Matrix.cs:522
static float Distance(Vector2 value1, Vector2 value2)
Definition Vector2.cs:91

References Terraria.Main._lastPingMouseDownTime, Terraria.Main._lastPingMousePosition, Terraria.Main._minimapTopRightAnchorOffsetTowardsBottom, Terraria.Main._minimapTopRightAnchorOffsetTowardsLeft, Microsoft.Xna.Framework.Graphics.BlendState.AlphaBlend, Terraria.Main.cancelWormHole, Terraria.Main.chest, Terraria.Lang.chestType, Terraria.Lang.chestType2, Terraria.Main.clearMap, Microsoft.Xna.Framework.Matrix.CreateScale(), Microsoft.Xna.Framework.Graphics.RasterizerState.CullCounterClockwise, Terraria.TimeLogger.DetailedDrawTime(), Microsoft.Xna.Framework.Vector2.Distance(), Terraria.Main.DrawCursor(), Terraria.TimeLogger.DrawException(), Terraria.Main.DrawMap_FindChestName(), Terraria.Main.DrawMapFullscreenBackground(), Terraria.Main.DrawMiscMapIcons(), Terraria.Main.DrawNPCHeadBoss(), Terraria.Main.DrawNPCHeadFriendly(), Terraria.Main.DrawPlayerDeathMarker(), Terraria.Main.DrawThickCursor(), Terraria.Lang.dresserType, Terraria.Chest.FindChest(), Terraria.Main.GameViewMatrix, Terraria.GameContent.TownNPCProfiles.GetHeadIndexSafe(), Terraria.Lang.GetMapObjectName(), Terraria.Main.GetPlayerHeadBordersColor(), Terraria.Localization.Language.GetTextValue(), Terraria.Main.grabMapX, Terraria.Main.grabMapY, System.Text.RegularExpressions.i, Microsoft.Xna.Framework.Matrix.Identity, Terraria.Graphics.Capture.CaptureManager.Instance, Terraria.Main.inventoryScale, Microsoft.Xna.Framework.Graphics.SamplerState.LinearClamp, Terraria.Lang.LocalizedDuration(), Terraria.GameContent.TextureAssets.Map, Terraria.GameContent.TextureAssets.MapDeath, Terraria.Main.mapEnabled, Terraria.Main.mapFullscreen, Terraria.Main.mapFullscreenPos, Terraria.Main.mapFullscreenScale, Terraria.GameContent.TextureAssets.MapIcon, Terraria.Main.MapIcons, Terraria.Main.mapMinimapAlpha, Terraria.Main.mapMinimapScale, Terraria.Main.mapOverlayAlpha, Terraria.Main.mapOverlayScale, Terraria.Main.MapPlayerRenderer, Terraria.Main.mapReady, Terraria.Main.MapScale, Terraria.Main.mapStyle, Terraria.Main.mapTarget, Terraria.Main.mapWasContentLost, Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.Main.MinimapFrameManagerInstance, Terraria.Main.miniMapHeight, Terraria.Main.miniMapWidth, Terraria.Main.miniMapX, Terraria.Main.miniMapY, Terraria.Main.mouseLeft, Terraria.Main.mouseLeftRelease, Terraria.Main.MouseScreen, Terraria.Main.MouseText(), Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, System.Text.RegularExpressions.name, Terraria.Main.netMode, Microsoft.Xna.Framework.Graphics.DepthStencilState.None, Terraria.Main.npc, Terraria.GameContent.TextureAssets.NpcHead, Terraria.GameContent.TextureAssets.NpcHeadBoss, Terraria.Lighting.OffScreenTiles, Terraria.Main.OnPostFullscreenMapDraw, Terraria.Main.OurFavoriteColor, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Microsoft.Xna.Framework.Graphics.SamplerState.PointClamp, Terraria.GameInput.PlayerInput.RealScreenHeight, Terraria.GameInput.PlayerInput.RealScreenWidth, Terraria.Main.refreshMap, Terraria.Main.resetMapFull, Terraria.NPC.RevengeManager, Terraria.Main.SamplerStateForCursor, Terraria.Main.screenHeight, Terraria.Main.screenPosition, Terraria.Main.screenWidth, Terraria.GameInput.PlayerInput.SetZoom_UI(), Terraria.GameInput.PlayerInput.SetZoom_Unscaled(), Terraria.Main.showFrameRate, Terraria.Main.spriteBatch, System.text, Terraria.Main.textureMaxHeight, Terraria.Main.textureMaxWidth, Terraria.Main.tile, Terraria.Map.MapHelper.tileLookup, Terraria.Map.MapHelper.tileOptionCounts, Terraria.Main.TriggerPing(), System.type, Terraria.Main.UIScale, Terraria.Main.UIScaleMatrix, Terraria.Main.unityMouseOver, Terraria.Main.UpdateMinimapAnchors(), System.value, Terraria.Localization.LocalizedText.Value, Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Color.White, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.Main.DoDraw(), and Terraria.Main.DrawInterface_16_MapOrMinimap().