diff --git a/asm/beedle.s b/asm/beedle.s index 8e85c463..ce6dcb63 100644 --- a/asm/beedle.s +++ b/asm/beedle.s @@ -184,15 +184,15 @@ Beedle_Head: @ 0x080633E0 ands r2, r0 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/carpenter.s b/asm/carpenter.s index 2cd58d5e..837712f2 100644 --- a/asm/carpenter.s +++ b/asm/carpenter.s @@ -121,11 +121,11 @@ Carpenter_Head: @ 0x08067228 ands r2, r0 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 adds r0, #0x5b ldrb r0, [r0] @@ -133,15 +133,15 @@ Carpenter_Head: @ 0x08067228 ands r2, r0 adds r0, r4, #0 movs r1, #2 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 movs r1, #1 movs r2, #2 - bl sub_0806FFD8 + bl SetSpriteSubEntryOffsetData2 adds r0, r4, #0 bl sub_0807000C b _080672AC @@ -154,15 +154,15 @@ _0806727E: ands r2, r0 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C _080672AC: diff --git a/asm/castleMaid.s b/asm/castleMaid.s index 63dbb35e..be02bb6b 100644 --- a/asm/castleMaid.s +++ b/asm/castleMaid.s @@ -50,15 +50,15 @@ _08064548: subs r2, #1 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 adds r2, r5, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, r5, pc} diff --git a/asm/code_0806FA6C.s b/asm/code_0806FA6C.s index 303e1d26..20060c2b 100644 --- a/asm/code_0806FA6C.s +++ b/asm/code_0806FA6C.s @@ -632,8 +632,8 @@ sub_0806FF48: @ 0x0806FF48 .align 2, 0 _0806FF5C: .4byte gUnk_020000C0 - thumb_func_start sub_0806FF60 -sub_0806FF60: @ 0x0806FF60 + thumb_func_start SetExtraSpriteFrame +SetExtraSpriteFrame: @ 0x0806FF60 push {lr} adds r3, r2, #0 adds r0, #0x28 @@ -656,8 +656,8 @@ _0806FF82: .align 2, 0 _0806FF84: .4byte gUnk_020000C0 - thumb_func_start sub_0806FF88 -sub_0806FF88: @ 0x0806FF88 + thumb_func_start SetSpriteSubEntryOffsetData1 +SetSpriteSubEntryOffsetData1: @ 0x0806FF88 push {r4, r5, lr} adds r5, r1, #0 adds r0, #0x28 @@ -700,8 +700,8 @@ sub_0806FFBC: @ 0x0806FFBC .align 2, 0 _0806FFD4: .4byte gUnk_020000C0 - thumb_func_start sub_0806FFD8 -sub_0806FFD8: @ 0x0806FFD8 + thumb_func_start SetSpriteSubEntryOffsetData2 +SetSpriteSubEntryOffsetData2: @ 0x0806FFD8 push {r4, r5, lr} adds r5, r1, #0 adds r0, #0x28 diff --git a/asm/dog.s b/asm/dog.s index e642f6f2..ac332d83 100644 --- a/asm/dog.s +++ b/asm/dog.s @@ -558,15 +558,15 @@ _08069F46: subs r2, #1 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/farmers.s b/asm/farmers.s index 31e41584..f8c4e133 100644 --- a/asm/farmers.s +++ b/asm/farmers.s @@ -84,15 +84,15 @@ Farmers_Head: @ 0x0806BC64 ands r2, r0 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/forestMinish.s b/asm/forestMinish.s index d03a398b..5946d0fc 100644 --- a/asm/forestMinish.s +++ b/asm/forestMinish.s @@ -133,15 +133,15 @@ _080600BA: _080600CA: adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/gorman.s b/asm/gorman.s index bddcc1a4..753e767c 100644 --- a/asm/gorman.s +++ b/asm/gorman.s @@ -464,15 +464,15 @@ Gorman_Head: @ 0x08069AE8 adds r2, #0xf adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/guardWithSpear.s b/asm/guardWithSpear.s index db7a7a1c..2b935187 100644 --- a/asm/guardWithSpear.s +++ b/asm/guardWithSpear.s @@ -403,23 +403,23 @@ _08063FF6: subs r4, #1 adds r0, r6, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r6, #0 movs r1, #1 adds r2, r5, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r6, #0 movs r1, #2 adds r2, r4, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r6, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r6, #0 movs r1, #1 movs r2, #2 - bl sub_0806FFD8 + bl SetSpriteSubEntryOffsetData2 adds r0, r6, #0 bl sub_0807000C pop {r4, r5, r6, pc} diff --git a/asm/hurdyGurdyMan.s b/asm/hurdyGurdyMan.s index 6365a90f..a9bce038 100644 --- a/asm/hurdyGurdyMan.s +++ b/asm/hurdyGurdyMan.s @@ -124,15 +124,15 @@ HurdyGurdyMan_Head: @ 0x0806E3E4 adds r2, #8 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/kid.s b/asm/kid.s index f5f970c9..8b504d15 100644 --- a/asm/kid.s +++ b/asm/kid.s @@ -1028,19 +1028,19 @@ _080628A6: adds r0, r5, #0 movs r1, #0 adds r2, r6, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 adds r2, r7, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #2 adds r2, r4, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r5, #0 movs r1, #1 movs r2, #2 @@ -1058,24 +1058,24 @@ _080628E8: subs r2, #1 adds r0, r5, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 adds r2, r6, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #2 adds r2, r7, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #2 movs r2, #1 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r5, #0 movs r1, #1 movs r2, #0 _08062916: - bl sub_0806FFD8 + bl SetSpriteSubEntryOffsetData2 adds r0, r5, #0 bl sub_0807000C b _08062946 @@ -1083,15 +1083,15 @@ _08062922: adds r0, r5, #0 movs r1, #0 adds r2, r6, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 adds r2, r7, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r5, #0 bl sub_0807000C _08062946: diff --git a/asm/librari.s b/asm/librari.s index 34912cda..ae1576bd 100644 --- a/asm/librari.s +++ b/asm/librari.s @@ -219,7 +219,7 @@ Percy_Head: @ 0x0806B35C adds r2, #0x13 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 adds r0, #0x5a ldrb r0, [r0] @@ -228,19 +228,19 @@ Percy_Head: @ 0x0806B35C adds r2, #0xb adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #2 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #2 movs r2, #1 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 movs r1, #2 movs r2, #0 - bl sub_0806FFD8 + bl SetSpriteSubEntryOffsetData2 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/mama.s b/asm/mama.s index 9583ced1..d9b4ffcd 100644 --- a/asm/mama.s +++ b/asm/mama.s @@ -127,15 +127,15 @@ Mama_Head: @ 0x0806C478 ands r2, r0 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/melari.s b/asm/melari.s index d7f6b898..c1ee3d20 100644 --- a/asm/melari.s +++ b/asm/melari.s @@ -245,7 +245,7 @@ Melari_Head: @ 0x0806889C ldrb r2, [r5, #0x1e] adds r0, r5, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame movs r0, #0x20 ands r0, r4 cmp r0, #0 @@ -256,32 +256,32 @@ Melari_Head: @ 0x0806889C adds r0, r5, #0 movs r1, #0 adds r2, r4, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #2 movs r2, #0xff - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 b _08068906 _080688E2: adds r0, r5, #0 movs r1, #0 movs r2, #0xff - bl sub_0806FF60 + bl SetExtraSpriteFrame movs r0, #0xe1 rsbs r0, r0, #0 ands r4, r0 adds r0, r5, #0 movs r1, #2 adds r2, r4, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 movs r2, #2 - bl sub_0806FFD8 + bl SetSpriteSubEntryOffsetData2 _08068906: adds r0, r5, #0 bl sub_0807000C diff --git a/asm/minishEzlo.s b/asm/minishEzlo.s index 32626e9a..d83ab550 100644 --- a/asm/minishEzlo.s +++ b/asm/minishEzlo.s @@ -104,11 +104,11 @@ _0806301E: subs r2, #1 adds r0, r4, #0 adds r1, r6, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 adds r1, r5, #0 adds r2, r7, #0 @@ -116,7 +116,7 @@ _0806301E: adds r0, r4, #0 adds r1, r5, #0 adds r2, r6, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, r5, r6, r7, pc} diff --git a/asm/mountainMinish.s b/asm/mountainMinish.s index 825d3f01..eb27eb01 100644 --- a/asm/mountainMinish.s +++ b/asm/mountainMinish.s @@ -496,7 +496,7 @@ MountainMinish_Head: @ 0x080681E0 ldrb r2, [r5, #0x1e] adds r0, r5, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame movs r0, #0x40 ands r0, r4 cmp r0, #0 @@ -507,15 +507,15 @@ MountainMinish_Head: @ 0x080681E0 adds r2, r4, #4 adds r0, r5, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #2 movs r2, #0xff - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 b _08068268 _08068226: movs r0, #0x20 @@ -525,28 +525,28 @@ _08068226: adds r0, r5, #0 movs r1, #0 movs r2, #0xff - bl sub_0806FF60 + bl SetExtraSpriteFrame movs r0, #0xe1 rsbs r0, r0, #0 ands r4, r0 adds r0, r5, #0 movs r1, #2 adds r2, r4, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 movs r2, #2 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 b _08068268 _08068254: adds r0, r5, #0 movs r1, #0 movs r2, #0xff - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #2 movs r2, #0xff - bl sub_0806FF60 + bl SetExtraSpriteFrame _08068268: adds r0, r5, #0 bl sub_0807000C diff --git a/asm/mutoh.s b/asm/mutoh.s index 2b062356..834b749f 100644 --- a/asm/mutoh.s +++ b/asm/mutoh.s @@ -101,15 +101,15 @@ Mutoh_Head: @ 0x08067080 ands r2, r0 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/npc58.s b/asm/npc58.s index ce43e94e..3eb358ea 100644 --- a/asm/npc58.s +++ b/asm/npc58.s @@ -107,25 +107,25 @@ NPC58_Head: @ 0x0806EBAC ldrsh r2, [r0, r1] adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 adds r0, #0x6a movs r1, #0 ldrsh r2, [r0, r1] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 adds r0, #0x6c movs r1, #0 ldrsh r2, [r0, r1] adds r0, r4, #0 movs r1, #2 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #3 movs r2, #0xa - bl sub_0806FF60 + bl SetExtraSpriteFrame movs r2, #0xc rsbs r2, r2, #0 adds r0, r4, #0 diff --git a/asm/sittingPerson.s b/asm/sittingPerson.s index ca76f17f..ff2f6fc7 100644 --- a/asm/sittingPerson.s +++ b/asm/sittingPerson.s @@ -312,7 +312,7 @@ SittingPerson_Head: @ 0x08063974 adds r2, r2, r0 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldr r2, _080639CC @ =gUnk_0810CD88 ldrb r1, [r4, #0x1e] movs r0, #3 @@ -326,11 +326,11 @@ SittingPerson_Head: @ 0x08063974 adds r2, r2, r0 adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, r5, pc} diff --git a/asm/smith.s b/asm/smith.s index 2c67950e..c859901c 100644 --- a/asm/smith.s +++ b/asm/smith.s @@ -129,7 +129,7 @@ Smith_Head: @ 0x080660A8 ldrb r2, [r5, #0x1e] adds r0, r5, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame movs r0, #0x40 ands r4, r0 cmp r4, #0 @@ -137,18 +137,18 @@ Smith_Head: @ 0x080660A8 adds r0, r5, #0 movs r1, #1 movs r2, #0x16 - bl sub_0806FF60 + bl SetExtraSpriteFrame b _080660D8 _080660CE: adds r0, r5, #0 movs r1, #1 movs r2, #0xff - bl sub_0806FF60 + bl SetExtraSpriteFrame _080660D8: adds r0, r5, #0 movs r1, #0 movs r2, #1 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r5, #0 bl sub_0807000C pop {r4, r5, pc} diff --git a/asm/sturgeon.s b/asm/sturgeon.s index 2f0c212d..696393f6 100644 --- a/asm/sturgeon.s +++ b/asm/sturgeon.s @@ -255,15 +255,15 @@ Sturgeon_Head: @ 0x08064C6C ands r2, r0 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, pc} diff --git a/asm/syrup.s b/asm/syrup.s index e7d300e6..35ecf185 100644 --- a/asm/syrup.s +++ b/asm/syrup.s @@ -42,7 +42,7 @@ Syrup_Head: @ 0x0806A2B4 adds r2, #0x10 adds r0, r5, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldr r0, _0806A354 @ =gUnk_08112204 adds r4, r4, r0 ldrb r2, [r4] @@ -52,26 +52,26 @@ Syrup_Head: @ 0x0806A2B4 adds r0, r5, #0 movs r1, #1 mov r2, r8 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r6, #0x1c adds r0, r5, #0 movs r1, #2 adds r2, r6, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame movs r0, #0x1a add sb, r0 adds r0, r5, #0 movs r1, #3 mov r2, sb - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r5, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r5, #0 movs r1, #1 movs r2, #3 - bl sub_0806FFD8 + bl SetSpriteSubEntryOffsetData2 adds r0, r5, #0 bl sub_0807000C pop {r3, r4} diff --git a/asm/teachers.s b/asm/teachers.s index 3d9fe643..c91bac97 100644 --- a/asm/teachers.s +++ b/asm/teachers.s @@ -140,15 +140,15 @@ Teachers_Head: @ 0x0806C68C adds r2, #3 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 adds r2, r6, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C b _0806C70A @@ -156,23 +156,23 @@ _0806C6D2: adds r2, #6 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r2, r5, #3 adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #2 adds r2, r6, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #2 movs r2, #1 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 movs r1, #2 movs r2, #0 - bl sub_0806FFD8 + bl SetSpriteSubEntryOffsetData2 adds r0, r4, #0 bl sub_0807000C _0806C70A: diff --git a/asm/townMinish.s b/asm/townMinish.s index 23d8a4bf..60b238ad 100644 --- a/asm/townMinish.s +++ b/asm/townMinish.s @@ -264,22 +264,22 @@ TownMinish_Head: @ 0x0806AE0C adds r2, #0x1c adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame b _0806AE46 _0806AE3C: adds r0, r4, #0 movs r1, #0 movs r2, #0xff - bl sub_0806FF60 + bl SetExtraSpriteFrame _0806AE46: ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C b _0806AEA4 @@ -304,15 +304,15 @@ _0806AE72: _0806AE82: adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C _0806AEA4: diff --git a/asm/townsperson.s b/asm/townsperson.s index 8b78b1d6..819d3c54 100644 --- a/asm/townsperson.s +++ b/asm/townsperson.s @@ -137,7 +137,7 @@ Townsperson_Head: @ 0x08061C60 adds r2, r1, r2 adds r0, r4, #0 movs r1, #0 - bl sub_0806FF60 + bl SetExtraSpriteFrame ldrb r2, [r4, #0x1e] ldrb r0, [r4, #0xa] lsls r0, r0, #2 @@ -146,11 +146,11 @@ Townsperson_Head: @ 0x08061C60 adds r2, r2, r0 adds r0, r4, #0 movs r1, #1 - bl sub_0806FF60 + bl SetExtraSpriteFrame adds r0, r4, #0 movs r1, #1 movs r2, #0 - bl sub_0806FF88 + bl SetSpriteSubEntryOffsetData1 adds r0, r4, #0 bl sub_0807000C pop {r4, r5, pc} diff --git a/asm/windTribespeople.s b/asm/windTribespeople.s index 4f0739c7..dee2af5f 100644 --- a/asm/windTribespeople.s +++ b/asm/windTribespeople.s @@ -6,266 +6,6 @@ .text - - thumb_func_start WindTribespeople -WindTribespeople: @ 0x0806C780 - push {lr} - ldr r2, _0806C794 @ =gUnk_08113A7C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0806C794: .4byte gUnk_08113A7C - - thumb_func_start sub_0806C798 -sub_0806C798: @ 0x0806C798 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806C7D0 @ =gUnk_08113A1C - adds r1, r1, r0 - adds r0, r4, #0 - bl LoadExtraSpriteData - cmp r0, #0 - beq _0806C7CE - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0807DD50 - adds r0, r4, #0 - bl sub_0806C7D4 -_0806C7CE: - pop {r4, pc} - .align 2, 0 -_0806C7D0: .4byte gUnk_08113A1C - - thumb_func_start sub_0806C7D4 -sub_0806C7D4: @ 0x0806C7D4 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - bne _0806C7F4 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r0, r4, #0 - bl sub_0806F118 - b _0806C82C -_0806C7F4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - ldrb r0, [r4, #0xb] - cmp r0, #3 - bne _0806C82C - movs r0, #0x58 - bl CheckGlobalFlag - cmp r0, #0 - bne _0806C82C - movs r0, #0x63 - bl CheckLocalFlag - cmp r0, #0 - beq _0806C82C - movs r0, #0 - bl CheckRoomFlag - cmp r0, #0 - beq _0806C82C - movs r0, #7 - strb r0, [r4, #0xb] - ldr r1, _0806C830 @ =gUnk_08014A80 - adds r0, r4, #0 - bl sub_0807DD80 -_0806C82C: - pop {r4, pc} - .align 2, 0 -_0806C830: .4byte gUnk_08014A80 - - thumb_func_start sub_0806C834 -sub_0806C834: @ 0x0806C834 - push {lr} - adds r2, r0, #0 - ldr r0, _0806C858 @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806C856 - ldrb r0, [r2, #0xc] - subs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x14] - lsrs r1, r1, #1 - adds r1, #4 - adds r0, r2, #0 - bl InitializeAnimation -_0806C856: - pop {pc} - .align 2, 0 -_0806C858: .4byte gTextBox - - thumb_func_start sub_0806C85C -sub_0806C85C: @ 0x0806C85C - push {r4, lr} - adds r4, r0, #0 - bl UpdateFuseInteraction - cmp r0, #0 - beq _0806C86C - movs r0, #1 - strb r0, [r4, #0xc] -_0806C86C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806C870 -sub_0806C870: @ 0x0806C870 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start WindTribespeople_Head -WindTribespeople_Head: @ 0x0806C888 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r7, #0x3f - ands r7, r1 - ldrb r0, [r4, #0xa] - cmp r0, #4 - bne _0806C8D4 - adds r0, r4, #0 - movs r1, #0 - movs r2, #9 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - adds r2, r7, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #2 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_0806FFD8 - adds r0, r4, #0 - movs r1, #2 - movs r2, #1 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - b _0806C90A -_0806C8D4: - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0806C8E2 - movs r6, #1 - movs r5, #0 - b _0806C8E6 -_0806C8E2: - movs r6, #0 - movs r5, #1 -_0806C8E6: - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FF60 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C -_0806C90A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0806C90C -sub_0806C90C: @ 0x0806C90C - push {lr} - movs r2, #0 - str r2, [r1, #0x14] - ldr r3, _0806C924 @ =gUnk_08113A8C - ldrb r2, [r0, #0xb] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0806C924: .4byte gUnk_08113A8C - - thumb_func_start sub_0806C928 -sub_0806C928: @ 0x0806C928 - push {lr} - ldr r1, _0806C93C @ =gUnk_02002A40 - ldrb r1, [r1, #8] - lsls r1, r1, #3 - ldr r2, _0806C940 @ =gUnk_08113ABC - adds r1, r1, r2 - bl ShowNPCDialogue - pop {pc} - .align 2, 0 -_0806C93C: .4byte gUnk_02002A40 -_0806C940: .4byte gUnk_08113ABC - - thumb_func_start sub_0806C944 -sub_0806C944: @ 0x0806C944 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x58 - bl CheckGlobalFlag - cmp r0, #0 - bne _0806C956 - movs r1, #0 - b _0806C964 -_0806C956: - movs r0, #0x63 - bl CheckLocalFlag - movs r1, #2 - cmp r0, #0 - beq _0806C964 - movs r1, #1 -_0806C964: - ldr r0, _0806C974 @ =gUnk_08113B0C - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl TextboxNoOverlap - pop {r4, pc} - .align 2, 0 -_0806C974: .4byte gUnk_08113B0C - thumb_func_start sub_0806C978 sub_0806C978: @ 0x0806C978 push {r4, lr} diff --git a/include/entity.h b/include/entity.h index 6db5d830..e3f86c82 100644 --- a/include/entity.h +++ b/include/entity.h @@ -144,6 +144,6 @@ typedef struct Entity { } Entity; -#define COORD_TO_TILE(entity) ((((entity->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3fU) | (((entity->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6) +#define COORD_TO_TILE(entity) ((((entity->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3fU) | (((entity->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3fU) * 64) #endif diff --git a/include/functions.h b/include/functions.h index 78330fae..fabfcc43 100644 --- a/include/functions.h +++ b/include/functions.h @@ -60,8 +60,8 @@ extern void sub_0807DD94(Entity*, u32); extern Entity* sub_0805EB00(u32, u32, u32); extern Entity* sub_0805EB2C(u32, u32, u32, u32, u32); extern s32 sub_0806ED9C(Entity*, u32, u32); -extern void sub_0806FF60(Entity*, u32, u32); -extern void sub_0806FF88(Entity*, u32, u32); +extern void SetExtraSpriteFrame(Entity*, u32, u32); +extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32); extern void sub_0807000C(Entity*); extern void sub_0805E47C(Entity*); extern void sub_0805E584(Entity*); diff --git a/include/sprite.h b/include/sprite.h index 0a172203..2132d98d 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -23,4 +23,9 @@ typedef struct { } PACKED b; } PACKED frameSettings; } Frame; + +typedef struct { + u8 numGfxTiles; + u16 gfxTileIndex; +} FrameGfxData; #endif \ No newline at end of file diff --git a/linker.ld b/linker.ld index db430a69..bd32465c 100644 --- a/linker.ld +++ b/linker.ld @@ -540,6 +540,7 @@ SECTIONS { asm/mama.o(.text); src/emma.o(.text); asm/teachers.o(.text); + src/windTribespeople.o(.text); asm/windTribespeople.o(.text); asm/gregal.o(.text); asm/mayorHagen.o(.text); diff --git a/src/loadRoom.c b/src/loadRoom.c index 7c7fcd19..7acf18d1 100644 --- a/src/loadRoom.c +++ b/src/loadRoom.c @@ -20,13 +20,8 @@ void LoadRoom(void) sub_0804B128(0); LoadRoomEntityList(); - iVar1 = CheckGlobalFlag(21); - if (iVar1 != 0) { - dat = sub_0804B128(2); - sub_0804B058(dat); - } + if (CheckGlobalFlag(21)) sub_0804B058(sub_0804B128(2)); sub_0804B128(3); sub_0804B1AC(); sub_0801AC98(); - return; } diff --git a/src/mailbox.c b/src/mailbox.c index e290f2be..c744cc4e 100644 --- a/src/mailbox.c +++ b/src/mailbox.c @@ -59,7 +59,6 @@ void sub_08063280(Entity* this, u32 unused) { e = this; UpdateAnimationSingleFrame(); var = e->frames.all & 0x7F; - e->frames.all = e->frames.all ^ var; - if (var == 2) - CreateFx(e, 49, 0); + e->frames.all ^= var; + if (var == 2) CreateFx(e, 49, 0); } diff --git a/src/milkCart.c b/src/milkCart.c index defc1a20..2c1bc52f 100644 --- a/src/milkCart.c +++ b/src/milkCart.c @@ -16,7 +16,7 @@ void MilkCart(Entity* ent) { void sub_08065B6C(Entity* ent) { ent->action++; ent->spriteSettings.b.ss0 = 1; - (ent->y).HALF.LO += -32768; + (ent->y).HALF.LO += -0x8000; ent->animationState = 6; InitAnimationForceUpdate(ent, 3); } diff --git a/src/object1A.c b/src/object1A.c index 1b2bb36a..6a3ce51c 100644 --- a/src/object1A.c +++ b/src/object1A.c @@ -24,7 +24,7 @@ void sub_080869DC(Entity* ent) { ent->action = 1; ent->spriteSettings.b.ss0 = 0; ent->boundingBox = &gUnk_080FD1A8; - ent->field_0x3c = ent->field_0x3c | 16; + ent->field_0x3c |= 16; itemEntity = CreateObject(0, ent->entityType.form, 0); if (itemEntity != NULL) { itemEntity->actionDelay = 10; diff --git a/src/object1D.c b/src/object1D.c index e7294703..1912facb 100644 --- a/src/object1D.c +++ b/src/object1D.c @@ -15,4 +15,4 @@ void sub_080874F8(Entity* this) DeleteThisEntity(); } -void nullsub_117(){} +void nullsub_117(Entity* this){} diff --git a/src/ocarina.c b/src/ocarina.c index 0a5dc2e6..88fab47b 100644 --- a/src/ocarina.c +++ b/src/ocarina.c @@ -39,14 +39,14 @@ void OcarinaUse(ItemBehavior* itemBeh, s32 inputFlags) { var = gLinkEntity.spriteSettings.raw & ~0x40; gLinkEntity.spriteSettings.raw &= var; - gLinkEntity.flags = gLinkEntity.flags & 127; + gLinkEntity.flags &= 127; gLinkEntity.itemCooldown = 2; - gLinkState.flags.all = (gLinkState.flags.all | 0x10000000); + gLinkState.flags.all |= 0x10000000; gLinkState.filler8[0] = 255; gUnk_02034490 = 1; bVar1 = (8 >> inputFlags); - gLinkState.unk3 = bVar1 | gLinkState.unk3; - gLinkState.keepFacing = bVar1 | gLinkState.keepFacing; + gLinkState.unk3 |= bVar1; + gLinkState.keepFacing |= bVar1; sub_08078F60(); sub_08077D38(itemBeh, inputFlags); PlaySFX(534); diff --git a/src/octorok.c b/src/octorok.c index 9d434058..5c66b098 100644 --- a/src/octorok.c +++ b/src/octorok.c @@ -109,11 +109,9 @@ void sub_0801EBC8(Entity* ent) { #endif void sub_0801EBF4(Entity* ent) { - u8 bVar1; u32 uVar2; - bVar1 = ent->actionDelay -= 1; - if (bVar1 == 0) { + if (--ent->actionDelay == 0) { ent->action = 2; uVar2 = Random(); ent->actionDelay = gUnk_080CA170[uVar2 & 3]; diff --git a/src/talon.c b/src/talon.c index 5e1561ab..49b7de77 100644 --- a/src/talon.c +++ b/src/talon.c @@ -144,9 +144,9 @@ void sub_08065780(Entity* this, u16* param_2) { } void Talon_Head(Entity* this) { - sub_0806FF60(this, 0, ((this->frames.all & 7) + 0xB)); - sub_0806FF60(this, 1, this->frameIndex); - sub_0806FF88(this, 1, 0); + SetExtraSpriteFrame(this, 0, ((this->frames.all & 7) + 0xB)); + SetExtraSpriteFrame(this, 1, this->frameIndex); + SetSpriteSubEntryOffsetData1(this, 1, 0); sub_0807000C(this); } diff --git a/src/well.c b/src/well.c index b91b274b..fa387763 100644 --- a/src/well.c +++ b/src/well.c @@ -19,8 +19,7 @@ void sub_080A0EB0(Entity* ent) { u32 tilePos; ent->action = 1; - tilePos = (((ent->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F) | - ((((ent->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F) * 64); + tilePos = COORD_TO_TILE(ent); ent->field_0x80 = tilePos; SetTile(16509, ent->field_0x80, 1); } @@ -29,7 +28,7 @@ void sub_080A0EF0(Entity* ent) { s32 tileIndex; tileIndex = GetTileType(ent->field_0x80, 1); - if (tileIndex != 16509) { + if (tileIndex != 0x407D) { sub_08078B48(); gLinkEntity.x.WORD = ent->x.WORD; gLinkEntity.y.HALF.HI = ent->y.HALF.HI + 4; diff --git a/src/windTribespeople.c b/src/windTribespeople.c new file mode 100644 index 00000000..9f176c47 --- /dev/null +++ b/src/windTribespeople.c @@ -0,0 +1,157 @@ +#include "global.h" +#include "entity.h" +#include "npc.h" +#include "textbox.h" + +typedef struct { + u8 filler[8]; + u8 unk; +} struct_02002A40; + +extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); +extern void sub_0807DD50(Entity*); +extern void sub_0806C7D4(Entity*); +extern void sub_0806F118(Entity*); +extern void sub_0807DD94(Entity*, u32); +extern void sub_0807DD80(Entity*, u32*); +extern u32 CheckGlobalFlag(u32); +extern u32 CheckLocalFlag(u32); +extern u32 CheckRoomFlag(u32); +extern u32 sub_0801E99C(); +extern void InitializeAnimation(Entity*, u32); +extern u32 UpdateFuseInteraction(); +extern void sub_08078784(Entity*, u32); +extern void SetExtraSpriteFrame(Entity*, u32, u32); +extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); +extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32); +extern void sub_0807000C(Entity*); +extern void ShowNPCDialogue(Entity*, u16*); +extern void TextboxNoOverlap(u32, Entity*); + +extern void (*const gUnk_08113A7C[])(Entity*); +extern void (*const gUnk_08113A8C[])(Entity*, Entity*); + +extern SpriteLoadData gUnk_08113A1C[]; +extern u32 gUnk_08014A80; +extern u16 gUnk_08113ABC[]; +extern struct_02002A40 gUnk_02002A40; +extern u16 gUnk_08113B0C[]; + +void WindTribespeople(Entity* this) { + gUnk_08113A7C[this->action](this); +} + +void sub_0806C798(Entity* this) { + s32 iVar1; + + iVar1 = LoadExtraSpriteData(this, gUnk_08113A1C + (this->entityType.form * 4)); + if (iVar1 != 0) { + this->action = 1; + this->spriteSettings.b.ss0 = 1; + this->animationState = this->actionDelay; + sub_0807DD50(this); + sub_0806C7D4(this); + } +} + +void sub_0806C7D4(Entity* this) { + u32 iVar1; + u32 uVar2; + + if (this->interactType == '\x02') { + this->action = 3; + this->interactType = '\0'; + sub_0806F118(this); + } else { + sub_0807DD94(this, 0); + if ((this->entityType.parameter == 3) && (!CheckGlobalFlag(0x58)) && (CheckLocalFlag(0x63)) && + (CheckRoomFlag(0))) { + (this->entityType).parameter = 7; + sub_0807DD80(this, &gUnk_08014A80); + } + } +} + +void sub_0806C834(Entity* this) { + if ((gTextBox.doTextBox & 0x7f) == 0) { + --this->action; + InitializeAnimation(this, (this->animationState / 2) + 4); + } +} + +void sub_0806C85C(Entity* this) { + if (UpdateFuseInteraction() != 0) { + this->action = 1; + } +} + +void sub_0806C870(Entity *this) +{ + u8 bVar1; + + bVar1 = sub_0801E99C(); + this->field_0x68 = bVar1; + sub_08078784(this, this->field_0x68); +} + +void WindTribespeople_Head(Entity *this) +{ + u32 uVar1; + u32 uVar2; + u8 pbVar3; + + pbVar3 = (this->frames.all & 0x3F); + if (this->entityType.form == 4) { + SetExtraSpriteFrame(this, 0, 9); + SetExtraSpriteFrame(this, 1, pbVar3); + SetExtraSpriteFrame(this, 2, this->frameIndex); + SetSpriteSubEntryOffsetData2(this, 2, 0); + SetSpriteSubEntryOffsetData1(this, 2, 1); + sub_0807000C(this); + } + else { + if (this->frames.b.f2 != 0) { + uVar2 = 1; + uVar1 = 0; + } + else { + uVar2 = 0; + uVar1 = 1; + } + SetExtraSpriteFrame(this, uVar2, pbVar3); + SetExtraSpriteFrame(this, uVar1, this->frameIndex); + SetSpriteSubEntryOffsetData1(this, uVar1, uVar2); + sub_0807000C(this); + } +} + +//body and head entities? +void sub_0806C90C(Entity *param_1,Entity *param_2) +{ + *(u32 *)¶m_2->animationState = 0; + gUnk_08113A8C[param_1->entityType.parameter](param_1, param_2); +} + +void sub_0806C928(Entity *this) +{ + ShowNPCDialogue(this, gUnk_08113ABC + (gUnk_02002A40.unk * 4)); +} + +void sub_0806C944(Entity *this) +{ + int iVar1; + int iVar2; + + iVar1 = CheckGlobalFlag(0x58); + if (iVar1 == 0) { + iVar2 = 0; + } + else { + iVar1 = CheckLocalFlag(0x63); + iVar2 = 2; + if (iVar1 != 0) { + iVar2 = 1; + } + } + TextboxNoOverlap(gUnk_08113B0C[iVar2], this); +} \ No newline at end of file