mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-02 15:55:59 +00:00
f3c930917b
* 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
40 lines
1.1 KiB
C
40 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
|