sub_80C267C

This commit is contained in:
PikalaxALT
2020-01-06 10:45:11 -05:00
parent 70993fe308
commit 29e7c9a807
2 changed files with 111 additions and 353 deletions
-353
View File
@@ -5,359 +5,6 @@
.text
thumb_func_start sub_80C267C
sub_80C267C: @ 80C267C
push {r4,r5,lr}
sub sp, 0xC
lsls r0, 24
lsrs r5, r0, 24
ldr r1, _080C26A0 @ =gUnknown_20399E0
ldr r0, [r1]
ldr r2, _080C26A4 @ =0x00000ccc
adds r0, r2
ldrb r0, [r0]
adds r4, r1, 0
cmp r0, 0xD
bls _080C2696
b _080C2990
_080C2696:
lsls r0, 2
ldr r1, _080C26A8 @ =_080C26AC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080C26A0: .4byte gUnknown_20399E0
_080C26A4: .4byte 0x00000ccc
_080C26A8: .4byte _080C26AC
.align 2, 0
_080C26AC:
.4byte _080C26E4
.4byte _080C26FC
.4byte _080C270C
.4byte _080C272C
.4byte _080C2768
.4byte _080C2788
.4byte _080C27B4
.4byte _080C27C4
.4byte _080C27E4
.4byte _080C281E
.4byte _080C2868
.4byte _080C28A4
.4byte _080C2928
.4byte _080C296C
_080C26E4:
bl sub_80C08E0
ldr r0, _080C26F4 @ =gUnknown_20399E0
ldr r1, [r0]
ldr r0, _080C26F8 @ =0x00000ccc
adds r1, r0
b _080C297E
.align 2, 0
_080C26F4: .4byte gUnknown_20399E0
_080C26F8: .4byte 0x00000ccc
_080C26FC:
bl sub_80C2344
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080C270A
b _080C299A
_080C270A:
b _080C2976
_080C270C:
ldr r1, [r4]
ldr r0, _080C2728 @ =0x00000818
adds r1, r0
movs r0, 0x1E
str r0, [sp]
movs r0, 0x14
str r0, [sp, 0x4]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBufferRect
ldr r1, [r4]
b _080C297A
.align 2, 0
_080C2728: .4byte 0x00000818
_080C272C:
movs r0, 0x1
bl CopyBgTilemapBufferToVram
movs r4, 0x1
negs r4, r4
adds r0, r4, 0
movs r1, 0x10
movs r2, 0
bl BlendPalettes
movs r0, 0
str r0, [sp]
adds r0, r4, 0
movs r1, 0
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
bl sub_80C08F4
ldr r0, _080C2760 @ =gUnknown_20399E0
ldr r1, [r0]
ldr r0, _080C2764 @ =0x00000ccc
adds r1, r0
b _080C297E
.align 2, 0
_080C2760: .4byte gUnknown_20399E0
_080C2764: .4byte 0x00000ccc
_080C2768:
movs r0, 0
bl ShowBg
movs r0, 0x3
bl ShowBg
movs r0, 0x1
bl ShowBg
movs r0, 0x6
movs r1, 0
bl sub_80C22C4
bl sub_80C2B48
b _080C2976
_080C2788:
ldr r0, _080C27AC @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _080C2796
b _080C299A
_080C2796:
ldr r1, [r4]
ldr r0, _080C27B0 @ =0x00000ccc
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
movs r0, 0xF4
bl PlaySE
b _080C299A
.align 2, 0
_080C27AC: .4byte gPaletteFade
_080C27B0: .4byte 0x00000ccc
_080C27B4:
bl sub_80C29A4
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080C27C2
b _080C299A
_080C27C2:
b _080C2976
_080C27C4:
movs r0, 0
bl sub_80C4324
movs r0, 0
bl sub_80C3154
ldr r0, _080C27DC @ =gUnknown_20399E0
ldr r1, [r0]
ldr r0, _080C27E0 @ =0x00000ccc
adds r1, r0
b _080C297E
.align 2, 0
_080C27DC: .4byte gUnknown_20399E0
_080C27E0: .4byte 0x00000ccc
_080C27E4:
ldr r0, [r4]
movs r1, 0xCD
lsls r1, 4
adds r0, r1
movs r1, 0xF
strb r1, [r0]
bl sub_80C253C
movs r0, 0
bl sub_80C0A88
bl sub_80C0E20
lsls r0, 24
lsrs r0, 24
movs r1, 0x19
movs r2, 0
bl sub_80C48BC
bl sub_80C0E20
lsls r0, 24
lsrs r0, 24
movs r1, 0x19
movs r2, 0
bl sub_80C4960
ldr r1, [r4]
b _080C297A
_080C281E:
ldr r0, _080C283C @ =gUnknown_8418EB5
bl sub_80C4E18
movs r0, 0x1
bl sub_80C3AC8
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
beq _080C2844
ldr r0, _080C2840 @ =gUnknown_8418E8B
bl sub_80C4E74
b _080C284A
.align 2, 0
_080C283C: .4byte gUnknown_8418EB5
_080C2840: .4byte gUnknown_8418E8B
_080C2844:
ldr r0, _080C285C @ =gUnknown_8418E8D
bl sub_80C4E74
_080C284A:
movs r0, 0
bl sub_80C4ED0
ldr r0, _080C2860 @ =gUnknown_20399E0
ldr r1, [r0]
ldr r0, _080C2864 @ =0x00000ccc
adds r1, r0
b _080C297E
.align 2, 0
_080C285C: .4byte gUnknown_8418E8D
_080C2860: .4byte gUnknown_20399E0
_080C2864: .4byte 0x00000ccc
_080C2868:
ldr r4, _080C28A0 @ =gUnknown_83EF23C + 0x1E
adds r0, r4, 0
movs r1, 0
movs r2, 0x2
bl LoadPalette
adds r0, r4, 0
movs r1, 0x10
movs r2, 0x2
bl LoadPalette
adds r0, r4, 0
movs r1, 0x20
movs r2, 0x2
bl LoadPalette
adds r0, r4, 0
movs r1, 0x30
movs r2, 0x2
bl LoadPalette
adds r0, r4, 0
movs r1, 0x40
movs r2, 0x2
bl LoadPalette
b _080C2976
.align 2, 0
_080C28A0: .4byte gUnknown_83EF23C + 0x1E
_080C28A4:
movs r4, 0x1
str r4, [sp]
str r4, [sp, 0x4]
movs r5, 0x2
str r5, [sp, 0x8]
movs r0, 0x1
movs r1, 0x2
movs r2, 0
movs r3, 0x1
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x1
movs r1, 0x3
movs r2, 0x1
movs r3, 0x1
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x1
movs r1, 0x3E
movs r2, 0x1C
movs r3, 0x1
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x1
movs r1, 0x3F
movs r2, 0x1D
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r0, 0x1A
str r0, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x1
movs r1, 0x3D
movs r2, 0x2
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r0, 0x1
bl CopyBgTilemapBufferToVram
movs r0, 0xF4
bl m4aSongNumStop
movs r0, 0x2A
bl PlaySE
ldr r0, _080C2920 @ =gUnknown_20399E0
ldr r1, [r0]
ldr r0, _080C2924 @ =0x00000ccc
adds r1, r0
b _080C297E
.align 2, 0
_080C2920: .4byte gUnknown_20399E0
_080C2924: .4byte 0x00000ccc
_080C2928:
ldr r0, [r4]
movs r2, 0xCD
lsls r2, 4
adds r1, r0, r2
ldrb r0, [r1]
cmp r0, 0x2
bne _080C2958
movs r0, 0x6
movs r1, 0x1
bl sub_80C22C4
ldr r1, [r4]
ldr r0, _080C2954 @ =0x00000ccc
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
movs r0, 0
bl sub_80C4C48
b _080C299A
.align 2, 0
_080C2954: .4byte 0x00000ccc
_080C2958:
subs r0, 0x1
strb r0, [r1]
ldr r0, [r4]
movs r1, 0xCD
lsls r1, 4
adds r0, r1
ldrb r0, [r0]
bl sub_80C4C48
b _080C299A
_080C296C:
movs r0, 0
bl sub_80C4B30
bl sub_80C0BB0
_080C2976:
ldr r0, _080C2988 @ =gUnknown_20399E0
ldr r1, [r0]
_080C297A:
ldr r2, _080C298C @ =0x00000ccc
adds r1, r2
_080C297E:
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _080C299A
.align 2, 0
_080C2988: .4byte gUnknown_20399E0
_080C298C: .4byte 0x00000ccc
_080C2990:
bl sub_80C2604
adds r0, r5, 0
bl sub_80C2594
_080C299A:
add sp, 0xC
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80C267C
thumb_func_start sub_80C29A4
sub_80C29A4: @ 80C29A4
+111
View File
@@ -3,6 +3,7 @@
#include "gpu_regs.h"
#include "scanline_effect.h"
#include "task.h"
#include "m4a.h"
#include "malloc.h"
#include "overworld.h"
#include "event_data.h"
@@ -195,6 +196,8 @@ void sub_80C24BC(void);
void sub_80C267C(u8 taskId);
void sub_80C25BC(void);
void sub_80C2604(void);
bool8 sub_80C29A4(void);
void sub_80C2B48(void);
void sub_80C2C1C(u8 taskId);
void sub_80C3008(u16 a0, u16 a1);
void sub_80C3154(u8 a0);
@@ -1678,3 +1681,111 @@ void sub_80C2604(void)
}
}
}
void sub_80C267C(u8 taskId)
{
switch (gUnknown_20399E0->field_CCC)
{
case 0:
sub_80C08E0();
gUnknown_20399E0->field_CCC++;
break;
case 1:
if (sub_80C2344() == TRUE)
gUnknown_20399E0->field_CCC++;
break;
case 2:
CopyToBgTilemapBufferRect(1, gUnknown_20399E0->field_818, 0, 0, 30, 20);
gUnknown_20399E0->field_CCC++;
break;
case 3:
CopyBgTilemapBufferToVram(1);
BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
sub_80C08F4();
gUnknown_20399E0->field_CCC++;
break;
case 4:
ShowBg(0);
ShowBg(3);
ShowBg(1);
sub_80C22C4(6, FALSE);
sub_80C2B48();
gUnknown_20399E0->field_CCC++;
break;
case 5:
if (!gPaletteFade.active)
{
gUnknown_20399E0->field_CCC++;
PlaySE(SE_CARD3);
}
break;
case 6:
if (sub_80C29A4() == TRUE)
gUnknown_20399E0->field_CCC++;
break;
case 7:
sub_80C4324(0);
sub_80C3154(0);
gUnknown_20399E0->field_CCC++;
break;
case 8:
gUnknown_20399E0->field_CD0 = 15;
sub_80C253C();
sub_80C0A88(0);
sub_80C48BC(sub_80C0E20(), 25, 0);
sub_80C4960(sub_80C0E20(), 25, 0);
gUnknown_20399E0->field_CCC++;
break;
case 9:
sub_80C4E18(gUnknown_8418EB5);
if (sub_80C3AC8(1) != 2)
sub_80C4E74(gUnknown_8418E8B);
else
sub_80C4E74(gUnknown_8418E8D);
sub_80C4ED0(FALSE);
gUnknown_20399E0->field_CCC++;
break;
case 10:
LoadPalette(&gUnknown_83EF23C[15], 0x00, 2);
LoadPalette(&gUnknown_83EF23C[15], 0x10, 2);
LoadPalette(&gUnknown_83EF23C[15], 0x20, 2);
LoadPalette(&gUnknown_83EF23C[15], 0x30, 2);
LoadPalette(&gUnknown_83EF23C[15], 0x40, 2);
gUnknown_20399E0->field_CCC++;
break;
case 11:
FillBgTilemapBufferRect(1, 0x002, 0, 1, 1, 1, 0x2);
FillBgTilemapBufferRect(1, 0x003, 1, 1, 1, 1, 0x2);
FillBgTilemapBufferRect(1, 0x03E, 28, 1, 1, 1, 0x2);
FillBgTilemapBufferRect(1, 0x03F, 29, 1, 1, 1, 0x2);
FillBgTilemapBufferRect(1, 0x03D, 2, 1, 26, 1, 0x2);
CopyBgTilemapBufferToVram(1);
m4aSongNumStop(SE_CARD3);
PlaySE(SE_HI_TURUN);
gUnknown_20399E0->field_CCC++;
break;
case 12:
if (gUnknown_20399E0->field_CD0 == 2)
{
sub_80C22C4(6, TRUE);
gUnknown_20399E0->field_CCC++;
sub_80C4C48(0);
}
else
{
gUnknown_20399E0->field_CD0--;
sub_80C4C48(gUnknown_20399E0->field_CD0);
}
break;
case 13:
sub_80C4B30(0);
sub_80C0BB0();
gUnknown_20399E0->field_CCC++;
break;
default:
sub_80C2604();
sub_80C2594(taskId);
break;
}
}