match w10Dll.rel

This commit is contained in:
Rainchus 2023-11-29 14:15:16 -06:00
parent 8bbb016899
commit e850a6331f
7 changed files with 544 additions and 541 deletions

View file

@ -10,12 +10,20 @@ REL/w10Dll/w10Dll_init.c:
.text start:0x00000000 end:0x000000E0 .text start:0x00000000 end:0x000000E0
REL/w10Dll/w10Dll.c: REL/w10Dll/w10Dll.c:
.text start:0x000000E0 end:0x00000D2C .text start:0x000000E0 end:0x00000C20
.rodata start:0x00000000 end:0x00000048 .rodata start:0x00000000 end:0x00000038
.data start:0x00000000 end:0x00000098 .data start:0x00000000 end:0x00000098
.bss start:0x00000000 end:0x00000038 .bss start:0x00000000 end:0x00000038
REL/w10Dll/w10Dll2.c: REL/w10Dll/w10Dll2.c:
.text start:0x00000D2C end:0x0000206C .text start:0x00000C20 end:0x00000D2C
.rodata start:0x00000048 end:0x00000070 .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 .data start:0x00000098 end:0x000002D4

View file

@ -65,25 +65,25 @@ fn_1_1E3C = .text:0x00001E3C; // type:function size:0x174
fn_1_1FB0 = .text:0x00001FB0; // type:function size:0xBC fn_1_1FB0 = .text:0x00001FB0; // type:function size:0xBC
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte _ctors = .ctors:0x00000000; // type:label scope:global data:4byte
_dtors = .dtors: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_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 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 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 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 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 data:double lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 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 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 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 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 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 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 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 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 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 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 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 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 data:double 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_0 = .data:0x00000000; // type:object size:0x28 data:float
lbl_1_data_28 = .data:0x00000028; // type:object size:0x2 data:2byte lbl_1_data_28 = .data:0x00000028; // type:object size:0x2 data:2byte
lbl_1_data_2A = .data:0x0000002A; // type:object size:0x2 data:2byte lbl_1_data_2A = .data:0x0000002A; // type:object size:0x2 data:2byte

View file

@ -317,6 +317,8 @@ config.libs = [
Object(Matching, "REL/w10Dll/w10Dll_init.c"), Object(Matching, "REL/w10Dll/w10Dll_init.c"),
Object(Matching, "REL/w10Dll/w10Dll.c"), Object(Matching, "REL/w10Dll/w10Dll.c"),
Object(Matching, "REL/w10Dll/w10Dll2.c"), Object(Matching, "REL/w10Dll/w10Dll2.c"),
Object(Matching, "REL/w10Dll/w10Dll3.c"),
Object(Matching, "REL/w10Dll/w10Dll4.c"),
], ],
}, },
] ]

View file

@ -286,32 +286,3 @@ void fn_1_C10(s16 arg0) {
lbl_1_bss_1C = 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();
}
}

View file

@ -1,498 +1,23 @@
#include "include/REL/w10Dll.h" #include "REL/w10Dll.h"
char lbl_1_data_98[] = "@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n\000"; void fn_1_C20(void) {
Mtx sp20;
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;
Vec3f sp14; Vec3f sp14;
Vec3f sp8; 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) { 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) { if (fn_8005B6A8() != 0) {
return; fn_8006DB90(lbl_1_bss_1E);
fn_800B42BC(-1);
HuPrcEnd();
} }
for (i = 0; i < ARRAY_COUNT(gPlayerData); i++) { Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14);
contPortIndex = gPlayerData[i].controllerPort; fn_8006F158(lbl_1_bss_1E, &sp14);
if (contPortIndex == -1) { fn_8005D5C0(&sp8);
continue; PSMTXRotRad(sp20, 'y', 0.2617994f);
} fn_8006EFBC(lbl_1_bss_1E, sp20);
if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & 0x1000) { fn_8006F270(lbl_1_bss_1E, sp8.x, 0.0f, 0.0f);
break; fn_8006F338(lbl_1_bss_1E, 0.2f, 0.2f, 0.2f);
}
}
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(); 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);
}

238
src/REL/w10Dll/w10Dll3.c Normal file
View file

@ -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();
}
}

259
src/REL/w10Dll/w10Dll4.c Normal file
View file

@ -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);
}