through sub_810D0FC

This commit is contained in:
PikalaxALT
2018-10-08 21:49:28 -04:00
parent fe2d1d4e3c
commit 88c181a6b0
3 changed files with 29 additions and 83 deletions
-81
View File
@@ -5,87 +5,6 @@
.text
thumb_func_start sub_810D0D0
sub_810D0D0: @ 810D0D0
push {r4,lr}
movs r1, 0
ldr r4, _0810D0F4 @ =gSaveBlock1Ptr
ldr r3, _0810D0F8 @ =0x0000063a
movs r2, 0
_0810D0DA:
ldr r0, [r4]
adds r0, r3
adds r0, r1
strb r2, [r0]
adds r0, r1, 0x1
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x63
bls _0810D0DA
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0810D0F4: .4byte gSaveBlock1Ptr
_0810D0F8: .4byte 0x0000063a
thumb_func_end sub_810D0D0
thumb_func_start sub_810D0FC
sub_810D0FC: @ 810D0FC
push {r4,r5,lr}
sub sp, 0x4
adds r5, r0, 0
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl PlayerGetDestCoords
mov r1, sp
mov r0, sp
ldrh r0, [r0]
subs r0, 0x7
strh r0, [r1]
ldrh r0, [r4]
subs r0, 0x7
strh r0, [r4]
mov r0, sp
movs r1, 0
ldrsh r2, [r0, r1]
subs r0, r2, 0x7
movs r3, 0x8
ldrsh r1, [r5, r3]
cmp r0, r1
bgt _0810D15A
adds r0, r2, 0x7
cmp r0, r1
blt _0810D15A
movs r0, 0
ldrsh r1, [r4, r0]
subs r0, r1, 0x5
movs r3, 0xA
ldrsh r2, [r5, r3]
cmp r0, r2
bgt _0810D15A
adds r0, r1, 0x5
cmp r0, r2
blt _0810D15A
ldrb r0, [r5, 0x7]
bl sub_810CF04
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0810D15A
movs r0, 0x1
b _0810D15C
_0810D15A:
movs r0, 0
_0810D15C:
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_810D0FC
thumb_func_start sub_810D164
sub_810D164: @ 810D164
push {r4-r7,lr}
+2 -2
View File
@@ -9,8 +9,8 @@ struct VsSeekerSubstruct
u16 unk_4;
u8 unk_6;
u8 unk_7;
u16 unk_8;
u16 unk_a;
s16 unk_8;
s16 unk_a;
u8 unk_c;
};
+27
View File
@@ -18,6 +18,7 @@
#include "battle_setup.h"
#include "random.h"
#include "field_map_obj.h"
#include "field_player_avatar.h"
#include "vs_seeker.h"
// static types
@@ -973,3 +974,29 @@ bool32 sub_810D0A8(u32 a0)
return FALSE;
return TRUE;
}
void sub_810D0D0(void)
{
u8 i;
for (i = 0; i < 100; i++)
gSaveBlock1Ptr->trainerRematches[i] = 0;
}
bool8 sub_810D0FC(struct VsSeekerSubstruct * a0)
{
s16 x;
s16 y;
PlayerGetDestCoords(&x, &y);
x -= 7;
y -= 7;
if ( x - 7 <= a0->unk_8
&& x + 7 >= a0->unk_8
&& y - 5 <= a0->unk_a
&& y + 5 >= a0->unk_a
&& sub_810CF04(a0->unk_7) == 1)
return TRUE;
return FALSE;
}