sm64/text/define_text.inc.c
2023-08-17 08:56:02 -04:00

66 lines
1.8 KiB
C

// == dialog ==
// (defines en_dialog_table etc.)
#define DEFINE_DIALOG(id, _1, _2, _3, _4, str) \
static const u8 dialog_text_ ## id[] = { str };
#include "dialogs.h"
#undef DEFINE_DIALOG
#define DEFINE_DIALOG(id, unused, linesPerBox, leftOffset, width, _) \
static const struct DialogEntry dialog_entry_ ## id = { \
unused, linesPerBox, leftOffset, width, dialog_text_ ## id \
};
#include "dialogs.h"
#undef DEFINE_DIALOG
#define DEFINE_DIALOG(id, _1, _2, _3, _4, _5) &dialog_entry_ ## id,
const struct DialogEntry *const seg2_dialog_table[] = {
#include "dialogs.h"
NULL
};
// == courses ==
// (defines en_course_name_table etc.)
// The game duplicates this in levels/menu/leveldata.c in EU, so we split
// it out into a separate include file.
#define COURSE_TABLE seg2_course_name_table
#include "define_courses.inc.c"
// == acts ==
// (defines en_act_name_table etc.)
#define COURSE_ACTS(id, name, a,b,c,d,e,f) \
static const u8 act_name_ ## id ## _1[] = { a }; \
static const u8 act_name_ ## id ## _2[] = { b }; \
static const u8 act_name_ ## id ## _3[] = { c }; \
static const u8 act_name_ ## id ## _4[] = { d }; \
static const u8 act_name_ ## id ## _5[] = { e }; \
static const u8 act_name_ ## id ## _6[] = { f };
#define SECRET_STAR(id, name)
#define CASTLE_SECRET_STARS(str)
#undef EXTRA_TEXT
#define EXTRA_TEXT(id, str) \
static const u8 extra_text_ ## id[] = { str };
#include "courses.h"
#undef COURSE_ACTS
#undef EXTRA_TEXT
#define COURSE_ACTS(id, name, a,b,c,d,e,f) \
act_name_ ## id ## _1, act_name_ ## id ## _2, act_name_ ## id ## _3, \
act_name_ ## id ## _4, act_name_ ## id ## _5, act_name_ ## id ## _6,
#define EXTRA_TEXT(id, str) extra_text_ ## id,
const u8 *const seg2_act_name_table[] = {
#include "courses.h"
NULL
};