summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NewerProject.yaml1
-rw-r--r--effectVideo.yaml10
-rw-r--r--src/effectvideo.cpp49
3 files changed, 60 insertions, 0 deletions
diff --git a/NewerProject.yaml b/NewerProject.yaml
index 36696f4..b21d07c 100644
--- a/NewerProject.yaml
+++ b/NewerProject.yaml
@@ -33,3 +33,4 @@ modules:
- processed/blocksnake.yaml
# - processed/classic_controller.yaml
- processed/bossMegaGoomba.yaml
+ - processed/effectVideo.yaml
diff --git a/effectVideo.yaml b/effectVideo.yaml
new file mode 100644
index 0000000..555719e
--- /dev/null
+++ b/effectVideo.yaml
@@ -0,0 +1,10 @@
+---
+# Replaces LIFT_TORIDE_ROLL
+
+source_files: [../src/effectvideo.cpp]
+hooks:
+ - name: EffectVideoAdd
+ type: add_func_pointer
+ src_addr_pal: 0x80969E78
+ target_func: 'EffectVideo::build(void)'
+
diff --git a/src/effectvideo.cpp b/src/effectvideo.cpp
new file mode 100644
index 0000000..ec23158
--- /dev/null
+++ b/src/effectvideo.cpp
@@ -0,0 +1,49 @@
+#include <common.h>
+#include <game.h>
+#include <g3dhax.h>
+#include "player.h"
+#include "effects.h"
+
+
+class EffectVideo : public dEn_c {
+ int onCreate();
+ int onExecute();
+
+ s32 timer;
+ u32 effect;
+
+ static EffectVideo *build();
+
+};
+
+
+EffectVideo *EffectVideo::build() {
+ void *buffer = AllocFromGameHeap1(sizeof(EffectVideo));
+ return new(buffer) EffectVideo;
+}
+
+
+int EffectVideo::onCreate() {
+
+ this->timer = -60;
+ this->effect = 0;
+
+ this->onExecute();
+ return true;
+}
+
+int EffectVideo::onExecute() {
+
+ if (this->effect > 1000) { return true; }
+
+ if (this->timer == 30) {
+
+ CreateEffect(this, this->effect);
+
+ }
+
+ this->effect += 1;
+ this->timer += 1;
+ return true;
+}
+