@@ -1635,6 +1635,15 @@ void setMarioStatsValue(uint32_t currentMenuOption)
1635
1635
// Perform adjustments on certain addresses
1636
1636
switch (currentMenuOption)
1637
1637
{
1638
+ case MARIO_HP:
1639
+ case MARIO_FP:
1640
+ case MARIO_RANK:
1641
+ case SPECIAL_MOVES:
1642
+ case STAR_POWER:
1643
+ {
1644
+ ClearCacheForBattles.MarioStatsShouldBeCleared = true ;
1645
+ break ;
1646
+ }
1638
1647
case BP:
1639
1648
{
1640
1649
// Force the game to recalculate how much BP is left
@@ -1653,6 +1662,8 @@ void setMarioStatsValue(uint32_t currentMenuOption)
1653
1662
{
1654
1663
*reinterpret_cast <int16_t *>(PouchPtr + 0x70 ) = MaxHP;
1655
1664
}
1665
+
1666
+ ClearCacheForBattles.MarioStatsShouldBeCleared = true ;
1656
1667
break ;
1657
1668
}
1658
1669
case MARIO_MAX_FP:
@@ -1667,22 +1678,25 @@ void setMarioStatsValue(uint32_t currentMenuOption)
1667
1678
{
1668
1679
*reinterpret_cast <int16_t *>(PouchPtr + 0x74 ) = MaxFP;
1669
1680
}
1681
+
1682
+ ClearCacheForBattles.MarioStatsShouldBeCleared = true ;
1670
1683
break ;
1671
1684
}
1672
- /* case MARIO_LEVEL:
1685
+ case MARIO_LEVEL:
1673
1686
{
1674
1687
// Adjust Mario's rank with the level
1675
- int16_t MarioLevel = *reinterpret_cast<int16_t *>(PouchPtr + 0x8A);
1688
+ /* int16_t MarioLevel = *reinterpret_cast<int16_t *>(PouchPtr + 0x8A);
1676
1689
int16_t NewRank = MarioLevel / 10;
1677
1690
1678
1691
if (NewRank > 3)
1679
1692
{
1680
1693
NewRank = 3;
1681
1694
}
1682
1695
1683
- *reinterpret_cast<int16_t *>(PouchPtr + 0x88) = NewRank;
1696
+ *reinterpret_cast<int16_t *>(PouchPtr + 0x88) = NewRank;*/
1697
+ ClearCacheForBattles.MarioStatsShouldBeCleared = true ;
1684
1698
break ;
1685
- }*/
1699
+ }
1686
1700
case MAX_STAR_POWER:
1687
1701
{
1688
1702
// Prevent the current value from exceeding the max value
@@ -1693,6 +1707,8 @@ void setMarioStatsValue(uint32_t currentMenuOption)
1693
1707
{
1694
1708
*reinterpret_cast <int16_t *>(PouchPtr + 0x7A ) = MaxSP;
1695
1709
}
1710
+
1711
+ ClearCacheForBattles.MarioStatsShouldBeCleared = true ;
1696
1712
break ;
1697
1713
}
1698
1714
default :
@@ -1714,6 +1730,8 @@ void setPartnerStatsValue(uint32_t currentMenuOption)
1714
1730
{
1715
1731
*reinterpret_cast <int16_t *>(PartnerEnabledAddress + 0x6 ) =
1716
1732
static_cast <int16_t >(tempMenuSecondaryValue);
1733
+
1734
+ ClearCacheForBattles.PartnerStatsShouldBeCleared = true ;
1717
1735
break ;
1718
1736
}
1719
1737
case PARTNER_MAX_HP:
@@ -1724,6 +1742,8 @@ void setPartnerStatsValue(uint32_t currentMenuOption)
1724
1742
// Set the Max HP entering battle
1725
1743
*reinterpret_cast <int16_t *>(PartnerEnabledAddress + 0x4 ) =
1726
1744
static_cast <int16_t >(tempMenuSecondaryValue);
1745
+
1746
+ ClearCacheForBattles.PartnerStatsShouldBeCleared = true ;
1727
1747
break ;
1728
1748
}
1729
1749
case PARTNER_RANK:
@@ -1734,6 +1754,8 @@ void setPartnerStatsValue(uint32_t currentMenuOption)
1734
1754
// Set the rank for battles
1735
1755
*reinterpret_cast <int16_t *>(PartnerEnabledAddress + 0xC ) =
1736
1756
static_cast <int16_t >(tempMenuSecondaryValue);
1757
+
1758
+ ClearCacheForBattles.PartnerStatsShouldBeCleared = true ;
1737
1759
break ;
1738
1760
}
1739
1761
default :
0 commit comments