diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-06-28 11:33:23 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-06-28 11:33:23 +0800 |
commit | 3f43150b5a9cc41b1ccd488d864fc8adbdbf038b (patch) | |
tree | c33e1602dd5d261fed902c7b4bde2416a8b1a5d7 /src | |
parent | d06166633fe7cc97ec692131246bdc9121a71aaa (diff) |
finished fldeff_poison
Diffstat (limited to 'src')
-rw-r--r-- | src/bg.c | 2 | ||||
-rw-r--r-- | src/fldeff_poison.c | 39 |
2 files changed, 40 insertions, 1 deletions
@@ -865,7 +865,7 @@ void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dis SetBgAffineInternal(bg, srcCenterX, srcCenterY, dispCenterX, dispCenterY, scaleX, scaleY, rotationAngle); } -u8 Unused_AdjustBgMosaic(u8 a1, u8 a2) +u8 AdjustBgMosaic(u8 a1, u8 a2) { u16 result; s16 test1; diff --git a/src/fldeff_poison.c b/src/fldeff_poison.c new file mode 100644 index 000000000..05715bbdc --- /dev/null +++ b/src/fldeff_poison.c @@ -0,0 +1,39 @@ +#include "global.h" +#include "task.h" +#include "bg.h" +#include "sound.h" +#include "constants/songs.h" + +static void Task_FieldPoisonEffect(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + data[1] += 1; + if (data[1] > 4) + data[0]++; + break; + case 1: + data[1] -= 1; + if (data[1] == 0) + data[0]++; + break; + case 2: + DestroyTask(taskId); + return; + } + AdjustBgMosaic((u8)(((u8)data[1] << 4) | (u8)data[1]), 0); +} + +void FldEffPoison_Start(void) +{ + PlaySE(SE_DAUGI); + CreateTask(Task_FieldPoisonEffect, 80); +} + +bool32 FldEffPoison_IsActive(void) +{ + return FuncIsActiveTask(Task_FieldPoisonEffect); +} |