Fix mstory2 data locality and apply DATA_MAKE_NUM macros (#522)

* Make rodata and strings local in mstory2

* use DATA_MAKE_NUM macros
This commit is contained in:
dbalatoni13 2025-01-11 15:50:52 +01:00 committed by GitHub
parent f28e9d19aa
commit f79a3f88b1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 2589 additions and 2337 deletions

View file

@ -139,7 +139,7 @@ void ObjectSetup(void)
lbl_1_bss_34 = omAddObjEx(var_r31, 0xA, 0, 0, -1, fn_1_65C);
fn_1_4A80(var_r31);
fn_1_BBC4(var_r31);
lbl_1_bss_10 = espEntry(0x3D001B, 0x64, 0);
lbl_1_bss_10 = espEntry(DATA_MAKE_NUM(DATADIR_M430, 0x1B), 0x64, 0);
espPosSet(lbl_1_bss_10, 288.0, 240.0);
espScaleSet(lbl_1_bss_10, 0.22499999403953552, 60.0);
espDispOff(lbl_1_bss_10);

View file

@ -219,21 +219,22 @@ void fn_1_F6A0(omObjData *object);
void fn_1_FC9C(omObjData *object);
M430PlayerData170Struct lbl_1_data_170[7] = {
{ 0x5F0042, -1 },
{ DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x42), -1 },
{ 0, 1 },
{ 0, 2 },
{ 0, 3 },
{ 0, -1 },
{ 0x5F0017, -1 },
{ 0x5F0018, -1 },
{ DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), -1 },
{ DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), -1 },
};
M430PlayerData170Struct lbl_1_data_1A8[4] = {
{ 0, 4 },
{ 0x5F0000, -1 },
{ 0x5F0017, -1 },
{ 0x5F0018, -1 },
{ DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), -1 },
{ DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17), -1 },
{ DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18), -1 },
};
s32 lbl_1_data_1C8[5] = { 0, 0x3D0031, 0x3D0039, 0x3D0041, 0x3D0049 };
s32 lbl_1_data_1C8[5] = { 0, DATA_MAKE_NUM(DATADIR_M430, 0x31), DATA_MAKE_NUM(DATADIR_M430, 0x39), DATA_MAKE_NUM(DATADIR_M430, 0x41),
DATA_MAKE_NUM(DATADIR_M430, 0x49) };
float lbl_1_data_1DC[7] = { -262.5f, -173.25f, -86.625f, 0.0f, 86.625f, 173.25f, 262.5f };
Vec lbl_1_data_1F8[8] = {
{ 0.0f, 0.0f, 0.0f },
@ -246,9 +247,9 @@ Vec lbl_1_data_1F8[8] = {
{ -60.000004f, 0.0f, -120.00001f },
};
float lbl_1_data_258[8] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 25.0f, 0.0f, 25.0f };
s32 lbl_1_data_278[2] = { 0x3D001C, 0x3D001D };
s32 lbl_1_data_280[2] = { 0x3D001E, 0x3D001F };
s32 lbl_1_data_288[2] = { 0x3D0020, 0x3D0021 };
s32 lbl_1_data_278[2] = { DATA_MAKE_NUM(DATADIR_M430, 0x1C), DATA_MAKE_NUM(DATADIR_M430, 0x1D) };
s32 lbl_1_data_280[2] = { DATA_MAKE_NUM(DATADIR_M430, 0x1E), DATA_MAKE_NUM(DATADIR_M430, 0x1F) };
s32 lbl_1_data_288[2] = { DATA_MAKE_NUM(DATADIR_M430, 0x20), DATA_MAKE_NUM(DATADIR_M430, 0x21) };
s32 lbl_1_bss_17C;
Process *lbl_1_bss_178;
@ -427,7 +428,7 @@ void fn_1_C1E4(omObjData *object)
Hu3DModelLayerSet(object->model[1], 2);
Hu3DModelCameraSet(object->model[1], 3);
Hu3DModelScaleSet(object->model[1], 1.2f, 1.2f, 1.2f);
object->model[2] = Hu3DModelCreateFile(0x3D0025);
object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x25));
Hu3DModelLayerSet(object->model[2], 1);
Hu3DModelCameraSet(object->model[2], 3);
work->unk_60 = HuAudFXPlay(0x67A);
@ -1659,14 +1660,14 @@ void fn_1_10B88(void)
for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) {
var_r31->unk_00 = var_r30;
if (var_r30 == 0) {
var_r31->unk_04 = Hu3DModelCreateFile(0x3D0023);
var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x23));
}
else {
var_r31->unk_04 = Hu3DModelLink(lbl_1_bss_16C[0].unk_04);
}
Hu3DModelLayerSet(var_r31->unk_04, 2);
Hu3DModelAttrSet(var_r31->unk_04, HU3D_ATTR_DISPOFF);
var_r31->unk_08 = Hu3DModelCreateFile(0x3D0024);
var_r31->unk_08 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x24));
Hu3DModelLayerSet(var_r31->unk_08, 2);
Hu3DModelAttrSet(var_r31->unk_08, HU3D_ATTR_DISPOFF);
var_r31->unk_0C = 0;
@ -1836,7 +1837,7 @@ void fn_1_113AC(void)
for (var_r30 = 0; var_r30 < 0x20; var_r31++) {
var_r31->unk_00 = var_r30;
if (var_r30 == 0) {
var_r31->unk_04 = Hu3DModelCreateFile(0x3D0022);
var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x22));
}
else {
var_r31->unk_04 = Hu3DModelLink(lbl_1_bss_168[0].unk_04);
@ -2006,7 +2007,7 @@ void fn_1_11C1C(void)
memset(var_r31, 0, 8 * sizeof(M430PlayerBss164Struct));
for (var_r30 = 0; var_r30 < 8; var_r30++, var_r31++) {
if (var_r30 == 0) {
var_r31->unk_14 = HuSprAnimRead(HuDataReadNum(0x3D0026, MEMORY_DEFAULT_NUM));
var_r31->unk_14 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x26), MEMORY_DEFAULT_NUM));
}
else {
var_r31->unk_14 = lbl_1_bss_164[0].unk_14;
@ -2182,7 +2183,7 @@ void fn_1_125C4(void)
switch (var_r30) {
case 0:
case 1:
var_r31->unk_10[var_r30] = espEntry(0x610033, 1, 0);
var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x33), 1, 0);
espPriSet(var_r31->unk_10[var_r30], 0x40);
var_r31->unk_28[var_r30][0] = (var_r30 * 0x14) + 0xB;
var_r31->unk_28[var_r30][1] = 0;
@ -2191,17 +2192,17 @@ void fn_1_125C4(void)
break;
case 2:
if (var_r29 == 0) {
var_r31->unk_10[var_r30] = espEntry(0x61001B, 1, 0);
var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1B), 1, 0);
}
else {
var_r31->unk_10[var_r30] = espEntry(0x61001C, 1, 0);
var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1C), 1, 0);
}
espPriSet(var_r31->unk_10[var_r30], 0xFF);
var_r31->unk_28[var_r30][0] = 0;
var_r31->unk_28[var_r30][1] = 0;
break;
case 3:
var_r31->unk_10[var_r30] = espEntry(0x61001D, 1, 0);
var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x1D), 1, 0);
espPriSet(var_r31->unk_10[var_r30], 0x100);
espTPLvlSet(var_r31->unk_10[var_r30], 0.6000000238418579);
espColorSet(var_r31->unk_10[var_r30], 0, 0, 0);
@ -2209,13 +2210,13 @@ void fn_1_125C4(void)
var_r31->unk_28[var_r30][1] = 0;
break;
case 4:
var_r31->unk_10[var_r30] = espEntry(0x610008, 1, 0);
var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_MGCONST, 0x08), 1, 0);
espPriSet(var_r31->unk_10[var_r30], 0x80);
var_r31->unk_28[var_r30][0] = -0x21;
var_r31->unk_28[var_r30][1] = 0;
break;
case 5:
var_r31->unk_10[var_r30] = espEntry(0x3D0028, 1, 0);
var_r31->unk_10[var_r30] = espEntry(DATA_MAKE_NUM(DATADIR_M430, 0x28), 1, 0);
espPriSet(var_r31->unk_10[var_r30], 0x80);
espZRotSet(var_r31->unk_10[var_r30], 45.0);
var_r31->unk_28[var_r30][0] = -0xA;

View file

@ -165,11 +165,11 @@ void fn_1_4A80(Process *process)
{
omObjData *object;
lbl_1_bss_150 = HuSprAnimRead(HuDataReadNum(0x3D0019, 0x10000000));
lbl_1_bss_14C = HuSprAnimRead(HuDataReadNum(0x3D001A, 0x10000000));
lbl_1_bss_148 = HuSprAnimRead(HuDataReadNum(0x3D0014, 0x10000000));
lbl_1_bss_144 = HuSprAnimRead(HuDataReadNum(0x3D0017, 0x10000000));
lbl_1_bss_140 = HuSprAnimRead(HuDataReadNum(0x3D0018, 0x10000000));
lbl_1_bss_150 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x19), MEMORY_DEFAULT_NUM));
lbl_1_bss_14C = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x1A), MEMORY_DEFAULT_NUM));
lbl_1_bss_148 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x14), MEMORY_DEFAULT_NUM));
lbl_1_bss_144 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x17), MEMORY_DEFAULT_NUM));
lbl_1_bss_140 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M430, 0x18), MEMORY_DEFAULT_NUM));
object = lbl_1_bss_58 = omAddObjEx(process, 0x1E, 0x68, 0, -1, fn_1_4CB4);
object->work[0] = 0;
object = lbl_1_bss_54 = omAddObjEx(process, 0x1E, 7, 0, -1, fn_1_803C);
@ -200,12 +200,12 @@ void fn_1_4CB4(omObjData *object)
s32 var_r25;
M430DllWork *work;
u32 spC[1] = { 0x3D0001 };
u32 spC[1] = { DATA_MAKE_NUM(DATADIR_M430, 0x01) };
s32 sp8[1];
u32 sp90[4] = { 0x003D000B, 0x003D000C, 0x003D000D, 0x003D000E };
u32 sp80[4] = { 0x003D0002, 0x003D0002, 0x003D0003, 0x003D0003 };
u32 sp70[4] = { 0x003D0004, 0x003D0004, 0x00000000, 0x00000000 };
u32 sp60[4] = { 0x003D0006, 0x003D0007, 0x003D0008, 0x003D0009 };
u32 sp90[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x0B), DATA_MAKE_NUM(DATADIR_M430, 0x0C), DATA_MAKE_NUM(DATADIR_M430, 0x0D), DATA_MAKE_NUM(DATADIR_M430, 0x0E) };
u32 sp80[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x03), DATA_MAKE_NUM(DATADIR_M430, 0x03) };
u32 sp70[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x04), DATA_MAKE_NUM(DATADIR_M430, 0x04), 0, 0 };
u32 sp60[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x06), DATA_MAKE_NUM(DATADIR_M430, 0x07), DATA_MAKE_NUM(DATADIR_M430, 0x08), DATA_MAKE_NUM(DATADIR_M430, 0x09) };
s32 sp50[4];
s32 sp40[4];
s32 sp30[4];
@ -227,11 +227,11 @@ void fn_1_4CB4(omObjData *object)
}
var_r30 = work;
for (var_r31 = 0; var_r31 < 2; var_r31++) {
object->model[var_r31] = Hu3DModelCreateFile(0x3D0000);
object->model[var_r31] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x00));
var_r30[var_r31].unk_18 = object->model[var_r31];
Hu3DModelLayerSet(var_r30[var_r31].unk_18, 0);
Hu3DModelScaleSet(var_r30[var_r31].unk_18, 1.15f, 1.15f, 1.15f);
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x3D000A), 1);
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M430, 0x0A)), 1);
var_r30[var_r31].unk_1A = var_r27;
Hu3DModelLayerSet(var_r27, 1);
*((s16 *)Hu3DData[var_r27].unk_120) = 1;
@ -247,14 +247,14 @@ void fn_1_4CB4(omObjData *object)
var_r26->material[var_r28].invAlpha = 0.001f;
}
}
object->model[2] = Hu3DModelCreateFile(0x3D000F);
object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x0F));
Hu3DModelLayerSet(object->model[2], 1);
Hu3DModelScaleSet(object->model[2], 1.5f, 1.5f, 1.5f);
object->model[3] = Hu3DModelCreateFile(0x3D0010);
object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x10));
Hu3DModelLayerSet(object->model[3], 2);
Hu3DModelScaleSet(object->model[3], 1.5f, 1.5f, 1.5f);
for (var_r31 = 0; var_r31 < 2; var_r31++) {
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x3D0015), 0x64);
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M430, 0x15)), 0x64);
object->model[var_r31 + 4] = var_r27;
var_r30[var_r31].unk_10 = var_r27;
Hu3DModelLayerSet(var_r27, 2);
@ -264,7 +264,7 @@ void fn_1_4CB4(omObjData *object)
*((s16 *)Hu3DData[var_r27].unk_120) = 0;
}
for (var_r31 = 0; var_r31 < 2; var_r31++) {
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x3D0015), 0x64);
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M430, 0x15)), 0x64);
object->model[var_r31 + 6] = var_r27;
var_r30[var_r31].unk_14 = var_r27;
Hu3DModelLayerSet(var_r27, 1);
@ -701,7 +701,7 @@ M430DllUnkStruct2 *fn_1_70AC(omObjData *arg0, s32 var_r27, s16 var_r28)
s32 var_r30;
M430DllUnkStruct2 *var_r29;
u32 sp10[2] = { 0x003D0011, 0x003D0012 };
u32 sp10[2] = { DATA_MAKE_NUM(DATADIR_M430, 0x11), DATA_MAKE_NUM(DATADIR_M430, 0x12) };
s32 sp8[2] = { 1, 2 };
var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r28 * sizeof(M430DllUnkStruct2), MEMORY_DEFAULT_NUM);
memset(var_r29, 0, var_r28 * 0x3C);
@ -807,7 +807,7 @@ void fn_1_7848(omObjData *object)
work = HuMemDirectMallocNum(HEAP_SYSTEM, var_r30 * sizeof(M430DllWork2), MEMORY_DEFAULT_NUM);
object->data = work;
memset(work, 0, var_r30 * sizeof(M430DllWork2));
var_r26 = Hu3DModelCreateFile(0x3D0013);
var_r26 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x13));
var_f29 = 1000.0f;
for (var_r31 = work, var_r29 = 0; var_r29 < var_r30; var_r29++, var_r31++) {
var_r31->unk_00 = Hu3DModelLink(var_r26);