more fix
This commit is contained in:
+4
-4
@@ -6342,11 +6342,11 @@ sub_810B108: @ 810B108
|
||||
beq _0810B160
|
||||
cmp r4, 0x8
|
||||
beq _0810B16C
|
||||
ldr r2, _0810B15C @ =sub_815ABFC
|
||||
ldr r2, _0810B15C @ =CB2_ReturnToTeachyTV
|
||||
adds r0, r4, 0
|
||||
b _0810B170
|
||||
.align 2, 0
|
||||
_0810B15C: .4byte sub_815ABFC
|
||||
_0810B15C: .4byte CB2_ReturnToTeachyTV
|
||||
_0810B160:
|
||||
ldr r2, _0810B168 @ =sub_8030AEC
|
||||
movs r0, 0x7
|
||||
@@ -6386,7 +6386,7 @@ _0810B19C:
|
||||
bl sub_815AC20
|
||||
ldr r0, _0810B1C4 @ =gUnknown_203AD10
|
||||
ldr r1, [r0]
|
||||
ldr r0, _0810B1C8 @ =sub_815ABFC
|
||||
ldr r0, _0810B1C8 @ =CB2_ReturnToTeachyTV
|
||||
str r0, [r1]
|
||||
ldr r1, _0810B1CC @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
@@ -6402,7 +6402,7 @@ _0810B1BC:
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0810B1C4: .4byte gUnknown_203AD10
|
||||
_0810B1C8: .4byte sub_815ABFC
|
||||
_0810B1C8: .4byte CB2_ReturnToTeachyTV
|
||||
_0810B1CC: .4byte gTasks
|
||||
_0810B1D0: .4byte sub_810B070
|
||||
thumb_func_end sub_810B180
|
||||
|
||||
+2
-2
@@ -4879,12 +4879,12 @@ sub_8120FB0: @ 8120FB0
|
||||
bl FreeRestoreBattleData
|
||||
bl LoadPlayerParty
|
||||
bl sub_815AC20
|
||||
ldr r0, _08120FC8 @ =sub_815ABFC
|
||||
ldr r0, _08120FC8 @ =CB2_ReturnToTeachyTV
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08120FC8: .4byte sub_815ABFC
|
||||
_08120FC8: .4byte CB2_ReturnToTeachyTV
|
||||
thumb_func_end sub_8120FB0
|
||||
|
||||
thumb_func_start sub_8120FCC
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
#define GUARD_TEACHY_TV_H
|
||||
|
||||
void sub_815ABC4(u8 mode, void (*cb)());
|
||||
void sub_815ABFC(void);
|
||||
void CB2_ReturnToTeachyTV(void);
|
||||
void sub_815AC20(void);
|
||||
|
||||
#endif //GUARD_TEACHY_TV_H
|
||||
|
||||
+30
-55
@@ -53,15 +53,15 @@ struct TeachyTvBuf
|
||||
u8 var_4007;
|
||||
};
|
||||
|
||||
extern struct TeachyTvCtrlBlk gTeachyTV_StaticResources;
|
||||
EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0};
|
||||
extern struct TeachyTvBuf * gUnknown_203F450;
|
||||
extern const struct ScrollIndicatorArrowPairTemplate gUnknown_8479380;
|
||||
extern const char gUnknown_841B83D;
|
||||
extern const u8 gUnknown_841B83D;
|
||||
extern const struct BgTemplate gUnknown_84792E0;
|
||||
extern const struct SpritePalette gUnknown_83A5348;
|
||||
extern void (**gUnknown_8479548)(u8);
|
||||
extern const char * const gUnknown_8479560;
|
||||
extern const char * const gUnknown_8479578;
|
||||
extern const u8 * const gUnknown_8479560;
|
||||
extern const u8 * const gUnknown_8479578;
|
||||
extern const u8 gUnknown_8E86240;
|
||||
extern const u8 gUnknown_8E86BE8;
|
||||
extern const u8 gUnknown_8E86D6C;
|
||||
@@ -76,12 +76,9 @@ extern const struct SpriteTemplate * const gUnknown_83A0010;
|
||||
extern const u8 gUnknown_84795C8;
|
||||
extern const struct MapData Route1_Layout;
|
||||
|
||||
extern void VblankHblankHandlerSetZero(void);
|
||||
extern void sub_812B1E0(u16);
|
||||
extern u8 ListMenuInitInternal(struct ListMenuTemplate *, u16 scrollOffset, u16 selectedRow);
|
||||
extern void sub_8055DC4(void);
|
||||
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);
|
||||
|
||||
@@ -152,7 +149,7 @@ void sub_815ABC4(u8 mode, void (*cb)())
|
||||
SetMainCallback2(TeachyTvMainCallback);
|
||||
}
|
||||
|
||||
void sub_815ABFC(void)
|
||||
void CB2_ReturnToTeachyTV(void)
|
||||
{
|
||||
if (gTeachyTV_StaticResources.mode == 1)
|
||||
sub_815ABC4(1, gTeachyTV_StaticResources.callback);
|
||||
@@ -353,26 +350,16 @@ void TeachyTvClearWindowRegs(void)
|
||||
|
||||
void TeachyTvBg2AnimController(void)
|
||||
{
|
||||
u16 *tilemapBuffer;
|
||||
u8 i, offset2;
|
||||
u32 j, offset;
|
||||
|
||||
tilemapBuffer = GetBgTilemapBuffer(2);
|
||||
i = 1;
|
||||
do
|
||||
u16 * tilemapBuffer = GetBgTilemapBuffer(2);
|
||||
u8 i;
|
||||
u8 j;
|
||||
for (i = 1; i < 13; i++)
|
||||
{
|
||||
offset2 = 2;
|
||||
offset = 0x20 * i;
|
||||
j = i + 1;
|
||||
do
|
||||
for (j = 2; j < 28; j++)
|
||||
{
|
||||
tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F;
|
||||
offset2 = (offset2 + 1);
|
||||
tilemapBuffer[32 * i + j] = ((Random() & 3) << 10) + 0x301F;
|
||||
}
|
||||
while ( offset2 <= 0x1B );
|
||||
i = j;
|
||||
}
|
||||
while ( (u8)j <= 0xC );
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
}
|
||||
|
||||
@@ -546,7 +533,7 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId)
|
||||
{
|
||||
s16 *data;
|
||||
data = gTasks[taskId].data;
|
||||
if ( gMain.newKeys & 2 )
|
||||
if (JOY_NEW(B_BUTTON))
|
||||
{
|
||||
u8 *offset = &(gUnknown_203F450->var_4006);
|
||||
u32 zero = 0;
|
||||
@@ -570,15 +557,15 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId)
|
||||
void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId)
|
||||
{
|
||||
s16 *data = (u16 *)gTasks[taskId].data;
|
||||
const char * const* texts = &gUnknown_8479560;
|
||||
const u8 * const* texts = &gUnknown_8479560;
|
||||
TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]);
|
||||
++data[3];
|
||||
}
|
||||
|
||||
void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId)
|
||||
{
|
||||
s16 *data = (u16 *)gTasks[taskId].data;
|
||||
const char * const* texts = &gUnknown_8479578;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
const u8 * const* texts = &gUnknown_8479578;
|
||||
TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]);
|
||||
++data[3];
|
||||
}
|
||||
@@ -604,8 +591,7 @@ void TeachyTvClusFuncEraseTextWindowIfKeyPressed(u8 taskId)
|
||||
|
||||
void TeachyTvClusFuncStartAnimNpcWalkIntoGrass(u8 taskId)
|
||||
{
|
||||
s16 *data;
|
||||
data = (u16 *)gTasks[taskId].data;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
StartSpriteAnim(&gSprites[(s16)data[1]], 5);
|
||||
data[2] = 0;
|
||||
data[4] = 0;
|
||||
@@ -641,8 +627,8 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId)
|
||||
s16 *data;
|
||||
struct Sprite *obj;
|
||||
|
||||
data = (u16 *)gTasks[taskId].data;
|
||||
obj = &gSprites[(s16)data[1]];
|
||||
data = gTasks[taskId].data;
|
||||
obj = &gSprites[data[1]];
|
||||
ChangeBgX(3, 0x100, 1);
|
||||
if (!(++data[2] & 0xF))
|
||||
++gUnknown_203F450->var_4004;
|
||||
@@ -660,10 +646,8 @@ void TeachyTvClusFuncDudeMoveRight(u8 taskId)
|
||||
|
||||
void TeachyTvClusFuncDudeTurnLeft(u8 taskId)
|
||||
{
|
||||
s16 *data;
|
||||
struct Sprite *v3;
|
||||
|
||||
data = gTasks[taskId].data;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
v3 = &gSprites[data[1]];
|
||||
StartSpriteAnim(v3, 6);
|
||||
++data[3];
|
||||
@@ -717,14 +701,14 @@ void TeachyTvBackToOptionList(u8 taskId)
|
||||
s16 *data;
|
||||
|
||||
data = gTasks[taskId].data;
|
||||
if ( !data[2] )
|
||||
if (data[2] == 0)
|
||||
PlayNewMapMusic(BGM_FRLG_TEACHY_TV);
|
||||
TeachyTvBg2AnimController();
|
||||
if (++data[2] > 63)
|
||||
{
|
||||
data[2] = 0;
|
||||
data[3] = 0;
|
||||
*data = TeachyTvSetupWindow();
|
||||
data[0] = TeachyTvSetupWindow();
|
||||
gTasks[taskId].func = TeachyTvOptionListController;
|
||||
PutWindowTilemap(0);
|
||||
TeachyTvSetupScrollIndicatorArrowPair();
|
||||
@@ -856,9 +840,8 @@ u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y)
|
||||
if ((x < 0) || (y < 0))
|
||||
return 0;
|
||||
arr = &gUnknown_84795C8;
|
||||
ptr = gUnknown_203F450;
|
||||
high = ((y >> 4) + ptr->var_4005) << 4;
|
||||
low = ((x >> 4) + ptr->var_4004);
|
||||
high = ((y >> 4) + gUnknown_203F450->var_4005) << 4;
|
||||
low = ((x >> 4) + gUnknown_203F450->var_4004);
|
||||
return arr[high+low];
|
||||
}
|
||||
|
||||
@@ -884,19 +867,15 @@ void TeachyTvPrepBattle(u8 taskId)
|
||||
|
||||
void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId)
|
||||
{
|
||||
s16 *data;
|
||||
int temp;
|
||||
|
||||
data = gTasks[taskId].data;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
switch (data[7])
|
||||
{
|
||||
case 0:
|
||||
sub_80D08B8(*((u8*)data + 12));
|
||||
sub_80D08B8(data[6]);
|
||||
++data[7];
|
||||
break;
|
||||
case 1:
|
||||
temp = sub_80D08F8();
|
||||
if ( temp << 24 )
|
||||
if (sub_80D08F8() << 24)
|
||||
{
|
||||
SetMainCallback2(sub_800FD9C);
|
||||
DestroyTask(taskId);
|
||||
@@ -912,7 +891,7 @@ void TeachyTvRestorePlayerPartyCallback(void)
|
||||
sub_815AC20();
|
||||
else
|
||||
PlayNewMapMusic(BGM_FRLG_FOLLOW_ME);
|
||||
sub_815ABFC();
|
||||
CB2_ReturnToTeachyTV();
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
@@ -1376,11 +1355,9 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *
|
||||
CpuFastSet(tileset, buffer, 8);
|
||||
if (metaTile & 1)
|
||||
{
|
||||
i = 0;
|
||||
do
|
||||
for (i=0; i<8; ++i)
|
||||
{
|
||||
j = 0;
|
||||
do
|
||||
for (j=0; j<4; ++j)
|
||||
{
|
||||
u32 offset1 = i << 2;
|
||||
u32 offset2 = j - 3;
|
||||
@@ -1389,9 +1366,7 @@ void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *
|
||||
u32 dstOffset = offset1 + j;
|
||||
*(u8*)(src + dstOffset) = ((value & 0xF) << 4) + ((value & 0xF0) >> 4);
|
||||
}
|
||||
while ( ++(u8)j <= 3 );
|
||||
}
|
||||
while ( ++(u8)i <= 7 );
|
||||
CpuFastSet((u8*)src, buffer, 8);
|
||||
}
|
||||
if (metaTile & 2)
|
||||
@@ -1576,7 +1551,7 @@ u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTi
|
||||
int firstEntry;
|
||||
int temp;
|
||||
|
||||
pal = (u32)(metaTile << 16) >> 28;
|
||||
pal = metaTile >> 12;
|
||||
i = 0;
|
||||
firstEntry = *palIndexArrayBuf;
|
||||
if (firstEntry != pal)
|
||||
|
||||
+1
-1
@@ -1147,7 +1147,7 @@ void PokeDude_InitTMCase(void)
|
||||
AddBagItem(ITEM_TM03, 1);
|
||||
AddBagItem(ITEM_TM09, 1);
|
||||
AddBagItem(ITEM_TM35, 1);
|
||||
InitTMCase(4, sub_815ABFC, 0);
|
||||
InitTMCase(4, CB2_ReturnToTeachyTV, 0);
|
||||
}
|
||||
|
||||
static void Task_TMCaseDude1(u8 taskId)
|
||||
|
||||
Reference in New Issue
Block a user