summaryrefslogtreecommitdiff
path: root/src/field/fldeff_secretpower.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field/fldeff_secretpower.c')
-rw-r--r--src/field/fldeff_secretpower.c128
1 files changed, 37 insertions, 91 deletions
diff --git a/src/field/fldeff_secretpower.c b/src/field/fldeff_secretpower.c
index 0e91bb55c..c998448a4 100644
--- a/src/field/fldeff_secretpower.c
+++ b/src/field/fldeff_secretpower.c
@@ -245,98 +245,44 @@ void sub_80C6280(void)
#if DEBUG
-__attribute__((naked))
-void debug_sub_80D93F4()
-{
- asm("\
- push {r4, lr}\n\
- bl sub_80BB63C\n\
- ldr r0, ._98 @ gSpecialVar_Result\n\
- ldrh r0, [r0]\n\
- cmp r0, #0x1\n\
- beq ._95 @cond_branch\n\
- bl player_get_direction_lower_nybble\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- cmp r0, #0x2\n\
- beq ._96 @cond_branch\n\
-._95:\n\
- bl ScriptContext2_Disable\n\
- b ._109\n\
-._99:\n\
- .align 2, 0\n\
-._98:\n\
- .word gSpecialVar_Result\n\
-._96:\n\
- ldr r4, ._102 @ gUnknown_0203923C\n\
- add r1, r4, #2\n\
- add r0, r4, #0\n\
- bl GetXYCoordsOneStepInFrontOfPlayer\n\
- mov r1, #0x0\n\
- ldsh r0, [r4, r1]\n\
- mov r2, #0x2\n\
- ldsh r1, [r4, r2]\n\
- bl MapGridGetMetatileBehaviorAt\n\
- lsl r0, r0, #0x18\n\
- lsr r4, r0, #0x18\n\
- add r0, r4, #0\n\
- bl MetatileBehavior_IsSecretBaseCave\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- cmp r0, #0x1\n\
- bne ._100 @cond_branch\n\
- bl sub_80C6264\n\
- ldr r1, ._102 + 4 @ gLastFieldPokeMenuOpened\n\
- mov r0, #0x0\n\
- strb r0, [r1]\n\
- bl sub_80C639C\n\
- b ._109\n\
-._103:\n\
- .align 2, 0\n\
-._102:\n\
- .word gUnknown_0203923C\n\
- .word gLastFieldPokeMenuOpened\n\
-._100:\n\
- add r0, r4, #0\n\
- bl MetatileBehavior_IsSecretBaseTree\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- cmp r0, #0x1\n\
- bne ._104 @cond_branch\n\
- bl sub_80C6264\n\
- ldr r1, ._106 @ gLastFieldPokeMenuOpened\n\
- mov r0, #0x0\n\
- strb r0, [r1]\n\
- bl sub_80C64A8\n\
- b ._109\n\
-._107:\n\
- .align 2, 0\n\
-._106:\n\
- .word gLastFieldPokeMenuOpened\n\
-._104:\n\
- add r0, r4, #0\n\
- bl MetatileBehavior_IsSecretBaseShrub\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- cmp r0, #0x1\n\
- bne ._108 @cond_branch\n\
- bl sub_80C6264\n\
- ldr r1, ._110 @ gLastFieldPokeMenuOpened\n\
- mov r0, #0x0\n\
- strb r0, [r1]\n\
- bl sub_80C660C\n\
- b ._109\n\
-._111:\n\
- .align 2, 0\n\
-._110:\n\
- .word gLastFieldPokeMenuOpened\n\
-._108:\n\
- bl ScriptContext2_Disable\n\
-._109:\n\
- pop {r4}\n\
- pop {r0}\n\
- bx r0");
+void debug_sub_80D93F4(void)
+{
+ u8 metatile;
+
+ sub_80BB63C();
+
+ if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != 2)
+ {
+ ScriptContext2_Disable();
+ return;
+ }
+
+ GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y);
+ metatile = MapGridGetMetatileBehaviorAt(gUnknown_0203923C.x, gUnknown_0203923C.y);
+ if (MetatileBehavior_IsSecretBaseCave(metatile) == TRUE)
+ {
+ sub_80C6264();
+ gLastFieldPokeMenuOpened = 0;
+ sub_80C639C();
+ }
+ else if (MetatileBehavior_IsSecretBaseTree(metatile) == TRUE)
+ {
+ sub_80C6264();
+ gLastFieldPokeMenuOpened = 0;
+ sub_80C64A8();
+ }
+ else if (MetatileBehavior_IsSecretBaseShrub(metatile) == TRUE)
+ {
+ sub_80C6264();
+ gLastFieldPokeMenuOpened = 0;
+ sub_80C660C();
+ }
+ else
+ {
+ ScriptContext2_Disable();
+ }
}
+
#endif
bool8 SetUpFieldMove_SecretPower(void)