Added DPad support to ocarina playing and text choice selection.

This commit is contained in:
Josh Bodner 2022-04-02 15:03:56 -07:00
parent 5d967f8e8c
commit b85b8f490b
2 changed files with 24 additions and 16 deletions

View File

@ -824,10 +824,13 @@ NatureAmbienceDataIO sNatureAmbienceDataIO[20] = {
},
};
u32 sOcarinaAllowedBtnMask = 0x800F;
s32 sOcarinaABtnMap = 0x8000;
s32 sOcarinaCUPBtnMap = 8;
s32 sOcarinaCDownBtnMap = 4;
u32 sOcarinaAllowedBtnMask =
(BTN_A | BTN_CUP | BTN_CDOWN | BTN_CLEFT | BTN_CRIGHT | BTN_DUP | BTN_DDOWN | BTN_DLEFT | BTN_DRIGHT);
s32 sOcarinaABtnMap = BTN_A;
s32 sOcarinaCUPBtnMap = BTN_CUP | BTN_DUP;
s32 sOcarinaCDownBtnMap = BTN_CDOWN | BTN_DDOWN;
s32 sOcarinaCLeftBtnMap = BTN_CLEFT | BTN_DLEFT;
s32 sOcarinaCRightBtnMap = BTN_CRIGHT | BTN_DRIGHT;
u8 sOcarinaInpEnabled = 0;
s8 D_80130F10 = 0; // "OCA", ocarina active?
u8 sCurOcarinaBtnVal = 0xFF;
@ -1248,16 +1251,21 @@ s32 Audio_SetGanonDistVol(u8 targetVol);
void func_800EC960(u8 custom) {
if (!custom) {
osSyncPrintf("AUDIO : Ocarina Control Assign Normal\n");
sOcarinaAllowedBtnMask = (BTN_A | BTN_CUP | BTN_CDOWN | BTN_CLEFT | BTN_CRIGHT);
sOcarinaAllowedBtnMask =
(BTN_A | BTN_CUP | BTN_CDOWN | BTN_CLEFT | BTN_CRIGHT | BTN_DUP | BTN_DDOWN | BTN_DLEFT | BTN_DRIGHT);
sOcarinaABtnMap = BTN_A;
sOcarinaCUPBtnMap = BTN_CUP;
sOcarinaCDownBtnMap = BTN_CDOWN;
sOcarinaCUPBtnMap = BTN_CUP | BTN_DUP;
sOcarinaCDownBtnMap = BTN_CDOWN | BTN_DDOWN;
sOcarinaCLeftBtnMap = BTN_CLEFT | BTN_DLEFT;
sOcarinaCRightBtnMap = BTN_CRIGHT | BTN_DRIGHT;
} else {
osSyncPrintf("AUDIO : Ocarina Control Assign Custom\n");
sOcarinaAllowedBtnMask = (BTN_A | BTN_B | BTN_CDOWN | BTN_CLEFT | BTN_CRIGHT);
sOcarinaABtnMap = BTN_B;
sOcarinaCUPBtnMap = BTN_CDOWN;
sOcarinaCDownBtnMap = BTN_A;
sOcarinaCLeftBtnMap = BTN_CLEFT;
sOcarinaCRightBtnMap = BTN_CRIGHT;
}
}
@ -1569,12 +1577,12 @@ void func_800ED458(s32 arg0) {
osSyncPrintf("Presss NA_KEY_F4 %08x\n", sOcarinaCDownBtnMap);
sCurOcarinaBtnVal = 5;
sCurOcarinaBtnIdx = 1;
} else if (D_8016BA18 & 1) {
osSyncPrintf("Presss NA_KEY_A4 %08x\n", 1);
} else if (D_8016BA18 & sOcarinaCRightBtnMap) {
osSyncPrintf("Presss NA_KEY_A4 %08x\n", sOcarinaCRightBtnMap);
sCurOcarinaBtnVal = 9;
sCurOcarinaBtnIdx = 2;
} else if (D_8016BA18 & 2) {
osSyncPrintf("Presss NA_KEY_B4 %08x\n", 2);
} else if (D_8016BA18 & sOcarinaCLeftBtnMap) {
osSyncPrintf("Presss NA_KEY_B4 %08x\n", sOcarinaCRightBtnMap);
sCurOcarinaBtnVal = 0xB;
sCurOcarinaBtnIdx = 3;
} else if (D_8016BA18 & sOcarinaCUPBtnMap) {
@ -1671,7 +1679,7 @@ void Audio_OcaSetSongPlayback(s8 songIdxPlusOne, s8 playbackState) {
void Audio_OcaPlayback(void) {
u32 noteTimerStep;
u32 nextNoteTimerStep;
u32 nextNoteTimerStep = 0;
if (sPlaybackState != 0) {
if (sStaffPlaybackPos == 0) {
@ -4772,7 +4780,7 @@ void Audio_SetCodeReverb(s8 reverb) {
}
void func_800F6700(s8 arg0) {
s8 sp1F;
s8 sp1F = 0;
switch (arg0) {
case 0:

View File

@ -204,7 +204,7 @@ void Message_HandleChoiceSelection(GlobalContext* globalCtx, u8 numChoices) {
MessageContext* msgCtx = &globalCtx->msgCtx;
Input* input = &globalCtx->state.input[0];
if (input->rel.stick_y >= 30 && !sAnalogStickHeld) {
if ((input->rel.stick_y >= 30 && !sAnalogStickHeld) || CHECK_BTN_ALL(input->press.button, BTN_DUP)) {
sAnalogStickHeld = true;
msgCtx->choiceIndex--;
if (msgCtx->choiceIndex > 128) {
@ -212,7 +212,7 @@ void Message_HandleChoiceSelection(GlobalContext* globalCtx, u8 numChoices) {
} else {
Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
} else if (input->rel.stick_y <= -30 && !sAnalogStickHeld) {
} else if ((input->rel.stick_y <= -30 && !sAnalogStickHeld) || CHECK_BTN_ALL(input->press.button, BTN_DDOWN)) {
sAnalogStickHeld = true;
msgCtx->choiceIndex++;
if (msgCtx->choiceIndex > numChoices) {
@ -3032,7 +3032,7 @@ void Message_Update(GlobalContext* globalCtx) {
Input* input = &globalCtx->state.input[0];
s16 var;
s16 focusScreenPosX;
s16 averageY;
s16 averageY = 0;
s16 playerFocusScreenPosY;
s16 actorFocusScreenPosY;