sub_815B908

This commit is contained in:
jiangzhengwenjz
2019-06-05 11:26:58 +08:00
parent 82e763455c
commit 1ffb8f667c
2 changed files with 29 additions and 73 deletions
-72
View File
@@ -5,78 +5,6 @@
.text
thumb_func_start sub_815B8A4
sub_815B8A4: @ 815B8A4
push {r4,lr}
sub sp, 0xC
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _0815B900 @ =gTasks+0x8
adds r4, r1, r0
movs r1, 0x4
ldrsh r0, [r4, r1]
cmp r0, 0
bne _0815B8DC
ldr r1, _0815B904 @ =gUnknown_8479590
movs r0, 0x8
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
movs r0, 0x11
str r0, [sp, 0x8]
movs r0, 0x1
movs r2, 0x14
movs r3, 0xA
bl CopyToBgTilemapBufferRect_ChangePalette
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
_0815B8DC:
ldrh r0, [r4, 0x4]
adds r0, 0x1
strh r0, [r4, 0x4]
lsls r0, 16
asrs r0, 16
cmp r0, 0x7E
ble _0815B8F8
bl TeachyTvClearBg1EndGraphicalText
movs r0, 0
strh r0, [r4, 0x4]
ldrh r0, [r4, 0x6]
adds r0, 0x1
strh r0, [r4, 0x6]
_0815B8F8:
add sp, 0xC
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0815B900: .4byte gTasks+0x8
_0815B904: .4byte gUnknown_8479590
thumb_func_end sub_815B8A4
thumb_func_start TeachyTvClearBg1EndGraphicalText
TeachyTvClearBg1EndGraphicalText: @ 815B908
push {lr}
sub sp, 0x8
movs r0, 0x8
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0x14
movs r3, 0xA
bl FillBgTilemapBufferRect_Palette0
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
add sp, 0x8
pop {r0}
bx r0
thumb_func_end TeachyTvClearBg1EndGraphicalText
thumb_func_start TeachyTvBackToOptionList
TeachyTvBackToOptionList: @ 815B92C
push {r4-r7,lr}
+29 -1
View File
@@ -53,6 +53,7 @@ extern u8 gUnknown_8E86F98; // pal
extern struct ListMenuTemplate gUnknown_8479368;
extern struct ListMenuItem gUnknown_8479340;
extern struct WindowTemplate gUnknown_84792F0;
extern u8 gUnknown_8479590;
void C2TeachyTv();
void C2TeachyTvMainCallback();
@@ -74,6 +75,7 @@ void TeachyTvOptionListController(u8);
void TeachyTvAudioByInput(s32, bool8, struct ListMenu *);
void TeachyTvQuitFadeControlAndTaskDel(u8 taskId);
void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId);
void TeachyTvClearBg1EndGraphicalText();
extern void VblankHblankHandlerSetZero();
extern void sub_812B1E0(u16);
@@ -83,7 +85,6 @@ extern void sub_8055DC4();
extern void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode);
extern bool16 sub_80BF518(u8 textPrinterId);
extern void _call_via_r1(s32 arg, void *func);
extern void TeachyTvClearBg1EndGraphicalText();
extern void TeachyTvBackToOptionList(u8 taskId);
void C2TeachyTv()
@@ -778,4 +779,31 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId)
++(u16)data[3];
else
--v2->pos2.x;
}
void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId)
{
s16 *data;
int temp;
data = gTasks[taskId].data;
if ( !data[2] )
{
CopyToBgTilemapBufferRect_ChangePalette(1u, &gUnknown_8479590, 0x14u, 0xAu, 8u, 2u, 0x11u);
schedule_bg_copy_tilemap_to_vram(1u);
}
temp = (u16)data[2] + 1;
data[2] = temp;
if ( (s16)temp > 126 )
{
TeachyTvClearBg1EndGraphicalText();
(u16)data[2] = 0;
++(u16)data[3];
}
}
void TeachyTvClearBg1EndGraphicalText()
{
FillBgTilemapBufferRect_Palette0(1u, 0, 0x14u, 0xAu, 8u, 2u);
schedule_bg_copy_tilemap_to_vram(1u);
}