wip w10Dll importing
This commit is contained in:
parent
5949d7dd41
commit
59fc755c9d
9 changed files with 669 additions and 576 deletions
|
|
@ -5,3 +5,16 @@ Sections:
|
||||||
.rodata type:rodata align:8
|
.rodata type:rodata align:8
|
||||||
.data type:data align:8
|
.data type:data align:8
|
||||||
.bss type:bss align:8
|
.bss type:bss align:8
|
||||||
|
|
||||||
|
REL/w10Dll/w10Dll_init.c:
|
||||||
|
.text start:0x00000000 end:0x000000E0
|
||||||
|
|
||||||
|
REL/w10Dll/w10Dll.c:
|
||||||
|
.text start:0x000000E0 end:0x000013A4
|
||||||
|
.rodata start:0x00000000 end:0x00000018
|
||||||
|
.data start:0x00000000 end:0x000002D4
|
||||||
|
.bss start:0x00000000 end:0x00000038
|
||||||
|
|
||||||
|
REL/w10Dll/w10Dll2.c:
|
||||||
|
.text start:0x000013A4 end:0x0000206C
|
||||||
|
.rodata start:0x00000058 end:0x00000070
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ 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_5C = .rodata:0x0000005C; // type:object size:0x4 data:float
|
||||||
lbl_1_rodata_60 = .rodata:0x00000060; // 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_68 = .rodata:0x00000068; // type:object size:0x8 data:double
|
||||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x28
|
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
|
||||||
lbl_1_data_2C = .data:0x0000002C; // type:object size:0x2 data:2byte
|
lbl_1_data_2C = .data:0x0000002C; // type:object size:0x2 data:2byte
|
||||||
|
|
@ -96,7 +96,7 @@ lbl_1_data_5C = .data:0x0000005C; // type:object size:0x8
|
||||||
lbl_1_data_64 = .data:0x00000064; // type:object size:0x8
|
lbl_1_data_64 = .data:0x00000064; // type:object size:0x8
|
||||||
lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC
|
lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC
|
||||||
lbl_1_data_78 = .data:0x00000078; // type:object size:0x8
|
lbl_1_data_78 = .data:0x00000078; // type:object size:0x8
|
||||||
lbl_1_data_80 = .data:0x00000080; // type:object size:0x18
|
lbl_1_data_80 = .data:0x00000080; // type:object size:0x18 data:float
|
||||||
lbl_1_data_98 = .data:0x00000098; // type:object size:0x2E data:string
|
lbl_1_data_98 = .data:0x00000098; // type:object size:0x2E data:string
|
||||||
lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x42
|
lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x42
|
||||||
lbl_1_data_108 = .data:0x00000108; // type:object size:0x150
|
lbl_1_data_108 = .data:0x00000108; // type:object size:0x150
|
||||||
|
|
|
||||||
11
configure.py
11
configure.py
|
|
@ -308,6 +308,17 @@ config.libs = [
|
||||||
Object(Matching, "REL/subchrselDll/subchrselDll.c"),
|
Object(Matching, "REL/subchrselDll/subchrselDll.c"),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"lib": "w10Dll",
|
||||||
|
"mw_version": config.linker_version,
|
||||||
|
"cflags": cflags_rel,
|
||||||
|
"host": False,
|
||||||
|
"objects": [
|
||||||
|
Object(Matching, "REL/executor.c"),
|
||||||
|
Object(Matching, "REL/w10Dll/w10Dll.c"),
|
||||||
|
Object(Matching, "REL/w10Dll/w10Dll2.c"),
|
||||||
|
],
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
if args.mode == "configure":
|
if args.mode == "configure":
|
||||||
|
|
|
||||||
195
include/REL/w10Dll.h
Normal file
195
include/REL/w10Dll.h
Normal file
|
|
@ -0,0 +1,195 @@
|
||||||
|
#include "common.h"
|
||||||
|
#include "REL/executor.h"
|
||||||
|
|
||||||
|
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||||
|
|
||||||
|
s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame);
|
||||||
|
|
||||||
|
typedef struct unkw10Dll {
|
||||||
|
Vec3f unk0;
|
||||||
|
Vec3f unk0C;
|
||||||
|
Vec3f unk18;
|
||||||
|
s32 unk24;
|
||||||
|
} unkw10Dll; //sizeof 0x28
|
||||||
|
|
||||||
|
typedef struct w10DllUnk01 {
|
||||||
|
u8 unk0;
|
||||||
|
f32 unk4;
|
||||||
|
f32 unk8;
|
||||||
|
f32 unkC;
|
||||||
|
f32 unk10;
|
||||||
|
} w10DllUnk01; //sizeof ?
|
||||||
|
|
||||||
|
typedef struct w10DllUnk02 {
|
||||||
|
char unk00[0x5C];
|
||||||
|
w10DllUnk01* unk5C;
|
||||||
|
} w10DllUnk02; //sizeof ?
|
||||||
|
|
||||||
|
typedef struct w10DllUnk03 {
|
||||||
|
s16 unk0;
|
||||||
|
s16 unk2;
|
||||||
|
s16 unk4;
|
||||||
|
} w10DllUnk03;
|
||||||
|
|
||||||
|
typedef struct w10DllUnk04 {
|
||||||
|
s16 unk0;
|
||||||
|
s16 unk2;
|
||||||
|
void (*unk4)();
|
||||||
|
} w10DllUnk04;
|
||||||
|
|
||||||
|
//this belongs to m456Dll
|
||||||
|
w10DllUnk02** fn_8002FAC0(Process*, s32);
|
||||||
|
|
||||||
|
void espDispOn(s16);
|
||||||
|
void espPosSet(s16, f32, f32);
|
||||||
|
void espScaleSet(s16, f32, f32);
|
||||||
|
void fn_1_C10(s32);
|
||||||
|
void fn_8005D8E8(void);
|
||||||
|
void fn_8005DB6C(s16, Vec3f*, s32, f32, f32, s32);
|
||||||
|
void fn_8005E0C0(void);
|
||||||
|
void fn_80074210(s32, s32, Vec3f*);
|
||||||
|
void fn_8007A360(s32);
|
||||||
|
void fn_8007F894(void);
|
||||||
|
void fn_80083F84(void);
|
||||||
|
void fn_800884F4(s32);
|
||||||
|
void fn_800A4C88(void);
|
||||||
|
void fn_800A6B10(void);
|
||||||
|
extern s16 lbl_1_bss_20;
|
||||||
|
extern s16 lbl_1_bss_22[];
|
||||||
|
void espScaleSet(s16, f32, f32);
|
||||||
|
extern s16 lbl_1_bss_20;
|
||||||
|
s16 espEntry(s32, s32, s32);
|
||||||
|
void espDispOff(s16);
|
||||||
|
void fn_8008853C(s32);
|
||||||
|
extern s32 lbl_801A52E8;
|
||||||
|
void fn_800B42B4(s32);
|
||||||
|
void fn_80082AAC(s32);
|
||||||
|
void fn_800B4264(s32, s32, s32);
|
||||||
|
void fn_1_1FB0(void);
|
||||||
|
void fn_1_1E3C(s16, s16, s16);
|
||||||
|
void fn_8007500C(s32);
|
||||||
|
void fn_1_BA0(s32);
|
||||||
|
void fn_8006F0D4(s32, f32);
|
||||||
|
f32 fn_8006F128(s32);
|
||||||
|
f64 fmod(f32, f64);
|
||||||
|
void fn_1_C20(void);
|
||||||
|
void fn_8006F61C(s16, s32);
|
||||||
|
void fn_800B42BC(s16);
|
||||||
|
void Hu3DModelLightInfoSet(s32, s32);
|
||||||
|
s32 fn_8006DBD4(s16);
|
||||||
|
void fn_8005B150(void*, void*);
|
||||||
|
void fn_1_6D8(void);
|
||||||
|
void fn_1_E0(void);
|
||||||
|
void fn_8006F2E8(s32, Vec3f*);
|
||||||
|
void HuWinMesSet(s16, s32);
|
||||||
|
void fn_1_1D68(void);
|
||||||
|
void fn_1_1DEC(void);
|
||||||
|
void fn_1_AEC(void);
|
||||||
|
void HuWinKill(s16);
|
||||||
|
void HuWinPriSet(s16, s32);
|
||||||
|
void HuWinMesPalSet(s16, s32, s32, s32, s32);
|
||||||
|
void HuWinMesSpeedSet(s16, s32);
|
||||||
|
void HuWinMesMaxSizeGet(s32, f32*, ...);
|
||||||
|
void fn_8005D10C(void*, void*);
|
||||||
|
s16 fn_8006D9A4(s32, void*, s32);
|
||||||
|
void fn_8006DB90(s16);
|
||||||
|
void fn_8006DDE8(s16, f32);
|
||||||
|
void fn_8006E2B8(s16, s32, s32);
|
||||||
|
void fn_8006E878(s16, f32);
|
||||||
|
void fn_8006F158(s16, void*);
|
||||||
|
void fn_8006F1A8(s16, f32, f32, f32);
|
||||||
|
s32 fn_8006F220(s16 arg0, Vec3f* arg1);
|
||||||
|
void fn_8006F50C(s16, s32);
|
||||||
|
void fn_80073FF4(void*);
|
||||||
|
void fn_80073FFC(void*);
|
||||||
|
void fn_80074004(void*);
|
||||||
|
s32 fn_800745F0(s32, s32);
|
||||||
|
void fn_800772EC(s32);
|
||||||
|
void fn_80077A3C(void);
|
||||||
|
void fn_80077AAC(s16);
|
||||||
|
void fn_8007A83C(s16);
|
||||||
|
void fn_80083EDC(s16);
|
||||||
|
void fn_800A4F6C(s16);
|
||||||
|
void fn_800B3FD8(void*);
|
||||||
|
void fn_800B4274(s32, s32);
|
||||||
|
int fn_1_1AAC(s16, s32);
|
||||||
|
void fn_1_8C0(void);
|
||||||
|
void fn_1_904(void);
|
||||||
|
void fn_1_908(void);
|
||||||
|
s32 fn_1_90C(void);
|
||||||
|
void fn_1_91C(void);
|
||||||
|
void Hu3D2Dto3D(Vec3f*, s32, Vec3f*);
|
||||||
|
void fn_8005D5C0(Vec3f*);
|
||||||
|
void fn_8006F338(s16, f32, f32, f32);
|
||||||
|
s32 fn_8005B6A8(void);
|
||||||
|
void fn_8006EFBC(s16, Mtx);
|
||||||
|
void fn_8006F270(s16, f32, f32, f32);
|
||||||
|
void espKill(s16);
|
||||||
|
void fn_1_13A4(void);
|
||||||
|
void fn_1_176C(void);
|
||||||
|
void fn_1_179C(void);
|
||||||
|
void fn_1_17F4(void);
|
||||||
|
void fn_1_1834(void);
|
||||||
|
void fn_1_18BC(void);
|
||||||
|
void fn_1_1908(void);
|
||||||
|
void fn_1_1930(void);
|
||||||
|
void fn_1_1958(void);
|
||||||
|
void fn_1_D2C(void);
|
||||||
|
void fn_1_D54(void);
|
||||||
|
void fn_1_D7C(void);
|
||||||
|
void fn_1_DA4(void);
|
||||||
|
void fn_1_DCC(void);
|
||||||
|
void fn_1_DF4(void);
|
||||||
|
void fn_1_E1C(void);
|
||||||
|
void fn_1_E44(void);
|
||||||
|
void fn_1_E94(void);
|
||||||
|
void fn_1_EBC(void);
|
||||||
|
void fn_1_EE4(void);
|
||||||
|
void fn_1_EE8(void);
|
||||||
|
void fn_1_F30(void);
|
||||||
|
void fn_1_F6C(void);
|
||||||
|
void fn_1_FB8(void);
|
||||||
|
void fn_1_1010(void);
|
||||||
|
void fn_1_105C(void);
|
||||||
|
void fn_1_1098(void);
|
||||||
|
void fn_1_10C0(void);
|
||||||
|
void fn_1_10F8(void);
|
||||||
|
void fn_1_1134(void);
|
||||||
|
void fn_1_1178(void);
|
||||||
|
void fn_1_11A0(void);
|
||||||
|
void fn_1_11EC(void);
|
||||||
|
void fn_1_1240(void);
|
||||||
|
void fn_1_1278(void);
|
||||||
|
void fn_1_12A0(void);
|
||||||
|
void fn_1_12DC(void);
|
||||||
|
void fn_1_1304(void);
|
||||||
|
void fn_1_132C(void);
|
||||||
|
void fn_1_1354(void);
|
||||||
|
void fn_1_137C(void);
|
||||||
|
|
||||||
|
extern w10DllUnk04 lbl_1_data_108[42];
|
||||||
|
extern w10DllUnk03 lbl_1_data_C6[];
|
||||||
|
extern Vec3f lbl_1_data_80[];
|
||||||
|
extern Process* lbl_1_bss_18;
|
||||||
|
extern s16 lbl_1_bss_1C;
|
||||||
|
extern s16 lbl_1_bss_1E;
|
||||||
|
extern s32 lbl_1_data_78[2];
|
||||||
|
extern BoardStateSubStruct* lbl_1_bss_0;
|
||||||
|
extern s16 lbl_1_bss_10[4]; //could be incorrect size
|
||||||
|
extern void* lbl_1_bss_8; //unknown type
|
||||||
|
extern s16 lbl_1_bss_C;
|
||||||
|
extern s16 lbl_1_bss_E;
|
||||||
|
extern unkw10Dll lbl_1_data_0[1];
|
||||||
|
extern s16 lbl_1_bss_22[11];
|
||||||
|
extern s32 lbl_1_data_2A8[11];
|
||||||
|
extern s16 lbl_1_data_28;
|
||||||
|
extern s16 lbl_1_data_2A;
|
||||||
|
extern s16 lbl_1_data_2C;
|
||||||
|
extern s16 lbl_1_data_2E;
|
||||||
|
extern s16 lbl_1_data_30;
|
||||||
|
extern s16 lbl_1_data_32;
|
||||||
|
extern s32 lbl_1_data_54[2];
|
||||||
|
extern s32 lbl_1_data_5C[2];
|
||||||
|
extern s32 lbl_1_data_64[2];
|
||||||
|
extern s32 lbl_1_data_6C[2];
|
||||||
|
extern BoardState lbl_8018FCF8;
|
||||||
|
|
@ -43,5 +43,6 @@ extern s16 omSysExitReq;
|
||||||
extern s16 omdispinfo;
|
extern s16 omdispinfo;
|
||||||
extern char omSysPauseEnableFlag;
|
extern char omSysPauseEnableFlag;
|
||||||
extern OverlayID omprevovl;
|
extern OverlayID omprevovl;
|
||||||
|
extern Player gPlayerData[4];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ void fn_8000F038(s16, s32, s32);
|
||||||
s16 fn_800204D0(s32);
|
s16 fn_800204D0(s32);
|
||||||
void fn_80021228(s16, s32);
|
void fn_80021228(s16, s32);
|
||||||
void fn_80022420(s16, s32);
|
void fn_80022420(s16, s32);
|
||||||
void fn_80023828(s16, s32);
|
void Hu3DModelLightInfoSet(s16, s32);
|
||||||
extern s16 lbl_1_bss_6;
|
extern s16 lbl_1_bss_6;
|
||||||
extern temp2 lbl_1_bss_8;
|
extern temp2 lbl_1_bss_8;
|
||||||
extern f32 lbl_1_rodata_48;
|
extern f32 lbl_1_rodata_48;
|
||||||
|
|
@ -103,7 +103,7 @@ void fn_1_2100(void) {
|
||||||
fn_80021228(temp_r3_3, 1);
|
fn_80021228(temp_r3_3, 1);
|
||||||
fn_80021228(temp_r3_3, 0x40000001);
|
fn_80021228(temp_r3_3, 0x40000001);
|
||||||
fn_80022420(temp_r3_3, 1);
|
fn_80022420(temp_r3_3, 1);
|
||||||
fn_80023828(temp_r3_3, 1);
|
Hu3DModelLightInfoSet(temp_r3_3, 1);
|
||||||
lbl_1_bss_6 = fn_8000E0F8(4);
|
lbl_1_bss_6 = fn_8000E0F8(4);
|
||||||
fn_80008364(0x740008, 0x10000000, 2);
|
fn_80008364(0x740008, 0x10000000, 2);
|
||||||
temp_r3 = fn_8000DD24();
|
temp_r3 = fn_8000DD24();
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
253
src/REL/w10Dll/w10Dll2.c
Normal file
253
src/REL/w10Dll/w10Dll2.c
Normal file
|
|
@ -0,0 +1,253 @@
|
||||||
|
#include "include/REL/w10Dll.h"
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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("@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n\000");
|
||||||
|
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("@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n\000");
|
||||||
|
fn_80070EE8(0, 0x1F3);
|
||||||
|
fn_8005B5FC();
|
||||||
|
fn_800B3FD8(NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (arg0 != 0x1D) {
|
||||||
|
OSReport("Tutorial Hook P0:%d P1:%d P2:%d P3:%d SCEN:%d CUE:%d PRM:%d DICE:%d MSG:%d\n",
|
||||||
|
(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);
|
||||||
|
}
|
||||||
23
src/REL/w10Dll/w10Dll_init.c
Normal file
23
src/REL/w10Dll/w10Dll_init.c
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
#include "include/REL/w10Dll.h"
|
||||||
|
|
||||||
|
void fn_1_0(void) {
|
||||||
|
fn_8005B150(&fn_1_E0, &fn_1_6D8);
|
||||||
|
}
|
||||||
|
|
||||||
|
int _prolog(void) {
|
||||||
|
const VoidFunc* ctors = _ctors;
|
||||||
|
while (*ctors != 0) {
|
||||||
|
(**ctors)();
|
||||||
|
ctors++;
|
||||||
|
}
|
||||||
|
fn_8005B150(&fn_1_E0, &fn_1_6D8);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void _epilog(void) {
|
||||||
|
const VoidFunc* dtors = _dtors;
|
||||||
|
while (*dtors != 0) {
|
||||||
|
(**dtors)();
|
||||||
|
dtors++;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue