summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/party_menu.c124
1 files changed, 15 insertions, 109 deletions
diff --git a/src/party_menu.c b/src/party_menu.c
index e981bccf3..399794b2d 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -5710,7 +5710,6 @@ static u8 GetPartySlotEntryStatus(s8 slot)
return 0;
}
-#ifdef NONMATCHING
static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
{
u16 species;
@@ -5721,118 +5720,25 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
switch (gPartyMenu.unk_8_6)
{
default:
- if (GetMonData(mon, MON_DATA_LEVEL) <= 30)
- return TRUE;
- return FALSE;
+ if (GetMonData(mon, MON_DATA_LEVEL) > 30)
+ return FALSE;
+ break;
case 0:
- if (GetMonData(mon, MON_DATA_HP) != 0)
- return TRUE;
- return FALSE;
+ if (GetMonData(mon, MON_DATA_HP) == 0)
+ return FALSE;
+ break;
case 1:
- if (gSaveBlock2Ptr->battleTower.battleTowerLevelType != 0 // level 100
- || GetMonData(mon, MON_DATA_LEVEL) <= 50)
- {
- species = GetMonData(mon, MON_DATA_SPECIES);
- // Although i is always 0, the compiler still computes the offset of
- // gBattleTowerBannedSpecies[i] by shifting i.
- // It's also in emerald, but for whatever reason it's generated.
- for (; gBattleTowerBannedSpecies[i] != 0xFFFF; ++i)
- if (gBattleTowerBannedSpecies[i] == species)
- return FALSE;
- return TRUE;
- }
- return FALSE;
+ if (gSaveBlock2Ptr->battleTower.battleTowerLevelType == 0 // level 50
+ && GetMonData(mon, MON_DATA_LEVEL) > 50)
+ return FALSE;
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ for (; gBattleTowerBannedSpecies[i] != 0xFFFF; ++i)
+ if (gBattleTowerBannedSpecies[i] == species)
+ return FALSE;
+ break;
}
+ return TRUE;
}
-#else
-NAKED
-static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
-{
- asm_unified("push {r4,r5,lr}\n\
- adds r4, r0, 0\n\
- movs r5, 0\n\
- movs r1, 0x2D\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- bne _0812757A\n\
- ldr r0, _08127580 @ =gPartyMenu\n\
- ldrb r0, [r0, 0x8]\n\
- lsrs r1, r0, 6\n\
- cmp r1, 0\n\
- beq _08127584\n\
- cmp r1, 0x1\n\
- beq _08127592\n\
- adds r0, r4, 0\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- cmp r0, 0x1E\n\
- bls _081275E0\n\
- _0812757A:\n\
- movs r0, 0\n\
- b _081275E2\n\
- .align 2, 0\n\
- _08127580: .4byte gPartyMenu\n\
- _08127584:\n\
- adds r0, r4, 0\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- bne _081275E0\n\
- b _0812757A\n\
- _08127592:\n\
- ldr r0, _081275E8 @ =gSaveBlock2Ptr\n\
- ldr r0, [r0]\n\
- ldr r2, _081275EC @ =0x0000055c\n\
- adds r0, r2\n\
- ldrb r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _081275AE\n\
- adds r0, r4, 0\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- cmp r0, 0x32\n\
- bhi _0812757A\n\
- _081275AE:\n\
- adds r0, r4, 0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- ldr r3, _081275F0 @ =gBattleTowerBannedSpecies\n\
- lsls r1, r5, 1\n\
- adds r0, r1, r3\n\
- ldrh r0, [r0]\n\
- ldr r2, _081275F4 @ =0x0000ffff\n\
- cmp r0, r2\n\
- beq _081275E0\n\
- _081275C8:\n\
- adds r0, r1, r3\n\
- ldrh r0, [r0]\n\
- cmp r0, r4\n\
- beq _0812757A\n\
- adds r0, r5, 0x1\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- lsls r1, r5, 1\n\
- adds r0, r1, r3\n\
- ldrh r0, [r0]\n\
- cmp r0, r2\n\
- bne _081275C8\n\
- _081275E0:\n\
- movs r0, 0x1\n\
- _081275E2:\n\
- pop {r4,r5}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
- _081275E8: .4byte gSaveBlock2Ptr\n\
- _081275EC: .4byte 0x0000055c\n\
- _081275F0: .4byte gBattleTowerBannedSpecies\n\
- _081275F4: .4byte 0x0000ffff\n\
- ");
-}
-#endif
static u8 CheckBattleEntriesAndGetMessage(void)
{