map functions are coming
This commit is contained in:
-271
@@ -5,277 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start TeachyTvGrassAnimationObjCallback
|
|
||||||
TeachyTvGrassAnimationObjCallback: @ 815BB6C
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r3, r0, 0
|
|
||||||
movs r0, 0x2E
|
|
||||||
ldrsh r1, [r3, r0]
|
|
||||||
lsls r0, r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
lsls r0, 3
|
|
||||||
ldr r1, _0815BBA4 @ =gTasks+0x8
|
|
||||||
adds r4, r0, r1
|
|
||||||
movs r2, 0x2
|
|
||||||
ldrsh r1, [r4, r2]
|
|
||||||
lsls r0, r1, 4
|
|
||||||
adds r0, r1
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _0815BBA8 @ =gSprites
|
|
||||||
adds r5, r0, r1
|
|
||||||
ldr r0, _0815BBAC @ =gUnknown_203F450
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _0815BBB0 @ =0x00004006
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _0815BBB4
|
|
||||||
adds r0, r3, 0
|
|
||||||
bl DestroySprite
|
|
||||||
b _0815BC3A
|
|
||||||
.align 2, 0
|
|
||||||
_0815BBA4: .4byte gTasks+0x8
|
|
||||||
_0815BBA8: .4byte gSprites
|
|
||||||
_0815BBAC: .4byte gUnknown_203F450
|
|
||||||
_0815BBB0: .4byte 0x00004006
|
|
||||||
_0815BBB4:
|
|
||||||
adds r0, r3, 0
|
|
||||||
adds r0, 0x2B
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0815BBD2
|
|
||||||
adds r2, r3, 0
|
|
||||||
adds r2, 0x42
|
|
||||||
ldrb r0, [r2]
|
|
||||||
movs r1, 0x40
|
|
||||||
negs r1, r1
|
|
||||||
ands r1, r0
|
|
||||||
movs r0, 0x1
|
|
||||||
orrs r1, r0
|
|
||||||
strb r1, [r2]
|
|
||||||
b _0815BBE0
|
|
||||||
_0815BBD2:
|
|
||||||
adds r2, r3, 0
|
|
||||||
adds r2, 0x42
|
|
||||||
ldrb r1, [r2]
|
|
||||||
movs r0, 0x40
|
|
||||||
negs r0, r0
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
_0815BBE0:
|
|
||||||
ldrh r0, [r4, 0x8]
|
|
||||||
ldrh r2, [r3, 0x24]
|
|
||||||
adds r0, r2
|
|
||||||
strh r0, [r3, 0x24]
|
|
||||||
ldrh r0, [r4, 0xA]
|
|
||||||
ldrh r1, [r3, 0x26]
|
|
||||||
adds r0, r1
|
|
||||||
strh r0, [r3, 0x26]
|
|
||||||
adds r0, r3, 0
|
|
||||||
adds r0, 0x3F
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, 0x10
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0815BC3A
|
|
||||||
adds r1, r3, 0
|
|
||||||
adds r1, 0x43
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1]
|
|
||||||
ldrh r1, [r3, 0x24]
|
|
||||||
ldrh r0, [r5, 0x24]
|
|
||||||
subs r1, r0
|
|
||||||
ldrh r0, [r3, 0x26]
|
|
||||||
ldrh r2, [r5, 0x26]
|
|
||||||
subs r0, r2
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
lsls r1, 16
|
|
||||||
movs r2, 0xF0
|
|
||||||
lsls r2, 12
|
|
||||||
adds r1, r2
|
|
||||||
lsrs r1, 16
|
|
||||||
cmp r1, 0x1E
|
|
||||||
bhi _0815BC34
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r1, r0, 16
|
|
||||||
movs r0, 0x10
|
|
||||||
negs r0, r0
|
|
||||||
cmp r1, r0
|
|
||||||
ble _0815BC34
|
|
||||||
cmp r1, 0x17
|
|
||||||
ble _0815BC3A
|
|
||||||
_0815BC34:
|
|
||||||
adds r0, r3, 0
|
|
||||||
bl DestroySprite
|
|
||||||
_0815BC3A:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end TeachyTvGrassAnimationObjCallback
|
|
||||||
|
|
||||||
thumb_func_start TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj
|
|
||||||
TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj: @ 815BC40
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
lsls r4, r0, 16
|
|
||||||
cmp r4, 0
|
|
||||||
blt _0815BC52
|
|
||||||
lsls r1, 16
|
|
||||||
cmp r1, 0
|
|
||||||
bge _0815BC56
|
|
||||||
_0815BC52:
|
|
||||||
movs r0, 0
|
|
||||||
b _0815BC78
|
|
||||||
_0815BC56:
|
|
||||||
ldr r3, _0815BC80 @ =gUnknown_84795C8
|
|
||||||
ldr r0, _0815BC84 @ =gUnknown_203F450
|
|
||||||
ldr r2, [r0]
|
|
||||||
ldr r5, _0815BC88 @ =0x00004005
|
|
||||||
adds r0, r2, r5
|
|
||||||
asrs r1, 20
|
|
||||||
ldrb r0, [r0]
|
|
||||||
adds r1, r0
|
|
||||||
lsls r1, 4
|
|
||||||
ldr r0, _0815BC8C @ =0x00004004
|
|
||||||
adds r2, r0
|
|
||||||
asrs r0, r4, 20
|
|
||||||
ldrb r2, [r2]
|
|
||||||
adds r0, r2
|
|
||||||
adds r1, r0
|
|
||||||
adds r1, r3
|
|
||||||
ldrb r0, [r1]
|
|
||||||
_0815BC78:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0815BC80: .4byte gUnknown_84795C8
|
|
||||||
_0815BC84: .4byte gUnknown_203F450
|
|
||||||
_0815BC88: .4byte 0x00004005
|
|
||||||
_0815BC8C: .4byte 0x00004004
|
|
||||||
thumb_func_end TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj
|
|
||||||
|
|
||||||
thumb_func_start TeachyTvPrepBattle
|
|
||||||
TeachyTvPrepBattle: @ 815BC90
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
lsls r0, r6, 2
|
|
||||||
adds r0, r6
|
|
||||||
lsls r0, 3
|
|
||||||
ldr r1, _0815BCCC @ =gTasks+0x8
|
|
||||||
adds r5, r0, r1
|
|
||||||
bl TeachyTvFree
|
|
||||||
ldr r1, _0815BCD0 @ =gSpecialVar_0x8004
|
|
||||||
ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources
|
|
||||||
ldrb r0, [r4, 0x5]
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0815BCD8 @ =gMain
|
|
||||||
ldr r0, _0815BCDC @ =sub_815BD58
|
|
||||||
str r0, [r1, 0x8]
|
|
||||||
bl SavePlayerParty
|
|
||||||
bl sub_8159F40
|
|
||||||
movs r0, 0
|
|
||||||
bl PlayMapChosenOrBattleBGM
|
|
||||||
ldrb r0, [r4, 0x5]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0815BCE0
|
|
||||||
movs r0, 0x9
|
|
||||||
b _0815BCE2
|
|
||||||
.align 2, 0
|
|
||||||
_0815BCCC: .4byte gTasks+0x8
|
|
||||||
_0815BCD0: .4byte gSpecialVar_0x8004
|
|
||||||
_0815BCD4: .4byte gTeachyTV_StaticResources
|
|
||||||
_0815BCD8: .4byte gMain
|
|
||||||
_0815BCDC: .4byte sub_815BD58
|
|
||||||
_0815BCE0:
|
|
||||||
movs r0, 0x8
|
|
||||||
_0815BCE2:
|
|
||||||
strh r0, [r5, 0xC]
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r5, 0xE]
|
|
||||||
ldr r1, _0815BCFC @ =gTasks
|
|
||||||
lsls r0, r6, 2
|
|
||||||
adds r0, r6
|
|
||||||
lsls r0, 3
|
|
||||||
adds r0, r1
|
|
||||||
ldr r1, _0815BD00 @ =sub_815BD04
|
|
||||||
str r1, [r0]
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0815BCFC: .4byte gTasks
|
|
||||||
_0815BD00: .4byte sub_815BD04
|
|
||||||
thumb_func_end TeachyTvPrepBattle
|
|
||||||
|
|
||||||
thumb_func_start sub_815BD04
|
|
||||||
sub_815BD04: @ 815BD04
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
ldr r1, _0815BD24 @ =gTasks+0x8
|
|
||||||
adds r4, r0, r1
|
|
||||||
movs r1, 0xE
|
|
||||||
ldrsh r0, [r4, r1]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0815BD28
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0815BD36
|
|
||||||
b _0815BD4C
|
|
||||||
.align 2, 0
|
|
||||||
_0815BD24: .4byte gTasks+0x8
|
|
||||||
_0815BD28:
|
|
||||||
ldrb r0, [r4, 0xC]
|
|
||||||
bl sub_80D08B8
|
|
||||||
ldrh r0, [r4, 0xE]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r4, 0xE]
|
|
||||||
b _0815BD4C
|
|
||||||
_0815BD36:
|
|
||||||
bl sub_80D08F8
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0815BD4C
|
|
||||||
ldr r0, _0815BD54 @ =sub_800FD9C
|
|
||||||
bl SetMainCallback2
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyTask
|
|
||||||
_0815BD4C:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0815BD54: .4byte sub_800FD9C
|
|
||||||
thumb_func_end sub_815BD04
|
|
||||||
|
|
||||||
thumb_func_start sub_815BD58
|
|
||||||
sub_815BD58: @ 815BD58
|
|
||||||
push {lr}
|
|
||||||
bl LoadPlayerParty
|
|
||||||
ldr r0, _0815BD6C @ =gUnknown_2023E8A
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x3
|
|
||||||
bne _0815BD70
|
|
||||||
bl sub_815AC20
|
|
||||||
b _0815BD78
|
|
||||||
.align 2, 0
|
|
||||||
_0815BD6C: .4byte gUnknown_2023E8A
|
|
||||||
_0815BD70:
|
|
||||||
movs r0, 0x88
|
|
||||||
lsls r0, 1
|
|
||||||
bl PlayNewMapMusic
|
|
||||||
_0815BD78:
|
|
||||||
bl sub_815ABFC
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_815BD58
|
|
||||||
|
|
||||||
thumb_func_start TeachyTvLoadBg3Map
|
thumb_func_start TeachyTvLoadBg3Map
|
||||||
TeachyTvLoadBg3Map: @ 815BD80
|
TeachyTvLoadBg3Map: @ 815BD80
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|||||||
+119
-15
@@ -23,17 +23,20 @@
|
|||||||
#include "text.h"
|
#include "text.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
#include "constants/items.h"
|
#include "constants/items.h"
|
||||||
|
#include "event_data.h"
|
||||||
|
#include "load_save.h"
|
||||||
|
#include "battle_transition.h"
|
||||||
|
#include "battle_2.h"
|
||||||
|
#include "battle.h"
|
||||||
|
|
||||||
typedef struct Task Task;
|
typedef struct Task Task;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
void (*callback)();
|
void (*callback)();
|
||||||
u8 mode;
|
u8 mode;
|
||||||
u8 optionChosen;
|
u8 optionChosen;
|
||||||
u16 scrollOffset;
|
u16 scrollOffset;
|
||||||
u16 selectedRow;
|
u16 selectedRow;
|
||||||
u8 param4;
|
u16 filler;
|
||||||
u8 filler;
|
|
||||||
} TeachyTv_s;
|
} TeachyTv_s;
|
||||||
|
|
||||||
extern TeachyTv_s gTeachyTV_StaticResources;
|
extern TeachyTv_s gTeachyTV_StaticResources;
|
||||||
@@ -57,10 +60,11 @@ extern u8 gUnknown_8479590;
|
|||||||
extern u8 gUnknown_8479390;
|
extern u8 gUnknown_8479390;
|
||||||
extern struct SubspriteTable gUnknown_84795B8;
|
extern struct SubspriteTable gUnknown_84795B8;
|
||||||
extern struct SpriteTemplate *gUnknown_83A0010;
|
extern struct SpriteTemplate *gUnknown_83A0010;
|
||||||
|
extern u8 gUnknown_84795C8;
|
||||||
|
|
||||||
void C2TeachyTv();
|
void TeachyTvCallback();
|
||||||
void C2TeachyTvMainCallback();
|
void TeachyTvMainCallback();
|
||||||
void VblankHandlerTeachyTv();
|
void TeachyTvVblankHandler();
|
||||||
void sub_815ABC4(u8 mode, void (*cb)());
|
void sub_815ABC4(u8 mode, void (*cb)());
|
||||||
void sub_815ABFC();
|
void sub_815ABFC();
|
||||||
void sub_815AC20();
|
void sub_815AC20();
|
||||||
@@ -86,6 +90,8 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m
|
|||||||
void TeachyTvLoadBg3Map(void *);
|
void TeachyTvLoadBg3Map(void *);
|
||||||
u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y);
|
u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y);
|
||||||
void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite);
|
void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite);
|
||||||
|
void TeachyTvRestorePlayerPartyCallback();
|
||||||
|
void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId);
|
||||||
|
|
||||||
extern void VblankHblankHandlerSetZero();
|
extern void VblankHblankHandlerSetZero();
|
||||||
extern void sub_812B1E0(u16);
|
extern void sub_812B1E0(u16);
|
||||||
@@ -94,9 +100,9 @@ extern void sub_8055DC4();
|
|||||||
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 sub_810B108(u8);
|
extern void sub_810B108(u8);
|
||||||
|
extern void sub_8159F40();
|
||||||
|
|
||||||
|
void TeachyTvCallback()
|
||||||
void C2TeachyTv()
|
|
||||||
{
|
{
|
||||||
RunTasks();
|
RunTasks();
|
||||||
AnimateSprites();
|
AnimateSprites();
|
||||||
@@ -105,7 +111,7 @@ void C2TeachyTv()
|
|||||||
UpdatePaletteFade();
|
UpdatePaletteFade();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VblankHandlerTeachyTv()
|
void TeachyTvVblankHandler()
|
||||||
{
|
{
|
||||||
LoadOam();
|
LoadOam();
|
||||||
ProcessSpriteCopyRequests();
|
ProcessSpriteCopyRequests();
|
||||||
@@ -126,7 +132,7 @@ void sub_815ABC4(u8 mode, void (*cb)())
|
|||||||
}
|
}
|
||||||
if(mode == 1)
|
if(mode == 1)
|
||||||
v3->mode = 0;
|
v3->mode = 0;
|
||||||
SetMainCallback2(C2TeachyTvMainCallback);
|
SetMainCallback2(TeachyTvMainCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815ABFC()
|
void sub_815ABFC()
|
||||||
@@ -142,7 +148,7 @@ void sub_815AC20()
|
|||||||
gTeachyTV_StaticResources.mode = 1;
|
gTeachyTV_StaticResources.mode = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void C2TeachyTvMainCallback()
|
void TeachyTvMainCallback()
|
||||||
{
|
{
|
||||||
int state;
|
int state;
|
||||||
int taskId;
|
int taskId;
|
||||||
@@ -151,7 +157,6 @@ void C2TeachyTvMainCallback()
|
|||||||
u32 x;
|
u32 x;
|
||||||
|
|
||||||
state = gMain.state;
|
state = gMain.state;
|
||||||
// tried several ways to reproduce the control flow, but all failed. Now using goto
|
|
||||||
if ( state == 0 )
|
if ( state == 0 )
|
||||||
goto RESETANDLOAD;
|
goto RESETANDLOAD;
|
||||||
else if ( state == 1 )
|
else if ( state == 1 )
|
||||||
@@ -203,8 +208,8 @@ SETDMATOVRAM:
|
|||||||
sub_812B1E0(9); // help system something
|
sub_812B1E0(9); // help system something
|
||||||
BlendPalettes(0xFFFFFFFF, 0x10u, 0);
|
BlendPalettes(0xFFFFFFFF, 0x10u, 0);
|
||||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0);
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10u, 0, 0);
|
||||||
SetVBlankCallback(VblankHandlerTeachyTv);
|
SetVBlankCallback(TeachyTvVblankHandler);
|
||||||
SetMainCallback2(C2TeachyTv);
|
SetMainCallback2(TeachyTvCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TeachyTvSetupBg()
|
void TeachyTvSetupBg()
|
||||||
@@ -921,4 +926,103 @@ void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority, bool8 m
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
u32 diff1, diff2;
|
||||||
|
s16 *data = gTasks[sprite->data[0]].data;
|
||||||
|
struct Sprite *objAddr = &gSprites[data[1]];
|
||||||
|
if(((u8*)gUnknown_203F450)[0x4006] == 1)
|
||||||
|
DestroySprite(sprite);
|
||||||
|
else {
|
||||||
|
if(sprite->animCmdIndex == 0)
|
||||||
|
sprite->subspriteTableNum = 1;
|
||||||
|
else
|
||||||
|
sprite->subspriteTableNum = 0;
|
||||||
|
sprite->pos2.x += (u16)data[4];
|
||||||
|
sprite->pos2.y += (u16)data[5];
|
||||||
|
if(sprite->animEnded == 0)
|
||||||
|
return;
|
||||||
|
sprite->subpriority = 0;
|
||||||
|
diff1 = (u16)(sprite->pos2.x - objAddr->pos2.x);
|
||||||
|
diff2 = (u16)(sprite->pos2.y - objAddr->pos2.y);
|
||||||
|
diff1 = ((diff1 << 0x10)+0xF0000) >> 0x10;
|
||||||
|
if(diff1 <= 0x1E)
|
||||||
|
{
|
||||||
|
if((s16)diff2 > -0x10)
|
||||||
|
{
|
||||||
|
if((s16)diff2 <= 0x17)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DestroySprite(sprite);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 TeachyTvGrassAnimationCheckIfNeedsToGenerateGrassObj(s16 x, s16 y)
|
||||||
|
{
|
||||||
|
u8 * arr, *ptr;
|
||||||
|
int a, b;
|
||||||
|
if( (x < 0) || (y < 0) )
|
||||||
|
return 0;
|
||||||
|
arr = &gUnknown_84795C8;
|
||||||
|
ptr = gUnknown_203F450;
|
||||||
|
a = ((y >> 4) + ptr[0x4005]) << 4;
|
||||||
|
b = ((x >> 4) + ptr[0x4004]);
|
||||||
|
return arr[a+b];
|
||||||
|
}
|
||||||
|
|
||||||
|
void TeachyTvPrepBattle(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 *data;
|
||||||
|
|
||||||
|
taskId = taskId;
|
||||||
|
data = gTasks[taskId].data;
|
||||||
|
TeachyTvFree();
|
||||||
|
gSpecialVar_0x8004 = gTeachyTV_StaticResources.optionChosen;
|
||||||
|
gMain.savedCallback = TeachyTvRestorePlayerPartyCallback;
|
||||||
|
SavePlayerParty();
|
||||||
|
sub_8159F40();
|
||||||
|
PlayMapChosenOrBattleBGM(MUS_DUMMY);
|
||||||
|
if ( !gTeachyTV_StaticResources.optionChosen )
|
||||||
|
data[6] = 9;
|
||||||
|
else
|
||||||
|
data[6] = 8;
|
||||||
|
data[7] = 0;
|
||||||
|
gTasks[taskId].func = TeachyTvPreBattleAnimAndSetBattleCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 *data;
|
||||||
|
int temp;
|
||||||
|
|
||||||
|
data = gTasks[taskId].data;
|
||||||
|
switch(data[7])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_80D08B8(*((u8*)data + 12));
|
||||||
|
++data[7];
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
temp = sub_80D08F8();
|
||||||
|
if ( temp << 24 )
|
||||||
|
{
|
||||||
|
SetMainCallback2(sub_800FD9C);
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TeachyTvRestorePlayerPartyCallback()
|
||||||
|
{
|
||||||
|
LoadPlayerParty();
|
||||||
|
if ( gUnknown_2023E8A == 3 )
|
||||||
|
sub_815AC20();
|
||||||
|
else
|
||||||
|
PlayNewMapMusic(BGM_FRLG_FOLLOW_ME);
|
||||||
|
sub_815ABFC();
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user