summaryrefslogtreecommitdiff
path: root/src/electric.c
diff options
context:
space:
mode:
authorDiegoisawesome <Diegoisawesome@users.noreply.github.com>2018-12-23 10:42:01 -0600
committerGitHub <noreply@github.com>2018-12-23 10:42:01 -0600
commitf1ee374e93d0727074e2c760924b5a89b78aa2b9 (patch)
tree65f2c54bd501a89a7d731604c540cc1d4403eeea /src/electric.c
parent36c7b5f1831088d094928d69772cae43ed6f4c2f (diff)
parent436122ec93e850546ad64bffc99f91a57f247261 (diff)
Merge pull request #468 from KDSKardabox/resolve_ice_electric_split
Move 2 incorrectly split functions of electric from ice
Diffstat (limited to 'src/electric.c')
-rw-r--r--src/electric.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/electric.c b/src/electric.c
index 1b3dae90e..142a9ca09 100644
--- a/src/electric.c
+++ b/src/electric.c
@@ -6,7 +6,6 @@
#include "sound.h"
extern void sub_810E2C8(struct Sprite *);
-extern bool8 sub_810B614(struct Task *task, u8 taskId);
extern void TranslateAnimSpriteToTargetMonLocation(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 bool8 sub_810B430(struct Task *task, u8 taskId);
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[] =
{
@@ -1292,3 +1293,29 @@ void sub_810B55C(u8 taskId)
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);
+ }
+}