through sub_800D658
This commit is contained in:
parent
f974812e9b
commit
9f4ecadbfa
2 changed files with 54 additions and 103 deletions
100
asm/link_rfu.s
100
asm/link_rfu.s
|
@ -5,106 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_800D610
|
||||
sub_800D610: @ 800D610
|
||||
push {lr}
|
||||
ldr r1, =gUnknown_03004140
|
||||
ldrb r0, [r1, 0x2]
|
||||
cmp r0, 0
|
||||
beq _0800D628
|
||||
ldrb r0, [r1, 0x2]
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0x2]
|
||||
movs r0, 0x45
|
||||
movs r1, 0
|
||||
bl sub_800D30C
|
||||
_0800D628:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_800D610
|
||||
|
||||
thumb_func_start sub_800D630
|
||||
sub_800D630: @ 800D630
|
||||
push {lr}
|
||||
ldr r1, =gUnknown_03004140
|
||||
ldrb r0, [r1, 0x2]
|
||||
cmp r0, 0
|
||||
bne _0800D648
|
||||
movs r0, 0x45
|
||||
movs r1, 0
|
||||
bl sub_800D30C
|
||||
b _0800D654
|
||||
.pool
|
||||
_0800D648:
|
||||
ldrb r0, [r1, 0x2]
|
||||
cmp r0, 0x1
|
||||
bne _0800D654
|
||||
ldrb r0, [r1, 0x2]
|
||||
movs r0, 0x2
|
||||
strb r0, [r1, 0x2]
|
||||
_0800D654:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_800D630
|
||||
|
||||
thumb_func_start sub_800D658
|
||||
sub_800D658: @ 800D658
|
||||
push {lr}
|
||||
ldr r0, =gUnknown_03004140
|
||||
ldrb r1, [r0, 0x7]
|
||||
adds r2, r0, 0
|
||||
cmp r1, 0
|
||||
beq _0800D6C2
|
||||
ldrb r0, [r2, 0x4]
|
||||
subs r0, 0x5
|
||||
cmp r0, 0x6
|
||||
bhi _0800D6C2
|
||||
lsls r0, 2
|
||||
ldr r1, =_0800D680
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.pool
|
||||
.align 2, 0
|
||||
_0800D680:
|
||||
.4byte _0800D69C
|
||||
.4byte _0800D6A4
|
||||
.4byte _0800D6AE
|
||||
.4byte _0800D6AE
|
||||
.4byte _0800D6B4
|
||||
.4byte _0800D6B4
|
||||
.4byte _0800D6BA
|
||||
_0800D69C:
|
||||
movs r0, 0x3
|
||||
strb r0, [r2, 0x7]
|
||||
movs r0, 0x9
|
||||
b _0800D6C0
|
||||
_0800D6A4:
|
||||
movs r0, 0x2
|
||||
strb r0, [r2, 0x7]
|
||||
movs r0, 0x1
|
||||
strh r0, [r2, 0x1A]
|
||||
b _0800D6C2
|
||||
_0800D6AE:
|
||||
movs r0, 0x2
|
||||
strb r0, [r2, 0x7]
|
||||
b _0800D6C2
|
||||
_0800D6B4:
|
||||
movs r0, 0x28
|
||||
strh r0, [r2, 0x1A]
|
||||
b _0800D6C2
|
||||
_0800D6BA:
|
||||
movs r0, 0x28
|
||||
strh r0, [r2, 0x1A]
|
||||
movs r0, 0xA
|
||||
_0800D6C0:
|
||||
strb r0, [r2, 0x4]
|
||||
_0800D6C2:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_800D658
|
||||
|
||||
@ file boundary?
|
||||
|
||||
thumb_func_start sub_800D6C8
|
||||
|
|
|
@ -32,11 +32,11 @@ static void sub_800D158(void);
|
|||
static void sub_800D20C(void);
|
||||
static void sub_800D268(void);
|
||||
static u8 sub_800D294(void);
|
||||
void sub_800D30C(u8 a0, u8 a1);
|
||||
static void sub_800D30C(u8 a0, u8 a1);
|
||||
static void sub_800D334(u8 a0);
|
||||
static void sub_800D358(u8 a0);
|
||||
static void sub_800D434(void);
|
||||
void sub_800D610(void);
|
||||
static void sub_800D610(void);
|
||||
void sub_800D630(void);
|
||||
|
||||
// .rodata
|
||||
|
@ -1209,7 +1209,7 @@ static u8 sub_800D294(void)
|
|||
return flags;
|
||||
}
|
||||
|
||||
void sub_800D30C(u8 a0, u8 a1)
|
||||
static void sub_800D30C(u8 a0, u8 a1)
|
||||
{
|
||||
if (gUnknown_03004140.unk_40 != NULL)
|
||||
{
|
||||
|
@ -1362,3 +1362,54 @@ u8 sub_800D5D0(u8 a0)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sub_800D610(void)
|
||||
{
|
||||
if (gUnknown_03004140.unk_02)
|
||||
{
|
||||
gUnknown_03004140.unk_02 = 0;
|
||||
sub_800D30C(0x45, 0x00);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_800D630(void)
|
||||
{
|
||||
if (gUnknown_03004140.unk_02 == 0)
|
||||
{
|
||||
sub_800D30C(0x45, 0x00);
|
||||
}
|
||||
else if (gUnknown_03004140.unk_02 == 1)
|
||||
{
|
||||
gUnknown_03004140.unk_02 = 2;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_800D658(void)
|
||||
{
|
||||
if (gUnknown_03004140.unk_07)
|
||||
{
|
||||
switch (gUnknown_03004140.unk_04)
|
||||
{
|
||||
case 5:
|
||||
gUnknown_03004140.unk_07 = 3;
|
||||
gUnknown_03004140.unk_04 = 9;
|
||||
break;
|
||||
case 6:
|
||||
gUnknown_03004140.unk_07 = 2;
|
||||
gUnknown_03004140.unk_1a = 1;
|
||||
break;
|
||||
case 7:
|
||||
case 8:
|
||||
gUnknown_03004140.unk_07 = 2;
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
gUnknown_03004140.unk_1a = 40;
|
||||
break;
|
||||
case 11:
|
||||
gUnknown_03004140.unk_1a = 40;
|
||||
gUnknown_03004140.unk_04 = 10;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue