mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-27 12:14:20 +01:00
through sub_81D1B00
This commit is contained in:
parent
19a89f2362
commit
30c20bbab6
@ -5,96 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_81D1A78
|
|
||||||
sub_81D1A78: @ 81D1A78
|
|
||||||
push {r4-r6,lr}
|
|
||||||
adds r5, r1, 0
|
|
||||||
adds r6, r2, 0
|
|
||||||
cmp r0, 0x14
|
|
||||||
bhi _081D1AA2
|
|
||||||
ldr r1, =gUnknown_086252A8
|
|
||||||
lsls r0, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldr r4, [r0]
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_81D1574
|
|
||||||
ldr r1, =gUnknown_08625374
|
|
||||||
lsls r0, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldr r3, [r0]
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r5, 0
|
|
||||||
adds r2, r6, 0
|
|
||||||
bl _call_via_r3
|
|
||||||
_081D1AA2:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_81D1A78
|
|
||||||
|
|
||||||
thumb_func_start sub_81D1AB0
|
|
||||||
sub_81D1AB0: @ 81D1AB0
|
|
||||||
ldr r3, [r0, 0x4]
|
|
||||||
str r3, [r1]
|
|
||||||
ldr r0, [r0, 0x8]
|
|
||||||
str r0, [r2]
|
|
||||||
bx lr
|
|
||||||
thumb_func_end sub_81D1AB0
|
|
||||||
|
|
||||||
thumb_func_start sub_81D1ABC
|
|
||||||
sub_81D1ABC: @ 81D1ABC
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r5, r1, 0
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r0, [r4, 0xC]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _081D1AD0
|
|
||||||
ldrh r0, [r4, 0x4]
|
|
||||||
bl sub_81D1B0C
|
|
||||||
b _081D1AD2
|
|
||||||
_081D1AD0:
|
|
||||||
str r0, [r2]
|
|
||||||
_081D1AD2:
|
|
||||||
ldr r0, [r4, 0x8]
|
|
||||||
str r0, [r5]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_81D1ABC
|
|
||||||
|
|
||||||
thumb_func_start sub_81D1ADC
|
|
||||||
sub_81D1ADC: @ 81D1ADC
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r5, r1, 0
|
|
||||||
ldrh r0, [r4, 0x4]
|
|
||||||
bl sub_81D1B0C
|
|
||||||
ldr r0, [r4, 0x8]
|
|
||||||
str r0, [r5]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_81D1ADC
|
|
||||||
|
|
||||||
thumb_func_start sub_81D1AF4
|
|
||||||
sub_81D1AF4: @ 81D1AF4
|
|
||||||
ldr r3, [r0, 0x4]
|
|
||||||
str r3, [r1]
|
|
||||||
ldr r0, [r0, 0x8]
|
|
||||||
str r0, [r2]
|
|
||||||
bx lr
|
|
||||||
thumb_func_end sub_81D1AF4
|
|
||||||
|
|
||||||
thumb_func_start sub_81D1B00
|
|
||||||
sub_81D1B00: @ 81D1B00
|
|
||||||
ldr r3, [r0, 0x4]
|
|
||||||
str r3, [r1]
|
|
||||||
ldr r0, [r0, 0x8]
|
|
||||||
str r0, [r2]
|
|
||||||
bx lr
|
|
||||||
thumb_func_end sub_81D1B00
|
|
||||||
|
|
||||||
thumb_func_start sub_81D1B0C
|
thumb_func_start sub_81D1B0C
|
||||||
sub_81D1B0C: @ 81D1B0C
|
sub_81D1B0C: @ 81D1B0C
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
@ -36,7 +36,8 @@ struct MatchCallStruct1 {
|
|||||||
u8 v1;
|
u8 v1;
|
||||||
u16 flag;
|
u16 flag;
|
||||||
u16 v4;
|
u16 v4;
|
||||||
u8 fill6[10];
|
const u8 *v8;
|
||||||
|
const u8 *vC;
|
||||||
const match_call_sub0_t *v10;
|
const match_call_sub0_t *v10;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -76,7 +77,9 @@ struct MatchCallStruct5 {
|
|||||||
u8 type;
|
u8 type;
|
||||||
u8 v1;
|
u8 v1;
|
||||||
u16 flag;
|
u16 flag;
|
||||||
u8 fill4[12];
|
u16 v4;
|
||||||
|
const u8 *v8;
|
||||||
|
const u8 *vC;
|
||||||
const match_call_sub0_t *v10;
|
const match_call_sub0_t *v10;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -107,6 +110,7 @@ struct UnkStruct_08625388 {
|
|||||||
void sub_81D1920(const match_call_sub0_t *, u8 *);
|
void sub_81D1920(const match_call_sub0_t *, u8 *);
|
||||||
void sub_81D199C(const match_call_sub0_t *, u16, u8 *);
|
void sub_81D199C(const match_call_sub0_t *, u16, u8 *);
|
||||||
void sub_8197080(u8 *);
|
void sub_8197080(u8 *);
|
||||||
|
void sub_81D1B0C(u32, const u8 **, const u8 **);
|
||||||
|
|
||||||
// .rodata
|
// .rodata
|
||||||
|
|
||||||
@ -118,6 +122,7 @@ extern bool32 (*const gUnknown_08625338[])(const match_call_t);
|
|||||||
extern const struct UnkStruct_08625388 gUnknown_08625388[];
|
extern const struct UnkStruct_08625388 gUnknown_08625388[];
|
||||||
extern u32 (*const gUnknown_0862534C[])(const match_call_t);
|
extern u32 (*const gUnknown_0862534C[])(const match_call_t);
|
||||||
extern void (*const gUnknown_08625360[])(const match_call_t, u8 *);
|
extern void (*const gUnknown_08625360[])(const match_call_t, u8 *);
|
||||||
|
extern void (*const gUnknown_08625374[])(const match_call_t, const u8 **, const u8 **);
|
||||||
|
|
||||||
// .text
|
// .text
|
||||||
|
|
||||||
@ -569,3 +574,49 @@ ASM_DIRECT void sub_81D199C(const match_call_sub0_t *sub0, u16 idx, u8 *dest)
|
|||||||
"\t.pool");
|
"\t.pool");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void sub_81D1A78(u32 idx, const u8 **a1, const u8 **a2)
|
||||||
|
{
|
||||||
|
match_call_t matchCall;
|
||||||
|
u32 i;
|
||||||
|
|
||||||
|
if (idx > 20)
|
||||||
|
return;
|
||||||
|
matchCall = gUnknown_086252A8[idx];
|
||||||
|
i = sub_81D1574(matchCall);
|
||||||
|
gUnknown_08625374[i](matchCall, a1, a2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81D1AB0(match_call_t matchCall, const u8 **a1, const u8 **a2)
|
||||||
|
{
|
||||||
|
*a1 = matchCall.type0->v4;
|
||||||
|
*a2 = matchCall.type0->v8;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81D1ABC(match_call_t matchCall, const u8 **a1, const u8 **a2)
|
||||||
|
{
|
||||||
|
match_call_t _matchCall = matchCall;
|
||||||
|
if (_matchCall.type1->vC == NULL)
|
||||||
|
sub_81D1B0C(_matchCall.type1->v4, a1, a2);
|
||||||
|
else
|
||||||
|
*a2 = _matchCall.type1->vC;
|
||||||
|
*a1 = _matchCall.type1->v8;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81D1ADC(match_call_t matchCall, const u8 **a1, const u8 **a2)
|
||||||
|
{
|
||||||
|
sub_81D1B0C(matchCall.type2->v4, a1, a2);
|
||||||
|
*a1 = matchCall.type2->v8;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81D1AF4(match_call_t matchCall, const u8 **a1, const u8 **a2)
|
||||||
|
{
|
||||||
|
*a1 = matchCall.type0->v4;
|
||||||
|
*a2 = matchCall.type0->v8;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81D1B00(match_call_t matchCall, const u8 **a1, const u8 **a2)
|
||||||
|
{
|
||||||
|
*a1 = matchCall.type0->v4;
|
||||||
|
*a2 = matchCall.type0->v8;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user