Port back improvements from later commits

This commit is contained in:
aaaaaa123456789
2020-10-26 12:31:07 -03:00
parent 1c3d75f673
commit 00db69a302
5 changed files with 83 additions and 83 deletions

View File

@@ -182,15 +182,15 @@ static bool32 HandleConditionSearchInput_WaitSetup(struct PokenavSub7 *structPtr
static u32 HandleConditionSearchInput(struct PokenavSub7 *structPtr) static u32 HandleConditionSearchInput(struct PokenavSub7 *structPtr)
{ {
if (gMain.newAndRepeatedKeys & DPAD_UP) if (JOY_REPEAT(DPAD_UP))
return 1; return CONDITION_SEARCH_FUNC_MOVE_UP;
else if (gMain.newAndRepeatedKeys & DPAD_DOWN) else if (JOY_REPEAT(DPAD_DOWN))
return 2; return CONDITION_SEARCH_FUNC_MOVE_DOWN;
else if (gMain.newKeys & DPAD_LEFT) else if (JOY_NEW(DPAD_LEFT))
return 3; return CONDITION_SEARCH_FUNC_PAGE_UP;
else if (gMain.newKeys & DPAD_RIGHT) else if (JOY_NEW(DPAD_RIGHT))
return 4; return CONDITION_SEARCH_FUNC_PAGE_DOWN;
else if (gMain.newKeys & B_BUTTON) else if (JOY_NEW(B_BUTTON))
{ {
structPtr->isPartyCondition = 0; structPtr->isPartyCondition = 0;
structPtr->callback = ReturnToConditionSearchList; structPtr->callback = ReturnToConditionSearchList;
@@ -204,7 +204,7 @@ static u32 HandleConditionSearchInput(struct PokenavSub7 *structPtr)
return CONDITION_SEARCH_FUNC_SELECT_MON; return CONDITION_SEARCH_FUNC_SELECT_MON;
} }
else else
return 0; return CONDITION_SEARCH_FUNC_NONE;
} }
static u32 ReturnToConditionSearchList(struct PokenavSub7 *structPtr) static u32 ReturnToConditionSearchList(struct PokenavSub7 *structPtr)

View File

@@ -32,53 +32,53 @@ static u32 (*GetMainMenuInputHandler(void))(struct Pokenav1Struct*);
static void SetMenuInputHandler(struct Pokenav1Struct *state); static void SetMenuInputHandler(struct Pokenav1Struct *state);
// Number of entries - 1 for that menu type // Number of entries - 1 for that menu type
static const u8 sLastCursorPositions[] = static const u8 sLastCursorPositions[] =
{ {
[POKENAV_MENU_TYPE_DEFAULT] = 2, [POKENAV_MENU_TYPE_DEFAULT] = 2,
[POKENAV_MENU_TYPE_UNLOCK_MC] = 3, [POKENAV_MENU_TYPE_UNLOCK_MC] = 3,
[POKENAV_MENU_TYPE_UNLOCK_MC_RIBBONS] = 4, [POKENAV_MENU_TYPE_UNLOCK_MC_RIBBONS] = 4,
[POKENAV_MENU_TYPE_CONDITION] = 2, [POKENAV_MENU_TYPE_CONDITION] = 2,
[POKENAV_MENU_TYPE_CONDITION_SEARCH] = 5 [POKENAV_MENU_TYPE_CONDITION_SEARCH] = 5
}; };
static const u8 sMenuItems[][6] = static const u8 sMenuItems[][6] =
{ {
[POKENAV_MENU_TYPE_DEFAULT] = [POKENAV_MENU_TYPE_DEFAULT] =
{ {
POKENAV_MENUITEM_MAP, POKENAV_MENUITEM_MAP,
POKENAV_MENUITEM_CONDITION, POKENAV_MENUITEM_CONDITION,
[2 ... 5] = POKENAV_MENUITEM_SWITCH_OFF [2 ... 5] = POKENAV_MENUITEM_SWITCH_OFF
}, },
[POKENAV_MENU_TYPE_UNLOCK_MC] = [POKENAV_MENU_TYPE_UNLOCK_MC] =
{ {
POKENAV_MENUITEM_MAP, POKENAV_MENUITEM_MAP,
POKENAV_MENUITEM_CONDITION, POKENAV_MENUITEM_CONDITION,
POKENAV_MENUITEM_MATCH_CALL, POKENAV_MENUITEM_MATCH_CALL,
[3 ... 5] = POKENAV_MENUITEM_SWITCH_OFF [3 ... 5] = POKENAV_MENUITEM_SWITCH_OFF
}, },
[POKENAV_MENU_TYPE_UNLOCK_MC_RIBBONS] = [POKENAV_MENU_TYPE_UNLOCK_MC_RIBBONS] =
{ {
POKENAV_MENUITEM_MAP, POKENAV_MENUITEM_MAP,
POKENAV_MENUITEM_CONDITION, POKENAV_MENUITEM_CONDITION,
POKENAV_MENUITEM_MATCH_CALL, POKENAV_MENUITEM_MATCH_CALL,
POKENAV_MENUITEM_RIBBONS, POKENAV_MENUITEM_RIBBONS,
[4 ... 5] = POKENAV_MENUITEM_SWITCH_OFF [4 ... 5] = POKENAV_MENUITEM_SWITCH_OFF
}, },
[POKENAV_MENU_TYPE_CONDITION] = [POKENAV_MENU_TYPE_CONDITION] =
{ {
POKENAV_MENUITEM_CONDITION_PARTY, POKENAV_MENUITEM_CONDITION_PARTY,
POKENAV_MENUITEM_CONDITION_SEARCH, POKENAV_MENUITEM_CONDITION_SEARCH,
POKENAV_MENUITEM_CONDITION_CANCEL, POKENAV_MENUITEM_CONDITION_CANCEL,
[3 ... 5] = POKENAV_MENUITEM_SWITCH_OFF [3 ... 5] = POKENAV_MENUITEM_SWITCH_OFF
}, },
[POKENAV_MENU_TYPE_CONDITION_SEARCH] = [POKENAV_MENU_TYPE_CONDITION_SEARCH] =
{ {
POKENAV_MENUITEM_CONDITION_SEARCH_COOL, POKENAV_MENUITEM_CONDITION_SEARCH_COOL,
POKENAV_MENUITEM_CONDITION_SEARCH_BEAUTY, POKENAV_MENUITEM_CONDITION_SEARCH_BEAUTY,
POKENAV_MENUITEM_CONDITION_SEARCH_CUTE, POKENAV_MENUITEM_CONDITION_SEARCH_CUTE,
POKENAV_MENUITEM_CONDITION_SEARCH_SMART, POKENAV_MENUITEM_CONDITION_SEARCH_SMART,
POKENAV_MENUITEM_CONDITION_SEARCH_TOUGH, POKENAV_MENUITEM_CONDITION_SEARCH_TOUGH,
POKENAV_MENUITEM_CONDITION_SEARCH_CANCEL POKENAV_MENUITEM_CONDITION_SEARCH_CANCEL
}, },
}; };
@@ -87,13 +87,13 @@ static u8 GetPokenavMainMenuType(void)
u8 menuType = POKENAV_MENU_TYPE_DEFAULT; u8 menuType = POKENAV_MENU_TYPE_DEFAULT;
if (FlagGet(FLAG_ADDED_MATCH_CALL_TO_POKENAV)) if (FlagGet(FLAG_ADDED_MATCH_CALL_TO_POKENAV))
{ {
menuType = POKENAV_MENU_TYPE_UNLOCK_MC; menuType = POKENAV_MENU_TYPE_UNLOCK_MC;
if (FlagGet(FLAG_SYS_RIBBON_GET)) if (FlagGet(FLAG_SYS_RIBBON_GET))
menuType = POKENAV_MENU_TYPE_UNLOCK_MC_RIBBONS; menuType = POKENAV_MENU_TYPE_UNLOCK_MC_RIBBONS;
} }
return menuType; return menuType;
} }
@@ -102,7 +102,7 @@ bool32 PokenavCallback_Init_MainMenuCursorOnMap(void)
struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct)); struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct));
if (!state) if (!state)
return FALSE; return FALSE;
state->menuType = GetPokenavMainMenuType(); state->menuType = GetPokenavMainMenuType();
state->cursorPos = POKENAV_MENUITEM_MAP; state->cursorPos = POKENAV_MENUITEM_MAP;
state->currMenuItem = POKENAV_MENUITEM_MAP; state->currMenuItem = POKENAV_MENUITEM_MAP;
@@ -116,7 +116,7 @@ bool32 PokenavCallback_Init_MainMenuCursorOnMatchCall(void)
struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct)); struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct));
if (!state) if (!state)
return FALSE; return FALSE;
state->menuType = GetPokenavMainMenuType(); state->menuType = GetPokenavMainMenuType();
state->cursorPos = POKENAV_MENUITEM_MATCH_CALL; state->cursorPos = POKENAV_MENUITEM_MATCH_CALL;
state->currMenuItem = POKENAV_MENUITEM_MATCH_CALL; state->currMenuItem = POKENAV_MENUITEM_MATCH_CALL;
@@ -130,7 +130,7 @@ bool32 PokenavCallback_Init_MainMenuCursorOnRibbons(void)
struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct)); struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct));
if (!state) if (!state)
return FALSE; return FALSE;
state->menuType = GetPokenavMainMenuType(); state->menuType = GetPokenavMainMenuType();
state->cursorPos = POKENAV_MENUITEM_RIBBONS; state->cursorPos = POKENAV_MENUITEM_RIBBONS;
state->currMenuItem = POKENAV_MENUITEM_RIBBONS; state->currMenuItem = POKENAV_MENUITEM_RIBBONS;
@@ -143,7 +143,7 @@ bool32 PokenavCallback_Init_ConditionMenu(void)
struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct)); struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct));
if (!state) if (!state)
return FALSE; return FALSE;
state->menuType = POKENAV_MENU_TYPE_CONDITION; state->menuType = POKENAV_MENU_TYPE_CONDITION;
state->cursorPos = 0; //party state->cursorPos = 0; //party
state->currMenuItem = POKENAV_MENUITEM_CONDITION_PARTY; state->currMenuItem = POKENAV_MENUITEM_CONDITION_PARTY;
@@ -157,7 +157,7 @@ bool32 PokenavCallback_Init_ConditionSearchMenu(void)
struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct)); struct Pokenav1Struct *state = AllocSubstruct(POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER, sizeof(struct Pokenav1Struct));
if (!state) if (!state)
return FALSE; return FALSE;
state->menuType = POKENAV_MENU_TYPE_CONDITION_SEARCH; state->menuType = POKENAV_MENU_TYPE_CONDITION_SEARCH;
state->cursorPos = GetSelectedConditionSearch(); state->cursorPos = GetSelectedConditionSearch();
state->currMenuItem = state->cursorPos + POKENAV_MENUITEM_CONDITION_SEARCH_COOL; state->currMenuItem = state->cursorPos + POKENAV_MENUITEM_CONDITION_SEARCH_COOL;
@@ -251,8 +251,8 @@ static u32 HandleMainMenuInput(struct Pokenav1Struct *state)
} }
} }
if (gMain.newKeys & B_BUTTON) if (JOY_NEW(B_BUTTON))
return -1; return POKENAV_MENU_FUNC_EXIT;
return POKENAV_MENU_FUNC_NONE; return POKENAV_MENU_FUNC_NONE;
} }
@@ -277,13 +277,13 @@ static u32 HandleMainMenuInputTutorial(struct Pokenav1Struct *state)
return POKENAV_MENU_FUNC_NONE; return POKENAV_MENU_FUNC_NONE;
} }
} }
if (gMain.newKeys & B_BUTTON) if (gMain.newKeys & B_BUTTON)
{ {
PlaySE(SE_FAILURE); PlaySE(SE_FAILURE);
return POKENAV_MENU_FUNC_NONE; return POKENAV_MENU_FUNC_NONE;
} }
return POKENAV_MENU_FUNC_NONE; return POKENAV_MENU_FUNC_NONE;
} }
@@ -292,7 +292,7 @@ static u32 HandleMainMenuInputEndTutorial(struct Pokenav1Struct *state)
{ {
if (UpdateMenuCursorPos(state)) if (UpdateMenuCursorPos(state))
return POKENAV_MENU_FUNC_MOVE_CURSOR; return POKENAV_MENU_FUNC_MOVE_CURSOR;
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
u32 menuItem = sMenuItems[state->menuType][state->cursorPos]; u32 menuItem = sMenuItems[state->menuType][state->cursorPos];
@@ -342,7 +342,7 @@ static u32 HandleConditionMenuInput(struct Pokenav1Struct *state)
{ {
if (UpdateMenuCursorPos(state)) if (UpdateMenuCursorPos(state))
return POKENAV_MENU_FUNC_MOVE_CURSOR; return POKENAV_MENU_FUNC_MOVE_CURSOR;
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
switch (sMenuItems[state->menuType][state->cursorPos]) switch (sMenuItems[state->menuType][state->cursorPos])
@@ -386,7 +386,7 @@ static u32 HandleConditionSearchMenuInput(struct Pokenav1Struct *state)
{ {
if (UpdateMenuCursorPos(state)) if (UpdateMenuCursorPos(state))
return POKENAV_MENU_FUNC_MOVE_CURSOR; return POKENAV_MENU_FUNC_MOVE_CURSOR;
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
u8 menuItem = sMenuItems[state->menuType][state->cursorPos]; u8 menuItem = sMenuItems[state->menuType][state->cursorPos];

View File

@@ -174,21 +174,21 @@ static u32 HandleRibbonsMonListInput_WaitListInit(struct PokenavSub9 *structPtr)
static u32 HandleRibbonsMonListInput(struct PokenavSub9 *structPtr) static u32 HandleRibbonsMonListInput(struct PokenavSub9 *structPtr)
{ {
if (gMain.newAndRepeatedKeys & DPAD_UP) if (JOY_REPEAT(DPAD_UP))
return 1; return RIBBONS_MON_LIST_FUNC_MOVE_UP;
if (gMain.newAndRepeatedKeys & DPAD_DOWN) if (JOY_REPEAT(DPAD_DOWN))
return 2; return RIBBONS_MON_LIST_FUNC_MOVE_DOWN;
if (gMain.newKeys & DPAD_LEFT) if (JOY_NEW(DPAD_LEFT))
return 3; return RIBBONS_MON_LIST_FUNC_PAGE_UP;
if (gMain.newKeys & DPAD_RIGHT) if (JOY_NEW(DPAD_RIGHT))
return 4; return RIBBONS_MON_LIST_FUNC_PAGE_DOWN;
if (gMain.newKeys & B_BUTTON) if (JOY_NEW(B_BUTTON))
{ {
structPtr->saveMonList = 0; structPtr->saveMonList = 0;
structPtr->callback = RibbonsMonMenu_ReturnToMainMenu; structPtr->callback = RibbonsMonMenu_ReturnToMainMenu;
return RIBBONS_MON_LIST_FUNC_EXIT; return RIBBONS_MON_LIST_FUNC_EXIT;
} }
if (gMain.newKeys & A_BUTTON) if (JOY_NEW(A_BUTTON))
{ {
structPtr->monList->currIndex = GetSelectedPokenavListIndex(); structPtr->monList->currIndex = GetSelectedPokenavListIndex();
structPtr->saveMonList = 1; structPtr->saveMonList = 1;

View File

@@ -198,26 +198,26 @@ void FreeRibbonsSummaryScreen1(void)
u32 RibbonsSummaryHandleInput(struct PokenavSub13 *structPtr) u32 RibbonsSummaryHandleInput(struct PokenavSub13 *structPtr)
{ {
if (gMain.newAndRepeatedKeys & DPAD_UP && structPtr->monList->currIndex != 0) if (JOY_REPEAT(DPAD_UP) && structPtr->monList->currIndex != 0)
{ {
structPtr->monList->currIndex--; structPtr->monList->currIndex--;
structPtr->field_C = 0; structPtr->field_C = 0;
sub_81D0814(structPtr); sub_81D0814(structPtr);
return RIBBONS_SUMMARY_FUNC_MOVED_CURSOR; return RIBBONS_SUMMARY_FUNC_MOVED_CURSOR;
} }
else if (gMain.newAndRepeatedKeys & DPAD_DOWN && structPtr->monList->currIndex < structPtr->monList->listCount - 1) if (JOY_REPEAT(DPAD_DOWN) && structPtr->monList->currIndex < structPtr->monList->listCount - 1)
{ {
structPtr->monList->currIndex++; structPtr->monList->currIndex++;
structPtr->field_C = 0; structPtr->field_C = 0;
sub_81D0814(structPtr); sub_81D0814(structPtr);
return RIBBONS_SUMMARY_FUNC_MOVED_CURSOR; return RIBBONS_SUMMARY_FUNC_MOVED_CURSOR;
} }
else if (gMain.newKeys & A_BUTTON) if (JOY_NEW(A_BUTTON))
{ {
structPtr->callback = HandleExpandedRibbonInput; structPtr->callback = HandleExpandedRibbonInput;
return RIBBONS_SUMMARY_FUNC_SELECT_RIBBON; return RIBBONS_SUMMARY_FUNC_SELECT_RIBBON;
} }
else if (gMain.newKeys & B_BUTTON) if (JOY_NEW(B_BUTTON))
{ {
structPtr->callback = ReturnToRibbonsListFromSummary; structPtr->callback = ReturnToRibbonsListFromSummary;
return RIBBONS_SUMMARY_FUNC_EXIT; return RIBBONS_SUMMARY_FUNC_EXIT;
@@ -227,15 +227,15 @@ u32 RibbonsSummaryHandleInput(struct PokenavSub13 *structPtr)
u32 HandleExpandedRibbonInput(struct PokenavSub13 *structPtr) u32 HandleExpandedRibbonInput(struct PokenavSub13 *structPtr)
{ {
if (gMain.newAndRepeatedKeys & DPAD_UP && sub_81D05DC(structPtr)) if (JOY_REPEAT(DPAD_UP) && sub_81D05DC(structPtr))
return 3; return RIBBONS_SUMMARY_FUNC_EXPANDED_CURSOR_MOVE;
else if (gMain.newAndRepeatedKeys & DPAD_DOWN && sub_81D061C(structPtr)) if (JOY_REPEAT(DPAD_DOWN) && sub_81D061C(structPtr))
return 3; return RIBBONS_SUMMARY_FUNC_EXPANDED_CURSOR_MOVE;
else if (gMain.newAndRepeatedKeys & DPAD_LEFT && sub_81D0664(structPtr)) if (JOY_REPEAT(DPAD_LEFT) && sub_81D0664(structPtr))
return 3; return RIBBONS_SUMMARY_FUNC_EXPANDED_CURSOR_MOVE;
else if (gMain.newAndRepeatedKeys & DPAD_RIGHT && sub_81D0688(structPtr)) if (JOY_REPEAT(DPAD_RIGHT) && sub_81D0688(structPtr))
return 3; return RIBBONS_SUMMARY_FUNC_EXPANDED_CURSOR_MOVE;
else if (gMain.newKeys & B_BUTTON) if (JOY_NEW(B_BUTTON))
{ {
structPtr->callback = RibbonsSummaryHandleInput; structPtr->callback = RibbonsSummaryHandleInput;
return RIBBONS_SUMMARY_FUNC_EXPANDED_CANCEL; return RIBBONS_SUMMARY_FUNC_EXPANDED_CANCEL;

View File

@@ -671,14 +671,14 @@ bool32 LoadTrainerHillFloorObjectEventScripts(void)
return TRUE; return TRUE;
} }
static u32 GetMetatileForFloor(u8 floorId, u32 bit, u32 arg2, u32 arg3) static u16 GetMetatileForFloor(u8 floorId, u32 x, u32 y, u32 stride) // stride is always 16
{ {
bool8 impassable; bool8 impassable;
u16 metatile; u16 metatile;
u16 elevation; u16 elevation;
impassable = (sHillData->floors[floorId].display.collisionData[arg2] >> (15 - bit)) & 1; impassable = (sHillData->floors[floorId].display.collisionData[y] >> (15 - x) & 1);
metatile = sHillData->floors[floorId].display.metatileData[arg2 * arg3 + bit] + 0x200; metatile = sHillData->floors[floorId].display.metatileData[stride * y + x] + 0x200;
elevation = 0x3000; elevation = 0x3000;
return (((impassable << 10) & METATILE_COLLISION_MASK) | elevation) | (metatile & METATILE_ID_MASK); return (((impassable << 10) & METATILE_COLLISION_MASK) | elevation) | (metatile & METATILE_ID_MASK);