tm_case sub_8132F60
This commit is contained in:
-331
@@ -5,337 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8132F60
|
||||
sub_8132F60: @ 8132F60
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
ldr r1, _08132FA4 @ =gTasks+0x8
|
||||
adds r6, r0, r1
|
||||
ldr r0, _08132FA8 @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08132F8E
|
||||
movs r1, 0x10
|
||||
ldrsh r0, [r6, r1]
|
||||
cmp r0, 0x14
|
||||
bgt _08132F8E
|
||||
movs r0, 0x15
|
||||
strh r0, [r6, 0x10]
|
||||
bl sub_815AC20
|
||||
_08132F8E:
|
||||
movs r3, 0x10
|
||||
ldrsh r0, [r6, r3]
|
||||
cmp r0, 0x15
|
||||
bls _08132F98
|
||||
b _08133210
|
||||
_08132F98:
|
||||
lsls r0, 2
|
||||
ldr r1, _08132FAC @ =_08132FB0
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08132FA4: .4byte gTasks+0x8
|
||||
_08132FA8: .4byte gMain
|
||||
_08132FAC: .4byte _08132FB0
|
||||
.align 2, 0
|
||||
_08132FB0:
|
||||
.4byte _08133008
|
||||
.4byte _08133024
|
||||
.4byte _08133050
|
||||
.4byte _08133050
|
||||
.4byte _08133050
|
||||
.4byte _08133080
|
||||
.4byte _08133080
|
||||
.4byte _08133080
|
||||
.4byte _081330B0
|
||||
.4byte _081330E0
|
||||
.4byte _081330F4
|
||||
.4byte _08133024
|
||||
.4byte _08133050
|
||||
.4byte _08133050
|
||||
.4byte _08133050
|
||||
.4byte _08133080
|
||||
.4byte _08133080
|
||||
.4byte _08133080
|
||||
.4byte _0813312C
|
||||
.4byte _081330E0
|
||||
.4byte _0813315C
|
||||
.4byte _08133170
|
||||
_08133008:
|
||||
ldr r0, _08133020 @ =0xffff8405
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r1, 0x4
|
||||
movs r2, 0
|
||||
movs r3, 0x6
|
||||
bl BeginNormalPaletteFade
|
||||
movs r0, 0x1
|
||||
bl sub_8131F64
|
||||
b _081331EA
|
||||
.align 2, 0
|
||||
_08133020: .4byte 0xffff8405
|
||||
_08133024:
|
||||
ldr r0, _0813304C @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0
|
||||
beq _08133036
|
||||
b _08133232
|
||||
_08133036:
|
||||
ldrh r0, [r6, 0x12]
|
||||
adds r0, 0x1
|
||||
strh r0, [r6, 0x12]
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0x65
|
||||
bgt _08133046
|
||||
b _08133232
|
||||
_08133046:
|
||||
strh r1, [r6, 0x12]
|
||||
b _081331EA
|
||||
.align 2, 0
|
||||
_0813304C: .4byte gPaletteFade
|
||||
_08133050:
|
||||
movs r0, 0x12
|
||||
ldrsh r1, [r6, r0]
|
||||
cmp r1, 0
|
||||
bne _08133066
|
||||
ldr r0, _0813307C @ =gMain
|
||||
strh r1, [r0, 0x2E]
|
||||
movs r1, 0x80
|
||||
strh r1, [r0, 0x30]
|
||||
ldrb r0, [r6]
|
||||
bl ListMenuHandleInput
|
||||
_08133066:
|
||||
ldrh r0, [r6, 0x12]
|
||||
adds r0, 0x1
|
||||
strh r0, [r6, 0x12]
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0x65
|
||||
bgt _08133076
|
||||
b _08133232
|
||||
_08133076:
|
||||
movs r0, 0
|
||||
strh r0, [r6, 0x12]
|
||||
b _081331EA
|
||||
.align 2, 0
|
||||
_0813307C: .4byte gMain
|
||||
_08133080:
|
||||
movs r3, 0x12
|
||||
ldrsh r1, [r6, r3]
|
||||
cmp r1, 0
|
||||
bne _08133096
|
||||
ldr r0, _081330AC @ =gMain
|
||||
strh r1, [r0, 0x2E]
|
||||
movs r1, 0x40
|
||||
strh r1, [r0, 0x30]
|
||||
ldrb r0, [r6]
|
||||
bl ListMenuHandleInput
|
||||
_08133096:
|
||||
ldrh r0, [r6, 0x12]
|
||||
adds r0, 0x1
|
||||
strh r0, [r6, 0x12]
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0x65
|
||||
bgt _081330A6
|
||||
b _08133232
|
||||
_081330A6:
|
||||
movs r0, 0
|
||||
strh r0, [r6, 0x12]
|
||||
b _081331EA
|
||||
.align 2, 0
|
||||
_081330AC: .4byte gMain
|
||||
_081330B0:
|
||||
movs r0, 0x1
|
||||
bl sub_8131F64
|
||||
ldr r2, _081330D4 @ =gUnknown_841C587
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x4
|
||||
movs r3, 0
|
||||
bl sub_813337C
|
||||
ldr r1, _081330D8 @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _081330DC @ =sub_8132F60
|
||||
str r1, [r0]
|
||||
b _081331EA
|
||||
.align 2, 0
|
||||
_081330D4: .4byte gUnknown_841C587
|
||||
_081330D8: .4byte gTasks
|
||||
_081330DC: .4byte sub_8132F60
|
||||
_081330E0:
|
||||
bl RunTextPrinters
|
||||
movs r0, 0x6
|
||||
bl IsTextPrinterActive
|
||||
lsls r0, 16
|
||||
cmp r0, 0
|
||||
beq _081330F2
|
||||
b _08133232
|
||||
_081330F2:
|
||||
b _081331EA
|
||||
_081330F4:
|
||||
ldr r0, _08133128 @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x3
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08133102
|
||||
b _08133232
|
||||
_08133102:
|
||||
movs r0, 0
|
||||
bl sub_8131F64
|
||||
movs r0, 0x80
|
||||
lsls r0, 3
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r2, 0x6
|
||||
movs r3, 0
|
||||
bl BeginNormalPaletteFade
|
||||
movs r0, 0x6
|
||||
movs r1, 0
|
||||
bl sub_810F260
|
||||
movs r0, 0x1
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
b _081331EA
|
||||
.align 2, 0
|
||||
_08133128: .4byte gMain
|
||||
_0813312C:
|
||||
movs r0, 0x1
|
||||
bl sub_8131F64
|
||||
ldr r2, _08133150 @ =gUnknown_841C693
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x4
|
||||
movs r3, 0
|
||||
bl sub_813337C
|
||||
ldr r1, _08133154 @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _08133158 @ =sub_8132F60
|
||||
str r1, [r0]
|
||||
b _081331EA
|
||||
.align 2, 0
|
||||
_08133150: .4byte gUnknown_841C693
|
||||
_08133154: .4byte gTasks
|
||||
_08133158: .4byte sub_8132F60
|
||||
_0813315C:
|
||||
ldr r0, _0813316C @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x3
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08133232
|
||||
b _081331EA
|
||||
.align 2, 0
|
||||
_0813316C: .4byte gMain
|
||||
_08133170:
|
||||
ldr r0, _081331F4 @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
cmp r7, 0
|
||||
bne _08133232
|
||||
ldr r5, _081331F8 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r5]
|
||||
ldr r1, _081331FC @ =0x00000464
|
||||
adds r0, r1
|
||||
ldr r4, _08133200 @ =gUnknown_203B11C
|
||||
ldr r1, [r4]
|
||||
movs r2, 0xE8
|
||||
bl memcpy
|
||||
ldr r0, [r5]
|
||||
movs r3, 0xEE
|
||||
lsls r3, 2
|
||||
adds r0, r3
|
||||
ldr r1, [r4]
|
||||
adds r1, 0xE8
|
||||
movs r2, 0x78
|
||||
bl memcpy
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_810713C
|
||||
ldr r2, _08133204 @ =gUnknown_203B10C
|
||||
ldr r0, [r4]
|
||||
movs r3, 0xB0
|
||||
lsls r3, 1
|
||||
adds r1, r0, r3
|
||||
ldrh r1, [r1]
|
||||
strh r1, [r2, 0x8]
|
||||
adds r3, 0x2
|
||||
adds r1, r0, r3
|
||||
ldrh r1, [r1]
|
||||
strh r1, [r2, 0xA]
|
||||
bl Free
|
||||
ldr r0, _08133208 @ =gPlttBufferFaded
|
||||
ldr r1, _0813320C @ =gPlttBufferUnfaded
|
||||
movs r2, 0x80
|
||||
lsls r2, 1
|
||||
bl CpuFastSet
|
||||
bl sub_8108CF0
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0x2
|
||||
negs r1, r1
|
||||
str r7, [sp]
|
||||
movs r2, 0
|
||||
movs r3, 0x10
|
||||
bl BeginNormalPaletteFade
|
||||
_081331EA:
|
||||
ldrh r0, [r6, 0x10]
|
||||
adds r0, 0x1
|
||||
strh r0, [r6, 0x10]
|
||||
b _08133232
|
||||
.align 2, 0
|
||||
_081331F4: .4byte gPaletteFade
|
||||
_081331F8: .4byte gSaveBlock1Ptr
|
||||
_081331FC: .4byte 0x00000464
|
||||
_08133200: .4byte gUnknown_203B11C
|
||||
_08133204: .4byte gUnknown_203B10C
|
||||
_08133208: .4byte gPlttBufferFaded
|
||||
_0813320C: .4byte gPlttBufferUnfaded
|
||||
_08133210:
|
||||
ldr r0, _0813323C @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08133232
|
||||
ldr r0, _08133240 @ =gUnknown_203B10C
|
||||
ldr r0, [r0]
|
||||
bl SetMainCallback2
|
||||
bl sub_813208C
|
||||
bl sub_81321D4
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
_08133232:
|
||||
add sp, 0x4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0813323C: .4byte gPaletteFade
|
||||
_08133240: .4byte gUnknown_203B10C
|
||||
thumb_func_end sub_8132F60
|
||||
|
||||
thumb_func_start sub_8133244
|
||||
sub_8133244: @ 8133244
|
||||
push {r4,lr}
|
||||
|
||||
@@ -12,6 +12,7 @@ extern u16 gSpecialVar_ItemId;
|
||||
// Exported ROM declarations
|
||||
void sub_81AAC50(void);
|
||||
void sub_81AAC70(void);
|
||||
void sub_8108CF0(void);
|
||||
void UseFameCheckerFromMenu(void);
|
||||
|
||||
#endif //GUARD_ITEM_MENU_H
|
||||
|
||||
@@ -2,5 +2,6 @@
|
||||
#define GUARD_TEACHY_TV_H
|
||||
|
||||
void sub_815ABFC(void);
|
||||
void sub_815AC20(void);
|
||||
|
||||
#endif //GUARD_TEACHY_TV_H
|
||||
|
||||
+131
@@ -131,6 +131,8 @@ extern const u8 gUnknown_84168F1[];
|
||||
extern const u8 gUnknown_8416911[];
|
||||
extern const u8 gUnknown_8416936[];
|
||||
extern const u8 gUnknown_8416959[];
|
||||
extern const u8 gUnknown_841C587[];
|
||||
extern const u8 gUnknown_841C693[];
|
||||
|
||||
// my rodata
|
||||
extern const struct BgTemplate gUnknown_8463134[3];
|
||||
@@ -1043,3 +1045,132 @@ void sub_8132F20(u8 taskId)
|
||||
gTasks[taskId].func = sub_8132F60;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8132F60(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
if (JOY_NEW(B_BUTTON))
|
||||
{
|
||||
if (data[8] < 21)
|
||||
{
|
||||
data[8] = 21;
|
||||
sub_815AC20();
|
||||
}
|
||||
}
|
||||
|
||||
switch (data[8])
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFF8405, 4, 0, 6, 0);
|
||||
sub_8131F64(1);
|
||||
data[8]++;
|
||||
break;
|
||||
case 1:
|
||||
case 11:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
data[9]++;
|
||||
if (data[9] > 0x65)
|
||||
{
|
||||
data[9] = 0;
|
||||
data[8]++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
if (data[9] == 0)
|
||||
{
|
||||
gMain.newKeys = 0;
|
||||
gMain.newAndRepeatedKeys = DPAD_DOWN;
|
||||
ListMenuHandleInput(data[0]);
|
||||
}
|
||||
data[9]++;
|
||||
if (data[9] > 0x65)
|
||||
{
|
||||
data[9] = 0;
|
||||
data[8]++;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 15:
|
||||
case 16:
|
||||
case 17:
|
||||
if (data[9] == 0)
|
||||
{
|
||||
gMain.newKeys = 0;
|
||||
gMain.newAndRepeatedKeys = DPAD_UP;
|
||||
ListMenuHandleInput(data[0]);
|
||||
}
|
||||
data[9]++;
|
||||
if (data[9] > 0x65)
|
||||
{
|
||||
data[9] = 0;
|
||||
data[8]++;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
sub_8131F64(1);
|
||||
sub_813337C(taskId, 4, gUnknown_841C587, 0);
|
||||
gTasks[taskId].func = sub_8132F60;
|
||||
data[8]++;
|
||||
break;
|
||||
case 9:
|
||||
case 19:
|
||||
RunTextPrinters();
|
||||
if (!IsTextPrinterActive(6))
|
||||
data[8]++;
|
||||
break;
|
||||
case 10:
|
||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
{
|
||||
sub_8131F64(0);
|
||||
BeginNormalPaletteFade(0x00000400, 0, 6, 0, 0);
|
||||
sub_810F260(6, 0);
|
||||
schedule_bg_copy_tilemap_to_vram(1);
|
||||
data[8]++;
|
||||
}
|
||||
break;
|
||||
case 18:
|
||||
sub_8131F64(1);
|
||||
sub_813337C(taskId, 4, gUnknown_841C693, 0);
|
||||
gTasks[taskId].func = sub_8132F60;
|
||||
data[8]++;
|
||||
break;
|
||||
case 20:
|
||||
if (JOY_NEW(A_BUTTON | B_BUTTON))
|
||||
data[8]++;
|
||||
break;
|
||||
case 21:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
memcpy(gSaveBlock1Ptr->bagPocket_TMHM, gUnknown_203B11C->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM));
|
||||
memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, gUnknown_203B11C->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems));
|
||||
sub_810713C(data[0], NULL, NULL);
|
||||
gUnknown_203B10C.unk_08 = gUnknown_203B11C->unk_160;
|
||||
gUnknown_203B10C.unk_0a = gUnknown_203B11C->unk_162;
|
||||
Free(gUnknown_203B11C);
|
||||
CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
|
||||
sub_8108CF0();
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0);
|
||||
data[8]++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
SetMainCallback2(gUnknown_203B10C.unk_00);
|
||||
sub_813208C();
|
||||
sub_81321D4();
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user