mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 11:44:17 +01:00
sub_80E8BF8
This commit is contained in:
parent
eb2c2f0a3f
commit
7bf352944f
@ -5,93 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80E8BF8
|
||||
sub_80E8BF8: @ 80E8BF8
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
mov r4, sp
|
||||
adds r4, 0x2
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
bl GetXYCoordsOneStepInFrontOfPlayer
|
||||
mov r0, sp
|
||||
movs r1, 0
|
||||
ldrsh r0, [r0, r1]
|
||||
movs r2, 0
|
||||
ldrsh r1, [r4, r2]
|
||||
bl MapGridGetMetatileBehaviorAt
|
||||
adds r1, r0, 0
|
||||
ldr r2, =0x00000fff
|
||||
adds r0, r2, 0
|
||||
ands r1, r0
|
||||
adds r0, r1, 0
|
||||
subs r0, 0x90
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1
|
||||
bhi _080E8C34
|
||||
movs r0, 0x1
|
||||
b _080E8C8E
|
||||
.pool
|
||||
_080E8C34:
|
||||
adds r0, r1, 0
|
||||
subs r0, 0x92
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1
|
||||
bhi _080E8C44
|
||||
movs r0, 0x2
|
||||
b _080E8C8E
|
||||
_080E8C44:
|
||||
adds r0, r1, 0
|
||||
subs r0, 0x9A
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1
|
||||
bhi _080E8C54
|
||||
movs r0, 0x3
|
||||
b _080E8C8E
|
||||
_080E8C54:
|
||||
adds r0, r1, 0
|
||||
subs r0, 0x94
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1
|
||||
bhi _080E8C64
|
||||
movs r0, 0x4
|
||||
b _080E8C8E
|
||||
_080E8C64:
|
||||
adds r0, r1, 0
|
||||
subs r0, 0x96
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1
|
||||
bls _080E8C78
|
||||
cmp r1, 0x9C
|
||||
beq _080E8C78
|
||||
cmp r1, 0x9D
|
||||
bne _080E8C7C
|
||||
_080E8C78:
|
||||
movs r0, 0x5
|
||||
b _080E8C8E
|
||||
_080E8C7C:
|
||||
adds r0, r1, 0
|
||||
subs r0, 0x98
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1
|
||||
bls _080E8C8C
|
||||
movs r0, 0
|
||||
b _080E8C8E
|
||||
_080E8C8C:
|
||||
movs r0, 0x6
|
||||
_080E8C8E:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80E8BF8
|
||||
|
||||
thumb_func_start sub_80E8C98
|
||||
sub_80E8C98: @ 80E8C98
|
||||
push {r4,lr}
|
||||
|
@ -11,5 +11,6 @@ u8 player_get_direction_upper_nybble(void);
|
||||
u8 player_get_x22(void);
|
||||
|
||||
void sub_808D074(u8);
|
||||
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
|
||||
|
||||
#endif //GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
@ -4,6 +4,8 @@
|
||||
#include "list_menu.h"
|
||||
#include "decoration.h"
|
||||
#include "decoration_inventory.h"
|
||||
#include "fieldmap.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "text.h"
|
||||
#include "event_data.h"
|
||||
#include "secret_base.h"
|
||||
@ -22,6 +24,10 @@ EWRAM_DATA struct SecretBaseListMenuBuffer *gUnknown_0203A020 = NULL;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
// .text
|
||||
|
||||
void sub_80E8AF0(struct SecretBaseRecord *sbr)
|
||||
{
|
||||
u16 i;
|
||||
@ -77,6 +83,37 @@ void sub_80E8BC8(void)
|
||||
}
|
||||
}
|
||||
|
||||
// .rodata
|
||||
u8 sub_80E8BF8(void)
|
||||
{
|
||||
s16 x;
|
||||
s16 y;
|
||||
s16 behavior;
|
||||
|
||||
// .text
|
||||
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
|
||||
behavior = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF;
|
||||
if (behavior == 0x90 || behavior == 0x91)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (behavior == 0x92 || behavior == 0x93)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
if (behavior == 0x9a || behavior == 0x9b)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
if (behavior == 0x94 || behavior == 0x95)
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
if (behavior == 0x96 || behavior == 0x97 || behavior == 0x9c || behavior == 0x9d)
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
if (behavior == 0x98 || behavior == 0x99)
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user