Skip to content

Commit ca18964

Browse files
committed
Add support for tracking wood sword and bonus caves.
Useful for "Groundhog Day" races.
1 parent cac180f commit ca18964

4 files changed

Lines changed: 94 additions & 36 deletions

File tree

ZeldaRandomizerMap/ImageConstants.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ private static Bitmap MakeSolidBitmap(Color color)
5555
public static readonly Bitmap HintImage = MakeDecal(@"zelda\hint.png");
5656
public static readonly Bitmap MagicalSwordImage = MakeDecal(@"zelda\magical_sword.png");
5757
public static readonly Bitmap MoneyImage = MakeDecal(@"zelda\money.png");
58+
public static readonly Bitmap HeartImage = MakeDecal(@"zelda\heart.png");
5859
public static readonly Bitmap PotionImage = MakeDecal(@"zelda\potion.png");
60+
public static readonly Bitmap SwordImage = MakeDecal(@"zelda\sword.png");
5961
public static readonly Bitmap WarpZone1Image = MakeDecal(@"zelda\warp_zone_1.png");
6062
public static readonly Bitmap WarpZone2Image = MakeDecal(@"zelda\warp_zone_2.png");
6163
public static readonly Bitmap WarpZone3Image = MakeDecal(@"zelda\warp_zone_3.png");

ZeldaRandomizerMap/MainForm.Designer.cs

Lines changed: 62 additions & 36 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ZeldaRandomizerMap/MainForm.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1787,11 +1787,21 @@ private void levelHorizontalWall55_Click(object sender, EventArgs e)
17871787
ToggleHorizontal(7, 6, e);
17881788
}
17891789

1790+
private void heartButton_Click(object sender, EventArgs e)
1791+
{
1792+
m_overworldTracker.SetNoteHeart();
1793+
}
1794+
17901795
private void potionButton_Click(object sender, EventArgs e)
17911796
{
17921797
m_overworldTracker.SetNotePotion();
17931798
}
17941799

1800+
private void swordButton_Click(object sender, EventArgs e)
1801+
{
1802+
m_overworldTracker.SetNoteSword();
1803+
}
1804+
17951805
private void whiteSwordButton_Click(object sender, EventArgs e)
17961806
{
17971807
m_overworldTracker.SetNoteWhiteSword();

ZeldaRandomizerMap/OverworldTracker.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ enum ExploreType
3535
L9,
3636
LevelUnknown,
3737
Shop,
38+
Heart,
3839
Potion,
40+
Sword,
3941
WhiteSword,
4042
MagicalSword,
4143
WarpZone1,
@@ -221,12 +223,24 @@ public void SetNoteShopBomb()
221223
UpdateExploredImage();
222224
}
223225

226+
public void SetNoteHeart()
227+
{
228+
m_exploredCells[m_activeRow, m_activeColumn] = ExploreType.Heart;
229+
UpdateExploredImage();
230+
}
231+
224232
public void SetNotePotion()
225233
{
226234
m_exploredCells[m_activeRow, m_activeColumn] = ExploreType.Potion;
227235
UpdateExploredImage();
228236
}
229237

238+
public void SetNoteSword()
239+
{
240+
m_exploredCells[m_activeRow, m_activeColumn] = ExploreType.Sword;
241+
UpdateExploredImage();
242+
}
243+
230244
public void SetNoteWhiteSword()
231245
{
232246
m_exploredCells[m_activeRow, m_activeColumn] = ExploreType.WhiteSword;
@@ -615,9 +629,15 @@ private void UpdateExploredImage()
615629
UpdateImageCell(scan0, (offsetX + decalX) * 4, (offsetY + decalY) * stride, ImageConstants.BombImage.GetPixel(decalX, decalY));
616630
}
617631
break;
632+
case ExploreType.Heart:
633+
UpdateImageCell(scan0, (offsetX + decalX) * 4, (offsetY + decalY) * stride, ImageConstants.HeartImage.GetPixel(decalX, decalY));
634+
break;
618635
case ExploreType.Potion:
619636
UpdateImageCell(scan0, (offsetX + decalX) * 4, (offsetY + decalY) * stride, ImageConstants.PotionImage.GetPixel(decalX, decalY));
620637
break;
638+
case ExploreType.Sword:
639+
UpdateImageCell(scan0, (offsetX + decalX) * 4, (offsetY + decalY) * stride, ImageConstants.SwordImage.GetPixel(decalX, decalY));
640+
break;
621641
case ExploreType.WhiteSword:
622642
UpdateImageCell(scan0, (offsetX + decalX) * 4, (offsetY + decalY) * stride, ImageConstants.WhiteSwordImage.GetPixel(decalX, decalY));
623643
break;

0 commit comments

Comments
 (0)