sub_80EB56C

This commit is contained in:
PikalaxALT 2017-10-27 22:34:38 -04:00
parent 69d206c255
commit 939d728405
2 changed files with 91 additions and 334 deletions

View File

@ -5,340 +5,6 @@
.text
thumb_func_start sub_80EB56C
sub_80EB56C: @ 80EB56C
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 MapGridGetMetatileIdAt
ldr r1, =0xfffffdd4
adds r0, r1
cmp r0, 0xCF
bls _080EB594
b _080EB9D0
_080EB594:
lsls r0, 2
ldr r1, =_080EB5A8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_080EB5A8:
.4byte _080EB930
.4byte _080EB97C
.4byte _080EB97C
.4byte _080EB97C
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB930
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9AC
.4byte _080EB954
.4byte _080EB954
.4byte _080EB8E8
.4byte _080EB8E8
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9AC
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9AC
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9D0
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9AC
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB9D0
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
.4byte _080EB90C
_080EB8E8:
ldr r0, =0x00004054
bl VarGet
lsls r0, 16
cmp r0, 0
beq _080EB9D0
ldr r4, =0x000040ee
adds r0, r4, 0
bl VarGet
adds r1, r0, 0
movs r0, 0x40
b _080EB994
.pool
_080EB90C:
ldr r0, =0x00004054
bl VarGet
lsls r0, 16
cmp r0, 0
beq _080EB9D0
ldr r4, =0x000040ee
adds r0, r4, 0
bl VarGet
adds r1, r0, 0
movs r0, 0x8
b _080EB994
.pool
_080EB930:
ldr r0, =0x00004054
bl VarGet
lsls r0, 16
cmp r0, 0
beq _080EB9D0
ldr r4, =0x000040ef
adds r0, r4, 0
bl VarGet
adds r1, r0, 0
movs r0, 0x40
b _080EB994
.pool
_080EB954:
ldr r0, =0x00004054
bl VarGet
lsls r0, 16
cmp r0, 0
beq _080EB9D0
ldr r4, =0x000040ef
adds r0, r4, 0
bl VarGet
adds r1, r0, 0
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
b _080EB994
.pool
_080EB97C:
ldr r0, =0x00004054
bl VarGet
lsls r0, 16
cmp r0, 0
beq _080EB9D0
ldr r4, =0x000040ef
adds r0, r4, 0
bl VarGet
adds r1, r0, 0
movs r0, 0x10
_080EB994:
orrs r1, r0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl VarSet
b _080EB9D0
.pool
_080EB9AC:
ldr r0, =0x00004054
bl VarGet
lsls r0, 16
cmp r0, 0
beq _080EB9D0
ldr r4, =0x000040ef
adds r0, r4, 0
bl VarGet
adds r1, r0, 0
movs r0, 0x8
orrs r1, r0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl VarSet
_080EB9D0:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_80EB56C
thumb_func_start sub_80EB9E0
sub_80EB9E0: @ 80EB9E0
push {r4,lr}

View File

@ -2023,3 +2023,94 @@ void sub_80EB498(void)
break;
}
}
void sub_80EB56C(void)
{
s16 x;
s16 y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
{
case 0x28a:
case 0x28b:
if (VarGet(VAR_0x4054) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x40);
}
break;
case 0x2d8:
case 0x2d9:
case 0x2da:
case 0x2db:
case 0x2dc:
case 0x2dd:
case 0x2e8:
case 0x2e9:
case 0x2ea:
case 0x2eb:
case 0x2ec:
case 0x2ed:
case 0x2ee:
case 0x2ef:
case 0x2f8:
case 0x2f9:
case 0x2fa:
case 0x2fb:
if (VarGet(VAR_0x4054) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x8);
}
break;
case 0x22c:
case 0x233:
if (VarGet(VAR_0x4054) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x40);
}
break;
case 0x288:
case 0x289:
if (VarGet(VAR_0x4054) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x100);
}
break;
case 0x22d:
case 0x22e:
case 0x22f:
if (VarGet(VAR_0x4054) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x10);
}
break;
case 0x287:
case 0x28f:
case 0x298:
case 0x299:
case 0x29a:
case 0x29b:
case 0x29c:
case 0x29d:
case 0x29e:
case 0x29f:
case 0x2ab:
case 0x2b0:
case 0x2b1:
case 0x2b2:
case 0x2b4:
case 0x2b5:
case 0x2b6:
case 0x2b7:
case 0x2cb:
case 0x2cc:
case 0x2cd:
case 0x2ce:
case 0x2cf:
if (VarGet(VAR_0x4054) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x8);
}
break;
}
}