diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 32a1fc91..a244a968 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -311,15 +311,3 @@ _0807D1BC: pop {pc} .align 2, 0 - thumb_func_start sub_0807D1C4 -sub_0807D1C4: @ 0x0807D1C4 - adds r1, r0, #0 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0807D1D4 @ =gUnk_0811E4BC - adds r0, r0, r1 - bx lr - .align 2, 0 -_0807D1D4: .4byte gUnk_0811E4BC - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index ef470d10..f6e531b7 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -6,6 +6,7 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; +extern u8 gUnk_0811E4BC[]; extern const char gUnk_0811E4B4[8]; // the type is just a guess based on size and the fact that these are around a lot in this file extern ScriptExecutionContext gUnk_02022750; @@ -25,6 +26,10 @@ extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +struct_0807D1C4* sub_0807D1C4(u32 param_1) { + return (struct_0807D1C4*)(gUnk_0811E4BC + param_1 * 0xc); +} + // these three are basically the same and wrong by basically one instruction in the wrong place NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D1D8.inc", u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3)) { }