goobye, goto!

This commit is contained in:
jiangzhengwenjz
2019-06-09 04:37:34 +08:00
parent 5110cafe24
commit ec5dd73767
+16 -18
View File
@@ -63,6 +63,15 @@ extern struct SpriteTemplate *gUnknown_83A0010;
extern u8 gUnknown_84795C8; extern u8 gUnknown_84795C8;
extern struct MapData Route1_Layout; extern struct MapData Route1_Layout;
extern void VblankHblankHandlerSetZero();
extern void sub_812B1E0(u16);
extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow);
extern void sub_8055DC4();
extern bool16 sub_80BF518(u8 textPrinterId);
extern void _call_via_r1(s32 arg, void *func);
extern void sub_810B108(u8);
extern void sub_8159F40();
void TeachyTvCallback(); void TeachyTvCallback();
void TeachyTvMainCallback(); void TeachyTvMainCallback();
void TeachyTvVblankHandler(); void TeachyTvVblankHandler();
@@ -97,15 +106,6 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *
u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile);
void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray); void TeachyTvLoadMapPalette(struct MapData *mStruct, u8 *palIndexArray);
extern void VblankHblankHandlerSetZero();
extern void sub_812B1E0(u16);
extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow);
extern void sub_8055DC4();
extern bool16 sub_80BF518(u8 textPrinterId);
extern void _call_via_r1(s32 arg, void *func);
extern void sub_810B108(u8);
extern void sub_8159F40();
void TeachyTvCallback() void TeachyTvCallback()
{ {
RunTasks(); RunTasks();
@@ -161,13 +161,9 @@ void TeachyTvMainCallback()
u32 x; u32 x;
state = gMain.state; state = gMain.state;
if ( !state ) switch(state)
goto RESETANDLOAD; {
else if ( state == 1 ) case 0:
goto SETDMATOVRAM;
else
return;
RESETANDLOAD:
memBuf = (u8 **)&gUnknown_203F450; memBuf = (u8 **)&gUnknown_203F450;
(*memBuf) = (u8*)AllocZeroed(0x4008u); (*memBuf) = (u8*)AllocZeroed(0x4008u);
*(u32*)gUnknown_203F450 = (u32)state; *(u32*)gUnknown_203F450 = (u32)state;
@@ -183,8 +179,8 @@ RESETANDLOAD:
TeachyTvSetupBg(); TeachyTvSetupBg();
TeachyTvLoadGraphic(); TeachyTvLoadGraphic();
++gMain.state; ++gMain.state;
return; break;
SETDMATOVRAM: case 1:
if( free_temp_tile_data_buffers_if_possible() == 1 ) if( free_temp_tile_data_buffers_if_possible() == 1 )
return; return;
TeachyTvCreateAndRenderRbox(); TeachyTvCreateAndRenderRbox();
@@ -214,6 +210,8 @@ SETDMATOVRAM:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0);
SetVBlankCallback(TeachyTvVblankHandler); SetVBlankCallback(TeachyTvVblankHandler);
SetMainCallback2(TeachyTvCallback); SetMainCallback2(TeachyTvCallback);
break;
}
} }
void TeachyTvSetupBg() void TeachyTvSetupBg()