add support for custom coins star names (#560)
This commit is contained in:
parent
40b1406e29
commit
2d14e25df6
|
@ -261,7 +261,7 @@ const char *get_star_name_ascii(s16 courseNum, s16 starNum, s16 charCase) {
|
|||
static char output[256];
|
||||
|
||||
s16 starIndex = starNum - 1;
|
||||
if (starIndex >= 0 && starIndex < MAX_ACTS &&
|
||||
if (starIndex >= 0 && starIndex < MAX_ACTS_AND_100_COINS &&
|
||||
courseNum >= 0 && courseNum < COURSE_END &&
|
||||
gReplacedActNameTable[courseNum]->actName && gReplacedActNameTable[courseNum]->actName[starIndex].modIndex != -1) {
|
||||
snprintf(output, 256, "%s", gReplacedActNameTable[courseNum]->actName[starIndex].name);
|
||||
|
|
|
@ -45,13 +45,14 @@ void smlua_text_utils_init(void) {
|
|||
|
||||
// Individual acts
|
||||
if (COURSE_IS_MAIN_COURSE(courseNum)) {
|
||||
courseActNames->actName = calloc(MAX_ACTS, sizeof(struct ActName));
|
||||
courseActNames->actName = calloc(MAX_ACTS_AND_100_COINS, sizeof(struct ActName));
|
||||
for (s16 actNum = 0; actNum < MAX_ACTS; actNum++) {
|
||||
convert_string_sm64_to_ascii(actBuffer, segmented_to_virtual(actNameTbl[courseNum * MAX_ACTS + actNum]));
|
||||
snprintf(courseActNames->actName[actNum].name, 50, "%s", actBuffer);
|
||||
snprintf(courseActNames->actName[actNum].orig, 50, "%s", actBuffer);
|
||||
courseActNames->actName[actNum].modIndex = -1;
|
||||
}
|
||||
courseActNames->actName[MAX_ACTS_AND_100_COINS].modIndex = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -136,7 +137,7 @@ void smlua_text_utils_reset_all(void) {
|
|||
|
||||
// Individual acts
|
||||
if (COURSE_IS_MAIN_COURSE(courseNum)) {
|
||||
for (s16 actNum = 0; actNum < MAX_ACTS; actNum++) {
|
||||
for (s16 actNum = 0; actNum < MAX_ACTS_AND_100_COINS; actNum++) {
|
||||
snprintf(courseActNames->actName[actNum].name, 50, "%s", courseActNames->actName[actNum].orig);
|
||||
courseActNames->actName[actNum].modIndex = -1;
|
||||
}
|
||||
|
@ -226,7 +227,7 @@ void smlua_text_utils_course_name_reset(s16 courseNum) {
|
|||
}
|
||||
|
||||
void smlua_text_utils_act_name_replace(s16 courseNum, u8 actNum, const char* name) {
|
||||
if (INVALID_COURSE_NUM(courseNum) || actNum >= MAX_ACTS) { return; }
|
||||
if (INVALID_COURSE_NUM(courseNum) || actNum >= MAX_ACTS_AND_100_COINS) { return; }
|
||||
|
||||
struct CourseName* courseActNames = gReplacedActNameTable[courseNum];
|
||||
|
||||
|
@ -235,19 +236,19 @@ void smlua_text_utils_act_name_replace(s16 courseNum, u8 actNum, const char* nam
|
|||
}
|
||||
|
||||
const char* smlua_text_utils_act_name_get(s16 courseNum, u8 actNum) {
|
||||
if (INVALID_COURSE_NUM(courseNum) || actNum >= MAX_ACTS) { return NULL; }
|
||||
if (INVALID_COURSE_NUM(courseNum) || actNum >= MAX_ACTS_AND_100_COINS) { return NULL; }
|
||||
|
||||
return gReplacedActNameTable[courseNum]->actName[actNum].name;
|
||||
}
|
||||
|
||||
s32 smlua_text_utils_act_name_mod_index(s16 courseNum, u8 actNum) {
|
||||
if (INVALID_COURSE_NUM(courseNum) || actNum >= MAX_ACTS) { return false; }
|
||||
if (INVALID_COURSE_NUM(courseNum) || actNum >= MAX_ACTS_AND_100_COINS) { return false; }
|
||||
|
||||
return gReplacedActNameTable[courseNum]->actName[actNum].modIndex;
|
||||
}
|
||||
|
||||
void smlua_text_utils_act_name_reset(s16 courseNum, u8 actNum) {
|
||||
if (INVALID_COURSE_NUM(courseNum) || actNum >= MAX_ACTS) { return; }
|
||||
if (INVALID_COURSE_NUM(courseNum) || actNum >= MAX_ACTS_AND_100_COINS) { return; }
|
||||
|
||||
struct CourseName* courseActNames = gReplacedActNameTable[courseNum];
|
||||
snprintf(courseActNames->actName[actNum].name, 50, "%s", courseActNames->actName[actNum].orig);
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "dialog_ids.h"
|
||||
|
||||
#define MAX_ACTS 6
|
||||
#define MAX_ACTS_AND_100_COINS 7
|
||||
|
||||
struct ActName {
|
||||
char name[256];
|
||||
|
|
Loading…
Reference in New Issue