summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorAnghelo Carvajal <angheloalf95@gmail.com>2023-03-30 13:17:55 -0300
committerGitHub <noreply@github.com>2023-03-30 13:17:55 -0300
commitd8064bb070b6acc449c761e00b68e41ea6175b26 (patch)
tree51f2cc3545ca9cee781c49e39765ebe1ca33a34c /src/code
parent34f9fb98863f5972588e6dccc8f8866096e19361 (diff)
Effect table (#1209)
* effect_ss_table.h * monkaBSS * format * Remove InitVars extern headers * Remove `const` from InitVars * cleanup * cleanup * format * bss * bss * bss
Diffstat (limited to 'src/code')
-rw-r--r--src/code/sched.c1
-rw-r--r--src/code/z_bgcheck.c1
-rw-r--r--src/code/z_demo.c1
-rw-r--r--src/code/z_effect_soft_sprite_dlftbls.c78
-rw-r--r--src/code/z_player_lib.c2
5 files changed, 31 insertions, 52 deletions
diff --git a/src/code/sched.c b/src/code/sched.c
index 927a48f66..5f9cdf236 100644
--- a/src/code/sched.c
+++ b/src/code/sched.c
@@ -1,3 +1,4 @@
+#include "prevent_bss_reordering.h"
#include "global.h"
#define RSP_DONE_MSG 667
diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c
index c04fce680..ad04236fe 100644
--- a/src/code/z_bgcheck.c
+++ b/src/code/z_bgcheck.c
@@ -1,4 +1,3 @@
-#include "prevent_bss_reordering.h"
#include "global.h"
#include "vt.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
diff --git a/src/code/z_demo.c b/src/code/z_demo.c
index 2628658f6..499561623 100644
--- a/src/code/z_demo.c
+++ b/src/code/z_demo.c
@@ -1,4 +1,3 @@
-#include "prevent_bss_reordering.h"
#include "global.h"
#include "z64quake.h"
#include "z64rumble.h"
diff --git a/src/code/z_effect_soft_sprite_dlftbls.c b/src/code/z_effect_soft_sprite_dlftbls.c
index e215cdee9..fff77feff 100644
--- a/src/code/z_effect_soft_sprite_dlftbls.c
+++ b/src/code/z_effect_soft_sprite_dlftbls.c
@@ -1,56 +1,34 @@
-#include "global.h"
-#include "initvars.h"
+#include "z64effect.h"
+#include "segment_symbols.h"
-#define EFFECT_SS_OVERLAY(name) \
- { \
- SEGMENT_ROM_START(ovl_##name), SEGMENT_ROM_END(ovl_##name), SEGMENT_START(ovl_##name), \
- SEGMENT_END(ovl_##name), NULL, &name##_InitVars, 1, \
- }
+// Init Vars and linker symbol declarations (used in the table below)
+#define DEFINE_EFFECT_SS(name, _enumValue) \
+ extern EffectSsInit name##_InitVars; \
+ DECLARE_OVERLAY_SEGMENT(name)
-#define EFFECT_SS_OVERLAY_INTERNAL(name) \
- { 0, 0, NULL, NULL, NULL, &name##_InitVars, 1 }
+#define DEFINE_EFFECT_SS_UNSET(_enumValue)
-#define EFFECT_SS_OVERLAY_UNSET \
- { 0 }
+#include "tables/effect_ss_table.h"
+
+#undef DEFINE_EFFECT_SS
+#undef DEFINE_EFFECT_SS_UNSET
+
+#define DEFINE_EFFECT_SS(name, _enumValue) \
+ { \
+ SEGMENT_ROM_START(ovl_##name), \
+ SEGMENT_ROM_END(ovl_##name), \
+ SEGMENT_START(ovl_##name), \
+ SEGMENT_END(ovl_##name), \
+ NULL, \
+ &name##_InitVars, \
+ 1, \
+ },
+
+#define DEFINE_EFFECT_SS_UNSET(_enumValue) { 0 },
EffectSsOverlay gParticleOverlayTable[] = {
- EFFECT_SS_OVERLAY(Effect_Ss_Dust),
- EFFECT_SS_OVERLAY(Effect_Ss_Kirakira),
- EFFECT_SS_OVERLAY_UNSET,
- EFFECT_SS_OVERLAY(Effect_Ss_Bomb2),
- EFFECT_SS_OVERLAY(Effect_Ss_Blast),
- EFFECT_SS_OVERLAY(Effect_Ss_G_Spk),
- EFFECT_SS_OVERLAY(Effect_Ss_D_Fire),
- EFFECT_SS_OVERLAY(Effect_Ss_Bubble),
- EFFECT_SS_OVERLAY_UNSET,
- EFFECT_SS_OVERLAY(Effect_Ss_G_Ripple),
- EFFECT_SS_OVERLAY(Effect_Ss_G_Splash),
- EFFECT_SS_OVERLAY_UNSET,
- EFFECT_SS_OVERLAY(Effect_Ss_G_Fire),
- EFFECT_SS_OVERLAY(Effect_Ss_Lightning),
- EFFECT_SS_OVERLAY(Effect_Ss_Dt_Bubble),
- EFFECT_SS_OVERLAY(Effect_Ss_Hahen),
- EFFECT_SS_OVERLAY(Effect_Ss_Stick),
- EFFECT_SS_OVERLAY(Effect_Ss_Sibuki),
- EFFECT_SS_OVERLAY_UNSET,
- EFFECT_SS_OVERLAY_UNSET,
- EFFECT_SS_OVERLAY(Effect_Ss_Stone1),
- EFFECT_SS_OVERLAY(Effect_Ss_Hitmark),
- EFFECT_SS_OVERLAY(Effect_Ss_Fhg_Flash),
- EFFECT_SS_OVERLAY(Effect_Ss_K_Fire),
- EFFECT_SS_OVERLAY(Effect_Ss_Solder_Srch_Ball),
- EFFECT_SS_OVERLAY(Effect_Ss_Kakera),
- EFFECT_SS_OVERLAY(Effect_Ss_Ice_Piece),
- EFFECT_SS_OVERLAY(Effect_Ss_En_Ice),
- EFFECT_SS_OVERLAY(Effect_Ss_Fire_Tail),
- EFFECT_SS_OVERLAY(Effect_Ss_En_Fire),
- EFFECT_SS_OVERLAY(Effect_Ss_Extra),
- EFFECT_SS_OVERLAY_UNSET,
- EFFECT_SS_OVERLAY(Effect_Ss_Dead_Db),
- EFFECT_SS_OVERLAY(Effect_Ss_Dead_Dd),
- EFFECT_SS_OVERLAY(Effect_Ss_Dead_Ds),
- EFFECT_SS_OVERLAY_UNSET,
- EFFECT_SS_OVERLAY(Effect_Ss_Ice_Smoke),
- EFFECT_SS_OVERLAY(Effect_En_Ice_Block),
- EFFECT_SS_OVERLAY(Effect_Ss_Sbn),
+#include "tables/effect_ss_table.h"
};
+
+#undef DEFINE_EFFECT_SS
+#undef DEFINE_EFFECT_SS_UNSET
diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c
index bff81e8c9..a7004ad3c 100644
--- a/src/code/z_player_lib.c
+++ b/src/code/z_player_lib.c
@@ -1,3 +1,5 @@
+#include "prevent_bss_reordering.h"
+
#include "global.h"
#include "objects/gameplay_keep/gameplay_keep.h"