through sub_8097390

This commit is contained in:
PikalaxALT
2018-01-08 13:53:24 -07:00
parent 56c2c7ef00
commit 673d64c35b
2 changed files with 114 additions and 225 deletions
-225
View File
@@ -5,231 +5,6 @@
.text
thumb_func_start sub_80972A8
sub_80972A8: @ 80972A8
push {r4,lr}
ldr r4, _080972B8 @ =gSharedMem
ldrb r0, [r4, 0x4]
cmp r0, 0
beq _080972BC
cmp r0, 0x1
beq _080972CA
b _080972F2
.align 2, 0
_080972B8: .4byte gSharedMem
_080972BC:
movs r0, 0
bl sub_809B100
ldrb r0, [r4, 0x4]
adds r0, 0x1
strb r0, [r4, 0x4]
b _080972F2
_080972CA:
bl sub_809B130
lsls r0, 24
cmp r0, 0
bne _080972F2
ldr r0, _080972E4 @ =gUnknown_0203847C
ldrb r0, [r0]
cmp r0, 0
beq _080972EC
ldr r0, _080972E8 @ =sub_8097858
bl SetPSSCallback
b _080972F2
.align 2, 0
_080972E4: .4byte gUnknown_0203847C
_080972E8: .4byte sub_8097858
_080972EC:
ldr r0, _080972F8 @ =sub_8096C84
bl SetPSSCallback
_080972F2:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080972F8: .4byte sub_8096C84
thumb_func_end sub_80972A8
thumb_func_start sub_80972FC
sub_80972FC: @ 80972FC
push {r4,lr}
ldr r4, _0809730C @ =gSharedMem
ldrb r0, [r4, 0x4]
cmp r0, 0
beq _08097310
cmp r0, 0x1
beq _0809731E
b _08097346
.align 2, 0
_0809730C: .4byte gSharedMem
_08097310:
movs r0, 0x1
bl sub_809B100
ldrb r0, [r4, 0x4]
adds r0, 0x1
strb r0, [r4, 0x4]
b _08097346
_0809731E:
bl sub_809B130
lsls r0, 24
cmp r0, 0
bne _08097346
ldr r0, _08097338 @ =gUnknown_0203847C
ldrb r0, [r0]
cmp r0, 0
beq _08097340
ldr r0, _0809733C @ =sub_8097858
bl SetPSSCallback
b _08097346
.align 2, 0
_08097338: .4byte gUnknown_0203847C
_0809733C: .4byte sub_8097858
_08097340:
ldr r0, _0809734C @ =sub_8096C84
bl SetPSSCallback
_08097346:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0809734C: .4byte sub_8096C84
thumb_func_end sub_80972FC
thumb_func_start c3_0808DC50
c3_0808DC50: @ 8097350
push {r4,lr}
ldr r4, _08097360 @ =gSharedMem
ldrb r0, [r4, 0x4]
cmp r0, 0
beq _08097364
cmp r0, 0x1
beq _08097372
b _08097386
.align 2, 0
_08097360: .4byte gSharedMem
_08097364:
movs r0, 0x2
bl sub_809B100
ldrb r0, [r4, 0x4]
adds r0, 0x1
strb r0, [r4, 0x4]
b _08097386
_08097372:
bl sub_809B130
lsls r0, 24
cmp r0, 0
bne _08097386
bl BoxSetMosaic
ldr r0, _0809738C @ =sub_8096C84
bl SetPSSCallback
_08097386:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0809738C: .4byte sub_8096C84
thumb_func_end c3_0808DC50
thumb_func_start sub_8097390
sub_8097390: @ 8097390
push {lr}
ldr r0, _080973A4 @ =gSharedMem
ldrb r0, [r0, 0x4]
cmp r0, 0x5
bhi _08097462
lsls r0, 2
ldr r1, _080973A8 @ =_080973AC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080973A4: .4byte gSharedMem
_080973A8: .4byte _080973AC
.align 2, 0
_080973AC:
.4byte _080973C4
.4byte _080973FC
.4byte _0809741C
.4byte _0809742C
.4byte _0809743E
.4byte _0809745C
_080973C4:
bl CalculatePlayerPartyCount
lsls r0, 24
lsrs r0, 24
cmp r0, 0x6
bne _080973E4
movs r0, 0xE
bl sub_8098898
ldr r1, _080973E0 @ =gSharedMem
movs r0, 0x1
strb r0, [r1, 0x4]
b _08097462
.align 2, 0
_080973E0: .4byte gSharedMem
_080973E4:
bl sub_809B0E0
movs r0, 0
bl sub_809B100
ldr r1, _080973F8 @ =gSharedMem
movs r0, 0x2
strb r0, [r1, 0x4]
b _08097462
.align 2, 0
_080973F8: .4byte gSharedMem
_080973FC:
ldr r0, _08097414 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0xF3
ands r0, r1
cmp r0, 0
beq _08097462
bl sub_8098A5C
ldr r0, _08097418 @ =sub_8096C84
bl SetPSSCallback
b _08097462
.align 2, 0
_08097414: .4byte gMain
_08097418: .4byte sub_8096C84
_0809741C:
bl sub_809B130
lsls r0, 24
cmp r0, 0
bne _08097462
bl sub_809880C
b _0809744C
_0809742C:
bl sub_8098830
lsls r0, 24
cmp r0, 0
bne _08097462
movs r0, 0x1
bl sub_809B100
b _0809744C
_0809743E:
bl sub_809B130
lsls r0, 24
cmp r0, 0
bne _08097462
bl sub_80987DC
_0809744C:
ldr r1, _08097458 @ =gSharedMem
ldrb r0, [r1, 0x4]
adds r0, 0x1
strb r0, [r1, 0x4]
b _08097462
.align 2, 0
_08097458: .4byte gSharedMem
_0809745C:
ldr r0, _08097468 @ =sub_8097004
bl SetPSSCallback
_08097462:
pop {r0}
bx r0
.align 2, 0
_08097468: .4byte sub_8097004
thumb_func_end sub_8097390
thumb_func_start sub_809746C
sub_809746C: @ 809746C
push {r4,lr}
+114
View File
@@ -103,6 +103,7 @@ void sub_809746C(void);
void sub_8097594(void);
void sub_8097788(void);
void sub_80977E4(void);
void sub_8097858(void);
void sub_809789C(void);
void sub_8097BA0(void);
void sub_8097CC0(void);
@@ -116,10 +117,13 @@ bool8 sub_80985CC(void);
void sub_80986E8(void);
void sub_8098710(void);
void sub_8098734(void);
void sub_80987DC(void);
void sub_809880C(void);
bool8 sub_8098830(void);
void sub_8098898(u8 index);
void sub_8098A5C(void);
void sub_809B100(u8 a0);
bool8 sub_809B130(void);
void sub_8098B48(void);
void sub_8099BF8(u8 a0);
void sub_8099C70(u8 whichBox);
@@ -130,6 +134,7 @@ void sub_809AA98(void);
bool8 sub_809AC00(void);
void sub_809B0C0(u8 a0);
void sub_809B0D4(void);
void sub_809B0E0(void);
u8 sub_809B0F4(void);
void sub_809B440(void);
void sub_809BBC0(void);
@@ -1418,6 +1423,115 @@ void sub_8097078(void)
}
}
void sub_80972A8(void)
{
switch (ePokemonStorageSystem.unk_0004)
{
case 0:
sub_809B100(0);
ePokemonStorageSystem.unk_0004++;
break;
case 1:
if (!sub_809B130())
{
if (gUnknown_0203847C)
SetPSSCallback(sub_8097858);
else
SetPSSCallback(sub_8096C84);
}
break;
}
}
void sub_80972FC(void)
{
switch (ePokemonStorageSystem.unk_0004)
{
case 0:
sub_809B100(1);
ePokemonStorageSystem.unk_0004++;
break;
case 1:
if (!sub_809B130())
{
if (gUnknown_0203847C)
SetPSSCallback(sub_8097858);
else
SetPSSCallback(sub_8096C84);
}
break;
}
}
void c3_0808DC50(void)
{
switch (ePokemonStorageSystem.unk_0004)
{
case 0:
sub_809B100(2);
ePokemonStorageSystem.unk_0004++;
break;
case 1:
if (!sub_809B130())
{
BoxSetMosaic();
SetPSSCallback(sub_8096C84);
}
break;
}
}
void sub_8097390(void)
{
switch (ePokemonStorageSystem.unk_0004)
{
case 0:
if (CalculatePlayerPartyCount() == 6)
{
sub_8098898(14);
ePokemonStorageSystem.unk_0004 = 1;
}
else
{
sub_809B0E0();
sub_809B100(0);
ePokemonStorageSystem.unk_0004 = 2;
}
break;
case 1:
if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
{
sub_8098A5C();
SetPSSCallback(sub_8096C84);
}
break;
case 2:
if (!sub_809B130())
{
sub_809880C();
ePokemonStorageSystem.unk_0004++;
}
break;
case 3:
if (!sub_8098830())
{
sub_809B100(1);
ePokemonStorageSystem.unk_0004++;
}
break;
case 4:
if (!sub_809B130())
{
sub_80987DC();
ePokemonStorageSystem.unk_0004++;
}
break;
case 5:
SetPSSCallback(sub_8097004);
break;
}
}
asm(".section .text.8098898");
void sub_8098898(u8 index) {