mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-12-01 08:23:02 +00:00
663e4549d8
* 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>
80 lines
2 KiB
C
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"
|