sub_80C267C
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user