diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 5715aa7b..593374d7 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1639,22 +1639,3 @@ _0807DB5C: .4byte gUnk_02022750 _0807DB60: .4byte gPlayerEntity _0807DB64: .4byte gPlayerState - thumb_func_start sub_0807DB68 -sub_0807DB68: @ 0x0807DB68 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_0807DAA0 - adds r2, r0, #0 - cmp r2, #0 - beq _0807DB84 - ldrb r1, [r4, #0x10] - movs r0, #2 - orrs r0, r1 - strb r0, [r4, #0x10] - str r2, [r4, #0x3c] - str r5, [r2] -_0807DB84: - adds r0, r2, #0 - pop {r4, r5, pc} - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 28cde049..4309cca4 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -15,6 +15,20 @@ extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern void _call_via_r6(Entity*, ScriptExecutionContext*); +extern u32* sub_0807DAA0(); + +u32* sub_0807DB68(Entity* entity, u32 unk1) { + u32* puVar1; + + puVar1 = sub_0807DAA0(); + if (puVar1) { + entity->flags |= 2; + *(u32**)&entity->field_0x3c = puVar1; + *puVar1 = unk1; + } + return puVar1; +} + void sub_0807DB88(ScriptExecutionContext* context, u32 unk1) { _DmaZero(context, 0x24); context->unk_00 = (u16*)unk1;