summaryrefslogtreecommitdiff
path: root/src/pokemon/pokemon_menu.c
diff options
context:
space:
mode:
authorCameron Hall <cameronghall@cox.net>2018-01-25 19:36:54 -0600
committerCameron Hall <cameronghall@cox.net>2018-01-25 19:36:54 -0600
commite50f5e906776a799ec69418168f032880e16384c (patch)
tree9887680e36304f843f6e04d8d6b0864011417d06 /src/pokemon/pokemon_menu.c
parent9f7fa5781e8de8e23faea3785e8b3aebde79c8c6 (diff)
more debug integrations
Diffstat (limited to 'src/pokemon/pokemon_menu.c')
-rw-r--r--src/pokemon/pokemon_menu.c151
1 files changed, 19 insertions, 132 deletions
diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c
index 8e1bd1671..532340ce4 100644
--- a/src/pokemon/pokemon_menu.c
+++ b/src/pokemon/pokemon_menu.c
@@ -31,6 +31,7 @@
#include "item_menu.h"
#include "player_pc.h"
#include "ewram.h"
+#include "script.h"
/*
Pokemon menu:
@@ -45,6 +46,7 @@ struct PokeMenuFieldMoveFunc
u8 field_1;
};
+extern u8 gUnknown_020297ED;
extern u8 gUnknown_020384F0;
extern u8 gUnknown_0202E8F4;
extern u8 gUnknown_0202E8F5;
@@ -900,9 +902,10 @@ static void sub_808AE08(void)
static bool8 SetUpFieldMove_Waterfall(void)
{
s16 x, y;
+
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE
- && IsPlayerSurfingNorth() == TRUE)
+ && IsPlayerSurfingNorth() == TRUE)
{
gFieldCallback = FieldCallback_Teleport;
gUnknown_03005CE4 = sub_808AE08;
@@ -913,138 +916,19 @@ static bool8 SetUpFieldMove_Waterfall(void)
}
#if DEBUG
-__attribute__((naked))
-void debug_sub_80986AC()
-{
- asm("\
- push {r4, lr}\n\
- add sp, sp, #0xfffffffc\n\
- mov r4, sp\n\
- add r4, r4, #0x2\n\
- mov r0, sp\n\
- add r1, r4, #0\n\
- bl GetXYCoordsOneStepInFrontOfPlayer\n\
- mov r0, sp\n\
- mov r1, #0x0\n\
- ldsh r0, [r0, r1]\n\
- mov r2, #0x0\n\
- ldsh r1, [r4, r2]\n\
- bl MapGridGetMetatileBehaviorAt\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- bl MetatileBehavior_IsWaterfall\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- cmp r0, #0x1\n\
- bne ._274 @cond_branch\n\
- bl IsPlayerSurfingNorth\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- cmp r0, #0x1\n\
- bne ._274 @cond_branch\n\
- bl sub_808AE08\n\
- b ._275\n\
-._274:\n\
- bl ScriptContext2_Disable\n\
-._275:\n\
- add sp, sp, #0x4\n\
- pop {r4}\n\
- pop {r0}\n\
- bx r0");
+void debug_sub_80986AC(void)
+{
+ s16 x, y;
+
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+ if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE
+ && IsPlayerSurfingNorth() == TRUE)
+ sub_808AE08();
+ else
+ ScriptContext2_Disable();
}
#endif
-#if DEBUG
-__attribute__((naked))
-static void sub_808AE8C(void)
-{
- asm("\
- push {r4, r5, r6, lr}\n\
- ldr r0, ._281\n\
- ldrb r0, [r0]\n\
- sub r0, r0, #0x21\n\
- lsl r0, r0, #0x18\n\
- lsr r6, r0, #0x18\n\
- mov r5, #0x0\n\
-._287:\n\
- mov r0, #0x64\n\
- add r1, r5, #0\n\
- mul r1, r1, r0\n\
- ldr r0, ._281 + 4\n\
- add r4, r1, r0\n\
- add r0, r4, #0\n\
- mov r1, #0xb\n\
- bl GetMonData\n\
- cmp r0, #0\n\
- beq ._284 @cond_branch\n\
- add r0, r5, #0\n\
- bl sub_806D668\n\
- ldr r0, ._281 + 8\n\
- ldrb r0, [r0]\n\
- cmp r0, #0\n\
- bne ._279 @cond_branch\n\
- add r0, r4, #0\n\
- mov r1, #0x2d\n\
- bl GetMonData\n\
- cmp r0, #0\n\
- bne ._278 @cond_branch\n\
- add r0, r4, #0\n\
- add r1, r6, #0\n\
- bl CanMonLearnTMHM\n\
- cmp r0, #0\n\
- bne ._279 @cond_branch\n\
-._278:\n\
- add r0, r5, #0\n\
- mov r1, #0x9a\n\
- bl sub_806BC3C\n\
- b ._284\n\
-._282:\n\
- .align 2, 0\n\
-._281:\n\
- .word gSpecialVar_ItemId\n\
- .word gPlayerParty\n\
- .word gUnknown_020297ED\n\
-._279:\n\
- mov r0, #0x64\n\
- add r4, r5, #0\n\
- mul r4, r4, r0\n\
- ldr r0, ._285\n\
- add r4, r4, r0\n\
- ldr r0, ._285 + 4\n\
- ldrh r0, [r0]\n\
- bl ItemIdToBattleMoveId\n\
- add r1, r0, #0\n\
- lsl r1, r1, #0x10\n\
- lsr r1, r1, #0x10\n\
- add r0, r4, #0\n\
- bl pokemon_has_move\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- beq ._283 @cond_branch\n\
- add r0, r5, #0\n\
- mov r1, #0xa8\n\
- bl sub_806BC3C\n\
- b ._284\n\
-._286:\n\
- .align 2, 0\n\
-._285:\n\
- .word gPlayerParty\n\
- .word gSpecialVar_ItemId\n\
-._283:\n\
- add r0, r5, #0\n\
- mov r1, #0x8c\n\
- bl sub_806BC3C\n\
-._284:\n\
- add r0, r5, #1\n\
- lsl r0, r0, #0x18\n\
- lsr r5, r0, #0x18\n\
- cmp r5, #0x5\n\
- bls ._287 @cond_branch\n\
- pop {r4, r5, r6}\n\
- pop {r0}\n\
- bx r0");
-}
-#else
static void sub_808AE8C(void)
{
u8 i;
@@ -1054,7 +938,11 @@ static void sub_808AE8C(void)
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES))
{
sub_806D668(i);
- if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) || !CanMonLearnTMHM(&gPlayerParty[i], arg))
+ if (
+#if DEBUG
+ gUnknown_020297ED == 0 &&
+#endif
+ (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) || !CanMonLearnTMHM(&gPlayerParty[i], arg)))
sub_806BC3C(i, 0x9A);
else if (pokemon_has_move(&gPlayerParty[i], ItemIdToBattleMoveId(gSpecialVar_ItemId)))
sub_806BC3C(i, 0xA8);
@@ -1063,7 +951,6 @@ static void sub_808AE8C(void)
}
}
}
-#endif
static void sub_808AF20(void)
{