diff --git a/include/common.h b/include/common.h index 43866fa..2466fb3 100644 --- a/include/common.h +++ b/include/common.h @@ -560,6 +560,7 @@ extern u8 item_get_field_0x9(u16 arg0); extern void func_80179354(); extern Gfx* obPtrDisplayList; +extern Gfx** obPtrPtrDisplayList; extern Gfx DISPLAY_LIST_80186BD0[]; extern Gfx DISPLAY_LIST_80186D90[]; diff --git a/linker_scripts/symbols/addr.txt b/linker_scripts/symbols/addr.txt index 655b8dc..4d87dd0 100644 --- a/linker_scripts/symbols/addr.txt +++ b/linker_scripts/symbols/addr.txt @@ -72,6 +72,9 @@ VTX_801FD2A8 = 0x801FD2A8; // rom:0x14E488 VTX_8021EF08 = 0x8021EF08; // rom:0x16FF48 obPtrDisplayList = 0x800E9BA0; +obPtrPtrDisplayList = 0x800B17B0; + +__set_obPtrPtrDisplayList = 0x80080280; // rom:0x10680 obVpMinResolution = 0x80186310; // rom:0x5C210 obVpMaxResolution = 0x80186320; // rom:0x5C220 diff --git a/splat.yaml b/splat.yaml index 87f4620..b9729b1 100644 --- a/splat.yaml +++ b/splat.yaml @@ -79,7 +79,7 @@ segments: - [0x10590, asm] - [0x105D0, asm] - [0x10610, asm] - - [0x10680, asm] + - [0x10680, c, "_ob_shrill_snail"] - [0x10CF0, c, "_ob_soft_coach"] - [0x10D70, asm] - [0x10E70, asm] diff --git a/src/_ob_shrill_snail.c b/src/_ob_shrill_snail.c new file mode 100644 index 0000000..50e393f --- /dev/null +++ b/src/_ob_shrill_snail.c @@ -0,0 +1,24 @@ +#include "common.h" + +// INCLUDE_ASM(const s32, "_ob_shrill_snail", func_80080280); + +/* 10680 80080280 */ +void __set_obPtrPtrDisplayList(Gfx **displayList) { + obPtrPtrDisplayList = displayList; +} + +INCLUDE_ASM(const s32, "_ob_shrill_snail", func_8008028C); + +INCLUDE_ASM(const s32, "_ob_shrill_snail", func_80080304); + +INCLUDE_ASM(const s32, "_ob_shrill_snail", func_8008038C); + +INCLUDE_ASM(const s32, "_ob_shrill_snail", func_800803B8); + +INCLUDE_ASM(const s32, "_ob_shrill_snail", func_80080768); + +INCLUDE_ASM(const s32, "_ob_shrill_snail", func_80080798); + +INCLUDE_ASM(const s32, "_ob_shrill_snail", func_800807DC); + +INCLUDE_ASM(const s32, "_ob_shrill_snail", func_80080894);