mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-09 04:06:10 -05:00
Decompile through FUN_02000F4C
This commit is contained in:
parent
c38f30451b
commit
ee0060c513
|
|
@ -5,98 +5,6 @@
|
|||
.extern FUN_02000E9C
|
||||
.extern FUN_02000EC8
|
||||
|
||||
thumb_func_start FUN_02000EE8
|
||||
FUN_02000EE8: ; 0x02000EE8
|
||||
push {r3, lr}
|
||||
bl FUN_020335B8
|
||||
add r1, r0, #0x0
|
||||
cmp r1, #0x1
|
||||
beq _02000EFE
|
||||
cmp r1, #0x2
|
||||
beq _02000F06
|
||||
cmp r1, #0x3
|
||||
beq _02000F0E
|
||||
pop {r3, pc}
|
||||
_02000EFE:
|
||||
mov r0, #0x1
|
||||
bl FUN_02000F4C
|
||||
pop {r3, pc}
|
||||
_02000F06:
|
||||
mov r0, #0x0
|
||||
bl FUN_02000F4C
|
||||
pop {r3, pc}
|
||||
_02000F0E:
|
||||
mov r0, #0x1
|
||||
bl FUN_02000F4C
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02000F18
|
||||
FUN_02000F18: ; 0x02000F18
|
||||
push {r4, lr}
|
||||
ldr r1, _02000F48 ; =0x00007FFF
|
||||
add r4, r0, #0x0
|
||||
mov r0, #0x0
|
||||
bl FUN_0200E3A0
|
||||
ldr r1, _02000F48 ; =0x00007FFF
|
||||
mov r0, #0x1
|
||||
bl FUN_0200E3A0
|
||||
bl FUN_02032DAC
|
||||
cmp r0, #0x0
|
||||
beq _02000F3C
|
||||
bl FUN_020225F8
|
||||
bl FUN_0202287C
|
||||
_02000F3C:
|
||||
bl FUN_02000FE8
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02000EC8
|
||||
b _02000F3C
|
||||
.balign 4
|
||||
_02000F48: .word 0x00007FFF
|
||||
|
||||
thumb_func_start FUN_02000F4C
|
||||
FUN_02000F4C: ; 0x02000F4C
|
||||
push {r4-r6, lr}
|
||||
add r6, r0, #0x0
|
||||
cmp r1, #0x3
|
||||
bne _02000F60
|
||||
mov r0, #0x0
|
||||
mov r1, #0x3
|
||||
add r2, r0, #0x0
|
||||
bl FUN_02033F70
|
||||
b _02000F7A
|
||||
_02000F60:
|
||||
cmp r6, #0x0
|
||||
bne _02000F70
|
||||
mov r0, #0x0
|
||||
mov r1, #0x2
|
||||
add r2, r0, #0x0
|
||||
bl FUN_02033F70
|
||||
b _02000F7A
|
||||
_02000F70:
|
||||
mov r0, #0x0
|
||||
add r1, r0, #0x0
|
||||
add r2, r0, #0x0
|
||||
bl FUN_02033F70
|
||||
_02000F7A:
|
||||
bl FUN_02032DAC
|
||||
ldr r5, _02000FA0 ; =0x021C48B8
|
||||
mov r4, #0x1
|
||||
_02000F82:
|
||||
bl FUN_02000FE8
|
||||
bl FUN_02016464
|
||||
ldr r0, [r5, #0x48]
|
||||
tst r0, r4
|
||||
bne _02000F96
|
||||
bl FUN_02000E9C
|
||||
b _02000F82
|
||||
_02000F96:
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02000F18
|
||||
pop {r4-r6, pc}
|
||||
nop
|
||||
_02000FA0: .word 0x021C48B8
|
||||
|
||||
thumb_func_start FUN_02000FA4
|
||||
FUN_02000FA4: ; 0x02000FA4
|
||||
push {r4-r5, lr}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ extern void FUN_02015E30(void);
|
|||
extern void FUN_02000EE8(void);
|
||||
extern void FUN_02000FE8(void);
|
||||
extern void FUN_02016464(void);
|
||||
extern void FUN_02000F18(int);
|
||||
extern void FUN_02000F18(u32 parameter);
|
||||
extern BOOL FUN_0202FB80(void);
|
||||
extern void FUN_02000E0C(void);
|
||||
extern void FUN_0201B5CC(int);
|
||||
|
|
@ -52,6 +52,7 @@ extern void FUN_020222C4(void);
|
|||
extern void FUN_0200A318(void);
|
||||
extern void FUN_0200E2D8(void);
|
||||
extern void FUN_02003C10(void);
|
||||
void FUN_02000F4C(int arg0, int arg1);
|
||||
|
||||
extern struct Unk21DBE18 gUnk021DBE18;
|
||||
extern struct Unk21DBE18 gUnk021D76C8;
|
||||
|
|
@ -190,7 +191,7 @@ THUMB_FUNC void FUN_02000E9C(void)
|
|||
gUnknown21C48B8.unk0(gUnknown21C48B8.unk4);
|
||||
}
|
||||
|
||||
void FUN_02000EC8(u32 parameter)
|
||||
THUMB_FUNC void FUN_02000EC8(u32 parameter)
|
||||
{
|
||||
if (FUN_02033678() && CARD_TryWaitBackupAsync() == 1)
|
||||
{
|
||||
|
|
@ -198,3 +199,62 @@ void FUN_02000EC8(u32 parameter)
|
|||
}
|
||||
FUN_02000E9C();
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_02000EE8(void)
|
||||
{
|
||||
int r1 = FUN_020335B8();
|
||||
switch (r1)
|
||||
{
|
||||
case 1:
|
||||
FUN_02000F4C(1, r1);
|
||||
break;
|
||||
case 2:
|
||||
FUN_02000F4C(0, r1);
|
||||
break;
|
||||
case 3:
|
||||
FUN_02000F4C(1, r1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_02000F18(u32 parameter)
|
||||
{
|
||||
FUN_0200E3A0(0, 0x7FFF);
|
||||
FUN_0200E3A0(1, 0x7FFF);
|
||||
if (FUN_02032DAC())
|
||||
{
|
||||
FUN_020225F8();
|
||||
FUN_0202287C();
|
||||
}
|
||||
do
|
||||
{
|
||||
FUN_02000FE8();
|
||||
FUN_02000EC8(parameter);
|
||||
} while (1);
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_02000F4C(int arg0, int arg1)
|
||||
{
|
||||
if (arg1 == 3)
|
||||
{
|
||||
FUN_02033F70(0, 3, 0);
|
||||
}
|
||||
else if (arg0 == 0)
|
||||
{
|
||||
FUN_02033F70(0, 2, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
FUN_02033F70(0, 0, 0);
|
||||
}
|
||||
FUN_02032DAC();
|
||||
while (1)
|
||||
{
|
||||
FUN_02000FE8();
|
||||
FUN_02016464();
|
||||
if (gUnknown21C48B8.unk48 & 1)
|
||||
break;
|
||||
FUN_02000E9C();
|
||||
}
|
||||
FUN_02000F18(arg0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,21 @@ struct Unk2106FA0
|
|||
s32 unk20;
|
||||
};
|
||||
|
||||
struct Unk21C4818
|
||||
{
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
};
|
||||
|
||||
struct Unk21C4828
|
||||
{
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
};
|
||||
|
||||
struct Unk21C48B8
|
||||
{
|
||||
void (*unk0)(s32);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user