diff --git a/include/variables.h b/include/variables.h index 2be6238..6f98531 100644 --- a/include/variables.h +++ b/include/variables.h @@ -61,6 +61,7 @@ extern s32 D_B0000800; extern u8 D_1000000[]; extern u8 D_8000000[]; extern u8 D_81000000[]; +extern u8 D_1000800[]; extern u8 D_1001800[]; extern Gfx D_1002480[]; extern Gfx D_1002508[]; diff --git a/src/11BA0.c b/src/11BA0.c index 17b15f7..4d46e16 100644 --- a/src/11BA0.c +++ b/src/11BA0.c @@ -527,7 +527,19 @@ void func_80011FC8(unk_D_86002F34_00C* arg0, s16 arg1, s16 arg2, u8 arg3, u8 arg } } -#pragma GLOBAL_ASM("asm/us/nonmatchings/11BA0/func_80012044.s") +void func_80012044(unk_D_86002F34_00C* arg0, s16 arg1, s16 arg2, s32 arg3, u32 arg4) { + unk_D_86002F34_00C_0CC* ptr = &arg0->unk_CC; + ptr->unk_0C = arg1; + ptr->unk_0E = arg2; + ptr->unk_10 = 0; + ptr->unk_12 = 0; + ptr->unk_14 = 0; + ptr->unk_16 = 0; + ptr->unk_18 = 0; + ptr->unk_1A = 0; + ptr->unk_02 = 0; + ptr->texture = D_1000800; +} void func_80012094(GraphNode* arg0, GraphNode* arg1) { GraphNode* temp_v0; @@ -549,6 +561,26 @@ void func_80012094(GraphNode* arg0, GraphNode* arg1) { } } -#pragma GLOBAL_ASM("asm/us/nonmatchings/11BA0/func_800120DC.s") +void func_800120DC(GraphNode* arg0, GraphNode* arg1) { + arg1->unk_04->unk_08 = arg1->unk_08; + arg1->unk_08->unk_04 = arg1->unk_04; + if ((unk_D_86002F34_00C*)arg1 == arg0->unk_0C) { + if (arg1 == arg1->unk_08) { + arg0->unk_0C = NULL; + return; + } + arg0->unk_0C = (unk_D_86002F34_00C*)arg1->unk_08; + } +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/11BA0/func_80012120.s") +GraphNode* func_80012120(GraphNode* arg0, s32 arg1) { + GraphNode* var_v1; + s32 i; + var_v1 = (GraphNode*)arg0->unk_0C; + if (var_v1 != NULL) { + for (i = 0; i < arg1; i++) { + var_v1 = var_v1->unk_08; + } + } + return var_v1; +} diff --git a/src/11BA0.h b/src/11BA0.h index 10ba723..d39a17b 100644 --- a/src/11BA0.h +++ b/src/11BA0.h @@ -58,7 +58,7 @@ void func_80011DAC(unk_D_86002F34_00C* arg0, s16 arg1, s16 arg2, s16 arg3, s16 a void func_80011E68(unk_D_86002F34_00C* arg0, f32 arg1, f32 arg2, f32 arg3); void func_80011EB4(unk_D_86002F34_00C* arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, s32 arg7); void func_80011FC8(unk_D_86002F34_00C* arg0, s16 arg1, s16 arg2, u8 arg3, u8 arg4, u8 arg5); -void func_80012044(unk_D_86002F34_00C*, s32, s32, s32, u32); +void func_80012044(unk_D_86002F34_00C* arg0, s16 arg1, s16 arg2, s32 arg3, u32 arg4); void func_80012094(GraphNode* arg0, GraphNode* arg1); #endif // _11BA0_H_ diff --git a/src/8EB0.c b/src/8EB0.c deleted file mode 100644 index 5870b8c..0000000 --- a/src/8EB0.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "global.h" - -#pragma GLOBAL_ASM("asm/us/nonmatchings/8EB0/func_800082B0.s") diff --git a/yamls/us/rom.yaml b/yamls/us/rom.yaml index e58d71a..80596d4 100644 --- a/yamls/us/rom.yaml +++ b/yamls/us/rom.yaml @@ -35,7 +35,7 @@ - [0x6A40, c] - [0x6BC0, c, 6BC0] # - [0x75F0, c, stage_loader] # stage loader - - [0x8EB0, c] # empty file/padding? + - [0x8EB0, pad] - [0x8EC0, c, crash_screen] # crash handler - [0x9D20, c, profiler] - [0xAF00, c, math_util]