summaryrefslogtreecommitdiff
path: root/src/event_object_movement.c
diff options
context:
space:
mode:
authorDiegoisawesome <Diegoisawesome@users.noreply.github.com>2018-12-02 14:05:35 -0600
committerGitHub <noreply@github.com>2018-12-02 14:05:35 -0600
commit2912ec0e37360ede1bae882f0ea2457ec336f16f (patch)
tree7a2b5d14e654e6f8171548692dc5f241de8cb748 /src/event_object_movement.c
parentc123b8d6f1787abce2d1e3920d40192811b5fa39 (diff)
parent9828e0e97b8403a7614f4bec127af9233ae923cb (diff)
Merge pull request #420 from DizzyEggg/bored
Get rid of static functions in includ and add req macro arguments
Diffstat (limited to 'src/event_object_movement.c')
-rw-r--r--src/event_object_movement.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index cd5a547a9..e509c7738 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -27,6 +27,28 @@
// this file was known as evobjmv.c in Game Freak's original source
+#define movement_type_def(setup, table) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
+void setup(struct Sprite *sprite)\
+{\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
+}\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
+{\
+ return table[sprite->data[1]](eventObject, sprite);\
+}
+
+#define movement_type_empty_callback(setup) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
+void setup(struct Sprite *sprite)\
+{\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
+}\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
+{\
+ return 0;\
+}
+
EWRAM_DATA u8 sCurrentReflectionType = 0;
EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0;
EWRAM_DATA struct LockedAnimEventObjects *gLockedAnimEventObjects = {0};