Move 2 functions of electric from ice

This commit is contained in:
KDSKardabox 2018-12-23 00:34:00 +05:30
parent 87fd6b8dc2
commit 67beec5cbe
2 changed files with 31 additions and 33 deletions

View file

@ -6,7 +6,6 @@
#include "sound.h" #include "sound.h"
extern void sub_810E2C8(struct Sprite *); extern void sub_810E2C8(struct Sprite *);
extern bool8 sub_810B614(struct Task *task, u8 taskId);
extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
static void sub_810A1A8(struct Sprite *); static void sub_810A1A8(struct Sprite *);
@ -38,6 +37,8 @@ static void sub_810B1F0(struct Sprite *);
static void sub_810B23C(struct Sprite *); static void sub_810B23C(struct Sprite *);
static bool8 sub_810B430(struct Task *task, u8 taskId); static bool8 sub_810B430(struct Task *task, u8 taskId);
static void sub_810B51C(struct Sprite *); static void sub_810B51C(struct Sprite *);
static bool8 sub_810B614(struct Task *task, u8 taskId);
static void sub_810B684(struct Sprite *sprite);
const union AnimCmd gUnknown_085956A4[] = const union AnimCmd gUnknown_085956A4[] =
{ {
@ -1493,3 +1494,29 @@ void sub_810B55C(u8 taskId)
break; break;
} }
} }
bool8 sub_810B614(struct Task *task, u8 taskId)
{
u8 spriteId = CreateSprite(&gUnknown_085956C0, task->data[13], task->data[14], task->data[12]);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].callback = sub_810B684;
gSprites[spriteId].data[6] = taskId;
gSprites[spriteId].data[7] = 10;
task->data[10]++;
}
if (task->data[14] >= task->data[15])
return TRUE;
task->data[14] += 32;
return FALSE;
}
static void sub_810B684(struct Sprite *sprite)
{
if (sprite->animEnded)
{
gTasks[sprite->data[6]].data[sprite->data[7]]--;
DestroySprite(sprite);
}
}

View file

@ -20,8 +20,7 @@ struct HailStruct {
s32 unk3:4; s32 unk3:4;
}; };
extern void sub_810B684(struct Sprite *); static void sub_810B6C4(struct Sprite *);
extern void sub_810B6C4(struct Sprite *);
extern void sub_810B848(struct Sprite *); extern void sub_810B848(struct Sprite *);
extern void AnimIcePunchSwirlingParticle(struct Sprite *); extern void AnimIcePunchSwirlingParticle(struct Sprite *);
extern void AnimIceBeamParticle(struct Sprite *); extern void AnimIceBeamParticle(struct Sprite *);
@ -524,37 +523,10 @@ const struct SpriteTemplate gUnknown_08595DFC =
.callback = InitIceBallParticle, .callback = InitIceBallParticle,
}; };
extern const struct SpriteTemplate gUnknown_085956C0;
bool8 sub_810B614(struct Task *task, u8 taskId)
{
u8 spriteId = CreateSprite(&gUnknown_085956C0, task->data[13], task->data[14], task->data[12]);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].callback = sub_810B684;
gSprites[spriteId].data[6] = taskId;
gSprites[spriteId].data[7] = 10;
task->data[10]++;
}
if (task->data[14] >= task->data[15])
return TRUE;
task->data[14] += 32;
return FALSE;
}
void sub_810B684(struct Sprite *sprite)
{
if (sprite->animEnded)
{
gTasks[sprite->data[6]].data[sprite->data[7]]--;
DestroySprite(sprite);
}
}
// probably unused // probably unused
#ifdef NONMATCHING #ifdef NONMATCHING
void sub_810B6C4(struct Sprite *sprite) static void sub_810B6C4(struct Sprite *sprite)
{ {
s16 targetX, targetY, attackerX, attackerY; s16 targetX, targetY, attackerX, attackerY;
s16 i; s16 i;
@ -596,7 +568,7 @@ void sub_810B6C4(struct Sprite *sprite)
} }
#else #else
NAKED NAKED
void sub_810B6C4(struct Sprite *sprite) static void sub_810B6C4(struct Sprite *sprite)
{ {
asm_unified("push {r4-r7,lr}\n\ asm_unified("push {r4-r7,lr}\n\
mov r7, r10\n\ mov r7, r10\n\
@ -783,7 +755,6 @@ _0810B80A:\n\
.pool\n"); .pool\n");
} }
#endif #endif
void sub_810B848(struct Sprite *sprite) void sub_810B848(struct Sprite *sprite)
{ {
if (sprite->data[0] != 0) if (sprite->data[0] != 0)