diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-06-02 20:50:14 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-06-02 20:50:14 -0400 |
commit | ac48aab8e61d8ac3e0ed0386da5dd74389b1a51c (patch) | |
tree | 7ba284bdc151b425ba67f3385803671216329227 | |
parent | d03bf0f3818bacfe962a1da4a53c30080573e6a8 (diff) |
Some smaller functions
-rwxr-xr-x | asm/decoration.s | 197 | ||||
-rwxr-xr-x | include/decoration.h | 3 | ||||
-rwxr-xr-x | src/decoration.c | 52 |
3 files changed, 55 insertions, 197 deletions
diff --git a/asm/decoration.s b/asm/decoration.s index 80b1c1dad..fb94dcbab 100755 --- a/asm/decoration.s +++ b/asm/decoration.s @@ -8,203 +8,6 @@ .equiv ewram_1f000, 0x0201f000 - thumb_func_start sub_80FFAB0 -sub_80FFAB0: @ 80FFAB0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080FFAF8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r3, _080FFAFC @ =gSprites - ldr r0, _080FFB00 @ =gUnknown_020391A8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r2, 0x1 - strh r2, [r0, 0x3C] - ldr r0, _080FFB04 @ =gUnknown_020391A9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x3C] - bl sub_810045C - adds r0, r4, 0 - bl sub_8100038 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FFAF8: .4byte gTasks -_080FFAFC: .4byte gSprites -_080FFB00: .4byte gUnknown_020391A8 -_080FFB04: .4byte gUnknown_020391A9 - thumb_func_end sub_80FFAB0 - - thumb_func_start sub_80FFB08 -sub_80FFB08: @ 80FFB08 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080FFB54 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r3, _080FFB58 @ =gSprites - ldr r0, _080FFB5C @ =gUnknown_020391A8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r2, 0x1 - strh r2, [r0, 0x3C] - ldr r0, _080FFB60 @ =gUnknown_020391A9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x3C] - bl sub_810045C - ldr r1, _080FFB64 @ =gSecretBaseText_CancelDecorating - ldr r2, _080FFB68 @ =sub_8100248 - adds r0, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FFB54: .4byte gTasks -_080FFB58: .4byte gSprites -_080FFB5C: .4byte gUnknown_020391A8 -_080FFB60: .4byte gUnknown_020391A9 -_080FFB64: .4byte gSecretBaseText_CancelDecorating -_080FFB68: .4byte sub_8100248 - thumb_func_end sub_80FFB08 - - thumb_func_start sub_80FFB6C -sub_80FFB6C: @ 80FFB6C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - bl sub_8057274 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FFB86 - cmp r4, 0 - beq _080FFB8A -_080FFB86: - movs r0, 0 - b _080FFB8C -_080FFB8A: - movs r0, 0x1 -_080FFB8C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFB6C - - thumb_func_start sub_80FFB94 -sub_80FFB94: @ 80FFB94 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - lsls r1, 16 - asrs r1, 16 - ldr r3, _080FFBD0 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - movs r3, 0xE - ldrsh r0, [r2, r3] - adds r0, 0x7 - cmp r1, r0 - bne _080FFBD4 - lsls r1, r4, 16 - asrs r1, 16 - movs r3, 0x10 - ldrsh r0, [r2, r3] - adds r0, 0x7 - cmp r1, r0 - bne _080FFBD4 - cmp r5, 0 - beq _080FFBD4 - movs r0, 0 - b _080FFBD6 - .align 2, 0 -_080FFBD0: .4byte gTasks -_080FFBD4: - movs r0, 0x1 -_080FFBD6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FFB94 - - thumb_func_start sub_80FFBDC -sub_80FFBDC: @ 80FFBDC - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8057274 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FFC1C - ldrb r0, [r5] - cmp r0, 0x21 - bne _080FFC0A - adds r0, r4, 0 - bl sub_8057300 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FFC18 -_080FFC0A: - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_805729C - lsls r0, 24 - cmp r0, 0 - beq _080FFC1C -_080FFC18: - movs r0, 0x1 - b _080FFC1E -_080FFC1C: - movs r0, 0 -_080FFC1E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FFBDC - thumb_func_start sub_80FFC24 sub_80FFC24: @ 80FFC24 push {r4-r7,lr} diff --git a/include/decoration.h b/include/decoration.h index a4b72b8dc..a055347c6 100755 --- a/include/decoration.h +++ b/include/decoration.h @@ -256,6 +256,9 @@ void sub_80FF6AC(u8); void sub_80FF960(u8); void AddDecorationIconObjectFromFieldObject(struct UnkStruct_02038900 *, u8); void SetUpPlacingDecorationPlayerAvatar(u8, struct UnkStruct_02038900 *); +void sub_8100038(u8); +void sub_8100248(u8); +void sub_810045C(void); void sub_810065C(u8); void sub_81006D0(struct UnkStruct_02038900 *); void sub_810070C(u16 *, int); diff --git a/src/decoration.c b/src/decoration.c index 9a1e9ed2a..67c4d13af 100755 --- a/src/decoration.c +++ b/src/decoration.c @@ -919,3 +919,55 @@ void sub_80FF960(u8 taskId) break; } } + +void sub_80FFAB0(u8 taskId) +{ + gTasks[taskId].data[10] = 0; + gSprites[gUnknown_020391A8].data7 = 1; + gSprites[gUnknown_020391A9].data7 = 1; + sub_810045C(); + sub_8100038(taskId); +} + +void sub_80FFB08(u8 taskId) +{ + gTasks[taskId].data[10] = 0; + gSprites[gUnknown_020391A8].data7 = 1; + gSprites[gUnknown_020391A9].data7 = 1; + sub_810045C(); + DisplayItemMessageOnField(taskId, gSecretBaseText_CancelDecorating, sub_8100248, 0); +} + +bool8 sub_80FFB6C(u8 a0, u16 a1) +{ + if (sub_8057274(a0) != 1 || a1 != 0) + { + return FALSE; + } + return TRUE; +} + +bool8 sub_80FFB94(u8 taskId, s16 x, s16 y, u16 decoId) +{ + if (x == gTasks[taskId].data[3] + 7 && y == gTasks[taskId].data[4] + 7 && decoId != 0) + { + return FALSE; + } + return TRUE; +} + +bool8 sub_80FFBDC(u16 a0, struct Decoration *decoration) +{ + if (sub_8057274(a0) != 1) + { + if (decoration->id == DECOR_SOLID_BOARD && sub_8057300(a0) == 1) + { + return TRUE; + } + if (sub_805729C(a0)) + { + return TRUE; + } + } + return FALSE; +} |