diff options
author | Diegoisawesome <Diegoisawesome@users.noreply.github.com> | 2018-12-02 14:05:35 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-02 14:05:35 -0600 |
commit | 2912ec0e37360ede1bae882f0ea2457ec336f16f (patch) | |
tree | 7a2b5d14e654e6f8171548692dc5f241de8cb748 /src/event_object_movement.c | |
parent | c123b8d6f1787abce2d1e3920d40192811b5fa39 (diff) | |
parent | 9828e0e97b8403a7614f4bec127af9233ae923cb (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.c | 22 |
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}; |