summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-06-28 11:33:23 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-06-28 11:33:23 +0800
commit3f43150b5a9cc41b1ccd488d864fc8adbdbf038b (patch)
treec33e1602dd5d261fed902c7b4bde2416a8b1a5d7 /src
parentd06166633fe7cc97ec692131246bdc9121a71aaa (diff)
finished fldeff_poison
Diffstat (limited to 'src')
-rw-r--r--src/bg.c2
-rw-r--r--src/fldeff_poison.c39
2 files changed, 40 insertions, 1 deletions
diff --git a/src/bg.c b/src/bg.c
index 027157fa5..7859c5c52 100644
--- a/src/bg.c
+++ b/src/bg.c
@@ -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);
+}