diff --git a/config/GMPE01_00/rels/bootDll/symbols.txt b/config/GMPE01_00/rels/bootDll/symbols.txt index 1bdde217..a3607705 100644 --- a/config/GMPE01_00/rels/bootDll/symbols.txt +++ b/config/GMPE01_00/rels/bootDll/symbols.txt @@ -11,59 +11,59 @@ TitleProc = .text:0x00002474; // type:function size:0x4D0 scope:local logoReadNintendo = .text:0x00002944; // type:function size:0x84 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_data_0 = .data:0x00000000; // type:object size:0x24 data:string -lbl_1_data_24 = .data:0x00000024; // type:object size:0x14 data:string +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float +lbl_1_data_0 = .data:0x00000000; // type:object size:0x24 scope:local data:string +lbl_1_data_24 = .data:0x00000024; // type:object size:0x14 scope:local data:string demoTimingTbl = .data:0x00000038; // type:object size:0x18 scope:local data:2byte progressivePosTbl = .data:0x00000050; // type:object size:0x8 scope:local -lbl_1_data_58 = .data:0x00000058; // type:object size:0x4 -lbl_1_data_5C = .data:0x0000005C; // type:object size:0x1A data:string -lbl_1_data_76 = .data:0x00000076; // type:object size:0x13 data:string -lbl_1_data_89 = .data:0x00000089; // type:object size:0x17 +lbl_1_data_58 = .data:0x00000058; // type:object size:0x4 scope:local +lbl_1_data_5C = .data:0x0000005C; // type:object size:0x1A scope:local data:string +lbl_1_data_76 = .data:0x00000076; // type:object size:0x13 scope:local data:string +lbl_1_data_89 = .data:0x00000089; // type:object size:0x17 scope:local logoNintendoData = .data:0x000000A0; // type:object size:0x307D align:32 lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 titleGroup = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte titleModel = .bss:0x00000008; // type:object size:0x6 scope:local data:2byte -demoWin = .bss:0x0000000E; // type:object size:0x2 data:2byte +demoWin = .bss:0x0000000E; // type:object size:0x2 scope:local data:2byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0xC lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x8 data:float lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x18 data:float lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0x18 data:float -objman = .bss:0x00000054; // type:object size:0x8 data:4byte +objman = .bss:0x00000054; // type:object size:0x8 scope:local data:4byte diff --git a/configure.py b/configure.py index f3c6f0f2..7402118f 100644 --- a/configure.py +++ b/configure.py @@ -767,7 +767,7 @@ config.libs = [ Rel('bootDll', objects = { Object(Matching, "REL/executor.c"), - Object(NonMatching, "REL/bootDll/main.c"), + Object(Matching, "REL/bootDll/main.c"), Object(Matching, "REL/bootDll/nintendo_data.c"), } ), diff --git a/src/REL/bootDll/main.c b/src/REL/bootDll/main.c index 461baf08..11027765 100644 --- a/src/REL/bootDll/main.c +++ b/src/REL/bootDll/main.c @@ -386,7 +386,6 @@ void fn_1_1178(void) } } -//NON_MATCHING, only one in file void fn_1_152C(void) { Point3d temp_f0; Point3d temp_f0_4; @@ -406,40 +405,49 @@ void fn_1_152C(void) { lbl_1_bss_0 = var_r30; } if (lbl_1_bss_0 != 0) { - lbl_1_bss_3C->y += 0.1f * HuPadStkX[0]; - lbl_1_bss_3C->x += 0.1f * HuPadStkY[0]; - *lbl_1_bss_1C += HuPadTrigL[0] / 2; - *lbl_1_bss_1C -= HuPadTrigR[0] / 2; - if (*lbl_1_bss_1C < 100.0f) { - *lbl_1_bss_1C = 100.0f; + lbl_1_bss_3C[0].y += 0.1f * HuPadStkX[0]; + lbl_1_bss_3C[0].x += 0.1f * HuPadStkY[0]; + lbl_1_bss_1C[0] += HuPadTrigL[0] / 2; + lbl_1_bss_1C[0] -= HuPadTrigR[0] / 2; + if (lbl_1_bss_1C[0] < 100.0f) { + lbl_1_bss_1C[0] = 100.0f; } - temp_f0.x = lbl_1_bss_24->x + (*lbl_1_bss_1C * (sin((M_PI * lbl_1_bss_3C->y) / 180.0) * cos((M_PI * lbl_1_bss_3C->x) / 180.0))); - temp_f0.y = (lbl_1_bss_24->y + (*lbl_1_bss_1C * -sin((M_PI * lbl_1_bss_3C->x) / 180.0))); - temp_f0.z = (lbl_1_bss_24->z + (*lbl_1_bss_1C * (cos((M_PI * lbl_1_bss_3C->y) / 180.0) * cos((M_PI * lbl_1_bss_3C->x) / 180.0)))); - temp_f0_4.x = lbl_1_bss_24->x - temp_f0.x; - temp_f0_4.y = lbl_1_bss_24->y - temp_f0.y; - temp_f0_4.z = lbl_1_bss_24->z - temp_f0.z; - temp_f0_7.x = (sin((M_PI * lbl_1_bss_3C->y) / 180.0) * sin((M_PI * lbl_1_bss_3C->x) / 180.0)); - temp_f0_7.y = cos((M_PI * lbl_1_bss_3C->x) / 180.0); - temp_f0_7.z = (cos((M_PI * lbl_1_bss_3C->y) / 180.0) * sin((M_PI * lbl_1_bss_3C->x) / 180.0)); - temp_f31 = lbl_1_bss_3C->z; - sp8.x = ((temp_f0_7.x * ((temp_f0_4.x * temp_f0_4.x) + ((1.0f - (temp_f0_4.x * temp_f0_4.x)) * cos((M_PI * temp_f31) / 180.0)))) + temp_f0_7.y * (((temp_f0_4.x * temp_f0_4.y) * (1.0 - cos((M_PI * temp_f31) / 180.0))) - temp_f0_4.z * sin((M_PI * temp_f31) / 180.0)) + temp_f0_7.z * (((temp_f0_4.x * temp_f0_4.z) * (1.0 - cos((M_PI * temp_f31) / 180.0))) + temp_f0_4.y * sin((M_PI * temp_f31) / 180.0))); - sp8.y = ((temp_f0_7.y * ((temp_f0_4.y * temp_f0_4.y) + ((1.0f - (temp_f0_4.y * temp_f0_4.y)) * cos((M_PI * temp_f31) / 180.0)))) + temp_f0_7.x * (((temp_f0_4.x * temp_f0_4.y) * (1.0 - cos((M_PI * temp_f31) / 180.0))) + temp_f0_4.z * sin((M_PI * temp_f31) / 180.0)) + temp_f0_7.z * (((temp_f0_4.y * temp_f0_4.z) * (1.0 - cos((M_PI * temp_f31) / 180.0))) - temp_f0_4.x * sin((M_PI * temp_f31) / 180.0))); - sp8.z = ((temp_f0_7.z * (temp_f0_4.z * temp_f0_4.z + ((1.0f - (temp_f0_4.z * temp_f0_4.z)) * cos((M_PI * temp_f31) / 180.0)))) + (temp_f0_7.x * (((temp_f0_4.x * temp_f0_4.z) * (1.0 - cos((M_PI * temp_f31) / 180.0))) - temp_f0_4.y * sin((M_PI * temp_f31) / 180.0))) + temp_f0_7.y * (((temp_f0_4.y * temp_f0_4.z) * (1.0 - cos((M_PI * temp_f31) / 180.0))) + temp_f0_4.x * sin((M_PI * temp_f31) / 180.0))); + temp_f0.x = lbl_1_bss_24[0].x + (lbl_1_bss_1C[0] * (sin((M_PI * lbl_1_bss_3C[0].y) / 180.0) * cos((M_PI * lbl_1_bss_3C[0].x) / 180.0))); + temp_f0.y = (lbl_1_bss_24[0].y + (lbl_1_bss_1C[0] * -sin((M_PI * lbl_1_bss_3C[0].x) / 180.0))); + temp_f0.z = (lbl_1_bss_24[0].z + (lbl_1_bss_1C[0] * (cos((M_PI * lbl_1_bss_3C[0].y) / 180.0) * cos((M_PI * lbl_1_bss_3C[0].x) / 180.0)))); + temp_f0_4.x = lbl_1_bss_24[0].x - temp_f0.x; + temp_f0_4.y = lbl_1_bss_24[0].y - temp_f0.y; + temp_f0_4.z = lbl_1_bss_24[0].z - temp_f0.z; + temp_f0_7.x = (sin((M_PI * lbl_1_bss_3C[0].y) / 180.0) * sin((M_PI * lbl_1_bss_3C[0].x) / 180.0)); + temp_f0_7.y = cos((M_PI * lbl_1_bss_3C[0].x) / 180.0); + temp_f0_7.z = (cos((M_PI * lbl_1_bss_3C[0].y) / 180.0) * sin((M_PI * lbl_1_bss_3C[0].x) / 180.0)); + temp_f31 = lbl_1_bss_3C[0].z; + sp8.x = temp_f0_7.x * (temp_f0_4.x * temp_f0_4.x + (1.0f - temp_f0_4.x * temp_f0_4.x) * cos((M_PI * temp_f31) / 180.0)) + + temp_f0_7.y * (temp_f0_4.x * temp_f0_4.y * (1.0f - cos((M_PI * temp_f31) / 180.0)) - temp_f0_4.z * sin((M_PI * temp_f31) / 180.0)) + + temp_f0_7.z * (temp_f0_4.x * temp_f0_4.z * (1.0f - cos((M_PI * temp_f31) / 180.0)) + temp_f0_4.y * sin((M_PI * temp_f31) / 180.0)); + + sp8.y = temp_f0_7.y * (temp_f0_4.y * temp_f0_4.y + (1.0f - temp_f0_4.y * temp_f0_4.y) * cos((M_PI * temp_f31) / 180.0)) + + temp_f0_7.x * (temp_f0_4.x * temp_f0_4.y * (1.0f - cos((M_PI * temp_f31) / 180.0)) + temp_f0_4.z * sin((M_PI * temp_f31) / 180.0)) + + temp_f0_7.z * (temp_f0_4.y * temp_f0_4.z * (1.0f - cos((M_PI * temp_f31) / 180.0)) - temp_f0_4.x * sin((M_PI * temp_f31) / 180.0)); + + sp8.z = temp_f0_7.z * (temp_f0_4.z * temp_f0_4.z + (1.0f - temp_f0_4.z * temp_f0_4.z) * cos((M_PI * temp_f31) / 180.0)) + + (temp_f0_7.x * (temp_f0_4.x * temp_f0_4.z * (1.0 - cos((M_PI * temp_f31) / 180.0)) - temp_f0_4.y * sin((M_PI * temp_f31) / 180.0)) + + temp_f0_7.y * (temp_f0_4.y * temp_f0_4.z * (1.0 - cos((M_PI * temp_f31) / 180.0)) + temp_f0_4.x * sin((M_PI * temp_f31) / 180.0))); + PSVECCrossProduct(&temp_f0_7, &temp_f0_4, &temp_f0_4); PSVECNormalize(&temp_f0_4, &temp_f0_4); temp_r31 = (HuPadSubStkX[0] & 0xF8); if (temp_r31 != 0) { - lbl_1_bss_24->x += 0.05f * (temp_f0_4.x * temp_r31); - lbl_1_bss_24->y += 0.05f * (temp_f0_4.y * temp_r31); - lbl_1_bss_24->z += 0.05f * (temp_f0_4.z * temp_r31); + lbl_1_bss_24[0].x += 0.05f * (temp_f0_4.x * temp_r31); + lbl_1_bss_24[0].y += 0.05f * (temp_f0_4.y * temp_r31); + lbl_1_bss_24[0].z += 0.05f * (temp_f0_4.z * temp_r31); } PSVECNormalize(&sp8, &temp_f0_4); temp_r31 = -(HuPadSubStkY[0] & 0xF8); if (temp_r31 != 0) { - lbl_1_bss_24->x += 0.05f * (temp_f0_4.x * temp_r31); - lbl_1_bss_24->y += 0.05f * (temp_f0_4.y * temp_r31); - lbl_1_bss_24->z += 0.05f * (temp_f0_4.z * temp_r31); + lbl_1_bss_24[0].x += 0.05f * (temp_f0_4.x * temp_r31); + lbl_1_bss_24[0].y += 0.05f * (temp_f0_4.y * temp_r31); + lbl_1_bss_24[0].z += 0.05f * (temp_f0_4.z * temp_r31); } } } @@ -541,6 +549,7 @@ static BOOL TitleProc(void) HuSprAttrSet(titleGroup, 1, SPRITE_ATTR_HIDDEN); HuSprAttrSet(titleGroup, 2, SPRITE_ATTR_HIDDEN); HuSprAttrSet(titleGroup, 3, SPRITE_ATTR_HIDDEN); - fn_1_152C(); return 0; -} \ No newline at end of file +} + +char data_pad[] = "\0\0\0\0\0\0\0"; \ No newline at end of file diff --git a/src/REL/w03Dll/mg_item.c b/src/REL/w03Dll/mg_item.c index 066ee2b0..9efb1210 100644 --- a/src/REL/w03Dll/mg_item.c +++ b/src/REL/w03Dll/mg_item.c @@ -44,7 +44,7 @@ typedef struct someBits2 { s8 unk1; s8 unk2; u8 unk3[3]; - s16 unk_06[3]; + s16 unk_06[4]; } someBits2; typedef struct w03UnkMG { @@ -338,7 +338,7 @@ void fn_1_A44C(s32 arg0) { s32 temp_r28; BoardMusStart(1, 0x17, 0x7F, 0); - temp_r30 = MGSeqCreate(3, 0U); + temp_r30 = MGSeqCreate(3, 0); while (MGSeqGetStat(temp_r30) != 0) { HuPrcVSleep(); }