diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 5a087fcd..63c0c778 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -497,7 +497,7 @@ fn_8002CB74 = .text:0x8002CB74; // type:function size:0xAC fn_8002CC20 = .text:0x8002CC20; // type:function size:0xA14 fn_8002D634 = .text:0x8002D634; // type:function size:0x244 fn_8002D878 = .text:0x8002D878; // type:function size:0x40C -fn_8002DC84 = .text:0x8002DC84; // type:function size:0x1D4 +Hu3D2Dto3D = .text:0x8002DC84; // type:function size:0x1D4 fn_8002DE58 = .text:0x8002DE58; // type:function size:0x1D0 fn_8002E028 = .text:0x8002E028; // type:function size:0x1C fn_8002E044 = .text:0x8002E044; // type:function size:0x540 @@ -1294,13 +1294,13 @@ fn_8006FDA0 = .text:0x8006FDA0; // type:function size:0x34 fn_8006FDD4 = .text:0x8006FDD4; // type:function size:0x24 fn_8006FDF8 = .text:0x8006FDF8; // type:function size:0x6C fn_8006FE64 = .text:0x8006FE64; // type:function size:0x514 -GetPromptChosenIndex = .text:0x80070378; // type:function size:0xC +BoardMessChoiceGet = .text:0x80070378; // type:function size:0xC fn_80070384 = .text:0x80070384; // type:function size:0xC fn_80070390 = .text:0x80070390; // type:function size:0x1A0 -ShowMessage = .text:0x80070530; // type:function size:0x1A0 +BoardMessCreate = .text:0x80070530; // type:function size:0x1A0 fn_800706D0 = .text:0x800706D0; // type:function size:0x18 -fn_800706E8 = .text:0x800706E8; // type:function size:0x50 -CloseMessage = .text:0x80070738; // type:function size:0x38 +BoardMessWait = .text:0x800706E8; // type:function size:0x50 +BoardMessKill = .text:0x80070738; // type:function size:0x38 fn_80070770 = .text:0x80070770; // type:function size:0x48 fn_800707B8 = .text:0x800707B8; // type:function size:0x48 fn_80070800 = .text:0x80070800; // type:function size:0x1C diff --git a/get_rel_function_names.py b/get_rel_function_names.py new file mode 100755 index 00000000..910afaa0 --- /dev/null +++ b/get_rel_function_names.py @@ -0,0 +1,25 @@ +import os +import sys + +if len(sys.argv) != 2: + print("Usage: python script.py ") + sys.exit(1) + +file_path = sys.argv[1] +lines_starting_with_fn = "" + +with open(file_path, 'r') as file: + for line in file: + # Remove leading and trailing whitespaces + line = line.strip() + + if line.startswith(".fn fn_"): + # Remove ".fn " from the beginning of the line + line = line[len(".fn "):] + + # Remove ", global" from the end of the line + line = line.rstrip(', global') + + lines_starting_with_fn += "// " + line + '\n\n' + +print(lines_starting_with_fn) diff --git a/include/common.h b/include/common.h index a46fcdea..9dbd46bf 100644 --- a/include/common.h +++ b/include/common.h @@ -6,5 +6,6 @@ #include "common_enums.h" #include "functions.h" #include "variables.h" +#include "dolphin/mtx/GeoTypes.h" #endif \ No newline at end of file diff --git a/include/common_structs.h b/include/common_structs.h index f86e4dcf..1df17ec9 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -75,4 +75,58 @@ typedef struct data_read_stat { DVDFileInfo file_info; } DataReadStat; +typedef struct BoardStateSubStruct { +/* 0x00 */ s32 unk0; +/* 0x04 */ s16 unk4; +/* 0x06 */ s16 unk6; +/* 0x08 */ s16 unk8; +} BoardStateSubStruct; + +typedef struct BoardState { +/* 0x00 */ char unk00[0x04]; +/* 0x04 */ s8 curTurnCount; +/* 0x05 */ s8 maxTurnCount; +/* 0x06 */ char unk06[0x02]; +/* 0x08 */ u8 unk08; +/* 0x09 */ s8 doubleCoinsOnSpaceBool; +/* 0x0A */ s8 curPlayerIndex; +/* 0x0C */ char unk0C[4]; +/* 0x10 */ BoardStateSubStruct unk10; +/* 0x1A */ char unk1A[0xC6]; +} BoardState; //8018fcf8, sizeof 0xE0 + +typedef struct { + u8 unk0 : 2; +} PlayerFlags; + +typedef struct Player { +/* 0x00 */ s8 characterID; +/* 0x01 */ s8 unk01; +/* 0x02 */ s8 unk02; +/* 0x03 */ s8 unk03; +/* 0x04 */ s8 controllerPort; +/* 0x05 */ s8 items[3]; +/* 0x08 */ PlayerFlags flags; //0x02 mini mushroom, 0x04 mega mushroom +/* 0x09 */ s8 placement; //0x80 1st, 0x20 2nd, 0x40 3rd, 0x60 4th +/* 0x0A */ u8 spacesLeftToMove; +/* 0x0B */ char unk_0B[5]; +/* 0x10 */ s16 nextABSSpaceIndex; +/* 0x12 */ char unk_12[2]; +/* 0x14 */ s8 blueSpacesLanded; +/* 0x15 */ s8 redSpacesLanded; +/* 0x16 */ s8 happeningSpacesLanded; +/* 0x17 */ s8 chanceSpacesLanded; +/* 0x18 */ char unk_18; +/* 0x19 */ s8 battleSpacesLanded; +/* 0x1A */ s8 itemSpacesLanded; +/* 0x1B */ s8 springSpacesLanded; +/* 0x1C */ s16 coins; +/* 0x1E */ char unk_1E[2]; +/* 0x20 */ s16 totalCoinsCollected; +/* 0x22 */ s16 coinPeak; +/* 0x24 */ char unk_24[6]; +/* 0x2A */ s16 stars; +/* 0x2C */ char unk_2C[4]; +} Player; //size of 0x30 + #endif diff --git a/include/functions.h b/include/functions.h index 4c43596a..9b70a1a5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -46,6 +46,7 @@ s32 HuMemMemoryAllocSizeGet(s32 size); void HuMemHeapDump(void *heap_ptr, s16 status); void HuPrcInit(void); +void HuPrcEnd(void); Process *HuPrcCreate(void (*func)(void), u16 prio, u32 stack_size, s32 extra_size); void HuPrcChildLink(Process *parent, Process *child); void HuPrcChildUnlink(Process *process); @@ -114,4 +115,8 @@ void HuAR_ARAMtoMRAM(void *dst); void HuAR_ARAMtoMRAMNum(void *dst, s32 num); BOOL HuARDMACheck(); +void BoardMessCreate(s16, s32, s32); +void BoardMessKill(void); +void BoardMessWait(void); + #endif diff --git a/src/REL/safDll/safDll.c b/src/REL/safDll/safDll.c new file mode 100644 index 00000000..860ad928 --- /dev/null +++ b/src/REL/safDll/safDll.c @@ -0,0 +1,12 @@ +#include "common.h" +#include "REL/executor.h" + +void fn_1_0(void) { + +} + +//fn_1_4 +// https://decomp.me/scratch/Ii0sV + +// fn_1_288 +// https://decomp.me/scratch/VQ3CT \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll.c b/src/REL/w10Dll/w10Dll.c new file mode 100644 index 00000000..d4455036 --- /dev/null +++ b/src/REL/w10Dll/w10Dll.c @@ -0,0 +1,746 @@ +#include "common.h" +#include "REL/executor.h" + +s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame); + +typedef struct unkw10Dll { + char unk0[0x0C]; + 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 ? + +//this belongs to m456Dll +w10DllUnk02** fn_8002FAC0(Process*, s32); +void fn_8003FD10(s16, f32, f32); +extern s16 lbl_1_bss_20; +extern f32 lbl_1_rodata_5C; +extern f32 lbl_1_rodata_60; +s16 fn_8003F958(s32, s32, s32); +void fn_8003FBEC(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(s32, s32, s32); +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 fn_80023828(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 fn_80042848(s16); +void fn_80045BF4(s16, s32); +void fn_80045D7C(s16, s32, s32, s32, s32); +void fn_80045E84(s16, s32); +void fn_80046F04(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); +void fn_1_1AAC(void); +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 fn_8003FB08(s16); +extern Vec3f lbl_1_data_80[]; +extern f32 lbl_1_rodata_38; +extern f32 lbl_1_rodata_3C; +extern f32 lbl_1_rodata_40; +extern Process* lbl_1_bss_18; +extern s16 lbl_1_bss_1C; +extern s16 lbl_1_bss_1E; +extern s32 lbl_1_data_78; //no idea on the type of this +extern f64 lbl_1_rodata_28; +extern f32 lbl_1_rodata_30; +extern f32 lbl_1_rodata_34; +extern BoardStateSubStruct* lbl_1_bss_0; +extern s16 lbl_1_bss_10[12]; //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; //unknown type +extern s32 lbl_1_data_5C; //unknown type +extern s32 lbl_1_data_64; //unknown type +extern s32 lbl_1_data_6C; //unknown type +extern f32 lbl_1_rodata_10; +extern f32 lbl_1_rodata_14; +extern f32 lbl_1_rodata_18; +extern f32 lbl_1_rodata_1C; +extern BoardState lbl_8018FCF8; + +/* +void fn_1_0(void) { + fn_8005B150(&fn_1_E0, &fn_1_6D8); +} +*/ + +// function is probably global. only inlined in rels? +/* +inline s32 get_current_board(void) { + return lbl_8018FCF8.unk08 & 0x1F; +} +*/ + +/* +void fn_1_E0(void) { + f32 sp10; + f32 spC; + s32 sp8; + + s32 i; + unkw10Dll* temp_r30; + s32 temp; + s32 temp2; + + temp2 = get_current_board(); + lbl_1_bss_0 = &lbl_8018FCF8.unk10; + lbl_1_bss_0->unk0 = 0; + lbl_1_bss_0->unk4 = 0; + lbl_1_bss_0->unk6 = 0; + fn_800B3FD8(&fn_1_1AAC); + fn_1_AEC(); + fn_1_1D68(); + lbl_1_bss_C = 0; + fn_800772EC(0x7B0000); + temp = fn_800745F0(0, 1); + fn_800B4274(temp, 1); + lbl_1_data_28 = fn_8006D9A4(0x7B0001, NULL, 0); + fn_8006DDE8(lbl_1_data_28, lbl_1_rodata_10); + fn_8006F1A8(lbl_1_data_28, lbl_1_rodata_14, lbl_1_rodata_14, lbl_1_rodata_14); + fn_8006E2B8(lbl_1_data_28, 0, 0x40000001); + fn_8006E878(lbl_1_data_28, lbl_1_rodata_18); + lbl_1_data_2A = fn_8006D9A4(0x7B0002, NULL, 0); + fn_8006DDE8(lbl_1_data_2A, lbl_1_rodata_10); + fn_8006F1A8(lbl_1_data_2A, lbl_1_rodata_14, lbl_1_rodata_14, lbl_1_rodata_14); + fn_8006E2B8(lbl_1_data_2A, 0, 0x40000001); + lbl_1_data_2C = fn_8006D9A4(0x7B0011, &lbl_1_data_54, 0); + fn_8006F1A8(lbl_1_data_2C, lbl_1_rodata_14, lbl_1_rodata_14, lbl_1_rodata_14); + fn_8006E2B8(lbl_1_data_2C, 1, 0x40000001); + lbl_1_data_2E = fn_8006D9A4(0x20005, &lbl_1_data_5C, 0); + fn_8006E2B8(lbl_1_data_2E, 1, 0x40000001); + lbl_1_data_32 = fn_8006D9A4(0x20012, &lbl_1_data_64, 0); + fn_8006E2B8(lbl_1_data_32, 1, 0x40000001); + lbl_1_data_30 = fn_8006D9A4(0x2000D, &lbl_1_data_6C, 0); + fn_8006E2B8(lbl_1_data_30, 1, 0x40000001); + fn_8005D10C(&fn_1_8C0, &fn_1_904); + for (i = 0; i < 1; i++) { + temp_r30 = &lbl_1_data_0[i]; + if (temp_r30->unk24 != -1) { + lbl_1_bss_8 = NULL; + lbl_1_bss_10[i] = fn_8006D9A4(temp_r30->unk24, lbl_1_bss_8, 0); + fn_8006F158(lbl_1_bss_10[i], temp_r30); + fn_8006F220(lbl_1_bss_10[i], &temp_r30->unk0C); + fn_8006F2E8(lbl_1_bss_10[i], &temp_r30->unk18); + fn_8006F50C(lbl_1_bss_10[i], 1); + if (lbl_1_bss_8 != NULL) { + fn_8006E2B8(lbl_1_bss_10[i], 0, 0x40000001); + } + } + } + fn_8006F50C(lbl_1_bss_10[0], 0); + lbl_1_bss_0->unk8 = fn_8006D9A4(0x7000A, NULL, 0); + fn_8006F50C(lbl_1_bss_0->unk8, 0); + fn_80073FF4(&fn_1_90C); + fn_80073FFC(&fn_1_91C); + fn_80074004(&fn_1_908); + fn_80083EDC(lbl_1_data_2C); + fn_800A4F6C(lbl_1_data_32); + fn_80077AAC(lbl_1_data_2E); + fn_8007A83C(lbl_1_data_30); + fn_80046F04(1, &spC, 0x2E003A); + lbl_1_bss_E = HuWinCreate(lbl_1_rodata_1C, lbl_1_rodata_20, spC, sp10, 1); + HuWinMesSet(lbl_1_bss_E, 0x2E003A); + fn_80045E84(lbl_1_bss_E, 0); + fn_80045BF4(lbl_1_bss_E, 1); + fn_80045D7C(lbl_1_bss_E, 7, 0, 0, 0); +} +*/ + +/* +void fn_1_6D8(void) { + s32 i; + for (i = 0; i < 1; i++) { + if (lbl_1_bss_10[i] != 0) { + fn_8006DB90(lbl_1_bss_10[i]); + lbl_1_bss_10[i] = 0; + } + } + if (lbl_1_data_32 != -1) { + fn_8006DB90(lbl_1_data_32); + lbl_1_data_32 = -1; + } + if (lbl_1_data_2E != -1) { + fn_8006DB90(lbl_1_data_2E); + lbl_1_data_2E = -1; + } + if (lbl_1_data_30 != -1) { + fn_8006DB90(lbl_1_data_30); + lbl_1_data_30 = -1; + } + if (lbl_1_data_2C != -1) { + fn_8006DB90(lbl_1_data_2C); + lbl_1_data_2C = -1; + } + if (lbl_1_data_28 != -1) { + fn_8006DB90(lbl_1_data_28); + lbl_1_data_28 = -1; + } + if (lbl_1_data_2A != -1) { + fn_8006DB90(lbl_1_data_2A); + lbl_1_data_2A = -1; + } + fn_8006DB90(lbl_1_bss_0->unk8); + fn_1_1DEC(); + fn_80042848(lbl_1_bss_E); + fn_80077A3C(); +} +*/ + +/* +void fn_1_8C0(void) { + s32 temp = fn_8006DBD4(lbl_1_data_28); + fn_80023828(temp, 1); +} +*/ + +/* +void fn_1_904(void) { +} +*/ + +/* +void fn_1_908(void) { +} +*/ + +/* +s32 fn_1_90C(void) { + return 0; +} +*/ + +/* +void fn_1_914(void) { +} +*/ + +/* +void fn_1_918(void) { +} +*/ + +/* +void fn_1_91C(void) { +} +*/ + +/* +s32 fn_1_920(s32 arg0, f32 arg8, f32 arg9) { + s32 var_r31; + f32 var_f29; + f32 var_f31; + + var_r31 = 0; + var_f31 = fn_8006F128(arg0); + arg8 = fmod(arg8, lbl_1_rodata_28); + if (var_f31 < lbl_1_rodata_14) { + var_f31 += lbl_1_rodata_30; + } + if (arg8 < lbl_1_rodata_14) { + arg8 += lbl_1_rodata_30; + } + if (var_f31 != arg8) { + var_f29 = arg8 - var_f31; + if (var_f29 < lbl_1_rodata_14) { + var_f29 += lbl_1_rodata_30; + } + if (var_f29 < lbl_1_rodata_34) { + if (var_f29 > arg9) { + var_f31 = var_f31 + arg9; + } else { + var_f31 = arg8; + } + } else if ((lbl_1_rodata_30 - var_f29) > arg9) { + var_f31 = var_f31 - arg9; + } else { + var_f31 = arg8; + } + if (var_f31 < lbl_1_rodata_14) { + var_f31 += lbl_1_rodata_30; + } + if (var_f31 >= lbl_1_rodata_30) { + var_f31 -= lbl_1_rodata_30; + } + fn_8006F0D4(arg0, var_f31); + } else { + var_r31 = 1; + } + return var_r31; +} +*/ + +/* +void fn_1_AEC(void) { + lbl_1_bss_1C = 0; + lbl_1_bss_1E = fn_8006D9A4(0x7B000F, &lbl_1_data_78, 0); + fn_8006E2B8(lbl_1_bss_1E, 1, 0x40000001); + fn_800B42BC(lbl_1_bss_1E); + fn_8006F61C(lbl_1_bss_1E, 6); + lbl_1_bss_18 = HuPrcCreate(fn_1_C20, 0x1FFF, 0x1800, 0); +} +*/ + +/* +void fn_1_BA0(s32 arg0) { + s32 var_r31; + + switch (lbl_1_bss_1C) { + case 0: + var_r31 = 5; + break; + case 1: + var_r31 = 6; + break; + } + BoardMessCreate(var_r31, arg0, -1); + BoardMessWait(); + BoardMessKill(); +} +*/ + +/* +void fn_1_C10(void) { + HuPrcEnd(); +} +*/ + +/* +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); + fn_8006EFBC(lbl_1_bss_1E, sp20); + fn_8006F270(lbl_1_bss_1E, sp8.x, lbl_1_rodata_3C, lbl_1_rodata_3C); + fn_8006F338(lbl_1_bss_1E, lbl_1_rodata_40, lbl_1_rodata_40, lbl_1_rodata_40); + HuPrcVSleep(); + } +} +*/ + +/* +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); +} +*/ + +// fn_1_13A4 + +/* +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) { + +} +*/ + +// fn_1_1984 + +// fn_1_1AAC + +/* +void fn_1_1D68(void) { + s32 temp_r4; + s32 temp_r5; + s32 i; + + for (i = 0; i < 11; i++) { + lbl_1_bss_22[i] = fn_8003F958(lbl_1_data_2A8[i], 0, 0); + fn_8003FBEC(lbl_1_bss_22[i]); + } +} +*/ + +/* +void fn_1_1DEC(void) { + s32 i; + + for (i = 0; i < 11; i++) { + fn_8003FB08(lbl_1_bss_22[i]); + } +} +*/ + +// fn_1_1E3C + +/* +void fn_1_1FB0(void) { + f32 var_f31; + f32 var_f30; + u32 i; + + var_f31 = lbl_1_rodata_60; + var_f30 = lbl_1_rodata_60; + for (i = 0; i < 15; i++) { + var_f31 -= lbl_1_rodata_5C; + var_f30 -= lbl_1_rodata_5C; + fn_8003FD10(lbl_1_bss_20, var_f31, var_f30); + HuPrcVSleep(); + } + fn_8003FBEC(lbl_1_bss_20); +} +*/ \ No newline at end of file diff --git a/tools/m2ctx.py b/tools/m2ctx.py old mode 100644 new mode 100755