diff --git a/ld/stage1.ld b/ld/stage1.ld index 0e74cce4c..fdece7ba8 100644 --- a/ld/stage1.ld +++ b/ld/stage1.ld @@ -37,6 +37,7 @@ SECTIONS src/game/game_000850.o (.text); src/game/game_000860.o (.text); src/game/game_000870.o (.text); + src/game/game_000880.o (.text); src/game/game_0008e0.o (.text); src/game/game_0008f0.o (.text); src/game/game_000900.o (.text); @@ -120,6 +121,7 @@ SECTIONS src/game/game_000850.o (.rodata); src/game/game_000860.o (.rodata); src/game/game_000870.o (.rodata); + src/game/game_000880.o (.rodata); src/game/game_0008e0.o (.rodata); src/game/game_0008f0.o (.rodata); src/game/game_000900.o (.rodata); diff --git a/src/game/game_000870.c b/src/game/game_000870.c index 7f3c2dd7e..efd7bf11c 100644 --- a/src/game/game_000870.c +++ b/src/game/game_000870.c @@ -1,49 +1,10 @@ #include #include "constants.h" #include "gvars/gvars.h" -#include "setup/setup_000000.h" -#include "setup/setup_0160b0.h" -#include "setup/setup_020df0.h" #include "types.h" #include "library/library.h" -const u32 var7f1a78d0[] = {0x3dcccccd}; -const u32 var7f1a78d4[] = {0x3e4ccccd}; -const u32 var7f1a78d8[] = {0x00000000}; -const u32 var7f1a78dc[] = {0x00000000}; - -GLOBAL_ASM( -glabel func0f000870 -/* f000870: 03e00008 */ jr $ra -/* f000874: 00000000 */ sll $zero,$zero,0x0 -/* f000878: 00000000 */ sll $zero,$zero,0x0 -/* f00087c: 00000000 */ sll $zero,$zero,0x0 -); - -GLOBAL_ASM( -glabel func0f000880 -/* f000880: 3c017f1a */ lui $at,%hi(var7f1a78d0) -/* f000884: c42078d0 */ lwc1 $f0,%lo(var7f1a78d0)($at) -/* f000888: 27bdffe8 */ addiu $sp,$sp,-24 -/* f00088c: afbf0014 */ sw $ra,0x14($sp) -/* f000890: 3c04800a */ lui $a0,%hi(var800a3448) -/* f000894: 44050000 */ mfc1 $a1,$f0 -/* f000898: 44060000 */ mfc1 $a2,$f0 -/* f00089c: 44070000 */ mfc1 $a3,$f0 -/* f0008a0: 0c014039 */ jal func000500e4 -/* f0008a4: 24843448 */ addiu $a0,$a0,%lo(var800a3448) -/* f0008a8: 3c017f1a */ lui $at,%hi(var7f1a78d4) -/* f0008ac: c42078d4 */ lwc1 $f0,%lo(var7f1a78d4)($at) -/* f0008b0: 3c04800a */ lui $a0,%hi(var800a3488) -/* f0008b4: 24843488 */ addiu $a0,$a0,%lo(var800a3488) -/* f0008b8: 44050000 */ mfc1 $a1,$f0 -/* f0008bc: 44060000 */ mfc1 $a2,$f0 -/* f0008c0: 44070000 */ mfc1 $a3,$f0 -/* f0008c4: 0c014039 */ jal func000500e4 -/* f0008c8: 00000000 */ sll $zero,$zero,0x0 -/* f0008cc: 8fbf0014 */ lw $ra,0x14($sp) -/* f0008d0: 27bd0018 */ addiu $sp,$sp,0x18 -/* f0008d4: 03e00008 */ jr $ra -/* f0008d8: 00000000 */ sll $zero,$zero,0x0 -/* f0008dc: 00000000 */ sll $zero,$zero,0x0 -); +void func0f000870(void) +{ + // empty +} diff --git a/src/game/game_000880.c b/src/game/game_000880.c new file mode 100644 index 000000000..b36ec08f3 --- /dev/null +++ b/src/game/game_000880.c @@ -0,0 +1,11 @@ +#include +#include "constants.h" +#include "gvars/gvars.h" +#include "types.h" +#include "library/library.h" + +void func0f000880(void) +{ + func000500e4(&var800a3448, 0.1, 0.1, 0.1); + func000500e4(&var800a3488, 0.2, 0.2, 0.2); +} diff --git a/src/game/game_015420.c b/src/game/game_015420.c index d321b92e0..fc95efa7a 100644 --- a/src/game/game_015420.c +++ b/src/game/game_015420.c @@ -6,6 +6,10 @@ #include "setup/setup_020df0.h" #include "types.h" +/** + * Iterates an array of structs and sets their unk04 value to 0. + * The array is stored at 800a45c4 and each struct is 0x6c long. + */ GLOBAL_ASM( glabel func0f015420 /* f015420: 3c04800a */ lui $a0,%hi(var800a45c0) @@ -30,4 +34,4 @@ glabel func0f015420 /* f015464: 03e00008 */ jr $ra /* f015468: 00000000 */ sll $zero,$zero,0x0 /* f01546c: 00000000 */ sll $zero,$zero,0x0 -); \ No newline at end of file +); diff --git a/src/include/game/game_000870.h b/src/include/game/game_000870.h index fad611070..d68cc69fe 100644 --- a/src/include/game/game_000870.h +++ b/src/include/game/game_000870.h @@ -3,7 +3,6 @@ #include #include "types.h" -u32 func0f000870(void); -u32 func0f000880(void); +void func0f000870(void); #endif diff --git a/src/include/game/game_000880.h b/src/include/game/game_000880.h new file mode 100644 index 000000000..3d87b0b29 --- /dev/null +++ b/src/include/game/game_000880.h @@ -0,0 +1,8 @@ +#ifndef IN_GAME_GAME_000880_H +#define IN_GAME_GAME_000880_H +#include +#include "types.h" + +void func0f000880(void); + +#endif diff --git a/src/include/library/library.h b/src/include/library/library.h index 5be4afa06..8a12a19b4 100644 --- a/src/include/library/library.h +++ b/src/include/library/library.h @@ -72,7 +72,7 @@ u32 func0000bee0(void); u32 func0000bf04(void); u32 func0000bfd0(void); void func0000cf54(void); -u32 func0000d410(void); +void func0000d410(s32 arg0, s32 arg1, s32 arg2); u32 func0000d488(void); void func0000dae8(void); u32 func0000db30(void); @@ -103,7 +103,7 @@ u32 func0001190c(void); u32 func00011d84(void); u32 func000122e0(void); u32 func00012324(void); -u32 func000123c8(void); +s32 func000123c8(s32 arg0, s32 arg1, s32 arg2); u32 func00012430(void); u32 func000124d4(void); u32 func00012528(void); @@ -401,7 +401,7 @@ u32 func0004e650(void); u32 func0004f854(void); u32 func0004fe20(void); u32 func00050090(void); -u32 func000500e4(void); +void func000500e4(u32 *ptr, float arg1, float arg2, float arg3); u32 func00050130(void); u32 func000503f0(void); u32 func00050554(void);