#include "global.h" // Linker symbol declarations (used in the table below) #define DEFINE_EFFECT_SS(name, _1) DECLARE_OVERLAY_SEGMENT(name) #define DEFINE_EFFECT_SS_UNSET(_0) #include "tables/effect_ss_table.h" #undef DEFINE_EFFECT_SS #undef DEFINE_EFFECT_SS_UNSET // Init Vars declarations (also used in the table below) #define DEFINE_EFFECT_SS(name, _1) extern EffectSsInit name##_InitVars; #define DEFINE_EFFECT_SS_UNSET(_0) #include "tables/effect_ss_table.h" #undef DEFINE_EFFECT_SS #undef DEFINE_EFFECT_SS_UNSET // Effect SS Overlay Table definition //#define DEFINE_EFFECT_SS(name, _1) \ // { \ // (uintptr_t)_ovl_##name##SegmentRomStart, \ // (uintptr_t)_ovl_##name##SegmentRomEnd, \ // _ovl_##name##SegmentStart, \ // _ovl_##name##SegmentEnd, \ // NULL, \ // &name##_InitVars, \ // 1, \ // }, #define DEFINE_EFFECT_SS(name, _1) \ { \ (uintptr_t)0, \ (uintptr_t)0, \ 0, \ 0, \ NULL, \ &name##_InitVars, \ 1, \ }, #define DEFINE_EFFECT_SS_UNSET(_0) { 0 }, EffectSsOverlay gEffectSsOverlayTable[] = { #include "tables/effect_ss_table.h" }; #undef DEFINE_EFFECT_SS #undef DEFINE_EFFECT_SS_UNSET