summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortheo3 <arisstephenson2@gmail.com>2020-06-19 23:39:55 -0700
committertheo3 <arisstephenson2@gmail.com>2020-06-19 23:39:55 -0700
commit156f4d0c376b96f8b84bc7810e43052f69fed3ee (patch)
treef7f4f0224680fa43949c2dab7b2549417c4a36c8 /src
parent6e6e4d3180545ba84eb9d66b421bf4f11bae9526 (diff)
hangingSeed OK
Diffstat (limited to 'src')
-rw-r--r--src/hangingSeed.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/hangingSeed.c b/src/hangingSeed.c
new file mode 100644
index 00000000..35653f43
--- /dev/null
+++ b/src/hangingSeed.c
@@ -0,0 +1,40 @@
+#include "global.h"
+#include "entity.h"
+
+extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*));
+extern void CreateFx(Entity*, u32, u32);
+extern void DeleteThisEntity();
+
+extern void (*const gUnk_080CB570[])(Entity*);
+extern void (*const gUnk_080CB588[])(Entity*);
+
+void HangingSeed(Entity *this)
+{
+ EnemyFunctionHandler(this, gUnk_080CB570);
+}
+
+void sub_080216E4(Entity *this)
+{
+ gUnk_080CB588[this->action](this);
+}
+
+void sub_080216FC(Entity *this)
+{
+ if ((this->bitfield & 0x80) != 0) {
+ CreateFx(this, 3, 0x80);
+ DeleteThisEntity();
+ }
+}
+
+void nullsub_7(Entity* this){}
+
+void sub_08021720(Entity *this)
+{
+ this->action = 1;
+ this->spriteSettings.b.ss0 = 1;
+ this->frameIndex = (this->entityType).form;
+ this->spriteOrder.b3 = 1;
+ this->ticks.b0 = 3;
+}
+
+void nullsub_08(Entity* this){} \ No newline at end of file