sub_815B0CC and rollback of failed attempt to make it compilable
This commit is contained in:
+4
-4
@@ -6342,11 +6342,11 @@ sub_810B108: @ 810B108
|
|||||||
beq _0810B160
|
beq _0810B160
|
||||||
cmp r4, 0x8
|
cmp r4, 0x8
|
||||||
beq _0810B16C
|
beq _0810B16C
|
||||||
ldr r2, _0810B15C @ =CB2_ReturnToTeachyTV
|
ldr r2, _0810B15C @ =sub_815ABFC
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
b _0810B170
|
b _0810B170
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0810B15C: .4byte CB2_ReturnToTeachyTV
|
_0810B15C: .4byte sub_815ABFC
|
||||||
_0810B160:
|
_0810B160:
|
||||||
ldr r2, _0810B168 @ =sub_8030AEC
|
ldr r2, _0810B168 @ =sub_8030AEC
|
||||||
movs r0, 0x7
|
movs r0, 0x7
|
||||||
@@ -6386,7 +6386,7 @@ _0810B19C:
|
|||||||
bl sub_815AC20
|
bl sub_815AC20
|
||||||
ldr r0, _0810B1C4 @ =gUnknown_203AD10
|
ldr r0, _0810B1C4 @ =gUnknown_203AD10
|
||||||
ldr r1, [r0]
|
ldr r1, [r0]
|
||||||
ldr r0, _0810B1C8 @ =CB2_ReturnToTeachyTV
|
ldr r0, _0810B1C8 @ =sub_815ABFC
|
||||||
str r0, [r1]
|
str r0, [r1]
|
||||||
ldr r1, _0810B1CC @ =gTasks
|
ldr r1, _0810B1CC @ =gTasks
|
||||||
lsls r0, r4, 2
|
lsls r0, r4, 2
|
||||||
@@ -6402,7 +6402,7 @@ _0810B1BC:
|
|||||||
bx r1
|
bx r1
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0810B1C4: .4byte gUnknown_203AD10
|
_0810B1C4: .4byte gUnknown_203AD10
|
||||||
_0810B1C8: .4byte CB2_ReturnToTeachyTV
|
_0810B1C8: .4byte sub_815ABFC
|
||||||
_0810B1CC: .4byte gTasks
|
_0810B1CC: .4byte gTasks
|
||||||
_0810B1D0: .4byte sub_810B070
|
_0810B1D0: .4byte sub_810B070
|
||||||
thumb_func_end sub_810B180
|
thumb_func_end sub_810B180
|
||||||
|
|||||||
+2
-2
@@ -4879,12 +4879,12 @@ sub_8120FB0: @ 8120FB0
|
|||||||
bl FreeRestoreBattleData
|
bl FreeRestoreBattleData
|
||||||
bl LoadPlayerParty
|
bl LoadPlayerParty
|
||||||
bl sub_815AC20
|
bl sub_815AC20
|
||||||
ldr r0, _08120FC8 @ =CB2_ReturnToTeachyTV
|
ldr r0, _08120FC8 @ =sub_815ABFC
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08120FC8: .4byte CB2_ReturnToTeachyTV
|
_08120FC8: .4byte sub_815ABFC
|
||||||
thumb_func_end sub_8120FB0
|
thumb_func_end sub_8120FB0
|
||||||
|
|
||||||
thumb_func_start sub_8120FCC
|
thumb_func_start sub_8120FCC
|
||||||
|
|||||||
+7
-48
@@ -5,49 +5,8 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_815B0CC
|
thumb_func_start TeachyTvSetupPostBattleWindowAndObj
|
||||||
sub_815B0CC: @ 815B0CC
|
TeachyTvSetupPostBattleWindowAndObj: @ 815B118
|
||||||
push {r4-r7,lr}
|
|
||||||
movs r0, 0x2
|
|
||||||
bl GetBgTilemapBuffer
|
|
||||||
adds r7, r0, 0
|
|
||||||
movs r0, 0x1
|
|
||||||
_0815B0D8:
|
|
||||||
movs r4, 0x2
|
|
||||||
lsls r5, r0, 5
|
|
||||||
adds r6, r0, 0x1
|
|
||||||
_0815B0DE:
|
|
||||||
bl Random
|
|
||||||
adds r2, r5, r4
|
|
||||||
lsls r2, 1
|
|
||||||
adds r2, r7
|
|
||||||
movs r1, 0x3
|
|
||||||
ands r1, r0
|
|
||||||
lsls r1, 10
|
|
||||||
ldr r3, _0815B114 @ =0x0000301f
|
|
||||||
adds r0, r3, 0
|
|
||||||
adds r1, r0
|
|
||||||
strh r1, [r2]
|
|
||||||
adds r0, r4, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
cmp r4, 0x1B
|
|
||||||
bls _0815B0DE
|
|
||||||
lsls r0, r6, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0xC
|
|
||||||
bls _0815B0D8
|
|
||||||
movs r0, 0x2
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0815B114: .4byte 0x0000301f
|
|
||||||
thumb_func_end sub_815B0CC
|
|
||||||
|
|
||||||
thumb_func_start TeachyTvConfigRboxAndObj
|
|
||||||
TeachyTvConfigRboxAndObj: @ 815B118
|
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
sub sp, 0x4
|
sub sp, 0x4
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
@@ -134,7 +93,7 @@ _0815B1B8:
|
|||||||
pop {r4-r7}
|
pop {r4-r7}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
thumb_func_end TeachyTvConfigRboxAndObj
|
thumb_func_end TeachyTvSetupPostBattleWindowAndObj
|
||||||
|
|
||||||
thumb_func_start sub_815B1DC
|
thumb_func_start sub_815B1DC
|
||||||
sub_815B1DC: @ 815B1DC
|
sub_815B1DC: @ 815B1DC
|
||||||
@@ -265,7 +224,7 @@ sub_815B2C0: @ 815B2C0
|
|||||||
lsls r0, 3
|
lsls r0, 3
|
||||||
ldr r1, _0815B31C @ =gTasks+0x8
|
ldr r1, _0815B31C @ =gTasks+0x8
|
||||||
adds r6, r0, r1
|
adds r6, r0, r1
|
||||||
bl sub_815B0CC
|
bl TeachyTvBg2AnimController
|
||||||
ldr r0, _0815B320 @ =gPaletteFade
|
ldr r0, _0815B320 @ =gPaletteFade
|
||||||
ldrb r1, [r0, 0x7]
|
ldrb r1, [r0, 0x7]
|
||||||
movs r0, 0x80
|
movs r0, 0x80
|
||||||
@@ -358,7 +317,7 @@ sub_815B38C: @ 815B38C
|
|||||||
lsls r1, 3
|
lsls r1, 3
|
||||||
ldr r0, _0815B3F8 @ =gTasks+0x8
|
ldr r0, _0815B3F8 @ =gTasks+0x8
|
||||||
adds r4, r1, r0
|
adds r4, r1, r0
|
||||||
bl sub_815B0CC
|
bl TeachyTvBg2AnimController
|
||||||
ldrh r0, [r4, 0x4]
|
ldrh r0, [r4, 0x4]
|
||||||
adds r0, 0x1
|
adds r0, 0x1
|
||||||
strh r0, [r4, 0x4]
|
strh r0, [r4, 0x4]
|
||||||
@@ -1103,7 +1062,7 @@ sub_815B92C: @ 815B92C
|
|||||||
lsls r0, 1
|
lsls r0, 1
|
||||||
bl PlayNewMapMusic
|
bl PlayNewMapMusic
|
||||||
_0815B94C:
|
_0815B94C:
|
||||||
bl sub_815B0CC
|
bl TeachyTvBg2AnimController
|
||||||
ldrh r0, [r5, 0x4]
|
ldrh r0, [r5, 0x4]
|
||||||
adds r0, 0x1
|
adds r0, 0x1
|
||||||
strh r0, [r5, 0x4]
|
strh r0, [r5, 0x4]
|
||||||
@@ -1630,7 +1589,7 @@ _0815BD70:
|
|||||||
lsls r0, 1
|
lsls r0, 1
|
||||||
bl PlayNewMapMusic
|
bl PlayNewMapMusic
|
||||||
_0815BD78:
|
_0815BD78:
|
||||||
bl CB2_ReturnToTeachyTV
|
bl sub_815ABFC
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
thumb_func_end sub_815BD58
|
thumb_func_end sub_815BD58
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
#ifndef GUARD_TEACHY_TV_H
|
#ifndef GUARD_TEACHY_TV_H
|
||||||
#define GUARD_TEACHY_TV_H
|
#define GUARD_TEACHY_TV_H
|
||||||
|
|
||||||
void CB2_ReturnToTeachyTV(void);
|
void sub_815ABFC(void);
|
||||||
void sub_815AC20(void);
|
void sub_815AC20(void);
|
||||||
|
|
||||||
#endif //GUARD_TEACHY_TV_H
|
#endif //GUARD_TEACHY_TV_H
|
||||||
|
|||||||
+32
-4
@@ -17,6 +17,7 @@
|
|||||||
#include "item.h"
|
#include "item.h"
|
||||||
#include "menu_indicators.h"
|
#include "menu_indicators.h"
|
||||||
#include "field_map_obj.h"
|
#include "field_map_obj.h"
|
||||||
|
#include "random.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
#include "constants/items.h"
|
#include "constants/items.h"
|
||||||
|
|
||||||
@@ -36,12 +37,12 @@ void C2TeachyTv();
|
|||||||
void C2TeachyTvMainCallback();
|
void C2TeachyTvMainCallback();
|
||||||
void VblankHandlerTeachyTv();
|
void VblankHandlerTeachyTv();
|
||||||
void sub_815ABC4(u8 mode, void (*cb)());
|
void sub_815ABC4(u8 mode, void (*cb)());
|
||||||
void CB2_ReturnToTeachyTV();
|
void sub_815ABFC();
|
||||||
extern void sub_815AC20();
|
extern void sub_815AC20();
|
||||||
void TeachyTvCreateAndRenderRbox();
|
void TeachyTvCreateAndRenderRbox();
|
||||||
void TeachyTvInitIo();
|
void TeachyTvInitIo();
|
||||||
u8 TeachyTvSetupObjEventAndOam();
|
u8 TeachyTvSetupObjEventAndOam();
|
||||||
extern void TeachyTvConfigRboxAndObj(u8);
|
extern void TeachyTvSetupPostBattleWindowAndObj(u8);
|
||||||
u8 TeachyTvSetupWindow();
|
u8 TeachyTvSetupWindow();
|
||||||
void TeachyTvSetupScrollIndicatorArrowPair();
|
void TeachyTvSetupScrollIndicatorArrowPair();
|
||||||
void TeachyTvSetWindowRegs();
|
void TeachyTvSetWindowRegs();
|
||||||
@@ -95,7 +96,7 @@ void sub_815ABC4(u8 mode, void (*cb)())
|
|||||||
SetMainCallback2(C2TeachyTvMainCallback);
|
SetMainCallback2(C2TeachyTvMainCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CB2_ReturnToTeachyTV()
|
void sub_815ABFC()
|
||||||
{
|
{
|
||||||
if(gTeachyTV_StaticResources.mode == 1)
|
if(gTeachyTV_StaticResources.mode == 1)
|
||||||
sub_815ABC4(1,gTeachyTV_StaticResources.callback);
|
sub_815ABC4(1,gTeachyTV_StaticResources.callback);
|
||||||
@@ -151,7 +152,7 @@ void C2TeachyTvMainCallback()
|
|||||||
{
|
{
|
||||||
taskId = CreateTask(TeachyTvTaskFunction, 0);
|
taskId = CreateTask(TeachyTvTaskFunction, 0);
|
||||||
gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam();
|
gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam();
|
||||||
TeachyTvConfigRboxAndObj(taskId);
|
TeachyTvSetupPostBattleWindowAndObj(taskId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -316,3 +317,30 @@ void TeachyTvClearWindowRegs()
|
|||||||
SetGpuReg(0x40u, 0);
|
SetGpuReg(0x40u, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TeachyTvBg2AnimController()
|
||||||
|
{
|
||||||
|
u16 *tilemapBuffer;
|
||||||
|
u8 counter;
|
||||||
|
u32 offset2;
|
||||||
|
u32 offset;
|
||||||
|
u32 counter2;
|
||||||
|
|
||||||
|
tilemapBuffer = (u16 *)GetBgTilemapBuffer(2u);
|
||||||
|
counter = 1;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
offset2 = 2;
|
||||||
|
offset = 0x20 * counter;
|
||||||
|
counter2 = counter + 1;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
tilemapBuffer[offset + offset2] = ((Random() & 3) << 10) + 0x301F;
|
||||||
|
offset2 = (offset2 + 1) << 0x18 >> 0x18;
|
||||||
|
}
|
||||||
|
while ( offset2 <= 0x1B );
|
||||||
|
counter = counter2;
|
||||||
|
}
|
||||||
|
while ( counter2 << 0x18 >> 0x18 <= 0xCu );
|
||||||
|
schedule_bg_copy_tilemap_to_vram(2u);
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1147,7 +1147,7 @@ void PokeDude_InitTMCase(void)
|
|||||||
AddBagItem(ITEM_TM03, 1);
|
AddBagItem(ITEM_TM03, 1);
|
||||||
AddBagItem(ITEM_TM09, 1);
|
AddBagItem(ITEM_TM09, 1);
|
||||||
AddBagItem(ITEM_TM35, 1);
|
AddBagItem(ITEM_TM35, 1);
|
||||||
InitTMCase(4, CB2_ReturnToTeachyTV, 0);
|
InitTMCase(4, sub_815ABFC, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Task_TMCaseDude1(u8 taskId)
|
static void Task_TMCaseDude1(u8 taskId)
|
||||||
|
|||||||
+18
-19
@@ -24,8 +24,6 @@
|
|||||||
#include "unk_810c3a4.h"
|
#include "unk_810c3a4.h"
|
||||||
#include "constants/movement_commands.h"
|
#include "constants/movement_commands.h"
|
||||||
#include "vs_seeker.h"
|
#include "vs_seeker.h"
|
||||||
#include "item.h"
|
|
||||||
#include "constants/items.h"
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@@ -637,7 +635,6 @@ void sub_810C444(void)
|
|||||||
#ifdef NONMATCHING
|
#ifdef NONMATCHING
|
||||||
bool8 sub_810C4EC(void)
|
bool8 sub_810C4EC(void)
|
||||||
{
|
{
|
||||||
s8 mask;
|
|
||||||
if (CheckBagHasItem(ITEM_VS_SEEKER, 1) == TRUE)
|
if (CheckBagHasItem(ITEM_VS_SEEKER, 1) == TRUE)
|
||||||
{
|
{
|
||||||
if ((gSaveBlock1Ptr->trainerRematchStepCounter & 0xFF) < 100)
|
if ((gSaveBlock1Ptr->trainerRematchStepCounter & 0xFF) < 100)
|
||||||
@@ -646,23 +643,25 @@ bool8 sub_810C4EC(void)
|
|||||||
|
|
||||||
if (FlagGet(0x801) == TRUE)
|
if (FlagGet(0x801) == TRUE)
|
||||||
{
|
{
|
||||||
register u8 x,y;
|
u16 x;
|
||||||
x = gSaveBlock1Ptr->trainerRematchStepCounter >> 8;
|
do {
|
||||||
if (x > 99) {
|
x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & 0xFF;
|
||||||
mask = -1;
|
} while (0);
|
||||||
goto section_1;
|
if (x < 100)
|
||||||
|
{
|
||||||
|
x++;
|
||||||
|
gSaveBlock1Ptr->trainerRematchStepCounter = ((u16)(x << 8)) | (gSaveBlock1Ptr->trainerRematchStepCounter & 0xFF);
|
||||||
|
}
|
||||||
|
do {
|
||||||
|
x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & 0xFF;
|
||||||
|
} while (0);
|
||||||
|
if (x == 100)
|
||||||
|
{
|
||||||
|
FlagClear(0x801);
|
||||||
|
sub_810C640();
|
||||||
|
sub_810D0D0();
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
y = ((u8)x + 1);
|
|
||||||
gSaveBlock1Ptr->trainerRematchStepCounter = (((gSaveBlock1Ptr->trainerRematchStepCounter) & (u8)0xFFFFFFFF) | (y << 8));
|
|
||||||
section_1:
|
|
||||||
x = (gSaveBlock1Ptr->trainerRematchStepCounter >> 8) & mask;
|
|
||||||
if (x == 100)
|
|
||||||
{
|
|
||||||
FlagClear(0x801);
|
|
||||||
sub_810C640();
|
|
||||||
sub_810D0D0();
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|||||||
Reference in New Issue
Block a user