fix some first item bits accidentally getting unset

This commit is contained in:
gymnast86
2026-06-06 23:39:18 -07:00
parent bbea07ba9e
commit 5b6f2f6e91
3 changed files with 24 additions and 1 deletions
+3
View File
@@ -526,6 +526,9 @@ int checkItemGet(u8, int);
BOOL isHeart(u8 item_no);
int isBomb(u8);
int isArrow(u8);
#if TARGET_PC
int isRupee(u8);
#endif
int addBombCount(u8, u8);
BOOL isBottleItem(u8 item_no);
u8 check_itemno(int i_itemNo);
+2 -1
View File
@@ -613,7 +613,8 @@ void daItem_c::procWaitGetDemoEvent() {
procInitSimpleGetDemo();
itemGet();
if (!haveItem) {
// Don't potentially unset item bits in rando unless they're rupees
if (!haveItem IF_DUSK(&& (!randomizer_IsActive() || isRupee(m_itemNo)))) {
dComIfGs_offItemFirstBit(m_itemNo);
}
} else {
+19
View File
@@ -3355,6 +3355,25 @@ BOOL isHeart(u8 i_itemNo) {
return is_heart;
}
#if TARGET_PC
BOOL isRupee(u8 i_itemNo) {
switch (i_itemNo) {
case dItemNo_GREEN_RUPEE_e:
case dItemNo_BLUE_RUPEE_e:
case dItemNo_YELLOW_RUPEE_e:
case dItemNo_RED_RUPEE_e:
case dItemNo_PURPLE_RUPEE_e:
case dItemNo_ORANGE_RUPEE_e:
case dItemNo_SILVER_RUPEE_e:
return true;
default:
break;
}
return false;
}
#endif
BOOL isInsect(u8 i_itemNo) {
BOOL is_insect = false;