sub_815B908
This commit is contained in:
@@ -5,78 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.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
|
thumb_func_start TeachyTvBackToOptionList
|
||||||
TeachyTvBackToOptionList: @ 815B92C
|
TeachyTvBackToOptionList: @ 815B92C
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|||||||
+29
-1
@@ -53,6 +53,7 @@ extern u8 gUnknown_8E86F98; // pal
|
|||||||
extern struct ListMenuTemplate gUnknown_8479368;
|
extern struct ListMenuTemplate gUnknown_8479368;
|
||||||
extern struct ListMenuItem gUnknown_8479340;
|
extern struct ListMenuItem gUnknown_8479340;
|
||||||
extern struct WindowTemplate gUnknown_84792F0;
|
extern struct WindowTemplate gUnknown_84792F0;
|
||||||
|
extern u8 gUnknown_8479590;
|
||||||
|
|
||||||
void C2TeachyTv();
|
void C2TeachyTv();
|
||||||
void C2TeachyTvMainCallback();
|
void C2TeachyTvMainCallback();
|
||||||
@@ -74,6 +75,7 @@ void TeachyTvOptionListController(u8);
|
|||||||
void TeachyTvAudioByInput(s32, bool8, struct ListMenu *);
|
void TeachyTvAudioByInput(s32, bool8, struct ListMenu *);
|
||||||
void TeachyTvQuitFadeControlAndTaskDel(u8 taskId);
|
void TeachyTvQuitFadeControlAndTaskDel(u8 taskId);
|
||||||
void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId);
|
void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId);
|
||||||
|
void TeachyTvClearBg1EndGraphicalText();
|
||||||
|
|
||||||
extern void VblankHblankHandlerSetZero();
|
extern void VblankHblankHandlerSetZero();
|
||||||
extern void sub_812B1E0(u16);
|
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 void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 mode);
|
||||||
extern bool16 sub_80BF518(u8 textPrinterId);
|
extern bool16 sub_80BF518(u8 textPrinterId);
|
||||||
extern void _call_via_r1(s32 arg, void *func);
|
extern void _call_via_r1(s32 arg, void *func);
|
||||||
extern void TeachyTvClearBg1EndGraphicalText();
|
|
||||||
extern void TeachyTvBackToOptionList(u8 taskId);
|
extern void TeachyTvBackToOptionList(u8 taskId);
|
||||||
|
|
||||||
void C2TeachyTv()
|
void C2TeachyTv()
|
||||||
@@ -779,3 +780,30 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId)
|
|||||||
else
|
else
|
||||||
--v2->pos2.x;
|
--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);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user