diff --git a/config/GMPE01_00/rels/w10Dll/splits.txt b/config/GMPE01_00/rels/w10Dll/splits.txt index f5f55b85..bb5f36ac 100644 --- a/config/GMPE01_00/rels/w10Dll/splits.txt +++ b/config/GMPE01_00/rels/w10Dll/splits.txt @@ -10,12 +10,20 @@ REL/w10Dll/w10Dll_init.c: .text start:0x00000000 end:0x000000E0 REL/w10Dll/w10Dll.c: - .text start:0x000000E0 end:0x00000D2C - .rodata start:0x00000000 end:0x00000048 + .text start:0x000000E0 end:0x00000C20 + .rodata start:0x00000000 end:0x00000038 .data start:0x00000000 end:0x00000098 .bss start:0x00000000 end:0x00000038 REL/w10Dll/w10Dll2.c: - .text start:0x00000D2C end:0x0000206C - .rodata start:0x00000048 end:0x00000070 + .text start:0x00000C20 end:0x00000D2C + .rodata start:0x00000038 end:0x00000048 + +REL/w10Dll/w10Dll3.c: + .text start:0x00000D2C end:0x0000176C + .rodata start:0x00000048 end:0x00000050 + +REL/w10Dll/w10Dll4.c: + .text start:0x0000176C end:0x0000206C + .rodata start:0x00000050 end:0x00000070 .data start:0x00000098 end:0x000002D4 diff --git a/config/GMPE01_00/rels/w10Dll/symbols.txt b/config/GMPE01_00/rels/w10Dll/symbols.txt index 71fe586c..856dd9b1 100644 --- a/config/GMPE01_00/rels/w10Dll/symbols.txt +++ b/config/GMPE01_00/rels/w10Dll/symbols.txt @@ -65,25 +65,25 @@ fn_1_1E3C = .text:0x00001E3C; // type:function size:0x174 fn_1_1FB0 = .text:0x00001FB0; // type:function size:0xBC _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_28 = .rodata:0x00000028; // type:object size:0x8 data:double -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:0x8 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_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double +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_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double +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:0x8 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_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x28 data:float lbl_1_data_28 = .data:0x00000028; // type:object size:0x2 data:2byte lbl_1_data_2A = .data:0x0000002A; // type:object size:0x2 data:2byte diff --git a/configure.py b/configure.py index ee431ab4..e98c7380 100755 --- a/configure.py +++ b/configure.py @@ -317,6 +317,8 @@ config.libs = [ Object(Matching, "REL/w10Dll/w10Dll_init.c"), Object(Matching, "REL/w10Dll/w10Dll.c"), Object(Matching, "REL/w10Dll/w10Dll2.c"), + Object(Matching, "REL/w10Dll/w10Dll3.c"), + Object(Matching, "REL/w10Dll/w10Dll4.c"), ], }, ] diff --git a/src/REL/w10Dll/w10Dll.c b/src/REL/w10Dll/w10Dll.c index e65806fb..18f05e5c 100644 --- a/src/REL/w10Dll/w10Dll.c +++ b/src/REL/w10Dll/w10Dll.c @@ -286,32 +286,3 @@ void fn_1_C10(s16 arg0) { lbl_1_bss_1C = arg0; } -const Vec2f lbl_1_rodata_38 = { - 0.2617994f, 0.0f -}; - -const Vec2f lbl_1_rodata_40 = { - 0.2f, 0.0f -}; - -void fn_1_C20(void) { - Mtx sp20; - Vec3f sp14; - Vec3f sp8; - - while (1) { - if (fn_8005B6A8() != 0) { - fn_8006DB90(lbl_1_bss_1E); - fn_800B42BC(-1); - HuPrcEnd(); - } - Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14); - fn_8006F158(lbl_1_bss_1E, &sp14); - fn_8005D5C0(&sp8); - PSMTXRotRad(sp20, 'y', lbl_1_rodata_38.x); - fn_8006EFBC(lbl_1_bss_1E, sp20); - fn_8006F270(lbl_1_bss_1E, sp8.x, 0.0f, 0.0f); - fn_8006F338(lbl_1_bss_1E, lbl_1_rodata_40.x, lbl_1_rodata_40.x, lbl_1_rodata_40.x); - HuPrcVSleep(); - } -} \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll2.c b/src/REL/w10Dll/w10Dll2.c index a6e33d6f..573539b3 100644 --- a/src/REL/w10Dll/w10Dll2.c +++ b/src/REL/w10Dll/w10Dll2.c @@ -1,498 +1,23 @@ -#include "include/REL/w10Dll.h" +#include "REL/w10Dll.h" -char lbl_1_data_98[] = "@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n\000"; - -w10DllUnk03 lbl_1_data_C6[11] = { -1, -1, -1, -2, -1, -1, -4, -1, -1, -5, -1, -1, -5, -1, -1, -4, -1, -1, -1, -1, -1, -3, -1, -1, -2, -1, -1, -4, -1, -1, -5, 6, -1, -}; - -w10DllUnk04 lbl_1_data_108[42] = { -{0x0000, 0000, fn_1_D2C}, -{0x0001, 0000, fn_1_D54}, -{0x0002, 0000, fn_1_D7C}, -{0x0003, 0000, fn_1_DA4}, -{0x0003, 0000, fn_1_DCC}, -{0x0003, 0000, fn_1_DF4}, -{0x0003, 0000, fn_1_E1C}, -{0x0004, 0000, fn_1_E44}, -{0x0005, 0000, fn_1_E94}, -{0x0006, 0000, fn_1_EBC}, -{0x0007, 0000, fn_1_EE4}, -{0x000A, 0000, fn_1_EE8}, -{0x000B, 0000, fn_1_F30}, -{0x0010, 0000, fn_1_F6C}, -{0x0011, 0000, fn_1_FB8}, -{0x000C, 0000, fn_1_1010}, -{0x000D, 0000, fn_1_105C}, -{0x000E, 0000, fn_1_1098}, -{0x000E, 0000, fn_1_10C0}, -{0x000F, 0000, fn_1_10F8}, -{0x0012, 0000, fn_1_1134}, -{0x0014, 0000, fn_1_1178}, -{0x0015, 0000, fn_1_11A0}, -{0x0016, 0000, fn_1_11EC}, -{0x0005, 0000, fn_1_1240}, -{0x0017, 0000, fn_1_1278}, -{0x0007, 0000, fn_1_12A0}, -{0x0005, 0000, fn_1_12DC}, -{0x0017, 0000, fn_1_1304}, -{0x0018, 0000, fn_1_132C}, -{0x0019, 0000, fn_1_1354}, -{0x0008, 0000, fn_1_137C}, -{0x0009, 0000, fn_1_13A4}, -{0x001A, 0000, fn_1_176C}, -{0x001B, 0000, fn_1_179C}, -{0x001B, 0000, fn_1_17F4}, -{0x001B, 0000, fn_1_1834}, -{0x001B, 0000, fn_1_18BC}, -{0x001C, 0000, fn_1_1908}, -{0x001C, 0000, fn_1_1930}, -{0x001C, 0000, fn_1_1958}, -{-1, 0, 0}, -}; - -char lbl_1_data_258[] = "Tutorial Hook P0:%d P1:%d P2:%d P3:%d SCEN:%d CUE:%d PRM:%d DICE:%d MSG:%d\n"; - -s32 lbl_1_data_2A8[11] = { -0x007B0004, -0x007B0005, -0x007B0006, -0x007B0007, -0x007B0008, -0x007B0009, -0x007B000A, -0x007B000B, -0x007B000C, -0x007B000D, -0x007B000E -}; - -void fn_1_D2C(void) { - fn_1_BA0(0x2E0001); -} - -void fn_1_D54(void) { - fn_1_BA0(0x2E0002); -} - -void fn_1_D7C(void) { - fn_1_BA0(0x2E0003); -} - -void fn_1_DA4(void) { - fn_1_BA0(0x2E0004); -} - -void fn_1_DCC(void) { - fn_1_BA0(0x2E0005); -} - -void fn_1_DF4(void) { - fn_1_BA0(0x2E0006); -} - -void fn_1_E1C(void) { - fn_1_BA0(0x2E0007); -} - -void fn_1_E44(void) { - fn_1_BA0(0x2E0008); - fn_1_BA0(0x2E0009); - fn_8007500C(0); - fn_8006F50C(lbl_1_data_2C, 1); -} - -void fn_1_E94(void) { - fn_1_BA0(0x2E000A); -} - -void fn_1_EBC(void) { - fn_1_BA0(0x2E000B); -} - -void fn_1_EE4(void) { - -} - -void fn_1_EE8(void) { - fn_1_1E3C(0, 0x122, 0x8C); - fn_1_BA0(0x2E000C); - fn_1_BA0(0x2E000D); - fn_1_1FB0(); -} - -void fn_1_F30(void) { - fn_1_1E3C(1, 0x122, 0x8C); - fn_1_BA0(0x2E000E); - fn_1_1FB0(); -} - -void fn_1_F6C(void) { - fn_1_1E3C(2, 0x122, 0x8C); - fn_1_BA0(0x2E000F); - fn_1_1FB0(); - fn_800B4264(0, 0x50, 1); -} - -void fn_1_FB8(void) { - fn_1_1E3C(3, 0x122, 0x8C); - fn_1_BA0(0x2E0010); - fn_1_1FB0(); - fn_1_BA0(0x2E0011); - fn_800B4264(-0x50, 0, 1); -} - -void fn_1_1010(void) { - fn_1_1E3C(4, 0x122, 0x8C); - fn_1_BA0(0x2E0012); - fn_1_1FB0(); - fn_800B4264(0, 0x50, 1); -} - -void fn_1_105C(void) { - fn_1_1E3C(5, 0x122, 0x8C); - fn_1_BA0(0x2E0013); - fn_1_1FB0(); -} - -void fn_1_1098(void) { - fn_1_BA0(0x2E0014); -} - -void fn_1_10C0(void) { - fn_1_BA0(0x2E0015); - fn_800B4264(-0x50, 0, 1); -} - -void fn_1_10F8(void) { - fn_1_1E3C(6, 0x122, 0x8C); - fn_1_BA0(0x2E0016); - fn_1_1FB0(); -} - -void fn_1_1134(void) { - fn_1_1E3C(7, 0x122, 0x8C); - fn_1_BA0(0x2E0017); - fn_1_1FB0(); - fn_80082AAC(1); -} - -void fn_1_1178(void) { - fn_1_BA0(0x2E0018); -} - -void fn_1_11A0(void) { - s32 temp; - - fn_1_BA0(0x2E0019); - temp = fn_800745F0(0, 1); - fn_800B4274(temp, 0); -} - -void fn_1_11EC(void) { - s32 temp; - - fn_1_BA0(0x2E001A); - temp = fn_800745F0(0, 1); - fn_800B4274(temp, 0); - fn_800B42B4(0); -} - -void fn_1_1240(void) { - fn_1_BA0(0x2E001B); - fn_800B4264(0x50, 0, 1); -} - -void fn_1_1278(void) { - fn_1_BA0(0x2E001C); -} - -void fn_1_12A0(void) { - fn_1_BA0(0x2E001D); - fn_80062B74(2, 1); - fn_800B42B4(1); -} - -void fn_1_12DC(void) { - fn_1_BA0(0x2E001E); -} - -void fn_1_1304(void) { - fn_1_BA0(0x2E001F); -} - -void fn_1_132C(void) { - fn_1_BA0(0x2E0020); -} - -void fn_1_1354(void) { - fn_1_BA0(0x2E0021); -} - -void fn_1_137C(void) { - fn_1_BA0(0x2E0022); -} - -void fn_1_13A4(void) { - s32 i; +void fn_1_C20(void) { + Mtx sp20; Vec3f sp14; Vec3f sp8; - s32 temp_r3_2; - fn_1_BA0(0x2E0023); - for (i = 0; i < 4; i++) { - gPlayerData[i].flags.unk0 = 1; - } - fn_800A4C88(); - fn_800884F4(0); - fn_1_C10(0); - fn_1_BA0(0x2E002B); - sp8.x = -33.0f; - sp8.y = sp8.z = 0.0f; - temp_r3_2 = fn_800745F0(0, 0x80000); - fn_80074210(0, temp_r3_2, &sp14); - fn_8006F158(lbl_1_bss_0->unk8, &sp14); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); - fn_1_BA0(0x2E002C); - fn_8007A360(temp_r3_2); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); - temp_r3_2 = fn_800745F0(0, 0x10000000); - fn_80074210(0, temp_r3_2, &sp14); - fn_8006F158(lbl_1_bss_0->unk8, &sp14); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); - fn_1_BA0(0x2E002E); - fn_8007F894(); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); - temp_r3_2 = fn_800745F0(0, 0x08000000); - fn_80074210(0, temp_r3_2, &sp14); - fn_8006F158(lbl_1_bss_0->unk8, &sp14); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); - fn_1_BA0(0x2E0030); - fn_800A6B10(); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); - fn_1_BA0(0x2E0032); - fn_80083F84(); - fn_8005D8E8(); - fn_8005E0C0(); - fn_1_BA0(0x2E0033); - fn_1_BA0(0x2E0034); - fn_1_1E3C(8, 0x122, 0x8C); - fn_1_BA0(0x2E0035); - fn_1_1FB0(); - fn_1_1E3C(9, 0x122, 0x8C); - fn_1_BA0(0x2E0036); - fn_1_1FB0(); - fn_1_1E3C(0xA, 0x122, 0x8C); - fn_1_BA0(0x2E0037); - fn_1_1FB0(); - fn_1_BA0(0x2E0038); - fn_1_BA0(0x2E0039); - if (lbl_1_bss_C == 0) { - lbl_1_bss_C = 1; - fn_80070EE8(0, 0x1F3); - fn_8005B5FC(); - } - fn_800B3FD8(NULL); while (1) { - HuPrcVSleep(); - } -} - -const f32 pad = 0.0f; - -void fn_1_176C(void) { - fn_1_C10(1); - fn_1_BA0(0x2E0024); -} - -void fn_1_179C(void) { - fn_1_BA0(0x2E0025); - gPlayerData[1].flags.unk0 = 2; - gPlayerData[3].flags.unk0 = 2; -} - -void fn_1_17F4(void) { - fn_1_BA0(0x2E0026); - gPlayerData[0].flags.unk0 = 2; -} - -void fn_1_1834(void) { - fn_1_BA0(0x2E0027); - gPlayerData[0].flags.unk0 = 1; - gPlayerData[1].flags.unk0 = 1; - gPlayerData[2].flags.unk0 = 1; - gPlayerData[3].flags.unk0 = 2; -} - -void fn_1_18BC(void) { - fn_1_BA0(0x2E0028); - fn_1_BA0(0x2E0029); - lbl_801A52E8 = 0; - fn_8008853C(0); -} - -void fn_1_1908(void) { - fn_1_BA0(0x2E002D); -} - -void fn_1_1930(void) { - fn_1_BA0(0x2E002F); -} - -void fn_1_1958(void) { - fn_1_BA0(0x2E0031); -} - -void fn_1_1980(void) { - -} - -void fn_1_1984(void) { - s32 contPortIndex; - s32 i; - - if (lbl_1_bss_C == 0) { - if (fn_80041600() != 0) { - HuWinDispOff(lbl_1_bss_E); - return; - } - HuWinDispOn(lbl_1_bss_E); if (fn_8005B6A8() != 0) { - return; + fn_8006DB90(lbl_1_bss_1E); + fn_800B42BC(-1); + HuPrcEnd(); } - for (i = 0; i < ARRAY_COUNT(gPlayerData); i++) { - contPortIndex = gPlayerData[i].controllerPort; - if (contPortIndex == -1) { - continue; - } - if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & 0x1000) { - break; - } - } - if (i != 4) { - lbl_1_bss_C = 1; - OSReport(lbl_1_data_98); - fn_80070EE8(0, 0x1F3); - fn_8005B5FC(); - fn_800B3FD8(NULL); - } - } -} - -int fn_1_1AAC(s16 arg0, s32 arg1) { - s32 i; - if (arg0 == 0x1E) { - if (lbl_1_bss_C == 0) { - if (fn_80041600() != 0) { - HuWinDispOff(lbl_1_bss_E); - } else { - HuWinDispOn(lbl_1_bss_E); - if (fn_8005B6A8() == 0) { - s32 contPortIndex; - for (i = 0; i < ARRAY_COUNT(gPlayerData); i++) { - contPortIndex = gPlayerData[i].controllerPort; - if (contPortIndex == -1) { - continue; - } - if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & 0x1000) { - break; - } - } - if (i != 4) { - lbl_1_bss_C = 1; - OSReport(lbl_1_data_98); - fn_80070EE8(0, 0x1F3); - fn_8005B5FC(); - fn_800B3FD8(NULL); - } - } - } - } - return; - } - if (arg0 != 0x1D) { - OSReport(lbl_1_data_258, - (gPlayerData[0].characterID >> 5) & 1, (gPlayerData[1].characterID >> 5) & 1, - (gPlayerData[2].characterID >> 5) & 1, (gPlayerData[3].characterID >> 5) & 1, - lbl_1_bss_0->unk0, arg0, arg1, lbl_1_bss_0->unk4, lbl_1_bss_0->unk6); - if (lbl_1_data_108[lbl_1_bss_0->unk0].unk0 != -1) { - if (arg0 == 5) { - fn_8008831C(&lbl_1_data_C6[lbl_1_bss_0->unk4++]); - } - if (arg0 == lbl_1_data_108[lbl_1_bss_0->unk0].unk0) { - void (*temp_r3_3)() = lbl_1_data_108[lbl_1_bss_0->unk0++].unk4; - temp_r3_3(); - } - } - } -} - -void fn_1_1D68(void) { - s32 temp_r4; - s32 temp_r5; - s32 i; - - for (i = 0; i < 11; i++) { - lbl_1_bss_22[i] = espEntry(lbl_1_data_2A8[i], 0, 0); - espDispOff(lbl_1_bss_22[i]); - } -} - -void fn_1_1DEC(void) { - s32 i; - - for (i = 0; i < 11; i++) { - espKill(lbl_1_bss_22[i]); - } -} - -void fn_1_1E3C(s16 arg0, s16 arg1, s16 arg2) { - f32 var_f31; - f32 var_f30; - u32 i; - - lbl_1_bss_20 = lbl_1_bss_22[arg0]; - espPosSet(lbl_1_bss_20, arg1, arg2); - var_f31 = 0.0f; - var_f30 = 0.0f; - espDispOn(lbl_1_bss_20); - for (i = 0; i < 15; i++) { - var_f31 += 0.06666667f; - var_f30 += 0.06666667f; - espScaleSet(lbl_1_bss_20, var_f31, var_f30); + Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14); + fn_8006F158(lbl_1_bss_1E, &sp14); + fn_8005D5C0(&sp8); + PSMTXRotRad(sp20, 'y', 0.2617994f); + fn_8006EFBC(lbl_1_bss_1E, sp20); + fn_8006F270(lbl_1_bss_1E, sp8.x, 0.0f, 0.0f); + fn_8006F338(lbl_1_bss_1E, 0.2f, 0.2f, 0.2f); HuPrcVSleep(); } - espScaleSet(lbl_1_bss_20, 1.0f, 1.0f); -} - -void fn_1_1FB0(void) { - f32 var_f31; - f32 var_f30; - u32 i; - - var_f31 = 1.0f; - var_f30 = 1.0f; - for (i = 0; i < 15; i++) { - var_f31 -= 0.06666667f; - var_f30 -= 0.06666667f; - espScaleSet(lbl_1_bss_20, var_f31, var_f30); - HuPrcVSleep(); - } - espDispOff(lbl_1_bss_20); -} +} \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll3.c b/src/REL/w10Dll/w10Dll3.c new file mode 100644 index 00000000..a9aac6c7 --- /dev/null +++ b/src/REL/w10Dll/w10Dll3.c @@ -0,0 +1,238 @@ +#include "include/REL/w10Dll.h" + +void fn_1_D2C(void) { + fn_1_BA0(0x2E0001); +} + +void fn_1_D54(void) { + fn_1_BA0(0x2E0002); +} + +void fn_1_D7C(void) { + fn_1_BA0(0x2E0003); +} + +void fn_1_DA4(void) { + fn_1_BA0(0x2E0004); +} + +void fn_1_DCC(void) { + fn_1_BA0(0x2E0005); +} + +void fn_1_DF4(void) { + fn_1_BA0(0x2E0006); +} + +void fn_1_E1C(void) { + fn_1_BA0(0x2E0007); +} + +void fn_1_E44(void) { + fn_1_BA0(0x2E0008); + fn_1_BA0(0x2E0009); + fn_8007500C(0); + fn_8006F50C(lbl_1_data_2C, 1); +} + +void fn_1_E94(void) { + fn_1_BA0(0x2E000A); +} + +void fn_1_EBC(void) { + fn_1_BA0(0x2E000B); +} + +void fn_1_EE4(void) { + +} + +void fn_1_EE8(void) { + fn_1_1E3C(0, 0x122, 0x8C); + fn_1_BA0(0x2E000C); + fn_1_BA0(0x2E000D); + fn_1_1FB0(); +} + +void fn_1_F30(void) { + fn_1_1E3C(1, 0x122, 0x8C); + fn_1_BA0(0x2E000E); + fn_1_1FB0(); +} + +void fn_1_F6C(void) { + fn_1_1E3C(2, 0x122, 0x8C); + fn_1_BA0(0x2E000F); + fn_1_1FB0(); + fn_800B4264(0, 0x50, 1); +} + +void fn_1_FB8(void) { + fn_1_1E3C(3, 0x122, 0x8C); + fn_1_BA0(0x2E0010); + fn_1_1FB0(); + fn_1_BA0(0x2E0011); + fn_800B4264(-0x50, 0, 1); +} + +void fn_1_1010(void) { + fn_1_1E3C(4, 0x122, 0x8C); + fn_1_BA0(0x2E0012); + fn_1_1FB0(); + fn_800B4264(0, 0x50, 1); +} + +void fn_1_105C(void) { + fn_1_1E3C(5, 0x122, 0x8C); + fn_1_BA0(0x2E0013); + fn_1_1FB0(); +} + +void fn_1_1098(void) { + fn_1_BA0(0x2E0014); +} + +void fn_1_10C0(void) { + fn_1_BA0(0x2E0015); + fn_800B4264(-0x50, 0, 1); +} + +void fn_1_10F8(void) { + fn_1_1E3C(6, 0x122, 0x8C); + fn_1_BA0(0x2E0016); + fn_1_1FB0(); +} + +void fn_1_1134(void) { + fn_1_1E3C(7, 0x122, 0x8C); + fn_1_BA0(0x2E0017); + fn_1_1FB0(); + fn_80082AAC(1); +} + +void fn_1_1178(void) { + fn_1_BA0(0x2E0018); +} + +void fn_1_11A0(void) { + s32 temp; + + fn_1_BA0(0x2E0019); + temp = fn_800745F0(0, 1); + fn_800B4274(temp, 0); +} + +void fn_1_11EC(void) { + s32 temp; + + fn_1_BA0(0x2E001A); + temp = fn_800745F0(0, 1); + fn_800B4274(temp, 0); + fn_800B42B4(0); +} + +void fn_1_1240(void) { + fn_1_BA0(0x2E001B); + fn_800B4264(0x50, 0, 1); +} + +void fn_1_1278(void) { + fn_1_BA0(0x2E001C); +} + +void fn_1_12A0(void) { + fn_1_BA0(0x2E001D); + fn_80062B74(2, 1); + fn_800B42B4(1); +} + +void fn_1_12DC(void) { + fn_1_BA0(0x2E001E); +} + +void fn_1_1304(void) { + fn_1_BA0(0x2E001F); +} + +void fn_1_132C(void) { + fn_1_BA0(0x2E0020); +} + +void fn_1_1354(void) { + fn_1_BA0(0x2E0021); +} + +void fn_1_137C(void) { + fn_1_BA0(0x2E0022); +} + +void fn_1_13A4(void) { + s32 i; + Vec3f sp14; + Vec3f sp8; + s32 temp_r3_2; + + fn_1_BA0(0x2E0023); + for (i = 0; i < 4; i++) { + gPlayerData[i].flags.unk0 = 1; + } + fn_800A4C88(); + fn_800884F4(0); + fn_1_C10(0); + fn_1_BA0(0x2E002B); + sp8.x = -33.0f; + sp8.y = sp8.z = 0.0f; + temp_r3_2 = fn_800745F0(0, 0x80000); + fn_80074210(0, temp_r3_2, &sp14); + fn_8006F158(lbl_1_bss_0->unk8, &sp14); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + fn_1_BA0(0x2E002C); + fn_8007A360(temp_r3_2); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + temp_r3_2 = fn_800745F0(0, 0x10000000); + fn_80074210(0, temp_r3_2, &sp14); + fn_8006F158(lbl_1_bss_0->unk8, &sp14); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + fn_1_BA0(0x2E002E); + fn_8007F894(); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + temp_r3_2 = fn_800745F0(0, 0x08000000); + fn_80074210(0, temp_r3_2, &sp14); + fn_8006F158(lbl_1_bss_0->unk8, &sp14); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + fn_1_BA0(0x2E0030); + fn_800A6B10(); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + fn_1_BA0(0x2E0032); + fn_80083F84(); + fn_8005D8E8(); + fn_8005E0C0(); + fn_1_BA0(0x2E0033); + fn_1_BA0(0x2E0034); + fn_1_1E3C(8, 0x122, 0x8C); + fn_1_BA0(0x2E0035); + fn_1_1FB0(); + fn_1_1E3C(9, 0x122, 0x8C); + fn_1_BA0(0x2E0036); + fn_1_1FB0(); + fn_1_1E3C(0xA, 0x122, 0x8C); + fn_1_BA0(0x2E0037); + fn_1_1FB0(); + fn_1_BA0(0x2E0038); + fn_1_BA0(0x2E0039); + if (lbl_1_bss_C == 0) { + lbl_1_bss_C = 1; + fn_80070EE8(0, 0x1F3); + fn_8005B5FC(); + } + fn_800B3FD8(NULL); + while (1) { + HuPrcVSleep(); + } +} diff --git a/src/REL/w10Dll/w10Dll4.c b/src/REL/w10Dll/w10Dll4.c new file mode 100644 index 00000000..89e8bcbd --- /dev/null +++ b/src/REL/w10Dll/w10Dll4.c @@ -0,0 +1,259 @@ +#include "REL/w10Dll.h" + +char lbl_1_data_98[] = "@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n\000"; + +w10DllUnk03 lbl_1_data_C6[11] = { +1, -1, -1, +2, -1, -1, +4, -1, -1, +5, -1, -1, +5, -1, -1, +4, -1, -1, +1, -1, -1, +3, -1, -1, +2, -1, -1, +4, -1, -1, +5, 6, -1, +}; + +w10DllUnk04 lbl_1_data_108[42] = { +{0x0000, 0000, fn_1_D2C}, +{0x0001, 0000, fn_1_D54}, +{0x0002, 0000, fn_1_D7C}, +{0x0003, 0000, fn_1_DA4}, +{0x0003, 0000, fn_1_DCC}, +{0x0003, 0000, fn_1_DF4}, +{0x0003, 0000, fn_1_E1C}, +{0x0004, 0000, fn_1_E44}, +{0x0005, 0000, fn_1_E94}, +{0x0006, 0000, fn_1_EBC}, +{0x0007, 0000, fn_1_EE4}, +{0x000A, 0000, fn_1_EE8}, +{0x000B, 0000, fn_1_F30}, +{0x0010, 0000, fn_1_F6C}, +{0x0011, 0000, fn_1_FB8}, +{0x000C, 0000, fn_1_1010}, +{0x000D, 0000, fn_1_105C}, +{0x000E, 0000, fn_1_1098}, +{0x000E, 0000, fn_1_10C0}, +{0x000F, 0000, fn_1_10F8}, +{0x0012, 0000, fn_1_1134}, +{0x0014, 0000, fn_1_1178}, +{0x0015, 0000, fn_1_11A0}, +{0x0016, 0000, fn_1_11EC}, +{0x0005, 0000, fn_1_1240}, +{0x0017, 0000, fn_1_1278}, +{0x0007, 0000, fn_1_12A0}, +{0x0005, 0000, fn_1_12DC}, +{0x0017, 0000, fn_1_1304}, +{0x0018, 0000, fn_1_132C}, +{0x0019, 0000, fn_1_1354}, +{0x0008, 0000, fn_1_137C}, +{0x0009, 0000, fn_1_13A4}, +{0x001A, 0000, fn_1_176C}, +{0x001B, 0000, fn_1_179C}, +{0x001B, 0000, fn_1_17F4}, +{0x001B, 0000, fn_1_1834}, +{0x001B, 0000, fn_1_18BC}, +{0x001C, 0000, fn_1_1908}, +{0x001C, 0000, fn_1_1930}, +{0x001C, 0000, fn_1_1958}, +{-1, 0, 0}, +}; + +char lbl_1_data_258[] = "Tutorial Hook P0:%d P1:%d P2:%d P3:%d SCEN:%d CUE:%d PRM:%d DICE:%d MSG:%d\n"; + +s32 lbl_1_data_2A8[11] = { +0x007B0004, +0x007B0005, +0x007B0006, +0x007B0007, +0x007B0008, +0x007B0009, +0x007B000A, +0x007B000B, +0x007B000C, +0x007B000D, +0x007B000E +}; + +void fn_1_176C(void) { + fn_1_C10(1); + fn_1_BA0(0x2E0024); +} + +void fn_1_179C(void) { + fn_1_BA0(0x2E0025); + gPlayerData[1].flags.unk0 = 2; + gPlayerData[3].flags.unk0 = 2; +} + +void fn_1_17F4(void) { + fn_1_BA0(0x2E0026); + gPlayerData[0].flags.unk0 = 2; +} + +void fn_1_1834(void) { + fn_1_BA0(0x2E0027); + gPlayerData[0].flags.unk0 = 1; + gPlayerData[1].flags.unk0 = 1; + gPlayerData[2].flags.unk0 = 1; + gPlayerData[3].flags.unk0 = 2; +} + +void fn_1_18BC(void) { + fn_1_BA0(0x2E0028); + fn_1_BA0(0x2E0029); + lbl_801A52E8 = 0; + fn_8008853C(0); +} + +void fn_1_1908(void) { + fn_1_BA0(0x2E002D); +} + +void fn_1_1930(void) { + fn_1_BA0(0x2E002F); +} + +void fn_1_1958(void) { + fn_1_BA0(0x2E0031); +} + +void fn_1_1980(void) { + +} + +void fn_1_1984(void) { + s32 contPortIndex; + s32 i; + + if (lbl_1_bss_C == 0) { + if (fn_80041600() != 0) { + HuWinDispOff(lbl_1_bss_E); + return; + } + HuWinDispOn(lbl_1_bss_E); + if (fn_8005B6A8() != 0) { + return; + } + for (i = 0; i < ARRAY_COUNT(gPlayerData); i++) { + contPortIndex = gPlayerData[i].controllerPort; + if (contPortIndex == -1) { + continue; + } + if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & 0x1000) { + break; + } + } + if (i != 4) { + lbl_1_bss_C = 1; + OSReport(lbl_1_data_98); + fn_80070EE8(0, 0x1F3); + fn_8005B5FC(); + fn_800B3FD8(NULL); + } + } +} + +int fn_1_1AAC(s16 arg0, s32 arg1) { + s32 i; + if (arg0 == 0x1E) { + if (lbl_1_bss_C == 0) { + if (fn_80041600() != 0) { + HuWinDispOff(lbl_1_bss_E); + } else { + HuWinDispOn(lbl_1_bss_E); + if (fn_8005B6A8() == 0) { + s32 contPortIndex; + for (i = 0; i < ARRAY_COUNT(gPlayerData); i++) { + contPortIndex = gPlayerData[i].controllerPort; + if (contPortIndex == -1) { + continue; + } + if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & 0x1000) { + break; + } + } + if (i != 4) { + lbl_1_bss_C = 1; + OSReport(lbl_1_data_98); + fn_80070EE8(0, 0x1F3); + fn_8005B5FC(); + fn_800B3FD8(NULL); + } + } + } + } + return; + } + if (arg0 != 0x1D) { + OSReport(lbl_1_data_258, + (gPlayerData[0].characterID >> 5) & 1, (gPlayerData[1].characterID >> 5) & 1, + (gPlayerData[2].characterID >> 5) & 1, (gPlayerData[3].characterID >> 5) & 1, + lbl_1_bss_0->unk0, arg0, arg1, lbl_1_bss_0->unk4, lbl_1_bss_0->unk6); + if (lbl_1_data_108[lbl_1_bss_0->unk0].unk0 != -1) { + if (arg0 == 5) { + fn_8008831C(&lbl_1_data_C6[lbl_1_bss_0->unk4++]); + } + if (arg0 == lbl_1_data_108[lbl_1_bss_0->unk0].unk0) { + void (*temp_r3_3)() = lbl_1_data_108[lbl_1_bss_0->unk0++].unk4; + temp_r3_3(); + } + } + } +} + +void fn_1_1D68(void) { + s32 temp_r4; + s32 temp_r5; + s32 i; + + for (i = 0; i < 11; i++) { + lbl_1_bss_22[i] = espEntry(lbl_1_data_2A8[i], 0, 0); + espDispOff(lbl_1_bss_22[i]); + } +} + +void fn_1_1DEC(void) { + s32 i; + + for (i = 0; i < 11; i++) { + espKill(lbl_1_bss_22[i]); + } +} + +void fn_1_1E3C(s16 arg0, s16 arg1, s16 arg2) { + f32 var_f31; + f32 var_f30; + u32 i; + + lbl_1_bss_20 = lbl_1_bss_22[arg0]; + espPosSet(lbl_1_bss_20, arg1, arg2); + var_f31 = 0.0f; + var_f30 = 0.0f; + espDispOn(lbl_1_bss_20); + for (i = 0; i < 15; i++) { + var_f31 += 0.06666667f; + var_f30 += 0.06666667f; + espScaleSet(lbl_1_bss_20, var_f31, var_f30); + HuPrcVSleep(); + } + espScaleSet(lbl_1_bss_20, 1.0f, 1.0f); +} + +void fn_1_1FB0(void) { + f32 var_f31; + f32 var_f30; + u32 i; + + var_f31 = 1.0f; + var_f30 = 1.0f; + for (i = 0; i < 15; i++) { + var_f31 -= 0.06666667f; + var_f30 -= 0.06666667f; + espScaleSet(lbl_1_bss_20, var_f31, var_f30); + HuPrcVSleep(); + } + espDispOff(lbl_1_bss_20); +} \ No newline at end of file