sm64coopdx/text/define_text.inc.c
Isaac0-dev 663e4549d8
extract assets from rom at runtime (#4)
* Proof of concept for loading rom assets at runtime

* Added skybox textures

* Adjusted format

* Load all texture assets from rom

* Adjusted rom asset loading

* Load all Vtx lists from rom

* clean up toad, wario and his cap conflicts

* Load sound samples from rom

* fix toad sounds

* Loaded sequences from rom

* Load collisions from rom

* Object animations are now loaded from the rom

* Load player animations from rom

* Load goddard anims from rom

* whoops

* fix some compile errors

* drag and drop rom checker, everything works now.

* fix errors due to merge conflicts

* fix compile errors on windows, switch to md5

* fix vertex colors during load

Co-Authored-By: Agent X <44549182+agent-11@users.noreply.github.com>

* Load dialogs from rom

* Loaded course/act names from rom

* Loaded ingame text from rom

* rerun autogen & blacklist smlua_text_utils_init

* fix ttc_seg7_vertex_0700B238 colors

---------

Co-authored-by: MysterD <myster@d>
Co-authored-by: Agent X <44549182+agent-11@users.noreply.github.com>
2024-03-23 16:11:30 -04:00

80 lines
2 KiB
C

// == dialog ==
// (defines en_dialog_table etc.)
#define DEFINE_DIALOG(id, _1, _2, _3, _4, _len) \
static u8 dialog_text_ ## id[_len] = { 0xFF };
#include "dialogs.h"
#undef DEFINE_DIALOG
#define DEFINE_DIALOG(id, _1, _2, _3, _4, _5) dialog_text_ ## id,
const u8* seg2_dialog_original[] = {
#include "dialogs.h"
NULL
};
#undef DEFINE_DIALOG
#define DEFINE_DIALOG(id, unused, linesPerBox, leftOffset, width, _) \
static 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 u8 act_name_ ## id ## _1[a] = { 0xFF }; \
static u8 act_name_ ## id ## _2[b] = { 0xFF }; \
static u8 act_name_ ## id ## _3[c] = { 0xFF }; \
static u8 act_name_ ## id ## _4[d] = { 0xFF }; \
static u8 act_name_ ## id ## _5[e] = { 0xFF }; \
static u8 act_name_ ## id ## _6[f] = { 0xFF };
#define SECRET_STAR(id, name)
#define CASTLE_SECRET_STARS(str)
#undef EXTRA_TEXT
#define EXTRA_TEXT(id, str) \
static u8 extra_text_ ## id[str] = { 0xFF };
#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* seg2_act_name_table[] = {
#include "courses.h"
NULL
};
const u8* seg2_act_name_table_original[] = {
#include "courses.h"
NULL
};
#include "dialog_assets.inc.c"
#include "courses_assets.inc.c"