Compare commits

...

6 Commits

Author SHA1 Message Date
MelonSpeedruns 0cdcd71b6a fix spinner on z 2026-05-14 10:19:19 -04:00
MelonSpeedruns 318ad2a00f third item, missing visuals 2026-05-14 10:14:35 -04:00
TakaRikka a913f1699f Merge pull request #1252 from TwilitRealm/erd
clear e_rd static boss ptr on delete
2026-05-13 19:31:35 -07:00
TakaRikka 01b4eaa2fa clear e_rd static boss ptr on delete 2026-05-13 19:27:39 -07:00
SuperDude88 9d2ba3eb49 Rename Settings Preset (#1233)
To match the bloom preset, since that name was updated in #1211
2026-05-13 20:26:30 -04:00
JaxonWasTaken 6026b4bb9b Apply rebrand to bloom setting value name (#1211)
The display name for BloomSetting::Dusk was unchanged in the rebranding
process, and still shows up as "Dusk" in the settings menu. Rename it to
"Dusklight" to bring it in line with the rebrand.
2026-05-13 16:34:14 -04:00
16 changed files with 93 additions and 57 deletions
+1 -1
View File
@@ -4059,7 +4059,7 @@ public:
/* 0x02180 */ daAlink_matAnm_c* field_0x2180[2]; /* 0x02180 */ daAlink_matAnm_c* field_0x2180[2];
/* 0x02188 */ dEyeHL_c mEyeHL1; /* 0x02188 */ dEyeHL_c mEyeHL1;
/* 0x0219C */ dEyeHL_c mEyeHL2; /* 0x0219C */ dEyeHL_c mEyeHL2;
/* 0x021B0 */ daPy_anmHeap_c mItemHeap[2]; /* 0x021B0 */ daPy_anmHeap_c mItemHeap[3];
/* 0x021D8 */ daPy_anmHeap_c mAnmHeap9; /* 0x021D8 */ daPy_anmHeap_c mAnmHeap9;
/* 0x021EC */ daAlinkHIO_c* mpHIO; /* 0x021EC */ daAlinkHIO_c* mpHIO;
/* 0x021F0 */ daAlink_blur_c m_swordBlur; /* 0x021F0 */ daAlink_blur_c m_swordBlur;
+1
View File
@@ -47,6 +47,7 @@ enum dEvt_type_e {
/* 0x5 */ dEvt_type_ITEM_e, /* 0x5 */ dEvt_type_ITEM_e,
/* 0x6 */ dEvt_type_SHOWITEM_X_e, /* 0x6 */ dEvt_type_SHOWITEM_X_e,
/* 0x7 */ dEvt_type_SHOWITEM_Y_e, /* 0x7 */ dEvt_type_SHOWITEM_Y_e,
/* 0x8 */ dEvt_type_SHOWITEM_Z_e,
/* 0xA */ dEvt_type_CATCH_e = 10, /* 0xA */ dEvt_type_CATCH_e = 10,
/* 0xB */ dEvt_type_TREASURE_e, /* 0xB */ dEvt_type_TREASURE_e,
}; };
+1 -1
View File
@@ -172,7 +172,7 @@ private:
/* 0x6A9 */ u8 field_0x6a9; // unused /* 0x6A9 */ u8 field_0x6a9; // unused
/* 0x6AA */ u8 mXButtonSlot; /* 0x6AA */ u8 mXButtonSlot;
/* 0x6AB */ u8 mYButtonSlot; /* 0x6AB */ u8 mYButtonSlot;
/* 0x6AC */ u8 field_0x6ac; /* 0x6AC */ u8 mZButtonSlot;
/* 0x6AD */ u8 field_0x6ad; /* 0x6AD */ u8 field_0x6ad;
/* 0x6AE */ u8 mItemsTotal; // Contains the amount of items which are actually obtained and in /* 0x6AE */ u8 mItemsTotal; // Contains the amount of items which are actually obtained and in
// the item wheel // the item wheel
+1 -1
View File
@@ -160,7 +160,7 @@ private:
/* 0x078 */ J2DScreen* mpScreen; /* 0x078 */ J2DScreen* mpScreen;
/* 0x07C */ J2DScreen* mpKanteraScreen; /* 0x07C */ J2DScreen* mpKanteraScreen;
/* 0x080 */ J2DScreen* mpPikariScreen; /* 0x080 */ J2DScreen* mpPikariScreen;
/* 0x084 */ J2DPicture* mpItemNumTex[2][3]; /* 0x084 */ J2DPicture* mpItemNumTex[3][3];
/* 0x09C */ CPaneMgr* field_0x9c[3]; /* 0x09C */ CPaneMgr* field_0x9c[3];
/* 0x0A8 */ int field_0xa8; /* 0x0A8 */ int field_0xa8;
/* 0x0AC */ dKantera_icon_c* mpKanteraMeter[2]; /* 0x0AC */ dKantera_icon_c* mpKanteraMeter[2];
+2 -1
View File
@@ -12,7 +12,7 @@
static const int DEFAULT_SELECT_ITEM_INDEX = 0; static const int DEFAULT_SELECT_ITEM_INDEX = 0;
static const int MAX_SELECT_ITEM = 4; static const int MAX_SELECT_ITEM = 4;
static const int SELECT_ITEM_NUM = 2; static const int SELECT_ITEM_NUM = 3;
static const int MAX_EQUIPMENT = 6; static const int MAX_EQUIPMENT = 6;
static const int MAX_EVENTS = 256; static const int MAX_EVENTS = 256;
static const int MAX_ITEM_SLOTS = 24; static const int MAX_ITEM_SLOTS = 24;
@@ -123,6 +123,7 @@ enum {
/* 0x3 */ SELECT_ITEM_B, /* 0x3 */ SELECT_ITEM_B,
/* 0x0 */ SELECT_ITEM_X = SELECT_ITEM_LEFT, /* 0x0 */ SELECT_ITEM_X = SELECT_ITEM_LEFT,
/* 0x1 */ SELECT_ITEM_Y = SELECT_ITEM_RIGHT, /* 0x1 */ SELECT_ITEM_Y = SELECT_ITEM_RIGHT,
/* 0x2 */ SELECT_ITEM_Z = SELECT_ITEM_DOWN,
}; };
enum { enum {
+20 -20
View File
@@ -4552,7 +4552,7 @@ void daAlink_c::playerInit() {
PLAYER_CREATE_ANM_HEAP(mFaceBtkHeap, daPy_anmHeap_c::HEAP_TYPE_2, "daAlink_c::mFaceBtkHeap"); PLAYER_CREATE_ANM_HEAP(mFaceBtkHeap, daPy_anmHeap_c::HEAP_TYPE_2, "daAlink_c::mFaceBtkHeap");
PLAYER_CREATE_ANM_HEAP(mFaceBckHeap, daPy_anmHeap_c::HEAP_TYPE_3, "daAlink_c::mFaceBckHeap"); PLAYER_CREATE_ANM_HEAP(mFaceBckHeap, daPy_anmHeap_c::HEAP_TYPE_3, "daAlink_c::mFaceBckHeap");
for (i = 0; i < 2; i++) { for (i = 0; i < SELECT_ITEM_NUM; i++) {
mItemHeap[i].setBufferSize(0x13200); mItemHeap[i].setBufferSize(0x13200);
PLAYER_CREATE_ANM_HEAP_F(mItemHeap[i], daPy_anmHeap_c::HEAP_TYPE_4, "daAlink_c::mItemHeap[%d]", i); PLAYER_CREATE_ANM_HEAP_F(mItemHeap[i], daPy_anmHeap_c::HEAP_TYPE_4, "daAlink_c::mItemHeap[%d]", i);
} }
@@ -9494,7 +9494,7 @@ void daAlink_c::setStickData() {
if (mDoCPd_c::getTrigY(PAD_1)) { if (mDoCPd_c::getTrigY(PAD_1)) {
mItemTrigger |= (daAlink_ITEM_BTN)BTN_Y; mItemTrigger |= (daAlink_ITEM_BTN)BTN_Y;
} }
if (mDoCPd_c::getTrigZ(PAD_1)) { if (mDoCPd_c::getTrigZ(PAD_1) && !mDoCPd_c::getHoldR(PAD_1)) {
mItemTrigger |= (daAlink_ITEM_BTN)BTN_Z; mItemTrigger |= (daAlink_ITEM_BTN)BTN_Z;
} }
if (mDoCPd_c::getTrigL(PAD_1)) { if (mDoCPd_c::getTrigL(PAD_1)) {
@@ -11297,8 +11297,8 @@ BOOL daAlink_c::checkUpperItemActionFly() {
void daAlink_c::checkItemButtonChange() { void daAlink_c::checkItemButtonChange() {
if (mProcID != PROC_CANOE_PADDLE_PUT && mEquipItem != dItemNo_NONE_e && !checkEquipAnime()) { if (mProcID != PROC_CANOE_PADDLE_PUT && mEquipItem != dItemNo_NONE_e && !checkEquipAnime()) {
u8 temp_r0; u8 temp_r0;
for (u8 i = 0; i < 2; i++) { for (u8 i = 0; i < SELECT_ITEM_NUM; i++) {
temp_r0 = (i + 1) % 2; temp_r0 = (i + 1) % SELECT_ITEM_NUM;
if (mEquipItem == dComIfGp_getSelectItem(i) && if (mEquipItem == dComIfGp_getSelectItem(i) &&
(mEquipItem != dComIfGp_getSelectItem(temp_r0) || mSelectItemId != temp_r0)) (mEquipItem != dComIfGp_getSelectItem(temp_r0) || mSelectItemId != temp_r0))
{ {
@@ -11468,8 +11468,8 @@ int daAlink_c::orderTalk(int i_checkZTalk) {
} }
if (!checkWolf() && checkRequestTalkActor(mAttList2, field_0x27f8)) { if (!checkWolf() && checkRequestTalkActor(mAttList2, field_0x27f8)) {
for (int i = 0; i < 2; i++) { for (int i = 0; i < 3; i++) {
// check if pressed X or Y and if item on button is a trade item // check if pressed X or Y or Z and if item on button is a trade item
if (checkTradeItem(dComIfGp_getSelectItem(i)) && itemTriggerCheck(1 << i)) { if (checkTradeItem(dComIfGp_getSelectItem(i)) && itemTriggerCheck(1 << i)) {
fopAcM_orderTalkItemBtnEvent(itemTalkType[i], this, field_0x27f8, 0, 0); fopAcM_orderTalkItemBtnEvent(itemTalkType[i], this, field_0x27f8, 0, 0);
return 1; return 1;
@@ -12107,7 +12107,7 @@ void daAlink_c::allUnequip(BOOL param_0) {
if (checkNoResetFlg2(FLG2_UNK_1) && param_0 && !checkCanoeRide() && if (checkNoResetFlg2(FLG2_UNK_1) && param_0 && !checkCanoeRide() &&
mEquipItem != dItemNo_KANTERA_e) mEquipItem != dItemNo_KANTERA_e)
{ {
for (u8 i = 0; i < 2; i++) { for (u8 i = 0; i < SELECT_ITEM_NUM; i++) {
if (dComIfGp_getSelectItem(i) == dItemNo_KANTERA_e) { if (dComIfGp_getSelectItem(i) == dItemNo_KANTERA_e) {
mSelectItemId = i; mSelectItemId = i;
} }
@@ -12159,7 +12159,7 @@ BOOL daAlink_c::checkItemChangeFromButton() {
itemEquip(0x105); itemEquip(0x105);
} else { } else {
u8 i; u8 i;
for (i = 0; i < 2; i++) { for (i = 0; i < SELECT_ITEM_NUM; i++) {
int proc_type = checkNewItemChange(i); int proc_type = checkNewItemChange(i);
if (proc_type != 0 && itemTriggerCheck(1 << i)) { if (proc_type != 0 && itemTriggerCheck(1 << i)) {
BOOL var_r27 = changeItemTriggerKeepProc(i, proc_type); BOOL var_r27 = changeItemTriggerKeepProc(i, proc_type);
@@ -12180,7 +12180,7 @@ BOOL daAlink_c::checkItemChangeFromButton() {
} else if (mEquipItem == dItemNo_NONE_e && mThrowBoomerangAcKeep.getActor() == NULL && } else if (mEquipItem == dItemNo_NONE_e && mThrowBoomerangAcKeep.getActor() == NULL &&
!checkCanoeRide() && checkNoUpperAnime() && checkNoResetFlg2(FLG2_UNK_1)) !checkCanoeRide() && checkNoUpperAnime() && checkNoResetFlg2(FLG2_UNK_1))
{ {
for (i = 0; i < 2; i++) { for (i = 0; i < SELECT_ITEM_NUM; i++) {
if (dComIfGp_getSelectItem(i) == dItemNo_KANTERA_e) { if (dComIfGp_getSelectItem(i) == dItemNo_KANTERA_e) {
mSelectItemId = i; mSelectItemId = i;
} }
@@ -12192,7 +12192,7 @@ BOOL daAlink_c::checkItemChangeFromButton() {
mEquipItem != 0x102 && (!checkCanoeRide() || !checkFisingRodLure())) mEquipItem != 0x102 && (!checkCanoeRide() || !checkFisingRodLure()))
{ {
if (!checkEventRun() || strcmp(dComIfGp_getEventManager().getRunEventName(), "ANGER") != 0) { if (!checkEventRun() || strcmp(dComIfGp_getEventManager().getRunEventName(), "ANGER") != 0) {
if (strcmp(dComIfGp_getEventManager().getRunEventName(), "ANGER2") != 0 && checkItemSetButton(mEquipItem) == 2) { if (strcmp(dComIfGp_getEventManager().getRunEventName(), "ANGER2") != 0 && checkItemSetButton(mEquipItem) == 3) {
allUnequip(1); allUnequip(1);
} }
} }
@@ -14386,7 +14386,7 @@ BOOL daAlink_c::checkGroupItem(int i_itemNo, int i_selItem) const {
} }
int daAlink_c::checkSetItemTrigger(int i_itemNo) { int daAlink_c::checkSetItemTrigger(int i_itemNo) {
for (u8 i = 0; i < 2; i++) { for (u8 i = 0; i < SELECT_ITEM_NUM; i++) {
if (checkGroupItem(i_itemNo, dComIfGp_getSelectItem(i)) && itemTriggerCheck(1 << i)) { if (checkGroupItem(i_itemNo, dComIfGp_getSelectItem(i)) && itemTriggerCheck(1 << i)) {
if (i_itemNo != dItemNo_HVY_BOOTS_e) { if (i_itemNo != dItemNo_HVY_BOOTS_e) {
mSelectItemId = i; mSelectItemId = i;
@@ -14399,13 +14399,13 @@ int daAlink_c::checkSetItemTrigger(int i_itemNo) {
} }
int daAlink_c::checkItemSetButton(int i_itemNo) { int daAlink_c::checkItemSetButton(int i_itemNo) {
for (u8 i = 0; i < 2; i++) { for (u8 i = 0; i < SELECT_ITEM_NUM; i++) {
if (checkGroupItem(i_itemNo, dComIfGp_getSelectItem(i))) { if (checkGroupItem(i_itemNo, dComIfGp_getSelectItem(i))) {
return i; return i;
} }
} }
return 2; return 3;
} }
bool daAlink_c::checkField() { bool daAlink_c::checkField() {
@@ -14605,7 +14605,7 @@ int daAlink_c::checkNewItemChange(u8 i_selItemIdx) {
return ITEM_PROC_BOTTLE_DRINK; return ITEM_PROC_BOTTLE_DRINK;
} }
if (checkOilBottleItem(sel_item) && checkItemSetButton(dItemNo_KANTERA_e) != 2) { if (checkOilBottleItem(sel_item) && checkItemSetButton(dItemNo_KANTERA_e) != 3) {
return ITEM_PROC_KANDELAAR_POUR; return ITEM_PROC_KANDELAAR_POUR;
} }
} else if (sel_item == dItemNo_HVY_BOOTS_e) { } else if (sel_item == dItemNo_HVY_BOOTS_e) {
@@ -14650,7 +14650,7 @@ int daAlink_c::checkNewItemChange(u8 i_selItemIdx) {
return ITEM_PROC_SPINNER_READY; return ITEM_PROC_SPINNER_READY;
} else if (checkDungeonWarpItem(sel_item)) { } else if (checkDungeonWarpItem(sel_item)) {
return ITEM_PROC_DUNGEON_WARP_READY; return ITEM_PROC_DUNGEON_WARP_READY;
} else if (checkItemSetButton(0x108) != 2 && } else if (checkItemSetButton(0x108) != 3 &&
(sel_item == dItemNo_WORM_e || sel_item == dItemNo_BEE_CHILD_e)) (sel_item == dItemNo_WORM_e || sel_item == dItemNo_BEE_CHILD_e))
{ {
int itemNo = dComIfGp_getSelectItem(checkItemSetButton(0x108)); int itemNo = dComIfGp_getSelectItem(checkItemSetButton(0x108));
@@ -14674,7 +14674,7 @@ int daAlink_c::checkNewItemChange(u8 i_selItemIdx) {
return ITEM_PROC_NOT_USE_ITEM; return ITEM_PROC_NOT_USE_ITEM;
} else if (sel_item == dItemNo_HORSE_FLUTE_e) { } else if (sel_item == dItemNo_HORSE_FLUTE_e) {
return ITEM_PROC_GRASS_WHISTLE; return ITEM_PROC_GRASS_WHISTLE;
} else if (checkOilBottleItem(sel_item) && checkItemSetButton(0x48) != 2) { } else if (checkOilBottleItem(sel_item) && checkItemSetButton(0x48) != 3) {
return ITEM_PROC_KANDELAAR_POUR; return ITEM_PROC_KANDELAAR_POUR;
} else if (sel_item == dItemNo_HAWK_EYE_e) { } else if (sel_item == dItemNo_HAWK_EYE_e) {
if (acceptSubjectModeChange()) { if (acceptSubjectModeChange()) {
@@ -17826,7 +17826,7 @@ int daAlink_c::execute() {
if (checkNoResetFlg2(FLG2_UNK_1) != FALSE && if (checkNoResetFlg2(FLG2_UNK_1) != FALSE &&
mEquipItem != dItemNo_KANTERA_e && mEquipItem != dItemNo_KANTERA_e &&
checkItemSetButton(dItemNo_KANTERA_e) == 2) { checkItemSetButton(dItemNo_KANTERA_e) == 3) {
offKandelaarModel(); offKandelaarModel();
} }
@@ -18215,7 +18215,7 @@ int daAlink_c::execute() {
if (checkEquipHeavyBoots()) { if (checkEquipHeavyBoots()) {
int itemButton = checkItemSetButton(dItemNo_HVY_BOOTS_e); int itemButton = checkItemSetButton(dItemNo_HVY_BOOTS_e);
if (itemButton == 2 || checkNotHeavyBootsStage()) { if (itemButton == 3 || checkNotHeavyBootsStage()) {
if (!dComIfGp_checkPlayerStatus1(0, 0x10000) || !checkHookshotRoofLv7Boss()) { if (!dComIfGp_checkPlayerStatus1(0, 0x10000) || !checkHookshotRoofLv7Boss()) {
setHeavyBoots(0); setHeavyBoots(0);
} }
@@ -18737,7 +18737,7 @@ int daAlink_c::execute() {
if (!checkWolf()) { if (!checkWolf()) {
u8 tmp; u8 tmp;
for (u8 i = 0; i < 2; i++) { for (u8 i = 0; i < SELECT_ITEM_NUM; i++) {
tmp = (i + 1) % 2; tmp = (i + 1) % 2;
if (dComIfGp_getSelectItem(i) == dItemNo_EMPTY_BOTTLE_e && (mUseButtonFlags & (1 << i)) && if (dComIfGp_getSelectItem(i) == dItemNo_EMPTY_BOTTLE_e && (mUseButtonFlags & (1 << i)) &&
dComIfGp_getSelectItem(tmp) == dItemNo_EMPTY_BOTTLE_e) dComIfGp_getSelectItem(tmp) == dItemNo_EMPTY_BOTTLE_e)
@@ -18747,7 +18747,7 @@ int daAlink_c::execute() {
} }
} }
for (int i = 0; i < 2; i++) { for (int i = 0; i < SELECT_ITEM_NUM; i++) {
if (!(mUseButtonFlags & (1 << i)) && !(field_0x2faf & (1 << i))) { if (!(mUseButtonFlags & (1 << i)) && !(field_0x2faf & (1 << i))) {
dMeter2Info_offUseButton(METER2_USEBUTTON_X << i); dMeter2Info_offUseButton(METER2_USEBUTTON_X << i);
} }
+1 -1
View File
@@ -4121,7 +4121,7 @@ int daAlink_c::procDungeonWarpReadyInit() {
} }
fpc_ProcID id; fpc_ProcID id;
if (checkItemSetButton(dItemNo_DUNGEON_EXIT_e) != 2) { if (checkItemSetButton(dItemNo_DUNGEON_EXIT_e) != 3) {
id = fopAcM_create(fpcNm_OBJ_TKS_e, 0, &current.pos, fopAcM_GetRoomNo(this), &shape_angle, id = fopAcM_create(fpcNm_OBJ_TKS_e, 0, &current.pos, fopAcM_GetRoomNo(this), &shape_angle,
NULL, -1); NULL, -1);
} else { } else {
+1 -1
View File
@@ -211,7 +211,7 @@ int daAlink_c::procSpinnerWait() {
mProcVar3.field_0x300e = shape_angle.y; mProcVar3.field_0x300e = shape_angle.y;
} }
} else { } else {
if (checkSetItemTrigger(dItemNo_SPINNER_e) || swordSwingTrigger() || itemSetBtn == 2) { if (checkSetItemTrigger(dItemNo_SPINNER_e) || swordSwingTrigger() || itemSetBtn == SELECT_ITEM_NUM) {
if (swordSwingTrigger()) { if (swordSwingTrigger()) {
swordEquip(0); swordEquip(0);
} }
+6
View File
@@ -7053,6 +7053,12 @@ static int daE_RD_IsDelete(e_rd_class*) {
} }
static int daE_RD_Delete(e_rd_class* i_this) { static int daE_RD_Delete(e_rd_class* i_this) {
#if TARGET_PC
if (boss == i_this) {
boss = NULL;
}
#endif
fopEn_enemy_c* enemy = (fopEn_enemy_c*)&i_this->enemy; fopEn_enemy_c* enemy = (fopEn_enemy_c*)&i_this->enemy;
fopAcM_RegisterDeleteID(i_this, "E_RD"); fopAcM_RegisterDeleteID(i_this, "E_RD");
+2 -12
View File
@@ -1952,18 +1952,7 @@ u8 dComIfGs_getMixItemIndex(int i_no) {
} }
void dComIfGp_setSelectItem(int i_selItemIdx) { void dComIfGp_setSelectItem(int i_selItemIdx) {
if (i_selItemIdx == SELECT_ITEM_DOWN) {
if (dComIfGs_getSelectItemIndex(i_selItemIdx) != 0xFF) { if (dComIfGs_getSelectItemIndex(i_selItemIdx) != 0xFF) {
u8 selItem_slotNo = dComIfGs_getSelectItemIndex(i_selItemIdx);
g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, selItem_slotNo);
if (selItem_slotNo == 0xFF) {
dComIfGs_setSelectItemIndex(i_selItemIdx, 0xFF);
}
} else {
g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, dItemNo_NONE_e);
}
} else if (dComIfGs_getSelectItemIndex(i_selItemIdx) != 0xFF) {
u8 item = dComIfGs_getItem(dComIfGs_getSelectItemIndex(i_selItemIdx), false); u8 item = dComIfGs_getItem(dComIfGs_getSelectItemIndex(i_selItemIdx), false);
g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, item); g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, item);
@@ -1978,7 +1967,8 @@ void dComIfGp_setSelectItem(int i_selItemIdx) {
u8 dComIfGp_getSelectItem(int i_selItemIdx) { u8 dComIfGp_getSelectItem(int i_selItemIdx) {
u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(i_selItemIdx); u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(i_selItemIdx);
if ((i_selItemIdx == SELECT_ITEM_X || i_selItemIdx == SELECT_ITEM_Y) && if ((i_selItemIdx == SELECT_ITEM_X || i_selItemIdx == SELECT_ITEM_Y ||
i_selItemIdx == SELECT_ITEM_Z) &&
dComIfGs_getMixItemIndex(i_selItemIdx) != 0xFF) dComIfGs_getMixItemIndex(i_selItemIdx) != 0xFF)
{ {
u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(i_selItemIdx), false); u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(i_selItemIdx), false);
+4
View File
@@ -287,6 +287,10 @@ int dEvt_control_c::talkXyCheck(dEvt_order_c* order) {
mTalkXyType = 2; mTalkXyType = 2;
itemIndex = SELECT_ITEM_Y; itemIndex = SELECT_ITEM_Y;
break; break;
case dEvt_type_SHOWITEM_Z_e:
mTalkXyType = 3;
itemIndex = SELECT_ITEM_Z;
break;
#if PLATFORM_WII || PLATFORM_SHIELD #if PLATFORM_WII || PLATFORM_SHIELD
case 8: case 8:
mTalkXyType = 3; mTalkXyType = 3;
+3 -1
View File
@@ -446,7 +446,7 @@ void dMenu_ItemExplain_c::move_proc() {
if (field_0xe7 == 0) { if (field_0xe7 == 0) {
return; return;
} }
if (!mDoCPd_c::getTrigX(PAD_1) && !mDoCPd_c::getTrigY(PAD_1)) { if (!mDoCPd_c::getTrigX(PAD_1) && !mDoCPd_c::getTrigY(PAD_1) && !mDoCPd_c::getTrigZ(PAD_1)) {
return; return;
} }
} }
@@ -460,6 +460,8 @@ void dMenu_ItemExplain_c::move_proc() {
mEndButton = 3; mEndButton = 3;
} else if (mDoCPd_c::getTrigY(PAD_1)) { } else if (mDoCPd_c::getTrigY(PAD_1)) {
mEndButton = 4; mEndButton = 4;
} else if (mDoCPd_c::getTrigZ(PAD_1)) {
mEndButton = 5;
} }
mStatus = 5; mStatus = 5;
Z2GetAudioMgr()->seStart(Z2SE_SY_EXP_WIN_CLOSE, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); Z2GetAudioMgr()->seStart(Z2SE_SY_EXP_WIN_CLOSE, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
+45 -15
View File
@@ -134,7 +134,7 @@ dMenu_Ring_c::dMenu_Ring_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i
field_0x6a9 = 0; field_0x6a9 = 0;
mXButtonSlot = 0xff; mXButtonSlot = 0xff;
mYButtonSlot = 0xff; mYButtonSlot = 0xff;
field_0x6ac = 0xff; mZButtonSlot = 0xff;
field_0x6ad = 0xff; field_0x6ad = 0xff;
field_0x670 = 0; field_0x670 = 0;
field_0x67e = 0; field_0x67e = 0;
@@ -244,8 +244,8 @@ dMenu_Ring_c::dMenu_Ring_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i
if (dComIfGs_getSelectItemIndex(1) == dComIfGs_getLineUpItem(i)) { if (dComIfGs_getSelectItemIndex(1) == dComIfGs_getLineUpItem(i)) {
mYButtonSlot = i; mYButtonSlot = i;
} }
if (dComIfGs_getSelectItemIndex(2) == dComIfGs_getWolfAbility(i)) { if (dComIfGs_getSelectItemIndex(2) == dComIfGs_getLineUpItem(i)) {
field_0x6ac = i; mZButtonSlot = i;
} }
} }
mRingRadiusH = g_ringHIO.mRingRadiusH; mRingRadiusH = g_ringHIO.mRingRadiusH;
@@ -259,7 +259,7 @@ dMenu_Ring_c::dMenu_Ring_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i
} }
} }
field_0x6be[i] = 0; field_0x6be[i] = 0;
if (i == 2) { if (i == MAX_SELECT_ITEM) {
setSelectItem(i, 0); setSelectItem(i, 0);
} else { } else {
setSelectItem(i, 0x43); setSelectItem(i, 0x43);
@@ -977,8 +977,8 @@ void dMenu_Ring_c::setItem() {
} else { } else {
uVar2 = dItemNo_NONE_e; uVar2 = dItemNo_NONE_e;
} }
if (field_0x6ac != dItemNo_NONE_e) { if (mZButtonSlot != dItemNo_NONE_e) {
uVar3 = mItemSlots[field_0x6ac]; uVar3 = mItemSlots[mZButtonSlot];
} else { } else {
uVar3 = dItemNo_NONE_e; uVar3 = dItemNo_NONE_e;
} }
@@ -1058,6 +1058,9 @@ void dMenu_Ring_c::setItem() {
mixItemIndex1 = dItemNo_NONE_e; mixItemIndex1 = dItemNo_NONE_e;
} }
} }
} else if (field_0x6b3 == 2) {
mZButtonSlot = mCurrentSlot;
uVar3 = mItemSlots[mZButtonSlot];
} }
field_0x6b4[0] = uVar1; field_0x6b4[0] = uVar1;
field_0x6b4[1] = uVar2; field_0x6b4[1] = uVar2;
@@ -1073,7 +1076,7 @@ void dMenu_Ring_c::setItem() {
void dMenu_Ring_c::setJumpItem(bool i_useVibrationM) { void dMenu_Ring_c::setJumpItem(bool i_useVibrationM) {
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
if (i == 2) { if (i == 4) {
setSelectItem(i, field_0x6b4[i]); setSelectItem(i, field_0x6b4[i]);
} else if (i == field_0x6cd) { } else if (i == field_0x6cd) {
setSelectItem(i, getItem(field_0x6cb, 0)); setSelectItem(i, getItem(field_0x6cb, 0));
@@ -1089,9 +1092,9 @@ void dMenu_Ring_c::setJumpItem(bool i_useVibrationM) {
field_0x518[1] = mItemSlotPosX[mYButtonSlot]; field_0x518[1] = mItemSlotPosX[mYButtonSlot];
field_0x528[1] = mItemSlotPosY[mYButtonSlot]; field_0x528[1] = mItemSlotPosY[mYButtonSlot];
} }
if (field_0x6ac != dItemNo_NONE_e) { if (mZButtonSlot != dItemNo_NONE_e) {
field_0x518[2] = mItemSlotPosX[field_0x6ac]; field_0x518[2] = mItemSlotPosX[mZButtonSlot];
field_0x528[2] = mItemSlotPosY[field_0x6ac]; field_0x528[2] = mItemSlotPosY[mZButtonSlot];
} }
if (field_0x6ad != dItemNo_NONE_e) { if (field_0x6ad != dItemNo_NONE_e) {
field_0x518[3] = mItemSlotPosX[field_0x6ad]; field_0x518[3] = mItemSlotPosX[field_0x6ad];
@@ -1119,7 +1122,19 @@ void dMenu_Ring_c::setJumpItem(bool i_useVibrationM) {
mSelectItemSlideElapsed[1] = 0.0f; mSelectItemSlideElapsed[1] = 0.0f;
#endif #endif
} }
} else if (field_0x6b3 == 2) {
field_0x538[0] = g_ringHIO.mUnselectItemScale;
field_0x538[1] = g_ringHIO.mSelectItemScale;
if (field_0x6b4[2] != dComIfGs_getSelectItemIndex(2) ||
field_0x6b8[2] != dComIfGs_getMixItemIndex(2))
{
field_0x674[2] = 1;
#if TARGET_PC
mSelectItemSlideElapsed[2] = 0.0f;
#endif
} }
}
if (field_0x674[0] == 1) { if (field_0x674[0] == 1) {
if (i_useVibrationM) { if (i_useVibrationM) {
dMeter2Info_set2DVibrationM(); dMeter2Info_set2DVibrationM();
@@ -1160,7 +1175,7 @@ void dMenu_Ring_c::setScale() {
} }
setNameString(itemId); setNameString(itemId);
setItemScale(i, g_ringHIO.mUnselectItemScale); setItemScale(i, g_ringHIO.mUnselectItemScale);
for (int j = 0; j < 2; j++) { for (int j = 0; j < SELECT_ITEM_NUM; j++) {
if (j == field_0x6cf) { if (j == field_0x6cf) {
setButtonScale(j, g_ringHIO.mSelectButtonScale); setButtonScale(j, g_ringHIO.mSelectButtonScale);
} else { } else {
@@ -1180,7 +1195,7 @@ void dMenu_Ring_c::setScale() {
} else { } else {
setItemScale(i, g_ringHIO.mUnselectItemScale); setItemScale(i, g_ringHIO.mUnselectItemScale);
} }
for (int j = 0; j < 2; j++) { for (int j = 0; j < SELECT_ITEM_NUM; j++) {
setButtonScale(j, g_ringHIO.mUnselectButtonScale); setButtonScale(j, g_ringHIO.mUnselectButtonScale);
} }
} }
@@ -1214,6 +1229,7 @@ void dMenu_Ring_c::setNameString(u32 i_stringID) {
void dMenu_Ring_c::setActiveCursor() { void dMenu_Ring_c::setActiveCursor() {
u8 item = dComIfGs_getItem(mItemSlots[mCurrentSlot], false); u8 item = dComIfGs_getItem(mItemSlots[mCurrentSlot], false);
if (mStatus == STATUS_WAIT && mOldStatus != STATUS_EXPLAIN_FORCE && mOldStatus != STATUS_EXPLAIN && mpItemExplain->getStatus() == 0) { if (mStatus == STATUS_WAIT && mOldStatus != STATUS_EXPLAIN_FORCE && mOldStatus != STATUS_EXPLAIN && mpItemExplain->getStatus() == 0) {
if (mDoCPd_c::getTrigR(PAD_1) && !mPlayerIsWolf && item != dItemNo_NONE_e) { if (mDoCPd_c::getTrigR(PAD_1) && !mPlayerIsWolf && item != dItemNo_NONE_e) {
for (int i = 0; i < MAX_SELECT_ITEM; i++) { for (int i = 0; i < MAX_SELECT_ITEM; i++) {
@@ -1244,7 +1260,21 @@ void dMenu_Ring_c::setActiveCursor() {
(this->*stick_init[mStatus])(); (this->*stick_init[mStatus])();
} }
} }
} else if (mDoCPd_c::getTrigX(PAD_1) || mDoCPd_c::getTrigY(PAD_1)) { } else if (mDoCPd_c::getTrigZ(PAD_1) && !mPlayerIsWolf && item != dItemNo_NONE_e) {
for (int i = 0; i < MAX_SELECT_ITEM; i++) {
setSelectItemForce(i);
}
field_0x6b3 = 2;
if (!checkCombineBomb(field_0x6b3)) {
setItem();
if (mpItemExplain->getStatus() == 0) {
setStatus(STATUS_WAIT);
(this->*stick_init[mStatus])();
}
}
} else if (mDoCPd_c::getTrigX(PAD_1) || mDoCPd_c::getTrigY(PAD_1) ||
mDoCPd_c::getTrigZ(PAD_1))
{
// If the player is a wolf or somehow manages to access an item slot with no item, error // If the player is a wolf or somehow manages to access an item slot with no item, error
Z2GetAudioMgr()->seStart(Z2SE_SYS_ERROR, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); Z2GetAudioMgr()->seStart(Z2SE_SYS_ERROR, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} }
@@ -1660,7 +1690,7 @@ void dMenu_Ring_c::drawSelectItem() {
} }
void dMenu_Ring_c::setSelectItemForce(int i_idx) { void dMenu_Ring_c::setSelectItemForce(int i_idx) {
if (i_idx == 2) { if (i_idx == SELECT_ITEM_NUM) {
if (field_0x674[i_idx] != 0) { if (field_0x674[i_idx] != 0) {
dComIfGs_setSelectItemIndex(i_idx, field_0x6b4[i_idx]); dComIfGs_setSelectItemIndex(i_idx, field_0x6b4[i_idx]);
field_0x674[i_idx] = 0; field_0x674[i_idx] = 0;
@@ -1669,7 +1699,7 @@ void dMenu_Ring_c::setSelectItemForce(int i_idx) {
#endif #endif
} }
} else if (field_0x674[i_idx] != 0) { } else if (field_0x674[i_idx] != 0) {
for (int i = 0; i < 2; i++) { for (int i = 0; i < SELECT_ITEM_NUM; i++) {
dComIfGs_setMixItemIndex(i, field_0x6b8[i]); dComIfGs_setMixItemIndex(i, field_0x6b8[i]);
dComIfGs_setSelectItemIndex(i, field_0x6b4[i]); dComIfGs_setSelectItemIndex(i, field_0x6b4[i]);
} }
+2
View File
@@ -1533,6 +1533,8 @@ void dMeter2Info_c::setMiniGameItem(u8 i_minigameFlag) {
if (mMiniGameItemSetFlag != 3) { if (mMiniGameItemSetFlag != 3) {
dComIfGs_setItem(SLOT_4, dItemNo_BOW_e); dComIfGs_setItem(SLOT_4, dItemNo_BOW_e);
dComIfGp_setItem(SLOT_4, dItemNo_BOW_e); dComIfGp_setItem(SLOT_4, dItemNo_BOW_e);
dComIfGs_setMixItemIndex(SELECT_ITEM_Z, 0xFF);
dComIfGs_setSelectItemIndex(SELECT_ITEM_Z, 0xFF);
dComIfGs_setMixItemIndex(SELECT_ITEM_Y, 0xFF); dComIfGs_setMixItemIndex(SELECT_ITEM_Y, 0xFF);
dComIfGs_setSelectItemIndex(SELECT_ITEM_Y, 0xFF); dComIfGs_setSelectItemIndex(SELECT_ITEM_Y, 0xFF);
dComIfGs_setMixItemIndex(SELECT_ITEM_X, SLOT_4); dComIfGs_setMixItemIndex(SELECT_ITEM_X, SLOT_4);
+1 -1
View File
@@ -184,7 +184,7 @@ Rml::String format_graphics_setting_value(GraphicsOption option, int value) {
case BloomMode::Classic: case BloomMode::Classic:
return "Classic"; return "Classic";
case BloomMode::Dusk: case BloomMode::Dusk:
return "Dusk"; return "Dusklight";
} }
break; break;
case GraphicsOption::BloomMultiplier: case GraphicsOption::BloomMultiplier:
+1 -1
View File
@@ -83,7 +83,7 @@ PresetWindow::PresetWindow() : WindowSmall("modal", "modal-dialog") {
"Enhancements disabled to match the GameCube version. " "Enhancements disabled to match the GameCube version. "
"Good for speedrunning or simple nostalgia!", "Good for speedrunning or simple nostalgia!",
applyPresetClassic}, applyPresetClassic},
{"Dusk", {"Dusklight",
"Graphics & quality of life tweaks, including some from the Wii U version. " "Graphics & quality of life tweaks, including some from the Wii U version. "
"Our recommended way to play!", "Our recommended way to play!",
applyPresetDusk}, applyPresetDusk},