summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/teachy_tv.c124
1 files changed, 56 insertions, 68 deletions
diff --git a/src/teachy_tv.c b/src/teachy_tv.c
index 4e6787755..a7d5b7da0 100644
--- a/src/teachy_tv.c
+++ b/src/teachy_tv.c
@@ -171,7 +171,6 @@ void TeachyTvMainCallback()
int taskId;
struct Task *taskAddr;
struct TeachyTvBuf **memBuf;
- u32 x;
state = gMain.state;
switch (state)
@@ -207,8 +206,7 @@ void TeachyTvMainCallback()
else
{
taskId = CreateTask(TeachyTvOptionListController, 0);
- x = (u32)TeachyTvSetupWindow();
- gTasks[taskId].data[0] = (x << 24) >> 24;
+ gTasks[taskId].data[0] = TeachyTvSetupWindow();
gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam();
TeachyTvSetupScrollIndicatorArrowPair();
PlayNewMapMusic(BGM_FRLG_TEACHY_TV);
@@ -277,8 +275,7 @@ u8 TeachyTvSetupWindow()
gMultiuseListMenuTemplate = gUnknown_8479368;
gMultiuseListMenuTemplate.windowId = 1;
gMultiuseListMenuTemplate.moveCursorFunc = TeachyTvAudioByInput;
- hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1);
- if ( !(hasItem << 24) )
+ if (!CheckBagHasItem(ITEM_TM_CASE, 1))
{
gMultiuseListMenuTemplate.items = &gUnknown_8479340;
gMultiuseListMenuTemplate.totalItems = 5;
@@ -294,8 +291,7 @@ u8 TeachyTvSetupWindow()
void TeachyTvSetupScrollIndicatorArrowPair()
{
int hasItem;
- hasItem = (u8)CheckBagHasItem(ITEM_TM_CASE, 1);
- if ( ! hasItem << 24 )
+ if (!CheckBagHasItem(ITEM_TM_CASE, 1))
{
struct TeachyTvBuf * temp = gUnknown_203F450;
temp->var_4007 = 0xFF;
@@ -312,17 +308,16 @@ void TeachyTvSetupScrollIndicatorArrowPair()
void TeachyTvRemoveScrollIndicatorArrowPair()
{
- u8 *temp = &(gUnknown_203F450->var_4007);
- if ( *temp != 0xFF )
+ if ( gUnknown_203F450->var_4007 != 0xFF )
{
- RemoveScrollIndicatorArrowPair(*temp);
+ RemoveScrollIndicatorArrowPair(gUnknown_203F450->var_4007);
gUnknown_203F450->var_4007 = 0xFF;
}
}
void TeachyTvAudioByInput(s32 notUsed, bool8 play, struct ListMenu *notUsedAlt)
{
- if ( play != 1 )
+ if ( play != TRUE )
PlaySE(SE_SELECT);
}
@@ -365,8 +360,8 @@ void TeachyTvClearWindowRegs()
void TeachyTvBg2AnimController()
{
u16 *tilemapBuffer;
- u8 i;
- u32 offset, offset2, j;
+ u8 i, offset2;
+ u32 j, offset;
tilemapBuffer = (u16 *)GetBgTilemapBuffer(2);
i = 1;
@@ -378,19 +373,19 @@ void TeachyTvBg2AnimController()
do
{
tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F;
- offset2 = (offset2 + 1) << 0x18 >> 0x18;
+ offset2 = (offset2 + 1);
}
while ( offset2 <= 0x1B );
i = j;
}
- while ( j << 0x18 >> 0x18 <= 0xC );
+ while ( (u8)j <= 0xC );
schedule_bg_copy_tilemap_to_vram(2);
}
void TeachyTvSetupPostBattleWindowAndObj(u8 taskId)
{
- u16 *v2 = gTasks[taskId].data;
- int v1 = ((s16 *)v2)[1];
+ s16 *data = gTasks[taskId].data;
+ int v1 = (data)[1];
struct Sprite *v3 = &gSprites[v1];
int op;
@@ -401,18 +396,18 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId)
{
if ( op <= 3 )
{
- TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0);
+ TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)data)[2], 0x78, 0x38, 0);
ChangeBgX(3, 0x3000, 1);
ChangeBgY(3, 0x3000, 2);
gUnknown_203F450->var_4004 += 3;
gUnknown_203F450->var_4005 -= 3;
}
else if ( op <= 5 )
- TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)v2)[2], 0x78, 0x38, 0);
+ TeachyTvSetSpriteCoordsAndSwitchFrame(((char*)data)[2], 0x78, 0x38, 0);
}
- v2[4] = 0;
- v2[5] = 0;
+ data[4] = 0;
+ data[5] = 0;
TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 1);
}
@@ -458,32 +453,32 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId)
#ifdef NONMATCHING
void TeachyTvOptionListController(u8 taskId)
{
- char *v2;
- s32 v3;
+ s16 *data;
+ s32 res;
- v2 = (char *)gTasks[taskId].data;
+ data = gTasks[taskId].data;
TeachyTvBg2AnimController();
if ( !(gPaletteFade.active) )
{
- v3 = ListMenuHandleInput(*v2);
- ListMenuGetScrollAndRow(*v2, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow);
+ res = ListMenuHandleInput(*data);
+ ListMenuGetScrollAndRow(*data, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow);
if ( ((gMain.newKeys) & 4 && (gTeachyTV_StaticResources.callback != UseFameCheckerFromMenu))
- || (v3 == -2) )
+ || (res == -2) )
{
PlaySE(SE_SELECT);
TeachyTvQuitBeginFade(taskId);
}
- else if ( v3 != -1 )
+ else if ( res != -1 )
{
PlaySE(SE_SELECT);
- gTeachyTV_StaticResources.optionChosen = v3;
- DestroyListMenu(*v2, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow);
+ gTeachyTV_StaticResources.optionChosen = res;
+ DestroyListMenu(*data, &gTeachyTV_StaticResources.scrollOffset, &gTeachyTV_StaticResources.selectedRow);
TeachyTvClearWindowRegs();
ClearWindowTilemap(1);
schedule_bg_copy_tilemap_to_vram(0);
TeachyTvRemoveScrollIndicatorArrowPair();
- *((u16 *)v2 + 3) = 0;
- *((u16 *)v2 + 2) = 0;
+ data[3] = 0;
+ data[2] = 0;
gTasks[taskId].func = TeachyTvRenderMsgAndSwitchClusterFuncs;
}
}
@@ -637,14 +632,14 @@ void TeachyTvClusFuncNpcMoveAndSetupTextPrinter(u8 taskId)
void TeachyTvClusFuncIdleIfTextPrinterIsActive(u8 taskId)
{
- u16* data = (u16 *)gTasks[taskId].data;
- if ( !(sub_80BF518(0) << 16) )
+ s16* data = (u16 *)gTasks[taskId].data;
+ if ( !sub_80BF518(0) )
++data[3];
}
void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId)
{
- u16 *data;
+ s16 *data;
data = gTasks[taskId].data;
if ( gMain.newKeys & 2 )
{
@@ -663,15 +658,13 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId)
{
void (***array)(u8) = &gUnknown_8479548;
void (**cluster)(u8) = array[(u8)gTeachyTV_StaticResources.optionChosen];
- _call_via_r1(
- taskId,
- cluster[(s16)data[3]]);
+ cluster[data[3]](taskId);
}
}
void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId)
{
- u16 *data = (u16 *)gTasks[taskId].data;
+ s16 *data = (u16 *)gTasks[taskId].data;
const char * const* texts = &gUnknown_8479560;
TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]);
++data[3];
@@ -679,7 +672,7 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId)
void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId)
{
- u16 *data = (u16 *)gTasks[taskId].data;
+ s16 *data = (u16 *)gTasks[taskId].data;
const char * const* texts = &gUnknown_8479578;
TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]);
++data[3];
@@ -687,16 +680,16 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId)
void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId)
{
- u16* data = (u16 *)gTasks[taskId].data;
- if ( !(sub_80BF518(0) << 16) )
+ s16* data = (u16 *)gTasks[taskId].data;
+ if ( !sub_80BF518(0) )
++data[3];
}
void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId)
{
- u16 *data;
+ s16 *data;
data = (u16 *)gTasks[taskId].data;
- if ( gMain.newKeys & 3 )
+ if (JOY_NEW(A_BUTTON | B_BUTTON))
{
FillWindowPixelBuffer(0, 0xCC);
CopyWindowToVram(0, 2);
@@ -706,7 +699,7 @@ void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId)
void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId)
{
- u16 *data;
+ s16 *data;
data = (u16 *)gTasks[taskId].data;
StartSpriteAnim(&gSprites[(s16)data[1]], 5);
data[2] = 0;
@@ -748,7 +741,7 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId)
ChangeBgX(3, 0x100, 1);
if ( !(++data[2] & 0xF) )
++gUnknown_203F450->var_4004;
- if ( !((((s16*)data)[2] + 8) & 0xF) )
+ if ( !((data[2] + 8) & 0xF) )
TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0);
if ( data[2] == 0x30 )
{
@@ -768,7 +761,7 @@ void TeachyTvClusFuncDudeTurnLeft(u8 taskId)
data = gTasks[taskId].data;
v3 = &gSprites[data[1]];
StartSpriteAnim(v3, 6);
- ++(u16)data[3];
+ ++data[3];
data[4] = 0;
data[5] = 0;
TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 0);
@@ -785,7 +778,7 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId)
if ( !(v2->pos2.x & 0xF) )
TeachyTvGrassAnimationMain(taskId, v2->pos2.x - 8, v2->pos2.y, 0, 0);
if ( v2->pos2.x == 8 )
- ++(u16)data[3];
+ ++data[3];
else
--v2->pos2.x;
}
@@ -793,7 +786,6 @@ void TeachyTvClusFuncDudeMoveLeft(u8 taskId)
void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId)
{
s16 *data;
- int temp;
data = gTasks[taskId].data;
if ( !data[2] )
@@ -801,13 +793,11 @@ void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId)
CopyToBgTilemapBufferRect_ChangePalette(1, &gUnknown_8479590, 0x14, 0xA, 8, 2, 0x11);
schedule_bg_copy_tilemap_to_vram(1);
}
- temp = (u16)data[2] + 1;
- data[2] = temp;
- if ( (s16)temp > 126 )
+ if ( ++data[2] > 126 )
{
TeachyTvClearBg1EndGraphicText();
- (u16)data[2] = 0;
- ++(u16)data[3];
+ data[2] = 0;
+ ++data[3];
}
}
@@ -820,15 +810,12 @@ void TeachyTvClearBg1EndGraphicText()
void TeachyTvBackToOptionList(u8 taskId)
{
s16 *data;
- s32 temp;
data = gTasks[taskId].data;
if ( !data[2] )
PlayNewMapMusic(BGM_FRLG_TEACHY_TV);
TeachyTvBg2AnimController();
- temp = (u16)data[2] + 1;
- data[2] = temp;
- if ( (s16)temp > 0x3F )
+ if ( ++data[2] > 63 )
{
data[2] = 0;
data[3] = 0;
@@ -851,17 +838,18 @@ void TeachyTvBackToOptionList(u8 taskId)
void TeachyTvChainTaskBattleOrFadeByOptionChosen(u8 taskId)
{
int op = gTeachyTV_StaticResources.optionChosen;
- if ( op < 0 )
- return;
- if ( op <= 3 )
+ if ( op >= 0 )
{
- TeachyTvPrepBattle(taskId);
+ if ( op <= 3 )
+ {
+ TeachyTvPrepBattle(taskId);
- }
- else if ( op <= 5 )
- {
- *((void(**)())gUnknown_203F450) = TeachyTvSetupBagItemsByOptionChosen;
- TeachyTvQuitBeginFade(taskId);
+ }
+ else if ( op <= 5 )
+ {
+ *((void(**)())gUnknown_203F450) = TeachyTvSetupBagItemsByOptionChosen;
+ TeachyTvQuitBeginFade(taskId);
+ }
}
}
@@ -897,7 +885,7 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m
if ( gUnknown_203F450->var_4006 != 1 )
{
res = TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(
- (u32)((x << 16) - 0x100000) >> 16,
+ x - 0x10,
y);
if ( res << 24 )
{