From 80214ba9eefe5faff1f6ca4a0e5e37b5c7a10300 Mon Sep 17 00:00:00 2001 From: theo3 Date: Mon, 15 Jun 2020 21:49:06 -0700 Subject: [PATCH] symbol StartCutscene --- asm/bird.s | 2 +- asm/businessScrubPrologue.s | 2 +- asm/code_0804AEB0.s | 2 +- asm/code_080732D0.s | 2 +- asm/code_0807CC3C.s | 4 ++-- asm/ezloCap.s | 4 ++-- asm/forestMinish.s | 2 +- asm/houseDoorExterior.s | 2 +- asm/mazaalMacro.s | 2 +- asm/object6A.s | 28 ++++++++++++++-------------- asm/object89.s | 2 +- asm/objectB9.s | 2 +- asm/rem.s | 26 -------------------------- asm/stockwell.s | 2 +- include/functions.h | 2 +- src/rem.c | 18 ++++++++++++++++++ src/talon.c | 2 +- 17 files changed, 48 insertions(+), 56 deletions(-) diff --git a/asm/bird.s b/asm/bird.s index 9b6e916e..dcc58ce4 100644 --- a/asm/bird.s +++ b/asm/bird.s @@ -879,7 +879,7 @@ _0809D5E6: cmp r4, #0 beq _0809D62E ldr r1, _0809D668 @ =gUnk_0800B0AC - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] diff --git a/asm/businessScrubPrologue.s b/asm/businessScrubPrologue.s index 948f5907..3813cc00 100644 --- a/asm/businessScrubPrologue.s +++ b/asm/businessScrubPrologue.s @@ -144,7 +144,7 @@ sub_08045C3C: @ 0x08045C3C bl sub_08095C48 ldr r1, _08045CA0 @ =gUnk_08015AC4 adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r0, r4, #0 bl sub_0807DD50 pop {r4, pc} diff --git a/asm/code_0804AEB0.s b/asm/code_0804AEB0.s index 08e8443e..420cc420 100644 --- a/asm/code_0804AEB0.s +++ b/asm/code_0804AEB0.s @@ -115,7 +115,7 @@ _0804AF64: strh r0, [r4, #0x32] ldr r1, [r2, #0xc] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene cmp r0, #0 bne _0804AF88 adds r0, r4, #0 diff --git a/asm/code_080732D0.s b/asm/code_080732D0.s index 9ebf460f..0492f487 100644 --- a/asm/code_080732D0.s +++ b/asm/code_080732D0.s @@ -4253,7 +4253,7 @@ _08075252: bl CopyPosition adds r0, r4, #0 adds r1, r6, #0 - bl sub_0807DAD0 + bl StartCutscene _08075270: ldr r4, _08075298 @ =gLinkEntity movs r1, #0xe diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 85f36bd1..da486ba1 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -2014,8 +2014,8 @@ sub_0807DAC4: @ 0x0807DAC4 pop {pc} .align 2, 0 - thumb_func_start sub_0807DAD0 -sub_0807DAD0: @ 0x0807DAD0 + thumb_func_start StartCutscene +StartCutscene: @ 0x0807DAD0 push {r4, r5, r6, lr} adds r5, r0, #0 adds r6, r1, #0 diff --git a/asm/ezloCap.s b/asm/ezloCap.s index 3227fc56..94465339 100644 --- a/asm/ezloCap.s +++ b/asm/ezloCap.s @@ -436,7 +436,7 @@ sub_0806DB84: @ 0x0806DB84 bl PositionRelative ldr r1, _0806DBEC @ =gUnk_08016030 adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -456,7 +456,7 @@ _0806DBB6: bl PositionRelative ldr r1, _0806DBF0 @ =gUnk_0801606C adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] diff --git a/asm/forestMinish.s b/asm/forestMinish.s index 7916b1aa..6a4bef48 100644 --- a/asm/forestMinish.s +++ b/asm/forestMinish.s @@ -52,7 +52,7 @@ _0805FFF2: adds r0, r0, r1 ldr r1, [r0] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r0, r4, #0 bl sub_0807DD50 b _0806008C diff --git a/asm/houseDoorExterior.s b/asm/houseDoorExterior.s index 3f62c32d..8738f6ec 100644 --- a/asm/houseDoorExterior.s +++ b/asm/houseDoorExterior.s @@ -116,7 +116,7 @@ _08086718: cmp r1, #0 beq _080867A8 adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] diff --git a/asm/mazaalMacro.s b/asm/mazaalMacro.s index 518c8047..296d6752 100644 --- a/asm/mazaalMacro.s +++ b/asm/mazaalMacro.s @@ -302,7 +302,7 @@ _08034E8A: strb r0, [r4, #0xc] ldr r1, _08034EB4 @ =gUnk_08012E20 adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] diff --git a/asm/object6A.s b/asm/object6A.s index 89d4825b..6829490c 100644 --- a/asm/object6A.s +++ b/asm/object6A.s @@ -99,7 +99,7 @@ sub_08094AE8: @ 0x08094AE8 cmp r4, #0 beq _08094B08 ldr r1, [r5, #4] - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -206,7 +206,7 @@ sub_08094B94: @ 0x08094B94 strh r0, [r4, #0x36] ldr r1, _08094BDC @ =gUnk_0800AEDC adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -1075,7 +1075,7 @@ sub_08095244: @ 0x08095244 bl PositionRelative ldr r1, _08095284 @ =gUnk_0801183C adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -1307,7 +1307,7 @@ sub_08095420: @ 0x08095420 bl PositionRelative ldr r1, [r6, #4] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -1340,7 +1340,7 @@ sub_0809545C: @ 0x0809545C bl PositionRelative ldr r1, [r6, #4] adds r0, r5, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r5, #0 adds r1, #0x84 str r0, [r1] @@ -1376,7 +1376,7 @@ sub_080954AC: @ 0x080954AC bl CopyPosition ldr r1, _080954D8 @ =gUnk_08015B14 adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -1823,7 +1823,7 @@ sub_08095810: @ 0x08095810 bl sub_0806FAB0 ldr r1, _08095848 @ =gUnk_08011940 adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -1986,7 +1986,7 @@ sub_08095954: @ 0x08095954 strh r0, [r4, #0x36] ldr r1, _080959B4 @ =gUnk_08012C48 adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -2083,7 +2083,7 @@ sub_08095A1C: @ 0x08095A1C strb r0, [r1] ldr r1, [r5, #4] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -2512,7 +2512,7 @@ sub_08095D54: @ 0x08095D54 strb r0, [r1] ldr r1, [r5, #4] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -2538,7 +2538,7 @@ sub_08095D8C: @ 0x08095D8C bl CopyPosition ldr r1, [r6, #4] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -2658,7 +2658,7 @@ sub_08095E7C: @ 0x08095E7C bl CopyPosition ldr r1, [r6, #4] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -2975,7 +2975,7 @@ sub_080960C4: @ 0x080960C4 bl sub_0806FAD8 ldr r1, [r6, #4] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] @@ -3011,7 +3011,7 @@ _08096110: strb r0, [r1] ldr r1, [r6, #4] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] diff --git a/asm/object89.s b/asm/object89.s index b670c6ec..476e257f 100644 --- a/asm/object89.s +++ b/asm/object89.s @@ -87,7 +87,7 @@ _0809AB70: strb r0, [r1] ldr r1, _0809ABA0 @ =gUnk_08012DD8 adds r0, r5, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r5, #0 adds r1, #0x84 str r0, [r1] diff --git a/asm/objectB9.s b/asm/objectB9.s index a1240ae6..c8541922 100644 --- a/asm/objectB9.s +++ b/asm/objectB9.s @@ -481,7 +481,7 @@ _080A1582: mov r0, r8 ldr r1, [r0, #4] adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r1, r4, #0 adds r1, #0x84 str r0, [r1] diff --git a/asm/rem.s b/asm/rem.s index 5d410c2d..c266b2dd 100644 --- a/asm/rem.s +++ b/asm/rem.s @@ -6,32 +6,6 @@ .text - thumb_func_start sub_0806A3D8 -sub_0806A3D8: @ 0x0806A3D8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xb4 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0806A8C8 - ldr r1, _0806A40C @ =gUnk_08012F0C - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - pop {r4, pc} - .align 2, 0 -_0806A40C: .4byte gUnk_08012F0C - thumb_func_start sub_0806A410 sub_0806A410: @ 0x0806A410 push {lr} diff --git a/asm/stockwell.s b/asm/stockwell.s index 44d43e42..fc57ab3c 100644 --- a/asm/stockwell.s +++ b/asm/stockwell.s @@ -56,7 +56,7 @@ sub_08065080: @ 0x08065080 bl sub_08078850 ldr r1, _080650C8 @ =gUnk_080142B0 adds r0, r4, #0 - bl sub_0807DAD0 + bl StartCutscene adds r4, #0x84 str r0, [r4] pop {r4, pc} diff --git a/include/functions.h b/include/functions.h index bf269c1f..923c0369 100644 --- a/include/functions.h +++ b/include/functions.h @@ -25,6 +25,7 @@ extern void LoadRoomEntityList(); void ModHealth(s32); void PositionRelative(Entity*, Entity*, u32, u32); void CopyPosition(Entity*, Entity*); +extern u32* StartCutscene(Entity*, u8*); // Unidentified extern void sub_0806ED78(Entity*); @@ -60,7 +61,6 @@ extern Entity* sub_0805EB00(u32, u32, u32); extern Entity* sub_0805EB2C(u32, u32, u32, u32, u32); extern u32 LoadExtraSpriteData(Entity*, u32*); extern s32 sub_0806ED9C(Entity*, u32, u32); -extern s32* sub_0807DAD0(Entity*, u8*); extern void sub_0806FF60(Entity*, u32, u32); extern void sub_0806FF88(Entity*, u32, u32); extern void sub_0807000C(Entity*); diff --git a/src/rem.c b/src/rem.c index 6602e399..3357a1b4 100644 --- a/src/rem.c +++ b/src/rem.c @@ -7,10 +7,15 @@ extern void sub_0807DDE4(Entity*); extern void UpdateAnimationSingleFrame(Entity*); extern void sub_0806ED78(Entity*); extern void PlaySFX(u32); +extern void sub_0805E3A0(Entity*, u32); +extern void sub_0806A8C8(Entity*); +extern void sub_0807DD94(Entity*, u32); extern void (*gUnk_08112260[])(Entity*); extern void (*gUnk_08112278[])(Entity*); +extern void gUnk_08012F0C; + void sub_0806A358(Entity* this) { gUnk_08112260[this->entityType.parameter1](this); } @@ -34,4 +39,17 @@ void sub_0806a370(Entity* this) { PlaySFX(0x219); } } +} + +void sub_0806A3D8(Entity *this) +{ + u32 *uVar1; + + this->action = 1; + this->parameter3 = 0xb4; + sub_0805E3A0(this, 2); + sub_0806A8C8(this); + uVar1 = StartCutscene(this,&gUnk_08012F0C); + *(u32 *)&this->cutsceneBeh = (u32)uVar1; + sub_0807DD94(this, 0); } \ No newline at end of file diff --git a/src/talon.c b/src/talon.c index 401c7dd3..a19270ed 100644 --- a/src/talon.c +++ b/src/talon.c @@ -108,7 +108,7 @@ void sub_080656D4(Entity* this) { } else { if (this->interactType != 0) { if (GetInventoryValue(0x37) != 0) { // keyLonLon - sub_0807DAD0(this, &gUnk_0800B41C); + StartCutscene(this, &gUnk_0800B41C); goto label2; } else { this->field_0x69 = this->action;