1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-22 21:35:27 +00:00
oot/src/code/z_effect_soft_sprite_dlftbls.c
Roman971 f3c930917b
Implement define tables for objects, actors and effect soft sprites (#906)
* Implement a single Object Table for the enum and the segments

* Implement a single Actor Table for the enum and the overlays

* Implement a single Effect SS Table for the enum and the overlays

* Remove initvars.h and move its content to relevant files

* Update object 0 to use OBJECT_NONE and document it in the table

* Rename OBJECT_NONE to OBJECT_INVALID to avoid confusion
2021-08-29 21:24:32 -04:00

41 lines
1.1 KiB
C

#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) \
{ \
(u32)_ovl_##name##SegmentRomStart, \
(u32)_ovl_##name##SegmentRomEnd, \
_ovl_##name##SegmentStart, \
_ovl_##name##SegmentEnd, \
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