summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-06-02 20:29:36 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-06-02 20:29:36 -0400
commitd03bf0f3818bacfe962a1da4a53c30080573e6a8 (patch)
tree49580a6fd4c5aadb6484ff357c09627c7b89804d
parenta969b2df27c284179f231a5e9215596af7a5a215 (diff)
sub_80FF960
-rwxr-xr-xasm/decoration.s165
-rwxr-xr-xsrc/decoration.c48
2 files changed, 48 insertions, 165 deletions
diff --git a/asm/decoration.s b/asm/decoration.s
index b95b1b2e8..80b1c1dad 100755
--- a/asm/decoration.s
+++ b/asm/decoration.s
@@ -8,171 +8,6 @@
.equiv ewram_1f000, 0x0201f000
- thumb_func_start sub_80FF960
-sub_80FF960: @ 80FF960
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080FF98C @ =gDecorations
- ldr r0, _080FF990 @ =gUnknown_020388F5
- ldrb r1, [r0]
- ldr r0, _080FF994 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 5
- adds r0, r2
- ldrb r0, [r0, 0x12]
- cmp r0, 0x9
- bls _080FF980
- b _080FFAA6
-_080FF980:
- lsls r0, 2
- ldr r1, _080FF998 @ =_080FF99C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FF98C: .4byte gDecorations
-_080FF990: .4byte gUnknown_020388F5
-_080FF994: .4byte gUnknown_020388D0
-_080FF998: .4byte _080FF99C
- .align 2, 0
-_080FF99C:
- .4byte _080FF9C4
- .4byte _080FF9D8
- .4byte _080FF9F0
- .4byte _080FFA08
- .4byte _080FFA1C
- .4byte _080FFA30
- .4byte _080FFA44
- .4byte _080FFA64
- .4byte _080FFA7C
- .4byte _080FFA94
-_080FF9C4:
- ldr r0, _080FF9D4 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _080FFA88
- .align 2, 0
-_080FF9D4: .4byte gTasks
-_080FF9D8:
- ldr r1, _080FF9EC @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x12]
- movs r1, 0x1
- b _080FFAA4
- .align 2, 0
-_080FF9EC: .4byte gTasks
-_080FF9F0:
- ldr r1, _080FFA04 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x12]
- movs r1, 0x1
- b _080FFAA4
- .align 2, 0
-_080FFA04: .4byte gTasks
-_080FFA08:
- ldr r1, _080FFA18 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x4
- b _080FFAA0
- .align 2, 0
-_080FFA18: .4byte gTasks
-_080FFA1C:
- ldr r0, _080FFA2C @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- b _080FFA88
- .align 2, 0
-_080FFA2C: .4byte gTasks
-_080FFA30:
- ldr r1, _080FFA40 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- b _080FFAA0
- .align 2, 0
-_080FFA40: .4byte gTasks
-_080FFA44:
- ldr r0, _080FFA60 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x12]
- movs r0, 0x3
- strh r0, [r1, 0x14]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _080FFAA6
- .align 2, 0
-_080FFA60: .4byte gTasks
-_080FFA64:
- ldr r1, _080FFA78 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x12]
- movs r1, 0x4
- b _080FFAA4
- .align 2, 0
-_080FFA78: .4byte gTasks
-_080FFA7C:
- ldr r0, _080FFA90 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x3
-_080FFA88:
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- b _080FFAA6
- .align 2, 0
-_080FFA90: .4byte gTasks
-_080FFA94:
- ldr r1, _080FFAAC @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
-_080FFAA0:
- strh r1, [r0, 0x12]
- movs r1, 0x2
-_080FFAA4:
- strh r1, [r0, 0x14]
-_080FFAA6:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFAAC: .4byte gTasks
- thumb_func_end sub_80FF960
-
thumb_func_start sub_80FFAB0
sub_80FFAB0: @ 80FFAB0
push {r4,lr}
diff --git a/src/decoration.c b/src/decoration.c
index 542644bb0..9a1e9ed2a 100755
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -871,3 +871,51 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct UnkStruct_02038900 *un
DestroySprite(&gSprites[gUnknown_020391A8]);
gUnknown_020391A8 = gUnknown_03004880.unk4;
}
+
+void sub_80FF960(u8 taskId)
+{
+ switch (gDecorations[gUnknown_020388D0[gUnknown_020388F5]].decor_field_12)
+ {
+ case 0:
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].data[6] = 1;
+ break;
+ case 1:
+ gTasks[taskId].data[5] = 2;
+ gTasks[taskId].data[6] = 1;
+ break;
+ case 2:
+ gTasks[taskId].data[5] = 3;
+ gTasks[taskId].data[6] = 1;
+ break;
+ case 3:
+ gTasks[taskId].data[5] = 4;
+ gTasks[taskId].data[6] = 2;
+ break;
+ case 4:
+ gTasks[taskId].data[5] = 2;
+ gTasks[taskId].data[6] = 2;
+ break;
+ case 5:
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].data[6] = 2;
+ break;
+ case 6:
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].data[6] = 3;
+ gTasks[taskId].data[1]++;
+ break;
+ case 7:
+ gTasks[taskId].data[5] = 2;
+ gTasks[taskId].data[6] = 4;
+ break;
+ case 8:
+ gTasks[taskId].data[5] = 3;
+ gTasks[taskId].data[6] = 3;
+ break;
+ case 9:
+ gTasks[taskId].data[5] = 3;
+ gTasks[taskId].data[6] = 2;
+ break;
+ }
+}