summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_811DA74.s3678
-rw-r--r--data/decoration.s265
-rw-r--r--data/decorations.inc2432
-rw-r--r--include/battle.h10
-rwxr-xr-xinclude/decoration.h59
-rwxr-xr-x[-rw-r--r--]include/menu.h8
-rw-r--r--include/songs.h34
-rwxr-xr-x[-rw-r--r--]include/sprite.h4
-rw-r--r--ld_script.txt3
-rw-r--r--src/battle_2.c2
-rw-r--r--src/battle_811DA74.c986
-rw-r--r--src/battle_ai.c2
-rwxr-xr-xsrc/decoration.c1638
-rwxr-xr-x[-rw-r--r--]src/menu.c2
-rwxr-xr-x[-rw-r--r--]src/scrcmd.c1
-rwxr-xr-x[-rw-r--r--]src/secret_base.c0
16 files changed, 2613 insertions, 6511 deletions
diff --git a/asm/battle_811DA74.s b/asm/battle_811DA74.s
deleted file mode 100644
index 4190b2400..000000000
--- a/asm/battle_811DA74.s
+++ /dev/null
@@ -1,3678 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_811EC68
-sub_811EC68: @ 811EC68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0811ECA0 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 9
- ldr r2, _0811ECA4 @ =gUnknown_02023A63
- adds r3, r0, r2
- adds r6, r3, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r7, r2, 0
- cmp r0, 0x3B
- bls _0811EC94
- bl _0811F62E
-_0811EC94:
- lsls r0, 2
- ldr r1, _0811ECA8 @ =_0811ECAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811ECA0: .4byte gUnknown_02024A60
-_0811ECA4: .4byte gUnknown_02023A63
-_0811ECA8: .4byte _0811ECAC
- .align 2, 0
-_0811ECAC:
- .4byte _0811ED9C
- .4byte _0811EF34
- .4byte _0811EF54
- .4byte _0811EF74
- .4byte _0811EFCC
- .4byte _0811EFCC
- .4byte _0811EFCC
- .4byte _0811EFCC
- .4byte _0811EFF4
- .4byte _0811F058
- .4byte _0811F058
- .4byte _0811F058
- .4byte _0811F058
- .4byte _0811F62E
- .4byte _0811F62E
- .4byte _0811F62E
- .4byte _0811F62E
- .4byte _0811F088
- .4byte _0811F0A8
- .4byte _0811F0C8
- .4byte _0811F0E8
- .4byte _0811F108
- .4byte _0811F128
- .4byte _0811F148
- .4byte _0811F168
- .4byte _0811F188
- .4byte _0811F1A8
- .4byte _0811F1C8
- .4byte _0811F1E8
- .4byte _0811F208
- .4byte _0811F228
- .4byte _0811F248
- .4byte _0811F2B8
- .4byte _0811F2D8
- .4byte _0811F2F8
- .4byte _0811F318
- .4byte _0811F338
- .4byte _0811F358
- .4byte _0811F378
- .4byte _0811F398
- .4byte _0811F3B8
- .4byte _0811F3D8
- .4byte _0811F3F8
- .4byte _0811F418
- .4byte _0811F438
- .4byte _0811F458
- .4byte _0811F478
- .4byte _0811F498
- .4byte _0811F4B8
- .4byte _0811F4D8
- .4byte _0811F4F8
- .4byte _0811F518
- .4byte _0811F538
- .4byte _0811F558
- .4byte _0811F578
- .4byte _0811F598
- .4byte _0811F5B8
- .4byte _0811F5D8
- .4byte _0811F5F8
- .4byte _0811F618
-_0811ED9C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _0811EF30 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r6, 0
- bl SetMonData
- adds r2, r6, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r6
- mov r10, r0
- adds r0, r6, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r6, 0x2
- str r0, [sp, 0x4]
- adds r0, r6, 0x4
- str r0, [sp, 0x8]
- adds r0, r6, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r7, r6, 0
- adds r7, 0x24
- adds r4, r6, 0
- adds r4, 0xC
-_0811EE02:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r7, 0
- bl SetMonData
- adds r7, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0811EE02
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _0811EF30 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r6, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r6, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811EF30: .4byte gPlayerParty
-_0811EF34:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811EF4C @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811EF50 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xB
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811EF4C: .4byte gPlayerParty
-_0811EF50: .4byte gUnknown_02024A60
-_0811EF54:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811EF6C @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811EF70 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xC
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811EF6C: .4byte gPlayerParty
-_0811EF70: .4byte gUnknown_02024A60
-_0811EF74:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r3
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0811EFC8 @ =gPlayerParty
- adds r7, r1, r0
- adds r6, r3, 0
- adds r6, 0x8
- adds r4, r3, 0
-_0811EF8E:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0811EF8E
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811EFC8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811EFC8: .4byte gPlayerParty
-_0811EFCC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811EFE8 @ =gPlayerParty
- adds r0, r1
- ldr r3, _0811EFEC @ =gUnknown_02023A60
- ldr r1, _0811EFF0 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _0811F070
- .align 2, 0
-_0811EFE8: .4byte gPlayerParty
-_0811EFEC: .4byte gUnknown_02023A60
-_0811EFF0: .4byte gUnknown_02024A60
-_0811EFF4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _0811F050 @ =gPlayerParty
- adds r4, r0
- ldr r5, _0811F054 @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x11
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F050: .4byte gPlayerParty
-_0811F054: .4byte gUnknown_02024A60
-_0811F058:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F07C @ =gPlayerParty
- adds r0, r1
- ldr r3, _0811F080 @ =gUnknown_02023A60
- ldr r1, _0811F084 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_0811F070:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F07C: .4byte gPlayerParty
-_0811F080: .4byte gUnknown_02023A60
-_0811F084: .4byte gUnknown_02024A60
-_0811F088:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F0A0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F0A4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F0A0: .4byte gPlayerParty
-_0811F0A4: .4byte gUnknown_02024A60
-_0811F0A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F0C0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F0C4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x19
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F0C0: .4byte gPlayerParty
-_0811F0C4: .4byte gUnknown_02024A60
-_0811F0C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F0E0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F0E4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1A
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F0E0: .4byte gPlayerParty
-_0811F0E4: .4byte gUnknown_02024A60
-_0811F0E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F100 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F104 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1B
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F100: .4byte gPlayerParty
-_0811F104: .4byte gUnknown_02024A60
-_0811F108:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F120 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F124 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1C
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F120: .4byte gPlayerParty
-_0811F124: .4byte gUnknown_02024A60
-_0811F128:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F140 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F144 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1D
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F140: .4byte gPlayerParty
-_0811F144: .4byte gUnknown_02024A60
-_0811F148:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F160 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F164 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1E
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F160: .4byte gPlayerParty
-_0811F164: .4byte gUnknown_02024A60
-_0811F168:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F180 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F184 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1F
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F180: .4byte gPlayerParty
-_0811F184: .4byte gUnknown_02024A60
-_0811F188:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F1A0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F1A4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x20
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F1A0: .4byte gPlayerParty
-_0811F1A4: .4byte gUnknown_02024A60
-_0811F1A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F1C0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F1C4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x22
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F1C0: .4byte gPlayerParty
-_0811F1C4: .4byte gUnknown_02024A60
-_0811F1C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F1E0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F1E4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x23
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F1E0: .4byte gPlayerParty
-_0811F1E4: .4byte gUnknown_02024A60
-_0811F1E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F200 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F204 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x24
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F200: .4byte gPlayerParty
-_0811F204: .4byte gUnknown_02024A60
-_0811F208:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F220 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F224 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x25
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F220: .4byte gPlayerParty
-_0811F224: .4byte gUnknown_02024A60
-_0811F228:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F240 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F244 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x26
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F240: .4byte gPlayerParty
-_0811F244: .4byte gUnknown_02024A60
-_0811F248:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _0811F2B0 @ =gPlayerParty
- adds r4, r0
- ldr r5, _0811F2B4 @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x27
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _0811F368
- .align 2, 0
-_0811F2B0: .4byte gPlayerParty
-_0811F2B4: .4byte gUnknown_02024A60
-_0811F2B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F2D0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F2D4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x27
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F2D0: .4byte gPlayerParty
-_0811F2D4: .4byte gUnknown_02024A60
-_0811F2D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F2F0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F2F4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x28
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F2F0: .4byte gPlayerParty
-_0811F2F4: .4byte gUnknown_02024A60
-_0811F2F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F310 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F314 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x29
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F310: .4byte gPlayerParty
-_0811F314: .4byte gUnknown_02024A60
-_0811F318:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F330 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F334 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2A
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F330: .4byte gPlayerParty
-_0811F334: .4byte gUnknown_02024A60
-_0811F338:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F350 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F354 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2B
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F350: .4byte gPlayerParty
-_0811F354: .4byte gUnknown_02024A60
-_0811F358:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F370 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F374 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
-_0811F368:
- movs r1, 0x2C
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F370: .4byte gPlayerParty
-_0811F374: .4byte gUnknown_02024A60
-_0811F378:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F390 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F394 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F390: .4byte gPlayerParty
-_0811F394: .4byte gUnknown_02024A60
-_0811F398:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F3B0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F3B4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x9
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F3B0: .4byte gPlayerParty
-_0811F3B4: .4byte gUnknown_02024A60
-_0811F3B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F3D0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F3D4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x37
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F3D0: .4byte gPlayerParty
-_0811F3D4: .4byte gUnknown_02024A60
-_0811F3D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F3F0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F3F4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x38
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F3F0: .4byte gPlayerParty
-_0811F3F4: .4byte gUnknown_02024A60
-_0811F3F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F410 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F414 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x39
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F410: .4byte gPlayerParty
-_0811F414: .4byte gUnknown_02024A60
-_0811F418:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F430 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F434 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3A
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F430: .4byte gPlayerParty
-_0811F434: .4byte gUnknown_02024A60
-_0811F438:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F450 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F454 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3B
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F450: .4byte gPlayerParty
-_0811F454: .4byte gUnknown_02024A60
-_0811F458:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F470 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F474 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3C
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F470: .4byte gPlayerParty
-_0811F474: .4byte gUnknown_02024A60
-_0811F478:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F490 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F494 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3D
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F490: .4byte gPlayerParty
-_0811F494: .4byte gUnknown_02024A60
-_0811F498:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F4B0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F4B4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3E
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F4B0: .4byte gPlayerParty
-_0811F4B4: .4byte gUnknown_02024A60
-_0811F4B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F4D0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F4D4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3F
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F4D0: .4byte gPlayerParty
-_0811F4D4: .4byte gUnknown_02024A60
-_0811F4D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F4F0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F4F4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x16
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F4F0: .4byte gPlayerParty
-_0811F4F4: .4byte gUnknown_02024A60
-_0811F4F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F510 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F514 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x17
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F510: .4byte gPlayerParty
-_0811F514: .4byte gUnknown_02024A60
-_0811F518:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F530 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F534 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x18
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F530: .4byte gPlayerParty
-_0811F534: .4byte gUnknown_02024A60
-_0811F538:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F550 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F554 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x21
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F550: .4byte gPlayerParty
-_0811F554: .4byte gUnknown_02024A60
-_0811F558:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F570 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F574 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2F
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F570: .4byte gPlayerParty
-_0811F574: .4byte gUnknown_02024A60
-_0811F578:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F590 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F594 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x30
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F590: .4byte gPlayerParty
-_0811F594: .4byte gUnknown_02024A60
-_0811F598:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F5B0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F5B4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x32
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F5B0: .4byte gPlayerParty
-_0811F5B4: .4byte gUnknown_02024A60
-_0811F5B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F5D0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F5D4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x33
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F5D0: .4byte gPlayerParty
-_0811F5D4: .4byte gUnknown_02024A60
-_0811F5D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F5F0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F5F4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x34
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F5F0: .4byte gPlayerParty
-_0811F5F4: .4byte gUnknown_02024A60
-_0811F5F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F610 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F614 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x35
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F610: .4byte gPlayerParty
-_0811F614: .4byte gUnknown_02024A60
-_0811F618:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F658 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F65C @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x36
- bl SetMonData
-_0811F62E:
- ldr r2, _0811F660 @ =gUnknown_02024A6A
- ldr r0, _0811F65C @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0811F658 @ =gPlayerParty
- adds r0, r2
- bl sub_80324F8
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F658: .4byte gPlayerParty
-_0811F65C: .4byte gUnknown_02024A60
-_0811F660: .4byte gUnknown_02024A6A
- thumb_func_end sub_811EC68
-
- thumb_func_start sub_811F664
-sub_811F664: @ 811F664
- push {r4-r7,lr}
- ldr r1, _0811F6C8 @ =gUnknown_02024A6A
- ldr r7, _0811F6CC @ =gUnknown_02024A60
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, _0811F6D0 @ =gUnknown_02023A60
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, _0811F6D4 @ =gPlayerParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _0811F6BC
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_0811F69A:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0811F69A
-_0811F6BC:
- bl dp01_tbl3_exec_completed
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F6C8: .4byte gUnknown_02024A6A
-_0811F6CC: .4byte gUnknown_02024A60
-_0811F6D0: .4byte gUnknown_02023A60
-_0811F6D4: .4byte gPlayerParty
- thumb_func_end sub_811F664
-
- thumb_func_start sub_811F6D8
-sub_811F6D8: @ 811F6D8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0811F7CC @ =gUnknown_02024A6A
- mov r8, r0
- ldr r6, _0811F7D0 @ =gUnknown_02024A60
- ldrb r1, [r6]
- lsls r0, r1, 1
- add r0, r8
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _0811F7D4 @ =gPlayerParty
- adds r0, r4
- bl sub_80318FC
- ldrb r0, [r6]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6]
- bl battle_get_per_side_status
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _0811F7D8 @ =gUnknown_02024E8C
- mov r8, r0
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r6]
- bl sub_8077F68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6]
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _0811F7DC @ =gUnknown_02024BE0
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r5, _0811F7E0 @ =gSprites
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811F7E4 @ =0x0000ff10
- strh r1, [r0, 0x24]
- ldrb r2, [r6]
- adds r0, r2, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x2E]
- ldrb r3, [r6]
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r2, [r6]
- adds r4, r2, r4
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811F7E8 @ =gBattleMonForms
- adds r2, r1
- ldrb r1, [r2]
- bl StartSpriteAnim
- ldr r1, _0811F7EC @ =gUnknown_03004330
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811F7F0 @ =sub_811DDE8
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F7CC: .4byte gUnknown_02024A6A
-_0811F7D0: .4byte gUnknown_02024A60
-_0811F7D4: .4byte gPlayerParty
-_0811F7D8: .4byte gUnknown_02024E8C
-_0811F7DC: .4byte gUnknown_02024BE0
-_0811F7E0: .4byte gSprites
-_0811F7E4: .4byte 0x0000ff10
-_0811F7E8: .4byte gBattleMonForms
-_0811F7EC: .4byte gUnknown_03004330
-_0811F7F0: .4byte sub_811DDE8
- thumb_func_end sub_811F6D8
-
- thumb_func_start sub_811F7F4
-sub_811F7F4: @ 811F7F4
- push {r4-r6,lr}
- ldr r5, _0811F84C @ =gUnknown_02024A60
- ldrb r0, [r5]
- ldr r4, _0811F850 @ =gUnknown_02023A60
- lsls r1, r0, 9
- adds r6, r4, 0x2
- adds r1, r6
- ldrb r1, [r1]
- bl sub_8032AA8
- ldr r2, _0811F854 @ =gUnknown_02024A6A
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r2
- lsls r0, 9
- adds r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- strh r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0811F858 @ =gPlayerParty
- adds r0, r2
- bl sub_80318FC
- ldrb r0, [r5]
- lsls r1, r0, 9
- adds r1, r6
- ldrb r1, [r1]
- bl sub_811F864
- ldr r1, _0811F85C @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811F860 @ =sub_811E1BC
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F84C: .4byte gUnknown_02024A60
-_0811F850: .4byte gUnknown_02023A60
-_0811F854: .4byte gUnknown_02024A6A
-_0811F858: .4byte gPlayerParty
-_0811F85C: .4byte gUnknown_03004330
-_0811F860: .4byte sub_811E1BC
- thumb_func_end sub_811F7F4
-
- thumb_func_start sub_811F864
-sub_811F864: @ 811F864
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8032AA8
- ldr r0, _0811F9A8 @ =gUnknown_02024A6A
- lsls r2, r6, 1
- adds r2, r0
- ldr r0, _0811F9AC @ =gUnknown_02023A60
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
- ldrh r1, [r2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0811F9B0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, _0811F9B4 @ =sub_80312F0
- bl CreateInvisibleSpriteWithCallback
- ldr r1, _0811F9B8 @ =gUnknown_0300434C
- mov r9, r1
- add r9, r6
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- bl battle_get_per_side_status
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _0811F9BC @ =gUnknown_02024E8C
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl sub_8077F68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r10
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _0811F9C0 @ =gUnknown_02024BE0
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, _0811F9C4 @ =gSprites
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811F9C8 @ =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0811F9CC @ =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFF
- bl sub_8046400
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F9A8: .4byte gUnknown_02024A6A
-_0811F9AC: .4byte gUnknown_02023A60
-_0811F9B0: .4byte gPlayerParty
-_0811F9B4: .4byte sub_80312F0
-_0811F9B8: .4byte gUnknown_0300434C
-_0811F9BC: .4byte gUnknown_02024E8C
-_0811F9C0: .4byte gUnknown_02024BE0
-_0811F9C4: .4byte gSprites
-_0811F9C8: .4byte gBattleMonForms
-_0811F9CC: .4byte SpriteCallbackDummy
- thumb_func_end sub_811F864
-
- thumb_func_start sub_811F9D0
-sub_811F9D0: @ 811F9D0
- push {r4-r6,lr}
- ldr r1, _0811FA00 @ =gUnknown_02023A60
- ldr r6, _0811FA04 @ =gUnknown_02024A60
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _0811FA14
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _0811FA08 @ =0x02017810
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, _0811FA0C @ =gUnknown_03004330
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FA10 @ =sub_811FA5C
- str r1, [r0]
- b _0811FA4A
- .align 2, 0
-_0811FA00: .4byte gUnknown_02023A60
-_0811FA04: .4byte gUnknown_02024A60
-_0811FA08: .4byte 0x02017810
-_0811FA0C: .4byte gUnknown_03004330
-_0811FA10: .4byte sub_811FA5C
-_0811FA14:
- ldr r5, _0811FA50 @ =gUnknown_02024BE0
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0811FA54 @ =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, _0811FA58 @ =gUnknown_03004340
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8043DB0
- bl dp01_tbl3_exec_completed
-_0811FA4A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FA50: .4byte gUnknown_02024BE0
-_0811FA54: .4byte gSprites
-_0811FA58: .4byte gUnknown_03004340
- thumb_func_end sub_811F9D0
-
- thumb_func_start sub_811FA5C
-sub_811FA5C: @ 811FA5C
- push {r4,r5,lr}
- ldr r5, _0811FA78 @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r4, _0811FA7C @ =0x02017810
- adds r3, r0, r4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _0811FA80
- cmp r0, 0x1
- beq _0811FAAC
- b _0811FAD4
- .align 2, 0
-_0811FA78: .4byte gUnknown_02024A60
-_0811FA7C: .4byte 0x02017810
-_0811FA80:
- lsls r0, r2, 2
- adds r1, r4, 0
- subs r1, 0x10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0811FA9C
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0811FA9C:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _0811FAD4
-_0811FAAC:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811FAD4
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl move_anim_start_t4
- ldr r1, _0811FADC @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FAE0 @ =sub_811DF34
- str r1, [r0]
-_0811FAD4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FADC: .4byte gUnknown_03004330
-_0811FAE0: .4byte sub_811DF34
- thumb_func_end sub_811FA5C
-
- thumb_func_start sub_811FAE4
-sub_811FAE4: @ 811FAE4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0811FB14 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0811FB24
- ldr r6, _0811FB18 @ =gUnknown_02024A60
- ldrb r0, [r6]
- bl battle_get_per_side_status
- movs r1, 0x2
- ands r1, r0
- ldr r5, _0811FB1C @ =0x0000fff0
- cmp r1, 0
- beq _0811FB0A
- movs r5, 0x10
-_0811FB0A:
- ldr r4, _0811FB20 @ =gLinkPlayers
- ldrb r0, [r6]
- bl sub_803FC34
- b _0811FB34
- .align 2, 0
-_0811FB14: .4byte gBattleTypeFlags
-_0811FB18: .4byte gUnknown_02024A60
-_0811FB1C: .4byte 0x0000fff0
-_0811FB20: .4byte gLinkPlayers
-_0811FB24:
- movs r5, 0
- ldr r4, _0811FC08 @ =gLinkPlayers
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
-_0811FB34:
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r4, [r1, 0x13]
- ldr r6, _0811FC0C @ =gUnknown_02024A60
- ldrb r1, [r6]
- adds r0, r4, 0
- bl sub_8031AF4
- ldrb r0, [r6]
- bl battle_get_per_side_status
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl GetMonSpriteTemplate_803C5A0
- ldr r0, _0811FC10 @ =gUnknown_02024E8C
- mov r8, r0
- lsls r5, 16
- movs r0, 0xA0
- lsls r0, 15
- adds r5, r0
- asrs r5, 16
- ldr r0, _0811FC14 @ =gTrainerBackPicCoords
- lsls r4, 2
- adds r4, r0
- ldrb r0, [r4]
- movs r4, 0x8
- subs r4, r0
- lsls r4, 18
- movs r0, 0xA0
- lsls r0, 15
- adds r4, r0
- asrs r4, 16
- ldrb r0, [r6]
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r5, _0811FC18 @ =gUnknown_02024BE0
- ldrb r1, [r6]
- adds r1, r5
- strb r0, [r1]
- ldr r4, _0811FC1C @ =gSprites
- ldrb r3, [r6]
- adds r0, r3, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _0811FC20 @ =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _0811FC24 @ =sub_80313A0
- str r1, [r0]
- ldr r1, _0811FC28 @ =gUnknown_03004330
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FC2C @ =sub_811DAE4
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FC08: .4byte gLinkPlayers
-_0811FC0C: .4byte gUnknown_02024A60
-_0811FC10: .4byte gUnknown_02024E8C
-_0811FC14: .4byte gTrainerBackPicCoords
-_0811FC18: .4byte gUnknown_02024BE0
-_0811FC1C: .4byte gSprites
-_0811FC20: .4byte 0x0000fffe
-_0811FC24: .4byte sub_80313A0
-_0811FC28: .4byte gUnknown_03004330
-_0811FC2C: .4byte sub_811DAE4
- thumb_func_end sub_811FAE4
-
- thumb_func_start sub_811FC30
-sub_811FC30: @ 811FC30
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FC30
-
- thumb_func_start sub_811FC3C
-sub_811FC3C: @ 811FC3C
- push {r4-r6,lr}
- ldr r6, _0811FCC8 @ =gUnknown_02024BE0
- ldr r4, _0811FCCC @ =gUnknown_02024A60
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _0811FCD0 @ =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x23
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811FCD4 @ =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0811FCD8 @ =sub_8078B34
- str r1, [r0]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811FCDC @ =SpriteCallbackDummy
- bl oamt_set_x3A_32
- ldr r1, _0811FCE0 @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FCE4 @ =sub_811DB1C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FCC8: .4byte gUnknown_02024BE0
-_0811FCCC: .4byte gUnknown_02024A60
-_0811FCD0: .4byte gSprites
-_0811FCD4: .4byte 0x0000ffd8
-_0811FCD8: .4byte sub_8078B34
-_0811FCDC: .4byte SpriteCallbackDummy
-_0811FCE0: .4byte gUnknown_03004330
-_0811FCE4: .4byte sub_811DB1C
- thumb_func_end sub_811FC3C
-
- thumb_func_start sub_811FCE8
-sub_811FCE8: @ 811FCE8
- push {r4,r5,lr}
- ldr r5, _0811FD2C @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r4, _0811FD30 @ =0x02017810
- adds r3, r0, r4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _0811FD34
- lsls r0, r2, 2
- adds r1, r4, 0
- subs r1, 0x10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0811FD1A
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0811FD1A:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _0811FDAA
- .align 2, 0
-_0811FD2C: .4byte gUnknown_02024A60
-_0811FD30: .4byte 0x02017810
-_0811FD34:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0811FDAA
- strb r4, [r3, 0x4]
- ldr r2, _0811FDB0 @ =gUnknown_02024A6A
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0811FDB4 @ =gPlayerParty
- adds r0, r2
- bl sub_80324F8
- movs r1, 0x40
- negs r1, r1
- movs r0, 0x10
- bl PlaySE12WithPanning
- ldr r2, _0811FDB8 @ =gSprites
- ldr r3, _0811FDBC @ =gUnknown_02024BE0
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x30]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x5
- strh r1, [r0, 0x32]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0811FDC0 @ =sub_80105EC
- str r1, [r0]
- ldr r1, _0811FDC4 @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FDC8 @ =sub_811DE98
- str r1, [r0]
-_0811FDAA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FDB0: .4byte gUnknown_02024A6A
-_0811FDB4: .4byte gPlayerParty
-_0811FDB8: .4byte gSprites
-_0811FDBC: .4byte gUnknown_02024BE0
-_0811FDC0: .4byte sub_80105EC
-_0811FDC4: .4byte gUnknown_03004330
-_0811FDC8: .4byte sub_811DE98
- thumb_func_end sub_811FCE8
-
- thumb_func_start sub_811FDCC
-sub_811FDCC: @ 811FDCC
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FDCC
-
- thumb_func_start sub_811FDD8
-sub_811FDD8: @ 811FDD8
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FDD8
-
- thumb_func_start sub_811FDE4
-sub_811FDE4: @ 811FDE4
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FDE4
-
- thumb_func_start sub_811FDF0
-sub_811FDF0: @ 811FDF0
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FDF0
-
- thumb_func_start sub_811FDFC
-sub_811FDFC: @ 811FDFC
- push {r4-r6,lr}
- ldr r6, _0811FEE0 @ =gUnknown_02024A60
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _0811FE0E
- b _0811FF1E
-_0811FE0E:
- ldr r0, _0811FEE4 @ =gUnknown_02023A60
- mov r12, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- mov r1, r12
- adds r1, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- ldr r5, _0811FEE8 @ =gUnknown_0202F7C4
- mov r1, r12
- adds r1, 0x3
- adds r2, r1
- ldrb r1, [r2]
- strb r1, [r5]
- ldr r4, _0811FEEC @ =gUnknown_0202F7BC
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x4
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x5
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r4, _0811FEF0 @ =gUnknown_0202F7B8
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x6
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x7
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r3, r1
- mov r1, r12
- adds r1, 0x8
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 16
- orrs r3, r1
- mov r1, r12
- adds r1, 0x9
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 24
- orrs r3, r1
- str r3, [r4]
- ldr r3, _0811FEF4 @ =gUnknown_0202F7BE
- ldrb r1, [r6]
- lsls r1, 9
- mov r2, r12
- adds r2, 0xA
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r3]
- ldr r4, _0811FEF8 @ =gUnknown_0202F7C0
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0xC
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0xD
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r3, _0811FEFC @ =gUnknown_0202F7B4
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x10
- adds r2, r1
- str r2, [r3]
- ldr r3, _0811FF00 @ =gUnknown_02024E70
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r3
- ldr r2, [r2]
- str r2, [r1]
- ldrb r1, [r5]
- bl sub_8031720
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0811FF04
- bl dp01_tbl3_exec_completed
- b _0811FF1E
- .align 2, 0
-_0811FEE0: .4byte gUnknown_02024A60
-_0811FEE4: .4byte gUnknown_02023A60
-_0811FEE8: .4byte gUnknown_0202F7C4
-_0811FEEC: .4byte gUnknown_0202F7BC
-_0811FEF0: .4byte gUnknown_0202F7B8
-_0811FEF4: .4byte gUnknown_0202F7BE
-_0811FEF8: .4byte gUnknown_0202F7C0
-_0811FEFC: .4byte gUnknown_0202F7B4
-_0811FF00: .4byte gUnknown_02024E70
-_0811FF04:
- ldrb r1, [r6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _0811FF24 @ =0x02017810
- adds r0, r1
- strb r2, [r0, 0x4]
- ldr r1, _0811FF28 @ =gUnknown_03004330
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FF2C @ =sub_811FF30
- str r1, [r0]
-_0811FF1E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FF24: .4byte 0x02017810
-_0811FF28: .4byte gUnknown_03004330
-_0811FF2C: .4byte sub_811FF30
- thumb_func_end sub_811FDFC
-
- thumb_func_start sub_811FF30
-sub_811FF30: @ 811FF30
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r2, _0811FF74 @ =gUnknown_02023A60
- ldr r5, _0811FF78 @ =gUnknown_02024A60
- ldrb r3, [r5]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r9, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r6, r2, 0x2
- mov r8, r6
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r7, [r1]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r6, _0811FF7C @ =0x02017810
- adds r0, r6
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _0811FFBE
- cmp r2, 0x1
- bgt _0811FF80
- cmp r2, 0
- beq _0811FF8A
- b _08120088
- .align 2, 0
-_0811FF74: .4byte gUnknown_02023A60
-_0811FF78: .4byte gUnknown_02024A60
-_0811FF7C: .4byte 0x02017810
-_0811FF80:
- cmp r2, 0x2
- beq _0811FFE4
- cmp r2, 0x3
- beq _08120050
- b _08120088
-_0811FF8A:
- lsls r1, r3, 2
- adds r0, r6, 0
- subs r0, 0x10
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _0811FFAE
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0811FFAE:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08120088
-_0811FFBE:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08120088
- movs r0, 0
- bl sub_80326EC
- adds r0, r4, 0
- bl ExecuteMoveAnim
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08120088
-_0811FFE4:
- ldr r0, _08120040 @ =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08120044 @ =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _08120088
- movs r0, 0x1
- bl sub_80326EC
- ldrb r2, [r5]
- lsls r0, r2, 2
- adds r4, r6, 0
- subs r4, 0x10
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0812002C
- cmp r7, 0x1
- bhi _0812002C
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0]
- movs r1, 0x9
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0812002C:
- ldr r0, _08120048 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _0812004C @ =0x02017810
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _08120088
- .align 2, 0
-_08120040: .4byte gAnimScriptCallback
-_08120044: .4byte gAnimScriptActive
-_08120048: .4byte gUnknown_02024A60
-_0812004C: .4byte 0x02017810
-_08120050:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08120088
- bl sub_8031F24
- ldrb r0, [r5]
- lsls r2, r0, 9
- mov r3, r9
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r8
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl sub_80324BC
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strb r4, [r0, 0x4]
- bl dp01_tbl3_exec_completed
-_08120088:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811FF30
-
- thumb_func_start sub_8120094
-sub_8120094: @ 8120094
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _081200D8 @ =gUnknown_030042A4
- movs r1, 0
- strh r1, [r0]
- ldr r0, _081200DC @ =gUnknown_030042A0
- strh r1, [r0]
- ldr r4, _081200E0 @ =gUnknown_02024A60
- ldrb r0, [r4]
- lsls r0, 9
- ldr r1, _081200E4 @ =gUnknown_02023A62
- adds r0, r1
- ldrh r0, [r0]
- bl sub_8120AA8
- ldr r0, _081200E8 @ =gUnknown_03004210
- ldr r1, _081200EC @ =gUnknown_020238CC
- movs r2, 0xF
- str r2, [sp]
- movs r2, 0x90
- movs r3, 0x2
- bl sub_8002EB0
- ldr r1, _081200F0 @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _081200F4 @ =sub_811DFA0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081200D8: .4byte gUnknown_030042A4
-_081200DC: .4byte gUnknown_030042A0
-_081200E0: .4byte gUnknown_02024A60
-_081200E4: .4byte gUnknown_02023A62
-_081200E8: .4byte gUnknown_03004210
-_081200EC: .4byte gUnknown_020238CC
-_081200F0: .4byte gUnknown_03004330
-_081200F4: .4byte sub_811DFA0
- thumb_func_end sub_8120094
-
- thumb_func_start sub_81200F8
-sub_81200F8: @ 81200F8
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_81200F8
-
- thumb_func_start sub_8120104
-sub_8120104: @ 8120104
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120104
-
- thumb_func_start sub_8120110
-sub_8120110: @ 8120110
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120110
-
- thumb_func_start sub_812011C
-sub_812011C: @ 812011C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812011C
-
- thumb_func_start sub_8120128
-sub_8120128: @ 8120128
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120128
-
- thumb_func_start sub_8120134
-sub_8120134: @ 8120134
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120134
-
- thumb_func_start sub_8120140
-sub_8120140: @ 8120140
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120140
-
- thumb_func_start sub_812014C
-sub_812014C: @ 812014C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl load_gfxc_health_bar
- ldr r3, _081201C4 @ =gUnknown_02023A60
- ldr r0, _081201C8 @ =gUnknown_02024A60
- mov r9, r0
- ldrb r4, [r0]
- lsls r2, r4, 9
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r1, [r0]
- adds r3, 0x3
- adds r2, r3
- ldrb r0, [r2]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- asrs r7, r1, 16
- ldr r0, _081201CC @ =0x00007fff
- cmp r7, r0
- beq _081201DC
- ldr r6, _081201D0 @ =gUnknown_02024A6A
- lsls r0, r4, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _081201D4 @ =gPlayerParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _081201D8 @ =gUnknown_03004340
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl sub_8043D84
- b _08120206
- .align 2, 0
-_081201C4: .4byte gUnknown_02023A60
-_081201C8: .4byte gUnknown_02024A60
-_081201CC: .4byte 0x00007fff
-_081201D0: .4byte gUnknown_02024A6A
-_081201D4: .4byte gPlayerParty
-_081201D8: .4byte gUnknown_03004340
-_081201DC:
- ldr r1, _08120224 @ =gUnknown_02024A6A
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08120228 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _0812022C @ =gUnknown_03004340
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl sub_8043D84
-_08120206:
- ldr r1, _08120230 @ =gUnknown_03004330
- ldr r0, _08120234 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120238 @ =bx_t3_healthbar_update
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08120224: .4byte gUnknown_02024A6A
-_08120228: .4byte gPlayerParty
-_0812022C: .4byte gUnknown_03004340
-_08120230: .4byte gUnknown_03004330
-_08120234: .4byte gUnknown_02024A60
-_08120238: .4byte bx_t3_healthbar_update
- thumb_func_end sub_812014C
-
- thumb_func_start sub_812023C
-sub_812023C: @ 812023C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812023C
-
- thumb_func_start sub_8120248
-sub_8120248: @ 8120248
- push {r4,lr}
- ldr r4, _081202A0 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08120298
- ldr r0, _081202A4 @ =gUnknown_03004340
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _081202A8 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _081202AC @ =gPlayerParty
- adds r1, r2
- movs r2, 0x9
- bl sub_8045A5C
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _081202B0 @ =0x02017810
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, _081202B4 @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _081202B8 @ =sub_811E38C
- str r1, [r0]
-_08120298:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081202A0: .4byte gUnknown_02024A60
-_081202A4: .4byte gUnknown_03004340
-_081202A8: .4byte gUnknown_02024A6A
-_081202AC: .4byte gPlayerParty
-_081202B0: .4byte 0x02017810
-_081202B4: .4byte gUnknown_03004330
-_081202B8: .4byte sub_811E38C
- thumb_func_end sub_8120248
-
- thumb_func_start sub_81202BC
-sub_81202BC: @ 81202BC
- push {r4,r5,lr}
- ldr r5, _08120314 @ =gUnknown_02024A60
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0812030C
- ldr r4, _08120318 @ =gUnknown_02023A60
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, _0812031C @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120320 @ =sub_811E38C
- str r1, [r0]
-_0812030C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120314: .4byte gUnknown_02024A60
-_08120318: .4byte gUnknown_02023A60
-_0812031C: .4byte gUnknown_03004330
-_08120320: .4byte sub_811E38C
- thumb_func_end sub_81202BC
-
- thumb_func_start sub_8120324
-sub_8120324: @ 8120324
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120324
-
- thumb_func_start sub_8120330
-sub_8120330: @ 8120330
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120330
-
- thumb_func_start sub_812033C
-sub_812033C: @ 812033C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812033C
-
- thumb_func_start sub_8120348
-sub_8120348: @ 8120348
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120348
-
- thumb_func_start sub_8120354
-sub_8120354: @ 8120354
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120354
-
- thumb_func_start sub_8120360
-sub_8120360: @ 8120360
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120360
-
- thumb_func_start sub_812036C
-sub_812036C: @ 812036C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812036C
-
- thumb_func_start sub_8120378
-sub_8120378: @ 8120378
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120378
-
- thumb_func_start sub_8120384
-sub_8120384: @ 8120384
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120384
-
- thumb_func_start sub_8120390
-sub_8120390: @ 8120390
- push {lr}
- ldr r2, _081203A8 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203A8: .4byte gUnknown_020238C8
- thumb_func_end sub_8120390
-
- thumb_func_start sub_81203AC
-sub_81203AC: @ 81203AC
- push {lr}
- ldr r3, _081203D8 @ =gUnknown_020238C8
- ldr r1, _081203DC @ =gUnknown_02023A60
- ldr r0, _081203E0 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203D8: .4byte gUnknown_020238C8
-_081203DC: .4byte gUnknown_02023A60
-_081203E0: .4byte gUnknown_02024A60
- thumb_func_end sub_81203AC
-
- thumb_func_start sub_81203E4
-sub_81203E4: @ 81203E4
- push {lr}
- ldr r2, _081203F8 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203F8: .4byte gUnknown_020238C8
- thumb_func_end sub_81203E4
-
- thumb_func_start sub_81203FC
-sub_81203FC: @ 81203FC
- push {lr}
- ldr r3, _08120420 @ =gUnknown_020238C8
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120420: .4byte gUnknown_020238C8
- thumb_func_end sub_81203FC
-
- thumb_func_start dp01t_29_3_blink
-dp01t_29_3_blink: @ 8120424
- push {r4,lr}
- ldr r3, _0812044C @ =gSprites
- ldr r2, _08120450 @ =gUnknown_02024BE0
- ldr r4, _08120454 @ =gUnknown_02024A60
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _08120458
- bl dp01_tbl3_exec_completed
- b _08120482
- .align 2, 0
-_0812044C: .4byte gSprites
-_08120450: .4byte gUnknown_02024BE0
-_08120454: .4byte gUnknown_02024A60
-_08120458:
- ldr r1, _08120488 @ =gUnknown_02024E6D
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_8047858
- ldr r1, _0812048C @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120490 @ =bx_blink_t3
- str r1, [r0]
-_08120482:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120488: .4byte gUnknown_02024E6D
-_0812048C: .4byte gUnknown_03004330
-_08120490: .4byte bx_blink_t3
- thumb_func_end dp01t_29_3_blink
-
- thumb_func_start sub_8120494
-sub_8120494: @ 8120494
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120494
-
- thumb_func_start sub_81204A0
-sub_81204A0: @ 81204A0
- push {r4,lr}
- ldr r4, _081204DC @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _081204B4
- movs r3, 0xC0
-_081204B4:
- ldr r2, _081204E0 @ =gUnknown_02023A60
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl dp01_tbl3_exec_completed
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081204DC: .4byte gUnknown_02024A60
-_081204E0: .4byte gUnknown_02023A60
- thumb_func_end sub_81204A0
-
- thumb_func_start sub_81204E4
-sub_81204E4: @ 81204E4
- push {lr}
- ldr r2, _0812050C @ =gUnknown_02023A60
- ldr r0, _08120510 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_0812050C: .4byte gUnknown_02023A60
-_08120510: .4byte gUnknown_02024A60
- thumb_func_end sub_81204E4
-
- thumb_func_start sub_8120514
-sub_8120514: @ 8120514
- push {lr}
- ldr r1, _08120548 @ =gUnknown_02024A6A
- ldr r0, _0812054C @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08120550 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- negs r1, r1
- movs r2, 0x5
- bl PlayCry3
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120548: .4byte gUnknown_02024A6A
-_0812054C: .4byte gUnknown_02024A60
-_08120550: .4byte gPlayerParty
- thumb_func_end sub_8120514
-
- thumb_func_start dp01t_2E_3_battle_intro
-dp01t_2E_3_battle_intro: @ 8120554
- push {lr}
- ldr r1, _0812057C @ =gUnknown_02023A60
- ldr r0, _08120580 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80E43C0
- ldr r2, _08120584 @ =gUnknown_02024DE8
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_0812057C: .4byte gUnknown_02023A60
-_08120580: .4byte gUnknown_02024A60
-_08120584: .4byte gUnknown_02024DE8
- thumb_func_end dp01t_2E_3_battle_intro
-
- thumb_func_start sub_8120588
-sub_8120588: @ 8120588
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _081206DC @ =gUnknown_02024BE0
- ldr r7, _081206E0 @ =gUnknown_02024A60
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _081206E4 @ =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _081206E8 @ =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _081206EC @ =sub_8078B34
- str r1, [r0]
- ldrb r2, [r7]
- adds r0, r2, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x38]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _081206F0 @ =sub_8030E38
- bl oamt_set_x3A_32
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, _081206F4 @ =0x0000d6f9
- bl AllocSpritePalette
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _081206F8 @ =gTrainerBackPicPaletteTable
- mov r8, r0
- ldrb r0, [r7]
- bl sub_803FC34
- ldr r2, _081206FC @ =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x13]
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
- ldrb r0, [r7]
- adds r0, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x5]
- ldr r0, _08120700 @ =sub_812071C
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08120704 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r7]
- strh r0, [r1, 0x8]
- ldrb r3, [r7]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r2, _08120708 @ =0x02017810
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081206BA
- ldr r0, _0812070C @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, _08120710 @ =sub_8044CA0
- str r1, [r0]
-_081206BA:
- adds r2, 0x30
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, _08120714 @ =gUnknown_03004330
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120718 @ =nullsub_74
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081206DC: .4byte gUnknown_02024BE0
-_081206E0: .4byte gUnknown_02024A60
-_081206E4: .4byte gSprites
-_081206E8: .4byte 0x0000ffd8
-_081206EC: .4byte sub_8078B34
-_081206F0: .4byte sub_8030E38
-_081206F4: .4byte 0x0000d6f9
-_081206F8: .4byte gTrainerBackPicPaletteTable
-_081206FC: .4byte gLinkPlayers
-_08120700: .4byte sub_812071C
-_08120704: .4byte gTasks
-_08120708: .4byte 0x02017810
-_0812070C: .4byte gUnknown_02024E68
-_08120710: .4byte sub_8044CA0
-_08120714: .4byte gUnknown_03004330
-_08120718: .4byte nullsub_74
- thumb_func_end sub_8120588
-
- thumb_func_start sub_812071C
-sub_812071C: @ 812071C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _08120744 @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x17
- bgt _08120748
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
- b _08120804
- .align 2, 0
-_08120744: .4byte gTasks
-_08120748:
- ldr r7, _08120788 @ =gUnknown_02024A60
- ldrb r0, [r7]
- mov r9, r0
- ldrh r0, [r1, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08120768
- ldr r0, _0812078C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08120798
-_08120768:
- ldr r0, _08120790 @ =gUnknown_02023A60
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, _08120794 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- b _081207EC
- .align 2, 0
-_08120788: .4byte gUnknown_02024A60
-_0812078C: .4byte gBattleTypeFlags
-_08120790: .4byte gUnknown_02023A60
-_08120794: .4byte gUnknown_02024A6A
-_08120798:
- ldr r4, _08120810 @ =gUnknown_02023A60
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r5, _08120814 @ =gUnknown_02024A6A
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- ldrb r0, [r7]
- movs r6, 0x2
- eors r0, r6
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08120818 @ =gPlayerParty
- adds r0, r2
- bl sub_80318FC
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- ldrb r0, [r7]
- eors r0, r6
- strb r0, [r7]
-_081207EC:
- ldr r1, _0812081C @ =gUnknown_03004330
- ldr r2, _08120820 @ =gUnknown_02024A60
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120824 @ =sub_811DCA0
- str r1, [r0]
- mov r3, r9
- strb r3, [r2]
- mov r0, r8
- bl DestroyTask
-_08120804:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08120810: .4byte gUnknown_02023A60
-_08120814: .4byte gUnknown_02024A6A
-_08120818: .4byte gPlayerParty
-_0812081C: .4byte gUnknown_03004330
-_08120820: .4byte gUnknown_02024A60
-_08120824: .4byte sub_811DCA0
- thumb_func_end sub_812071C
-
- thumb_func_start dp01t_30_3_80EB11C
-dp01t_30_3_80EB11C: @ 8120828
- push {r4-r6,lr}
- ldr r1, _08120850 @ =gUnknown_02023A60
- ldr r0, _08120854 @ =gUnknown_02024A60
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120858
- adds r0, r2, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08120858
- bl dp01_tbl3_exec_completed
- b _081208C0
- .align 2, 0
-_08120850: .4byte gUnknown_02023A60
-_08120854: .4byte gUnknown_02024A60
-_08120858:
- ldr r5, _081208C8 @ =gUnknown_02024A60
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r6, _081208CC @ =0x02017810
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, _081208D0 @ =gUnknown_02023A64
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl sub_8044804
- ldr r2, _081208D4 @ =gUnknown_02024E68
- ldrb r1, [r5]
- adds r1, r2
- movs r2, 0
- strb r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strb r2, [r0, 0x5]
- ldrb r1, [r5]
- lsls r0, r1, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081208B4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_081208B4:
- ldr r0, _081208D8 @ =gUnknown_03004330
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, _081208DC @ =sub_81208E0
- str r0, [r1]
-_081208C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081208C8: .4byte gUnknown_02024A60
-_081208CC: .4byte 0x02017810
-_081208D0: .4byte gUnknown_02023A64
-_081208D4: .4byte gUnknown_02024E68
-_081208D8: .4byte gUnknown_03004330
-_081208DC: .4byte sub_81208E0
- thumb_func_end dp01t_30_3_80EB11C
-
- thumb_func_start sub_81208E0
-sub_81208E0: @ 81208E0
- push {r4,lr}
- ldr r4, _08120918 @ =gUnknown_02024A60
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, _0812091C @ =0x02017810
- adds r0, r3
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _08120910
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strb r0, [r1, 0x5]
- bl dp01_tbl3_exec_completed
-_08120910:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120918: .4byte gUnknown_02024A60
-_0812091C: .4byte 0x02017810
- thumb_func_end sub_81208E0
-
- thumb_func_start sub_8120920
-sub_8120920: @ 8120920
- push {lr}
- ldr r0, _08120958 @ =gUnknown_02024A60
- ldrb r3, [r0]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r1, _0812095C @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812094E
- ldr r2, _08120960 @ =gTasks
- ldr r0, _08120964 @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _08120968 @ =sub_8044CA0
- str r1, [r0]
-_0812094E:
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120958: .4byte gUnknown_02024A60
-_0812095C: .4byte 0x02017810
-_08120960: .4byte gTasks
-_08120964: .4byte gUnknown_02024E68
-_08120968: .4byte sub_8044CA0
- thumb_func_end sub_8120920
-
- thumb_func_start sub_812096C
-sub_812096C: @ 812096C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812096C
-
- thumb_func_start sub_8120978
-sub_8120978: @ 8120978
- push {r4,lr}
- ldr r4, _081209C8 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl sub_8078874
- lsls r0, 24
- cmp r0, 0
- beq _081209BE
- ldr r3, _081209CC @ =gSprites
- ldr r0, _081209D0 @ =gUnknown_02024BE0
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, _081209D4 @ =gUnknown_02023A60
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_8031F88
-_081209BE:
- bl dp01_tbl3_exec_completed
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081209C8: .4byte gUnknown_02024A60
-_081209CC: .4byte gSprites
-_081209D0: .4byte gUnknown_02024BE0
-_081209D4: .4byte gUnknown_02023A60
- thumb_func_end sub_8120978
-
- thumb_func_start sub_81209D8
-sub_81209D8: @ 81209D8
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08120A1C @ =gUnknown_02024A60
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08120A30
- ldr r5, _08120A20 @ =gUnknown_02023A60
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _08120A24
- bl dp01_tbl3_exec_completed
- b _08120A30
- .align 2, 0
-_08120A1C: .4byte gUnknown_02024A60
-_08120A20: .4byte gUnknown_02023A60
-_08120A24:
- ldr r0, _08120A38 @ =gUnknown_03004330
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _08120A3C @ =sub_811E3B8
- str r0, [r1]
-_08120A30:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08120A38: .4byte gUnknown_03004330
-_08120A3C: .4byte sub_811E3B8
- thumb_func_end sub_81209D8
-
- thumb_func_start sub_8120A40
-sub_8120A40: @ 8120A40
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120A40
-
- thumb_func_start sub_8120A4C
-sub_8120A4C: @ 8120A4C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120A4C
-
- thumb_func_start sub_8120A58
-sub_8120A58: @ 8120A58
- push {r4,lr}
- ldr r2, _08120A90 @ =gUnknown_02024D26
- ldr r1, _08120A94 @ =gUnknown_02023A60
- ldr r4, _08120A98 @ =gUnknown_02024A60
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl dp01_tbl3_exec_completed
- ldr r1, _08120A9C @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120AA0 @ =sub_811E29C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120A90: .4byte gUnknown_02024D26
-_08120A94: .4byte gUnknown_02023A60
-_08120A98: .4byte gUnknown_02024A60
-_08120A9C: .4byte gUnknown_03004330
-_08120AA0: .4byte sub_811E29C
- thumb_func_end sub_8120A58
-
- thumb_func_start nullsub_75
-nullsub_75: @ 8120AA4
- bx lr
- thumb_func_end nullsub_75
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/data/decoration.s b/data/decoration.s
deleted file mode 100644
index d37e41823..000000000
--- a/data/decoration.s
+++ /dev/null
@@ -1,265 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-@ 83E9FD0
- .include "data/decorations.inc"
-
- .align 2
-gUnknown_083EC5E4:: @ 83EC5E4
- .4byte SecretBaseText_Desk
- .4byte SecretBaseText_Chair
- .4byte SecretBaseText_Plant
- .4byte SecretBaseText_Ornament
- .4byte SecretBaseText_Mat
- .4byte SecretBaseText_Poster
- .4byte SecretBaseText_Doll
- .4byte SecretBaseText_Cushion
-
- .align 2
-gUnknown_083EC604:: @ 83EC604
- .4byte SecretBaseText_Decorate, sub_80FF160
- .4byte SecretBaseText_PutAway, sub_8100A0C
- .4byte SecretBaseText_Toss, sub_8101700
- .4byte gUnknownText_Exit, gpu_pal_decompress_alloc_tag_and_upload
-
- .align 2
-gUnknown_083EC624:: @ 83EC624
- .4byte SecretBaseText_PutOutDecor
- .4byte SecretBaseText_StoreChosenDecor
- .4byte SecretBaseText_ThrowAwayDecor
- .4byte gMenuText_GoBackToPrev
-
- .align 2
-gUnknown_083EC634:: @ 83EC634
- .4byte sub_80FF5BC
- .4byte sub_80FF058
- .4byte sub_81017A0
- .4byte sub_80FF058
- .4byte sub_81017A0
- .4byte sub_80FF058
- .4byte sub_8109D04
- .4byte sub_80FF058
-
- .align 2
-gUnknown_083EC654:: @ 83EC654
- .2byte 0x6318, 0x739C, 0x7FFF
-
-gUnknown_083EC65A:: @ 83EC65A
- .string "{PALETTE 13}{STR_VAR_1}$"
-
-Unknown_3EC660: @ 83EC660
- .byte 0, 1, 2, 3
-
-Unknown_3EC664: @ 83EC664
- .byte 0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13
-
-Unknown_3EC670: @ 83EC670
- .byte 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
-
-Unknown_3EC680: @ 83EC680
- .byte 0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21
-
-Unknown_3EC68C: @ 83EC68C
- .byte 0, 1, 2, 3, 4, 5, 6, 7
-
-Unknown_3EC694: @ 83EC694
- .byte 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
-
-Unknown_3EC6B4: @ 83EC6B4
- .byte 0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45
-
-Unknown_3EC6D8: @ 83EC6D8
- .byte 0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29
-
-Unknown_3EC6F0: @ 83EC6F0
- .byte 0, 0, 0, 0
-
-Unknown_3EC6F4: @ 83EC6F4
- .byte 0, 0, 1, 1, 0, 0, 1, 1
-
-Unknown_3EC6FC: @ 83EC6FC
- .byte 0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2
-
-Unknown_3EC708: @ 83EC708
- .byte 0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 4, 4, 5, 5, 6, 6, 7, 7
-
-Unknown_3EC728: @ 83EC728
- .byte 0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 3, 3
-
-Unknown_3EC738: @ 83EC738
- .byte 0, 0, 0, 0, 1, 1, 1, 1
-
-Unknown_3EC740: @ 83EC740
- .byte 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2
-
-Unknown_3EC74C: @ 83EC74C
- .byte 0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 3, 3, 4, 4, 5, 5, 4, 4, 5, 5, 6, 6, 7, 7, 6, 6, 7, 7
-
-Unknown_3EC76C: @ 83EC76C
- .byte 0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 6, 6, 7, 7, 8, 8
-
-Unknown_3EC790: @ 83EC790
- .byte 0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5
-
-Unknown_3EC7A8: @ 83EC7A8
- .byte 4, 5, 6, 7
-
-Unknown_3EC7AC: @ 83EC7AC
- .byte 4, 5, 4, 5, 6, 7, 6, 7
-
-Unknown_3EC7B4: @ 83EC7B4
- .byte 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7
-
-Unknown_3EC7C0: @ 83EC7C0
- .byte 4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7
-
-Unknown_3EC7E0: @ 83EC7E0
- .byte 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7
-
-Unknown_3EC7F0: @ 83EC7F0
- .byte 4, 5, 6, 7, 4, 5, 6, 7
-
-Unknown_3EC7F8: @ 83EC7F8
- .byte 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7
-
-Unknown_3EC804: @ 83EC804
- .byte 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7
-
-Unknown_3EC824: @ 83EC824
- .byte 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7
-
-Unknown_3EC848: @ 83EC848
- .byte 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7
-
- .align 2
-gUnknown_083EC860:: @ 83EC860
- .4byte Unknown_3EC660, Unknown_3EC6F0, Unknown_3EC7A8, 0x4
- .4byte Unknown_3EC68C, Unknown_3EC6F4, Unknown_3EC7AC, 0x8
- .4byte Unknown_3EC664, Unknown_3EC6FC, Unknown_3EC7B4, 0xc
- .4byte Unknown_3EC694, Unknown_3EC708, Unknown_3EC7C0, 0x20
- .4byte Unknown_3EC670, Unknown_3EC728, Unknown_3EC7E0, 0x10
- .4byte Unknown_3EC68C, Unknown_3EC738, Unknown_3EC7F0, 0x8
- .4byte Unknown_3EC680, Unknown_3EC740, Unknown_3EC7F8, 0xc
- .4byte Unknown_3EC694, Unknown_3EC74C, Unknown_3EC804, 0x20
- .4byte Unknown_3EC6B4, Unknown_3EC76C, Unknown_3EC824, 0x24
- .4byte Unknown_3EC6D8, Unknown_3EC790, Unknown_3EC848, 0x18
-
-gUnknown_083EC900:: @ 83EC900
- .byte 0, 1, 120, 78
- .byte 1, 2, -128, 78
- .byte 1, 3, -112, 86
- .byte 1, 3, -112, 70
- .byte 0, 2, -128, 70
- .byte 2, 2, 120, 70
- .byte 2, 3, -128, 86
- .byte 2, 3, -128, 54
- .byte 0, 3, -112, 70
- .byte 1, 3, -112, 70
-
- .align 2
-gSpriteAnim_83EC928:: @ 83EC928
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83EC930:: @ 83EC930
- .4byte gSpriteAnim_83EC928
-
- .align 2
-gSpriteImageTable_83EC934: @ 83EC934
- obj_frame_tiles gUnknown_02038900+0x84, 0x800
-
- .align 2
-gSpriteTemplate_83EC93C:: @ 83EC93C
- spr_template 0xFFFF, 3000, 0x20391AC, gSpriteAnimTable_83EC930, gSpriteImageTable_83EC934, gDummySpriteAffineAnimTable, sub_81009A8
-
- .align 2
-gUnknown_083EC954:: @ 83EC954
- obj_pal gUnknown_02038900+0x884, 3000
-
- .align 2
-gUnknown_083EC95C:: @ 83EC95C
- .4byte sub_81000C4
- .4byte sub_810065C
-
- .align 2
-gUnknown_083EC964:: @ 83EC964
- .4byte sub_810026C
- .4byte sub_810065C
-
- .align 2
-gUnknown_083EC96C:: @ 83EC96C
- .4byte sub_80FFAB0
- .4byte sub_80FFB08
- .4byte sub_8100F88
- .4byte sub_8100FB4
-
-gUnknown_083EC97C:: @ 83EC97C
- .byte 4, 4, 4, 4, 0, 3, 3, 0
-
-gUnknown_083EC984:: @ 83EC984
- .byte 4, 4, 4, 4, 0, 4, 3, 0
-
- .align 2
-gUnknown_083EC98C::
- .incbin "graphics/unknown/83EC98C.gbapal"
-
- .align 2
-Unknown_3EC9AC: @ 83EC9AC
- .incbin "graphics/unknown/83EC9AC.gbapal"
-
- .align 2
-gUnknown_083EC9CC:: @ 83EC9CC
- .4byte sub_810153C
- .4byte sub_8100EEC
-
- .align 2
-gUnknown_083EC9D4:: @ 83EC9D4
- .4byte sub_8101590
- .4byte sub_8100EEC
-
- .align 2
-gSpriteImage_83EC9DC:: @ 83EC9DC
- .incbin "graphics/unknown_sprites/83EC9DC.4bpp"
-
- .align 2
-gUnknown_083ECA5C:: @ 83ECA5C
- obj_pal gUnknown_083EC98C, 0x0008
-
- .align 2
-gUnknown_083ECA64:: @ 83ECA64
- obj_pal Unknown_3EC9AC, 0x0008
-
- .align 2
-gOamData_83ECA6C:: @ 83ECA6C
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83ECA74:: @ 83ECA74
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83ECA7C:: @ 83ECA7C
- .4byte gSpriteAnim_83ECA74
-
- .align 2
-gSpriteImageTable_83ECA80:: @ 83ECA80
- obj_frame_tiles gSpriteImage_83EC9DC, 0x80
-
- .align 2
-gSpriteTemplate_83ECA88:: @ 83ECA88
- spr_template 0xFFFF, 8, gOamData_83ECA6C, gSpriteAnimTable_83ECA7C, gSpriteImageTable_83ECA80, gDummySpriteAffineAnimTable, sub_8101698
-
- .align 2
-gUnknown_083ECAA0:: @ 83ECAA0
- .4byte sub_8101848
- .4byte sub_80FED3C
-
-@ XXX: what is this?
- .align 2
- .4byte 0x2000000
diff --git a/data/decorations.inc b/data/decorations.inc
deleted file mode 100644
index 268ebee9a..000000000
--- a/data/decorations.inc
+++ /dev/null
@@ -1,2432 +0,0 @@
-DecorDesc_SMALL_DESK: @ 83E9FD0
- .string "A small desk built\n"
- .string "for one.$"
-
-DecorDesc_POKEMON_DESK: @ 83E9FEC
- .string "A small desk built in\n"
- .string "the shape of a POKé\n"
- .string "BALL.$"
-
-DecorDesc_HEAVY_DESK: @ 83EA01C
- .string "A large desk made\n"
- .string "of steel. Put some\n"
- .string "decorations on it.$"
-
-DecorDesc_RAGGED_DESK: @ 83EA054
- .string "A large desk made\n"
- .string "of wood. Put some\n"
- .string "decorations on it.$"
-
-DecorDesc_COMFORT_DESK: @ 83EA08B
- .string "A large desk made\n"
- .string "of leaves. Put some\n"
- .string "decorations on it.$"
-
-DecorDesc_PRETTY_DESK: @ 83EA0C4
- .string "A huge desk made\n"
- .string "of glass. Holds lots\n"
- .string "of decorations.$"
-
-DecorDesc_BRICK_DESK: @ 83EA0FA
- .string "A huge desk made\n"
- .string "of brick. Holds lots\n"
- .string "of decorations.$"
-
-DecorDesc_CAMP_DESK: @ 83EA130
- .string "A huge desk made\n"
- .string "of logs. Put lots of\n"
- .string "decorations on it.$"
-
-DecorDesc_HARD_DESK: @ 83EA169
- .string "A huge desk made\n"
- .string "of rocks. Holds\n"
- .string "many decorations.$"
-
-DecorDesc_SMALL_CHAIR: @ 83EA19C
- .string "A small chair made\n"
- .string "for one.$"
-
-DecorDesc_POKEMON_CHAIR: @ 83EA1B8
- .string "A small chair built\n"
- .string "in the shape of a\n"
- .string "POKé BALL.$"
-
-DecorDesc_HEAVY_CHAIR: @ 83EA1E9
- .string "A small chair made\n"
- .string "of steel.$"
-
-DecorDesc_PRETTY_CHAIR: @ 83EA206
- .string "A small chair made\n"
- .string "of glass.$"
-
-DecorDesc_COMFORT_CHAIR: @ 83EA223
- .string "A small chair made\n"
- .string "of leaves.$"
-
-DecorDesc_RAGGED_CHAIR: @ 83EA241
- .string "A small chair made\n"
- .string "of wood.$"
-
-DecorDesc_BRICK_CHAIR: @ 83EA25D
- .string "A small chair made\n"
- .string "of brick.$"
-
-DecorDesc_CAMP_CHAIR: @ 83EA27A
- .string "A small chair made\n"
- .string "of logs.$"
-
-DecorDesc_HARD_CHAIR: @ 83EA296
- .string "A small chair made\n"
- .string "of rock.$"
-
-DecorDesc_RED_PLANT: @ 83EA2B2
- .string "A vivid red potted\n"
- .string "plant.$"
-
-DecorDesc_TROPICAL_PLANT: @ 83EA2CC
- .string "A flowering tropical\n"
- .string "plant in a pot.$"
-
-DecorDesc_PRETTY_FLOWERS: @ 83EA2F1
- .string "A pot of cute\n"
- .string "flowers.$"
-
-DecorDesc_COLORFUL_PLANT: @ 83EA308
- .string "A large pot with\n"
- .string "many colorful\n"
- .string "flowers.$"
-
-DecorDesc_BIG_PLANT: @ 83EA330
- .string "A large, umbrella-\n"
- .string "shaped plant in a\n"
- .string "big pot.$"
-
-DecorDesc_GORGEOUS_PLANT: @ 83EA35E
- .string "A large, impressive\n"
- .string "plant in a big pot.$"
-
-DecorDesc_RED_BRICK: @ 83EA386
- .string "A red-colored brick.\n"
- .string "Decorations can be\n"
- .string "placed on top.$"
-
-DecorDesc_YELLOW_BRICK: @ 83EA3BD
- .string "A yellow-colored\n"
- .string "brick. Put some\n"
- .string "decorations on top.$"
-
-DecorDesc_BLUE_BRICK: @ 83EA3F2
- .string "A blue-colored\n"
- .string "brick. Put some\n"
- .string "decorations on top.$"
-
-DecorDesc_RED_BALLOON: @ 83EA425
- .string "A red balloon filled\n"
- .string "with water. Bursts\n"
- .string "if stepped on.$"
-
-DecorDesc_BLUE_BALLOON: @ 83EA45C
- .string "A blue balloon filled\n"
- .string "with water. Bursts\n"
- .string "if stepped on.$"
-
-DecorDesc_YELLOW_BALLOON: @ 83EA494
- .string "A yellow balloon\n"
- .string "filled with water.\n"
- .string "Pops if stepped on.$"
-
-DecorDesc_RED_TENT: @ 83EA4CC
- .string "A large red tent.\n"
- .string "You can hide inside\n"
- .string "it.$"
-
-DecorDesc_BLUE_TENT: @ 83EA4F6
- .string "A large blue tent.\n"
- .string "You can hide inside\n"
- .string "it.$"
-
-DecorDesc_SOLID_BOARD: @ 83EA521
- .string "Place over a hole to\n"
- .string "cross to the other\n"
- .string "side.$"
-
-DecorDesc_SLIDE: @ 83EA54F
- .string "Use to slide down\n"
- .string "from the platform.$"
-
-DecorDesc_FENCE_LENGTH: @ 83EA574
- .string "A small fence that\n"
- .string "blocks passage.$"
-
-DecorDesc_FENCE_WIDTH: @ 83EA597
- .string "A small fence that\n"
- .string "blocks passage.$"
-
-DecorDesc_TIRE: @ 83EA5BA
- .string "An old large tire.\n"
- .string "Decorations can be\n"
- .string "placed on top.$"
-
-DecorDesc_STAND: @ 83EA5EF
- .string "A large pedestal\n"
- .string "with steps.$"
-
-DecorDesc_MUD_BALL: @ 83EA60C
- .string "A large ball of mud.\n"
- .string "Crumbles if stepped\n"
- .string "on.$"
-
-DecorDesc_BREAKABLE_DOOR: @ 83EA639
- .string "A weird door that\n"
- .string "people can walk\n"
- .string "right through.$"
-
-DecorDesc_SAND_ORNAMENT: @ 83EA66A
- .string "An ornament made\n"
- .string "of sand. Crumbles if\n"
- .string "touched.$"
-
-DecorDesc_SILVER_SHIELD: @ 83EA699
- .string "Awarded for 50\n"
- .string "straight wins at\n"
- .string "the BATTLE TOWER.$"
-
-DecorDesc_GOLD_SHIELD: @ 83EA6CB
- .string "Awarded for 100\n"
- .string "straight wins at\n"
- .string "the BATTLE TOWER.$"
-
-DecorDesc_GLASS_ORNAMENT: @ 83EA6FE
- .string "A glass replica of\n"
- .string "a famous sculpture\n"
- .string "at the ART MUSEUM.$"
-
-DecorDesc_TV: @ 83EA737
- .string "A small, gray-\n"
- .string "colored toy TV.$"
-
-DecorDesc_ROUND_TV: @ 83EA756
- .string "A toy TV modeled\n"
- .string "in the image of a\n"
- .string "SEEDOT.$"
-
-DecorDesc_CUTE_TV: @ 83EA781
- .string "A toy TV modeled\n"
- .string "in the image of a\n"
- .string "SKITTY.$"
-
-DecorDesc_GLITTER_MAT: @ 83EA7AC
- .string "An odd mat that\n"
- .string "glitters if stepped\n"
- .string "on.$"
-
-DecorDesc_JUMP_MAT: @ 83EA7D4
- .string "A trick mat that\n"
- .string "jumps when it is\n"
- .string "stepped on.$"
-
-DecorDesc_SPIN_MAT: @ 83EA802
- .string "A trick mat that\n"
- .string "spins around when\n"
- .string "stepped on.$"
-
-DecorDesc_C_LOW_NOTE_MAT: @ 83EA831
- .string "A mat that plays\n"
- .string "a low C note when\n"
- .string "stepped on.$"
-
-DecorDesc_D_NOTE_MAT: @ 83EA860
- .string "A mat that plays\n"
- .string "a D note when\n"
- .string "stepped on.$"
-
-DecorDesc_E_NOTE_MAT: @ 83EA88B
- .string "A mat that plays\n"
- .string "an E note when\n"
- .string "stepped on.$"
-
-DecorDesc_F_NOTE_MAT: @ 83EA8B7
- .string "A mat that plays\n"
- .string "an F note when\n"
- .string "stepped on.$"
-
-DecorDesc_G_NOTE_MAT: @ 83EA8E3
- .string "A mat that plays\n"
- .string "a G note when\n"
- .string "stepped on.$"
-
-DecorDesc_A_NOTE_MAT: @ 83EA90E
- .string "A mat that plays\n"
- .string "an A note when\n"
- .string "stepped on.$"
-
-DecorDesc_B_NOTE_MAT: @ 83EA93A
- .string "A mat that plays\n"
- .string "a B note when\n"
- .string "stepped on.$"
-
-DecorDesc_C_HIGH_NOTE_MAT: @ 83EA965
- .string "A mat that plays\n"
- .string "a high C note when\n"
- .string "stepped on.$"
-
-DecorDesc_SURF_MAT: @ 83EA995
- .string "A mat designed with\n"
- .string "a SURF image.\n"
- .string "Put items on top.$"
-
-DecorDesc_THUNDER_MAT: @ 83EA9C9
- .string "A mat designed with\n"
- .string "a THUNDER image.\n"
- .string "Put items on top.$"
-
-DecorDesc_FIRE_BLAST_MAT: @ 83EAA00
- .string "A mat designed with\n"
- .string "a FIRE BLAST image.\n"
- .string "Put items on top.$"
-
-DecorDesc_POWDER_SNOW_MAT: @ 83EAA3A
- .string "A mat with a POWDER\n"
- .string "SNOW image design.\n"
- .string "Put items on top.$"
-
-DecorDesc_ATTRACT_MAT: @ 83EAA73
- .string "A mat designed with\n"
- .string "an ATTRACT image.\n"
- .string "Put items on top.$"
-
-DecorDesc_FISSURE_MAT: @ 83EAAAB
- .string "A mat designed with\n"
- .string "a FISSURE image.\n"
- .string "Put items on top.$"
-
-DecorDesc_SPIKES_MAT: @ 83EAAE2
- .string "A mat designed with\n"
- .string "a SPIKES image.\n"
- .string "Put items on top.$"
-
-DecorDesc_BALL_POSTER: @ 83EAB18
- .string "A small poster\n"
- .string "printed with POKé\n"
- .string "BALLS.$"
-
-DecorDesc_GREEN_POSTER: @ 83EAB40
- .string "A small poster with\n"
- .string "a TREECKO print.$"
-
-DecorDesc_RED_POSTER: @ 83EAB65
- .string "A small poster with\n"
- .string "a TORCHIC print.$"
-
-DecorDesc_BLUE_POSTER: @ 83EAB8A
- .string "A small poster with\n"
- .string "a MUDKIP print.$"
-
-DecorDesc_CUTE_POSTER: @ 83EABAE
- .string "A small poster with\n"
- .string "an AZURILL print.$"
-
-DecorDesc_PIKA_POSTER: @ 83EABD4
- .string "A large poster with\n"
- .string "a PIKACHU and\n"
- .string "PICHU print.$"
-
-DecorDesc_LONG_POSTER: @ 83EAC03
- .string "A large poster with\n"
- .string "a SEVIPER print.$"
-
-DecorDesc_SEA_POSTER: @ 83EAC28
- .string "A large poster with\n"
- .string "a RELICANTH print.$"
-
-DecorDesc_SKY_POSTER: @ 83EAC4F
- .string "A large poster with\n"
- .string "a WINGULL print.$"
-
-DecorDesc_KISS_POSTER: @ 83EAC74
- .string "A large poster with\n"
- .string "a SMOOCHUM print.$"
-
-DecorDesc_PICHU_DOLL: @ 83EAC9A
- .string "A PICHU doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_PIKACHU_DOLL: @ 83EACC5
- .string "A PIKACHU doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_MARILL_DOLL: @ 83EACF2
- .string "A MARILL doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_TOGEPI_DOLL: @ 83EAD1E
- .if REVISION >= 1
- .string "A TOGEPI doll.\n"
- .else
- .string "A TOPGEPI doll.\n"
- .endif
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_CYNDAQUIL_DOLL: @ 83EAD4B
- .string "A CYNDAQUIL doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_CHIKORITA_DOLL: @ 83EAD7A
- .string "A CHIKORITA doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_TOTODILE_DOLL: @ 83EADA9
- .string "A TOTODILE doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_JIGGLYPUFF_DOLL: @ 83EADD7
- .string "A JIGGLYPUFF doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_MEOWTH_DOLL: @ 83EAE07
- .string "A MEOWTH doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_CLEFAIRY_DOLL: @ 83EAE33
- .string "A CLEFAIRY doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_DITTO_DOLL: @ 83EAE61
- .string "A DITTO doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_SMOOCHUM_DOLL: @ 83EAE8C
- .string "A SMOOCHUM doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_TREECKO_DOLL: @ 83EAEBA
- .string "A TREECKO doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_TORCHIC_DOLL: @ 83EAEE7
- .string "A TORCHIC doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_MUDKIP_DOLL: @ 83EAF14
- .string "A MUDKIP doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_DUSKULL_DOLL: @ 83EAF40
- .string "A DUSKULL doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_WYNAUT_DOLL: @ 83EAF6D
- .string "A WYNAUT doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_BALTOY_DOLL: @ 83EAF99
- .string "A BALTOY doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_KECLEON_DOLL: @ 83EAFC5
- .string "A KECLEON doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_AZURILL_DOLL: @ 83EAFF2
- .string "An AZURILL doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_SKITTY_DOLL: @ 83EB020
- .string "A SKITTY doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_SWABLU_DOLL: @ 83EB04C
- .string "A SWABLU doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_GULPIN_DOLL: @ 83EB078
- .string "A GULPIN doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_LOTAD_DOLL: @ 83EB0A4
- .string "A LOTAD doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_SEEDOT_DOLL: @ 83EB0CF
- .string "A SEEDOT doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_PIKA_CUSHION: @ 83EB0FB
- .string "A PIKACHU cushion.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_ROUND_CUSHION: @ 83EB12B
- .string "A MARILL cushion.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_KISS_CUSHION: @ 83EB15A
- .string "A SMOOCHUM\n"
- .string "cushion. Place it on\n"
- .string "a mat or a desk.$"
-
-DecorDesc_ZIGZAG_CUSHION: @ 83EB18B
- .string "A ZIGZAGOON\n"
- .string "cushion. Place it on\n"
- .string "a mat or a desk.$"
-
-DecorDesc_SPIN_CUSHION: @ 83EB1BD
- .string "A SPINDA cushion.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_DIAMOND_CUSHION: @ 83EB1EC
- .string "A SABLEYE cushion.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_BALL_CUSHION: @ 83EB21C
- .string "A BALL cushion.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_GRASS_CUSHION: @ 83EB249
- .string "A grass-mark\n"
- .string "cushion. Place it on\n"
- .string "a mat or a desk.$"
-
-DecorDesc_FIRE_CUSHION: @ 83EB27C
- .string "A fire-mark\n"
- .string "cushion. Place it on\n"
- .string "a mat or a desk.$"
-
-DecorDesc_WATER_CUSHION: @ 83EB2AE
- .string "A water-mark\n"
- .string "cushion. Place it on\n"
- .string "a mat or a desk.$"
-
-DecorDesc_SNORLAX_DOLL: @ 83EB2E1
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_RHYDON_DOLL: @ 83EB30C
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_LAPRAS_DOLL: @ 83EB337
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_VENUSAUR_DOLL: @ 83EB362
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_CHARIZARD_DOLL: @ 83EB38D
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_BLASTOISE_DOLL: @ 83EB3B8
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_WAILMER_DOLL: @ 83EB3E3
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_REGIROCK_DOLL: @ 83EB40E
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_REGICE_DOLL: @ 83EB439
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
-DecorDesc_REGISTEEL_DOLL: @ 83EB464
- .string "A large doll.\n"
- .string "Place it on a mat\n"
- .string "or a desk.$"
-
- .align 1
-DecorGfx_SMALL_DESK: @ 83EB490
- .2byte 0x87
-
- .align 1
-DecorGfx_POKEMON_DESK: @ 83EB492
- .2byte 0x8F
-
- .align 1
-DecorGfx_HEAVY_DESK: @ 83EB494
- .2byte 0x90
- .2byte 0x91
- .2byte 0x92
- .2byte 0x98
- .2byte 0x99
- .2byte 0x9A
-
- .align 1
-DecorGfx_RAGGED_DESK: @ 83EB4A0
- .2byte 0x93
- .2byte 0x94
- .2byte 0x95
- .2byte 0x9B
- .2byte 0x9C
- .2byte 0x9D
-
- .align 1
-DecorGfx_COMFORT_DESK: @ 83EB4AC
- .2byte 0x96
- .2byte 0x97
- .2byte 0xA3
- .2byte 0x9E
- .2byte 0x9F
- .2byte 0xAB
-
- .align 1
-DecorGfx_PRETTY_DESK: @ 83EB4B8
- .2byte 0xBD
- .2byte 0xBE
- .2byte 0xBF
- .2byte 0xC5
- .2byte 0xC6
- .2byte 0xC7
- .2byte 0xCD
- .2byte 0xCE
- .2byte 0xCF
-
- .align 1
-DecorGfx_BRICK_DESK: @ 83EB4CA
- .2byte 0xA0
- .2byte 0xA1
- .2byte 0xA2
- .2byte 0xA8
- .2byte 0xA9
- .2byte 0xAA
- .2byte 0xB0
- .2byte 0xB1
- .2byte 0xB2
-
- .align 1
-DecorGfx_CAMP_DESK: @ 83EB4DC
- .2byte 0xA4
- .2byte 0xA5
- .2byte 0xA6
- .2byte 0xAC
- .2byte 0xAD
- .2byte 0xAE
- .2byte 0xB4
- .2byte 0xB5
- .2byte 0xB6
-
- .align 1
-DecorGfx_HARD_DESK: @ 83EB4EE
- .2byte 0xA7
- .2byte 0xBB
- .2byte 0xBC
- .2byte 0xAF
- .2byte 0xC3
- .2byte 0xC4
- .2byte 0xB7
- .2byte 0xCB
- .2byte 0xCC
-
- .align 1
-DecorGfx_SMALL_CHAIR: @ 83EB500
- .2byte 0xB8
-
- .align 1
-DecorGfx_POKEMON_CHAIR: @ 83EB502
- .2byte 0xB9
-
- .align 1
-DecorGfx_HEAVY_CHAIR: @ 83EB504
- .2byte 0xBA
-
- .align 1
-DecorGfx_PRETTY_CHAIR: @ 83EB506
- .2byte 0xC0
-
- .align 1
-DecorGfx_COMFORT_CHAIR: @ 83EB508
- .2byte 0xC1
-
- .align 1
-DecorGfx_RAGGED_CHAIR: @ 83EB50A
- .2byte 0xC2
-
- .align 1
-DecorGfx_BRICK_CHAIR: @ 83EB50C
- .2byte 0xC8
-
- .align 1
-DecorGfx_CAMP_CHAIR: @ 83EB50E
- .2byte 0xC9
-
- .align 1
-DecorGfx_HARD_CHAIR: @ 83EB510
- .2byte 0xCA
-
- .align 1
-DecorGfx_RED_PLANT: @ 83EB512
- .2byte 0xD0
- .2byte 0xD8
-
- .align 1
-DecorGfx_TROPICAL_PLANT: @ 83EB516
- .2byte 0xD2
- .2byte 0xDA
-
- .align 1
-DecorGfx_PRETTY_FLOWERS: @ 83EB51A
- .2byte 0xD4
- .2byte 0xDC
-
- .align 1
-DecorGfx_COLORFUL_PLANT: @ 83EB51E
- .2byte 0xE0
- .2byte 0xE2
- .2byte 0xE8
- .2byte 0xE9
-
- .align 1
-DecorGfx_BIG_PLANT: @ 83EB526
- .2byte 0xE4
- .2byte 0xE6
- .2byte 0xEC
- .2byte 0xED
-
- .align 1
-DecorGfx_GORGEOUS_PLANT: @ 83EB52E
- .2byte 0xF0
- .2byte 0xF2
- .2byte 0xF8
- .2byte 0xF9
-
- .align 1
-DecorGfx_RED_BRICK: @ 83EB536
- .2byte 0x25
- .2byte 0x2D
-
- .align 1
-DecorGfx_YELLOW_BRICK: @ 83EB53A
- .2byte 0x26
- .2byte 0x2E
-
- .align 1
-DecorGfx_BLUE_BRICK: @ 83EB53E
- .2byte 0x27
- .2byte 0x2F
-
- .align 1
-DecorGfx_RED_BALLOON: @ 83EB542
- .2byte 0x138
-
- .align 1
-DecorGfx_BLUE_BALLOON: @ 83EB544
- .2byte 0x13C
-
- .align 1
-DecorGfx_YELLOW_BALLOON: @ 83EB546
- .2byte 0x140
-
- .align 1
-DecorGfx_RED_TENT: @ 83EB548
- .2byte 0x30
- .2byte 0x31
- .2byte 0x32
- .2byte 0x38
- .2byte 0x39
- .2byte 0x3A
- .2byte 0x40
- .2byte 0x41
- .2byte 0x3B
-
- .align 1
-DecorGfx_BLUE_TENT: @ 83EB55A
- .2byte 0x48
- .2byte 0x49
- .2byte 0x68
- .2byte 0x50
- .2byte 0x51
- .2byte 0x70
- .2byte 0x58
- .2byte 0x59
- .2byte 0x69
-
- .align 1
-DecorGfx_SOLID_BOARD: @ 83EB56C
- .2byte 0x34
- .2byte 0x3C
-
- .align 1
-DecorGfx_SLIDE: @ 83EB570
- .2byte 0x35
- .2byte 0x36
- .2byte 0x3D
- .2byte 0x3E
- .2byte 0x63
- .2byte 0x64
- .2byte 0x6F
- .2byte 0x77
-
- .align 1
-DecorGfx_FENCE_LENGTH: @ 83EB580
- .2byte 0x33
-
- .align 1
-DecorGfx_FENCE_WIDTH: @ 83EB582
- .2byte 0x2C
-
- .align 1
-DecorGfx_TIRE: @ 83EB584
- .2byte 0x80
- .2byte 0x81
- .2byte 0x88
- .2byte 0x89
-
- .align 1
-DecorGfx_STAND: @ 83EB58C
- .2byte 0x6A
- .2byte 0x6B
- .2byte 0x6C
- .2byte 0x6D
- .2byte 0x72
- .2byte 0x73
- .2byte 0x74
- .2byte 0x75
-
- .align 1
-DecorGfx_MUD_BALL: @ 83EB59C
- .2byte 0x28
-
- .align 1
-DecorGfx_BREAKABLE_DOOR: @ 83EB59E
- .2byte 0x37
- .2byte 0x3F
-
- .align 1
-DecorGfx_SAND_ORNAMENT: @ 83EB5A2
- .2byte 0x85
- .2byte 0x8D
-
- .align 1
-DecorGfx_SILVER_SHIELD: @ 83EB5A6
- .2byte 0xD6
- .2byte 0xDE
-
- .align 1
-DecorGfx_GOLD_SHIELD: @ 83EB5AA
- .2byte 0x12E
- .2byte 0x136
-
- .align 1
-DecorGfx_GLASS_ORNAMENT: @ 83EB5AE
- .2byte 0x82
- .2byte 0x8A
-
- .align 1
-DecorGfx_TV: @ 83EB5B2
- .2byte 0xF4
-
- .align 1
-DecorGfx_ROUND_TV: @ 83EB5B4
- .2byte 0xF5
-
- .align 1
-DecorGfx_CUTE_TV: @ 83EB5B6
- .2byte 0xF6
-
- .align 1
-DecorGfx_GLITTER_MAT: @ 83EB5B8
- .2byte 0x60
-
- .align 1
-DecorGfx_JUMP_MAT: @ 83EB5BA
- .2byte 0x61
-
- .align 1
-DecorGfx_SPIN_MAT: @ 83EB5BC
- .2byte 0x62
-
- .align 1
-DecorGfx_C_LOW_NOTE_MAT: @ 83EB5BE
- .2byte 0x78
-
- .align 1
-DecorGfx_D_NOTE_MAT: @ 83EB5C0
- .2byte 0x79
-
- .align 1
-DecorGfx_E_NOTE_MAT: @ 83EB5C2
- .2byte 0x7A
-
- .align 1
-DecorGfx_F_NOTE_MAT: @ 83EB5C4
- .2byte 0x7B
-
- .align 1
-DecorGfx_G_NOTE_MAT: @ 83EB5C6
- .2byte 0x7C
-
- .align 1
-DecorGfx_A_NOTE_MAT: @ 83EB5C8
- .2byte 0x7D
-
- .align 1
-DecorGfx_B_NOTE_MAT: @ 83EB5CA
- .2byte 0x7E
-
- .align 1
-DecorGfx_C_HIGH_NOTE_MAT: @ 83EB5CC
- .2byte 0xB3
-
- .align 1
-DecorGfx_SURF_MAT: @ 83EB5CE
- .2byte 0x42
- .2byte 0x43
- .2byte 0x44
- .2byte 0x4A
- .2byte 0x4B
- .2byte 0x4C
- .2byte 0x52
- .2byte 0x53
- .2byte 0x54
-
- .align 1
-DecorGfx_THUNDER_MAT: @ 83EB5E0
- .2byte 0x45
- .2byte 0x46
- .2byte 0x47
- .2byte 0x4D
- .2byte 0x4E
- .2byte 0x4F
- .2byte 0x55
- .2byte 0x56
- .2byte 0x57
-
- .align 1
-DecorGfx_FIRE_BLAST_MAT: @ 83EB5F2
- .2byte 0x5A
- .2byte 0x5B
- .2byte 0x5C
- .2byte 0x5D
- .2byte 0x5E
- .2byte 0x5F
- .2byte 0x65
- .2byte 0x66
- .2byte 0x67
-
- .align 1
-DecorGfx_POWDER_SNOW_MAT: @ 83EB604
- .2byte 0x100
- .2byte 0x101
- .2byte 0x102
- .2byte 0x108
- .2byte 0x109
- .2byte 0x10A
- .2byte 0x110
- .2byte 0x111
- .2byte 0x112
-
- .align 1
-DecorGfx_ATTRACT_MAT: @ 83EB616
- .2byte 0x103
- .2byte 0x104
- .2byte 0x105
- .2byte 0x10B
- .2byte 0x10C
- .2byte 0x10D
- .2byte 0x113
- .2byte 0x114
- .2byte 0x115
-
- .align 1
-DecorGfx_FISSURE_MAT: @ 83EB628
- .2byte 0x106
- .2byte 0x107
- .2byte 0x118
- .2byte 0x10E
- .2byte 0x10F
- .2byte 0x120
- .2byte 0x116
- .2byte 0x117
- .2byte 0x128
-
- .align 1
-DecorGfx_SPIKES_MAT: @ 83EB63A
- .2byte 0x119
- .2byte 0x11A
- .2byte 0x11B
- .2byte 0x121
- .2byte 0x122
- .2byte 0x123
- .2byte 0x129
- .2byte 0x12A
- .2byte 0x12B
-
- .align 1
-DecorGfx_BALL_POSTER: @ 83EB64C
- .2byte 0x130
-
- .align 1
-DecorGfx_GREEN_POSTER: @ 83EB64E
- .2byte 0x131
-
- .align 1
-DecorGfx_RED_POSTER: @ 83EB650
- .2byte 0x132
-
- .align 1
-DecorGfx_BLUE_POSTER: @ 83EB652
- .2byte 0x133
-
- .align 1
-DecorGfx_CUTE_POSTER: @ 83EB654
- .2byte 0x134
-
- .align 1
-DecorGfx_PIKA_POSTER: @ 83EB656
- .2byte 0x11C
- .2byte 0x11D
-
- .align 1
-DecorGfx_LONG_POSTER: @ 83EB65A
- .2byte 0x11E
- .2byte 0x11F
-
- .align 1
-DecorGfx_SEA_POSTER: @ 83EB65E
- .2byte 0x124
- .2byte 0x125
-
- .align 1
-DecorGfx_SKY_POSTER: @ 83EB662
- .2byte 0x126
- .2byte 0x127
-
- .align 1
-DecorGfx_KISS_POSTER: @ 83EB666
- .2byte 0x12C
- .2byte 0x12D
-
- .align 1
-DecorGfx_PICHU_DOLL: @ 83EB66A
- .2byte MAP_OBJ_GFX_PICHU_DOLL
-
- .align 1
-DecorGfx_PIKACHU_DOLL: @ 83EB66C
- .2byte MAP_OBJ_GFX_PIKACHU_DOLL
-
- .align 1
-DecorGfx_MARILL_DOLL: @ 83EB66E
- .2byte MAP_OBJ_GFX_MARILL_DOLL
-
- .align 1
-DecorGfx_TOGEPI_DOLL: @ 83EB670
- .2byte MAP_OBJ_GFX_TOGEPI_DOLL
-
- .align 1
-DecorGfx_CYNDAQUIL_DOLL: @ 83EB672
- .2byte MAP_OBJ_GFX_CYNDAQUIL_DOLL
-
- .align 1
-DecorGfx_CHIKORITA_DOLL: @ 83EB674
- .2byte MAP_OBJ_GFX_CHIKORITA_DOLL
-
- .align 1
-DecorGfx_TOTODILE_DOLL: @ 83EB676
- .2byte MAP_OBJ_GFX_TOTODILE_DOLL
-
- .align 1
-DecorGfx_JIGGLYPUFF_DOLL: @ 83EB678
- .2byte MAP_OBJ_GFX_JIGGLYPUFF_DOLL
-
- .align 1
-DecorGfx_MEOWTH_DOLL: @ 83EB67A
- .2byte MAP_OBJ_GFX_MEOWTH_DOLL
-
- .align 1
-DecorGfx_CLEFAIRY_DOLL: @ 83EB67C
- .2byte MAP_OBJ_GFX_CLEFAIRY_DOLL
-
- .align 1
-DecorGfx_DITTO_DOLL: @ 83EB67E
- .2byte MAP_OBJ_GFX_DITTO_DOLL
-
- .align 1
-DecorGfx_SMOOCHUM_DOLL: @ 83EB680
- .2byte MAP_OBJ_GFX_SMOOCHUM_DOLL
-
- .align 1
-DecorGfx_TREECKO_DOLL: @ 83EB682
- .2byte MAP_OBJ_GFX_TREECKO_DOLL
-
- .align 1
-DecorGfx_TORCHIC_DOLL: @ 83EB684
- .2byte MAP_OBJ_GFX_TORCHIC_DOLL
-
- .align 1
-DecorGfx_MUDKIP_DOLL: @ 83EB686
- .2byte MAP_OBJ_GFX_MUDKIP_DOLL
-
- .align 1
-DecorGfx_DUSKULL_DOLL: @ 83EB688
- .2byte MAP_OBJ_GFX_DUSKULL_DOLL
-
- .align 1
-DecorGfx_WYNAUT_DOLL: @ 83EB68A
- .2byte MAP_OBJ_GFX_WYNAUT_DOLL
-
- .align 1
-DecorGfx_BALTOY_DOLL: @ 83EB68C
- .2byte MAP_OBJ_GFX_BALTOY_DOLL
-
- .align 1
-DecorGfx_KECLEON_DOLL: @ 83EB68E
- .2byte MAP_OBJ_GFX_KECLEON_DOLL
-
- .align 1
-DecorGfx_AZURILL_DOLL: @ 83EB690
- .2byte MAP_OBJ_GFX_AZURILL_DOLL
-
- .align 1
-DecorGfx_SKITTY_DOLL: @ 83EB692
- .2byte MAP_OBJ_GFX_SKITTY_DOLL
-
- .align 1
-DecorGfx_SWABLU_DOLL: @ 83EB694
- .2byte MAP_OBJ_GFX_SWABLU_DOLL
-
- .align 1
-DecorGfx_GULPIN_DOLL: @ 83EB696
- .2byte MAP_OBJ_GFX_GULPIN_DOLL
-
- .align 1
-DecorGfx_LOTAD_DOLL: @ 83EB698
- .2byte MAP_OBJ_GFX_LOTAD_DOLL
-
- .align 1
-DecorGfx_SEEDOT_DOLL: @ 83EB69A
- .2byte MAP_OBJ_GFX_SEEDOT_DOLL
-
- .align 1
-DecorGfx_PIKA_CUSHION: @ 83EB69C
- .2byte MAP_OBJ_GFX_PIKA_CUSHION
-
- .align 1
-DecorGfx_ROUND_CUSHION: @ 83EB69E
- .2byte MAP_OBJ_GFX_ROUND_CUSHION
-
- .align 1
-DecorGfx_KISS_CUSHION: @ 83EB6A0
- .2byte MAP_OBJ_GFX_KISS_CUSHION
-
- .align 1
-DecorGfx_ZIGZAG_CUSHION: @ 83EB6A2
- .2byte MAP_OBJ_GFX_ZIGZAG_CUSHION
-
- .align 1
-DecorGfx_SPIN_CUSHION: @ 83EB6A4
- .2byte MAP_OBJ_GFX_SPIN_CUSHION
-
- .align 1
-DecorGfx_DIAMOND_CUSHION: @ 83EB6A6
- .2byte MAP_OBJ_GFX_DIAMOND_CUSHION
-
- .align 1
-DecorGfx_BALL_CUSHION: @ 83EB6A8
- .2byte MAP_OBJ_GFX_BALL_CUSHION
-
- .align 1
-DecorGfx_GRASS_CUSHION: @ 83EB6AA
- .2byte MAP_OBJ_GFX_GRASS_CUSHION
-
- .align 1
-DecorGfx_FIRE_CUSHION: @ 83EB6AC
- .2byte MAP_OBJ_GFX_FIRE_CUSHION
-
- .align 1
-DecorGfx_WATER_CUSHION: @ 83EB6AE
- .2byte MAP_OBJ_GFX_WATER_CUSHION
-
- .align 1
-DecorGfx_SNORLAX_DOLL: @ 83EB6B0
- .2byte MAP_OBJ_GFX_BIG_SNORLAX_DOLL
-
- .align 1
-DecorGfx_RHYDON_DOLL: @ 83EB6B2
- .2byte MAP_OBJ_GFX_BIG_RHYDON_DOLL
-
- .align 1
-DecorGfx_LAPRAS_DOLL: @ 83EB6B4
- .2byte MAP_OBJ_GFX_BIG_LAPRAS_DOLL
-
- .align 1
-DecorGfx_VENUSAUR_DOLL: @ 83EB6B6
- .2byte MAP_OBJ_GFX_BIG_VENUSAUR_DOLL
-
- .align 1
-DecorGfx_CHARIZARD_DOLL: @ 83EB6B8
- .2byte MAP_OBJ_GFX_BIG_CHARIZARD_DOLL
-
- .align 1
-DecorGfx_BLASTOISE_DOLL: @ 83EB6BA
- .2byte MAP_OBJ_GFX_BIG_BLASTOISE_DOLL
-
- .align 1
-DecorGfx_WAILMER_DOLL: @ 83EB6BC
- .2byte MAP_OBJ_GFX_BIG_WAILMER_DOLL
-
- .align 1
-DecorGfx_REGIROCK_DOLL: @ 83EB6BE
- .2byte MAP_OBJ_GFX_BIG_REGIROCK_DOLL
-
- .align 1
-DecorGfx_REGICE_DOLL: @ 83EB6C0
- .2byte MAP_OBJ_GFX_BIG_REGICE_DOLL
-
- .align 1
-DecorGfx_REGISTEEL_DOLL: @ 83EB6C2
- .2byte MAP_OBJ_GFX_BIG_REGISTEEL_DOLL
-
- .align 2
-gDecorations:: @ 83EB6C4
- .byte DECOR_NONE
- .string "SMALL DESK$", 16
- .byte 0
- .byte 0
- .byte 0
- .2byte 0
- .space 2
- .4byte DecorDesc_SMALL_DESK
- .4byte DecorGfx_SMALL_DESK
-
- .byte DECOR_SMALL_DESK
- .string "SMALL DESK$", 16
- .byte 0
- .byte 0
- .byte 0
- .2byte 3000
- .space 2
- .4byte DecorDesc_SMALL_DESK
- .4byte DecorGfx_SMALL_DESK
-
- .byte DECOR_POKEMON_DESK
- .string "POKéMON DESK$", 16
- .byte 0
- .byte 0
- .byte 0
- .2byte 3000
- .space 2
- .4byte DecorDesc_POKEMON_DESK
- .4byte DecorGfx_POKEMON_DESK
-
- .byte DECOR_HEAVY_DESK
- .string "HEAVY DESK$", 16
- .byte 0
- .byte 9
- .byte 0
- .2byte 6000
- .space 2
- .4byte DecorDesc_HEAVY_DESK
- .4byte DecorGfx_HEAVY_DESK
-
- .byte DECOR_RAGGED_DESK
- .string "RAGGED DESK$", 16
- .byte 0
- .byte 9
- .byte 0
- .2byte 6000
- .space 2
- .4byte DecorDesc_RAGGED_DESK
- .4byte DecorGfx_RAGGED_DESK
-
- .byte DECOR_COMFORT_DESK
- .string "COMFORT DESK$", 16
- .byte 0
- .byte 9
- .byte 0
- .2byte 6000
- .space 2
- .4byte DecorDesc_COMFORT_DESK
- .4byte DecorGfx_COMFORT_DESK
-
- .byte DECOR_PRETTY_DESK
- .string "PRETTY DESK$", 16
- .byte 0
- .byte 8
- .byte 0
- .2byte 9000
- .space 2
- .4byte DecorDesc_PRETTY_DESK
- .4byte DecorGfx_PRETTY_DESK
-
- .byte DECOR_BRICK_DESK
- .string "BRICK DESK$", 16
- .byte 0
- .byte 8
- .byte 0
- .2byte 9000
- .space 2
- .4byte DecorDesc_BRICK_DESK
- .4byte DecorGfx_BRICK_DESK
-
- .byte DECOR_CAMP_DESK
- .string "CAMP DESK$", 16
- .byte 0
- .byte 8
- .byte 0
- .2byte 9000
- .space 2
- .4byte DecorDesc_CAMP_DESK
- .4byte DecorGfx_CAMP_DESK
-
- .byte DECOR_HARD_DESK
- .string "HARD DESK$", 16
- .byte 0
- .byte 8
- .byte 0
- .2byte 9000
- .space 2
- .4byte DecorDesc_HARD_DESK
- .4byte DecorGfx_HARD_DESK
-
- .byte DECOR_SMALL_CHAIR
- .string "SMALL CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_SMALL_CHAIR
- .4byte DecorGfx_SMALL_CHAIR
-
- .byte DECOR_POKEMON_CHAIR
- .string "POKéMON CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_POKEMON_CHAIR
- .4byte DecorGfx_POKEMON_CHAIR
-
- .byte DECOR_HEAVY_CHAIR
- .string "HEAVY CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_HEAVY_CHAIR
- .4byte DecorGfx_HEAVY_CHAIR
-
- .byte DECOR_PRETTY_CHAIR
- .string "PRETTY CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_PRETTY_CHAIR
- .4byte DecorGfx_PRETTY_CHAIR
-
- .byte DECOR_COMFORT_CHAIR
- .string "COMFORT CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_COMFORT_CHAIR
- .4byte DecorGfx_COMFORT_CHAIR
-
- .byte DECOR_RAGGED_CHAIR
- .string "RAGGED CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_RAGGED_CHAIR
- .4byte DecorGfx_RAGGED_CHAIR
-
- .byte DECOR_BRICK_CHAIR
- .string "BRICK CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_BRICK_CHAIR
- .4byte DecorGfx_BRICK_CHAIR
-
- .byte DECOR_CAMP_CHAIR
- .string "CAMP CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_CAMP_CHAIR
- .4byte DecorGfx_CAMP_CHAIR
-
- .byte DECOR_HARD_CHAIR
- .string "HARD CHAIR$", 16
- .byte 1
- .byte 0
- .byte 1
- .2byte 2000
- .space 2
- .4byte DecorDesc_HARD_CHAIR
- .4byte DecorGfx_HARD_CHAIR
-
- .byte DECOR_RED_PLANT
- .string "RED PLANT$", 16
- .byte 2
- .byte 5
- .byte 2
- .2byte 3000
- .space 2
- .4byte DecorDesc_RED_PLANT
- .4byte DecorGfx_RED_PLANT
-
- .byte DECOR_TROPICAL_PLANT
- .string "TROPICAL PLANT$", 16
- .byte 2
- .byte 5
- .byte 2
- .2byte 3000
- .space 2
- .4byte DecorDesc_TROPICAL_PLANT
- .4byte DecorGfx_TROPICAL_PLANT
-
- .byte DECOR_PRETTY_FLOWERS
- .string "PRETTY FLOWERS$", 16
- .byte 2
- .byte 5
- .byte 2
- .2byte 3000
- .space 2
- .4byte DecorDesc_PRETTY_FLOWERS
- .4byte DecorGfx_PRETTY_FLOWERS
-
- .byte DECOR_COLORFUL_PLANT
- .string "COLORFUL PLANT$", 16
- .byte 2
- .byte 4
- .byte 2
- .2byte 5000
- .space 2
- .4byte DecorDesc_COLORFUL_PLANT
- .4byte DecorGfx_COLORFUL_PLANT
-
- .byte DECOR_BIG_PLANT
- .string "BIG PLANT$", 16
- .byte 2
- .byte 4
- .byte 2
- .2byte 5000
- .space 2
- .4byte DecorDesc_BIG_PLANT
- .4byte DecorGfx_BIG_PLANT
-
- .byte DECOR_GORGEOUS_PLANT
- .string "GORGEOUS PLANT$", 16
- .byte 2
- .byte 4
- .byte 2
- .2byte 5000
- .space 2
- .4byte DecorDesc_GORGEOUS_PLANT
- .4byte DecorGfx_GORGEOUS_PLANT
-
- .byte DECOR_RED_BRICK
- .string "RED BRICK$", 16
- .byte 0
- .byte 5
- .byte 3
- .2byte 500
- .space 2
- .4byte DecorDesc_RED_BRICK
- .4byte DecorGfx_RED_BRICK
-
- .byte DECOR_YELLOW_BRICK
- .string "YELLOW BRICK$", 16
- .byte 0
- .byte 5
- .byte 3
- .2byte 500
- .space 2
- .4byte DecorDesc_YELLOW_BRICK
- .4byte DecorGfx_YELLOW_BRICK
-
- .byte DECOR_BLUE_BRICK
- .string "BLUE BRICK$", 16
- .byte 0
- .byte 5
- .byte 3
- .2byte 500
- .space 2
- .4byte DecorDesc_BLUE_BRICK
- .4byte DecorGfx_BLUE_BRICK
-
- .byte DECOR_RED_BALLOON
- .string "RED BALLOON$", 16
- .byte 1
- .byte 0
- .byte 3
- .2byte 500
- .space 2
- .4byte DecorDesc_RED_BALLOON
- .4byte DecorGfx_RED_BALLOON
-
- .byte DECOR_BLUE_BALLOON
- .string "BLUE BALLOON$", 16
- .byte 1
- .byte 0
- .byte 3
- .2byte 500
- .space 2
- .4byte DecorDesc_BLUE_BALLOON
- .4byte DecorGfx_BLUE_BALLOON
-
- .byte DECOR_YELLOW_BALLOON
- .string "YELLOW BALLOON$", 16
- .byte 1
- .byte 0
- .byte 3
- .2byte 500
- .space 2
- .4byte DecorDesc_YELLOW_BALLOON
- .4byte DecorGfx_YELLOW_BALLOON
-
- .byte DECOR_RED_TENT
- .string "RED TENT$", 16
- .byte 1
- .byte 8
- .byte 3
- .2byte 10000
- .space 2
- .4byte DecorDesc_RED_TENT
- .4byte DecorGfx_RED_TENT
-
- .byte DECOR_BLUE_TENT
- .string "BLUE TENT$", 16
- .byte 1
- .byte 8
- .byte 3
- .2byte 10000
- .space 2
- .4byte DecorDesc_BLUE_TENT
- .4byte DecorGfx_BLUE_TENT
-
- .byte DECOR_SOLID_BOARD
- .string "SOLID BOARD$", 16
- .byte 1
- .byte 5
- .byte 3
- .2byte 3000
- .space 2
- .4byte DecorDesc_SOLID_BOARD
- .4byte DecorGfx_SOLID_BOARD
-
- .byte DECOR_SLIDE
- .string "SLIDE$", 16
- .byte 1
- .byte 7
- .byte 3
- .2byte 8000
- .space 2
- .4byte DecorDesc_SLIDE
- .4byte DecorGfx_SLIDE
-
- .byte DECOR_FENCE_LENGTH
- .string "FENCE LENGTH$", 16
- .byte 0
- .byte 0
- .byte 3
- .2byte 500
- .space 2
- .4byte DecorDesc_FENCE_LENGTH
- .4byte DecorGfx_FENCE_LENGTH
-
- .byte DECOR_FENCE_WIDTH
- .string "FENCE WIDTH$", 16
- .byte 0
- .byte 0
- .byte 3
- .2byte 500
- .space 2
- .4byte DecorDesc_FENCE_WIDTH
- .4byte DecorGfx_FENCE_WIDTH
-
- .byte DECOR_TIRE
- .string "TIRE$", 16
- .byte 0
- .byte 4
- .byte 3
- .2byte 800
- .space 2
- .4byte DecorDesc_TIRE
- .4byte DecorGfx_TIRE
-
- .byte DECOR_STAND
- .string "STAND$", 16
- .byte 1
- .byte 3
- .byte 3
- .2byte 7000
- .space 2
- .4byte DecorDesc_STAND
- .4byte DecorGfx_STAND
-
- .byte DECOR_MUD_BALL
- .string "MUD BALL$", 16
- .byte 1
- .byte 0
- .byte 3
- .2byte 200
- .space 2
- .4byte DecorDesc_MUD_BALL
- .4byte DecorGfx_MUD_BALL
-
- .byte DECOR_BREAKABLE_DOOR
- .string "BREAKABLE DOOR$", 16
- .byte 1
- .byte 5
- .byte 3
- .2byte 3000
- .space 2
- .4byte DecorDesc_BREAKABLE_DOOR
- .4byte DecorGfx_BREAKABLE_DOOR
-
- .byte DECOR_SAND_ORNAMENT
- .string "SAND ORNAMENT$", 16
- .byte 2
- .byte 5
- .byte 3
- .2byte 3000
- .space 2
- .4byte DecorDesc_SAND_ORNAMENT
- .4byte DecorGfx_SAND_ORNAMENT
-
- .byte DECOR_SILVER_SHIELD
- .string "SILVER SHIELD$", 16
- .byte 2
- .byte 5
- .byte 3
- .2byte 0
- .space 2
- .4byte DecorDesc_SILVER_SHIELD
- .4byte DecorGfx_SILVER_SHIELD
-
- .byte DECOR_GOLD_SHIELD
- .string "GOLD SHIELD$", 16
- .byte 2
- .byte 5
- .byte 3
- .2byte 0
- .space 2
- .4byte DecorDesc_GOLD_SHIELD
- .4byte DecorGfx_GOLD_SHIELD
-
- .byte DECOR_GLASS_ORNAMENT
- .string "GLASS ORNAMENT$", 16
- .byte 2
- .byte 5
- .byte 3
- .2byte 0
- .space 2
- .4byte DecorDesc_GLASS_ORNAMENT
- .4byte DecorGfx_GLASS_ORNAMENT
-
- .byte DECOR_TV
- .string "TV$", 16
- .byte 0
- .byte 0
- .byte 3
- .2byte 3000
- .space 2
- .4byte DecorDesc_TV
- .4byte DecorGfx_TV
-
- .byte DECOR_ROUND_TV
- .string "ROUND TV$", 16
- .byte 0
- .byte 0
- .byte 3
- .2byte 4000
- .space 2
- .4byte DecorDesc_ROUND_TV
- .4byte DecorGfx_ROUND_TV
-
- .byte DECOR_CUTE_TV
- .string "CUTE TV$", 16
- .byte 0
- .byte 0
- .byte 3
- .2byte 4000
- .space 2
- .4byte DecorDesc_CUTE_TV
- .4byte DecorGfx_CUTE_TV
-
- .byte DECOR_GLITTER_MAT
- .string "GLITTER MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 2000
- .space 2
- .4byte DecorDesc_GLITTER_MAT
- .4byte DecorGfx_GLITTER_MAT
-
- .byte DECOR_JUMP_MAT
- .string "JUMP MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 2000
- .space 2
- .4byte DecorDesc_JUMP_MAT
- .4byte DecorGfx_JUMP_MAT
-
- .byte DECOR_SPIN_MAT
- .string "SPIN MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 2000
- .space 2
- .4byte DecorDesc_SPIN_MAT
- .4byte DecorGfx_SPIN_MAT
-
- .byte DECOR_C_LOW_NOTE_MAT
- .string "C Low NOTE MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 500
- .space 2
- .4byte DecorDesc_C_LOW_NOTE_MAT
- .4byte DecorGfx_C_LOW_NOTE_MAT
-
- .byte DECOR_D_NOTE_MAT
- .string "D NOTE MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 500
- .space 2
- .4byte DecorDesc_D_NOTE_MAT
- .4byte DecorGfx_D_NOTE_MAT
-
- .byte DECOR_E_NOTE_MAT
- .string "E NOTE MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 500
- .space 2
- .4byte DecorDesc_E_NOTE_MAT
- .4byte DecorGfx_E_NOTE_MAT
-
- .byte DECOR_F_NOTE_MAT
- .string "F NOTE MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 500
- .space 2
- .4byte DecorDesc_F_NOTE_MAT
- .4byte DecorGfx_F_NOTE_MAT
-
- .byte DECOR_G_NOTE_MAT
- .string "G NOTE MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 500
- .space 2
- .4byte DecorDesc_G_NOTE_MAT
- .4byte DecorGfx_G_NOTE_MAT
-
- .byte DECOR_A_NOTE_MAT
- .string "A NOTE MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 500
- .space 2
- .4byte DecorDesc_A_NOTE_MAT
- .4byte DecorGfx_A_NOTE_MAT
-
- .byte DECOR_B_NOTE_MAT
- .string "B NOTE MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 500
- .space 2
- .4byte DecorDesc_B_NOTE_MAT
- .4byte DecorGfx_B_NOTE_MAT
-
- .byte DECOR_C_HIGH_NOTE_MAT
- .string "C High NOTE MAT$", 16
- .byte 1
- .byte 0
- .byte 4
- .2byte 500
- .space 2
- .4byte DecorDesc_C_HIGH_NOTE_MAT
- .4byte DecorGfx_C_HIGH_NOTE_MAT
-
- .byte DECOR_SURF_MAT
- .string "SURF MAT$", 16
- .byte 1
- .byte 8
- .byte 4
- .2byte 4000
- .space 2
- .4byte DecorDesc_SURF_MAT
- .4byte DecorGfx_SURF_MAT
-
- .byte DECOR_THUNDER_MAT
- .string "THUNDER MAT$", 16
- .byte 1
- .byte 8
- .byte 4
- .2byte 4000
- .space 2
- .4byte DecorDesc_THUNDER_MAT
- .4byte DecorGfx_THUNDER_MAT
-
- .byte DECOR_FIRE_BLAST_MAT
- .string "FIRE BLAST MAT$", 16
- .byte 1
- .byte 8
- .byte 4
- .2byte 4000
- .space 2
- .4byte DecorDesc_FIRE_BLAST_MAT
- .4byte DecorGfx_FIRE_BLAST_MAT
-
- .byte DECOR_POWDER_SNOW_MAT
- .string "POWDER SNOW MAT$", 16
- .byte 1
- .byte 8
- .byte 4
- .2byte 4000
- .space 2
- .4byte DecorDesc_POWDER_SNOW_MAT
- .4byte DecorGfx_POWDER_SNOW_MAT
-
- .byte DECOR_ATTRACT_MAT
- .string "ATTRACT MAT$", 16
- .byte 1
- .byte 8
- .byte 4
- .2byte 4000
- .space 2
- .4byte DecorDesc_ATTRACT_MAT
- .4byte DecorGfx_ATTRACT_MAT
-
- .byte DECOR_FISSURE_MAT
- .string "FISSURE MAT$", 16
- .byte 1
- .byte 8
- .byte 4
- .2byte 4000
- .space 2
- .4byte DecorDesc_FISSURE_MAT
- .4byte DecorGfx_FISSURE_MAT
-
- .byte DECOR_SPIKES_MAT
- .string "SPIKES MAT$", 16
- .byte 1
- .byte 8
- .byte 4
- .2byte 4000
- .space 2
- .4byte DecorDesc_SPIKES_MAT
- .4byte DecorGfx_SPIKES_MAT
-
- .byte DECOR_BALL_POSTER
- .string "BALL POSTER$", 16
- .byte 3
- .byte 0
- .byte 5
- .2byte 1000
- .space 2
- .4byte DecorDesc_BALL_POSTER
- .4byte DecorGfx_BALL_POSTER
-
- .byte DECOR_GREEN_POSTER
- .string "GREEN POSTER$", 16
- .byte 3
- .byte 0
- .byte 5
- .2byte 1000
- .space 2
- .4byte DecorDesc_GREEN_POSTER
- .4byte DecorGfx_GREEN_POSTER
-
- .byte DECOR_RED_POSTER
- .string "RED POSTER$", 16
- .byte 3
- .byte 0
- .byte 5
- .2byte 1000
- .space 2
- .4byte DecorDesc_RED_POSTER
- .4byte DecorGfx_RED_POSTER
-
- .byte DECOR_BLUE_POSTER
- .string "BLUE POSTER$", 16
- .byte 3
- .byte 0
- .byte 5
- .2byte 1000
- .space 2
- .4byte DecorDesc_BLUE_POSTER
- .4byte DecorGfx_BLUE_POSTER
-
- .byte DECOR_CUTE_POSTER
- .string "CUTE POSTER$", 16
- .byte 3
- .byte 0
- .byte 5
- .2byte 1000
- .space 2
- .4byte DecorDesc_CUTE_POSTER
- .4byte DecorGfx_CUTE_POSTER
-
- .byte DECOR_PIKA_POSTER
- .string "PIKA POSTER$", 16
- .byte 3
- .byte 1
- .byte 5
- .2byte 1500
- .space 2
- .4byte DecorDesc_PIKA_POSTER
- .4byte DecorGfx_PIKA_POSTER
-
- .byte DECOR_LONG_POSTER
- .string "LONG POSTER$", 16
- .byte 3
- .byte 1
- .byte 5
- .2byte 1500
- .space 2
- .4byte DecorDesc_LONG_POSTER
- .4byte DecorGfx_LONG_POSTER
-
- .byte DECOR_SEA_POSTER
- .string "SEA POSTER$", 16
- .byte 3
- .byte 1
- .byte 5
- .2byte 1500
- .space 2
- .4byte DecorDesc_SEA_POSTER
- .4byte DecorGfx_SEA_POSTER
-
- .byte DECOR_SKY_POSTER
- .string "SKY POSTER$", 16
- .byte 3
- .byte 1
- .byte 5
- .2byte 1500
- .space 2
- .4byte DecorDesc_SKY_POSTER
- .4byte DecorGfx_SKY_POSTER
-
- .byte DECOR_KISS_POSTER
- .string "KISS POSTER$", 16
- .byte 3
- .byte 1
- .byte 5
- .2byte 1500
- .space 2
- .4byte DecorDesc_KISS_POSTER
- .4byte DecorGfx_KISS_POSTER
-
- .byte DECOR_PICHU_DOLL
- .string "PICHU DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_PICHU_DOLL
- .4byte DecorGfx_PICHU_DOLL
-
- .byte DECOR_PIKACHU_DOLL
- .string "PIKACHU DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_PIKACHU_DOLL
- .4byte DecorGfx_PIKACHU_DOLL
-
- .byte DECOR_MARILL_DOLL
- .string "MARILL DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_MARILL_DOLL
- .4byte DecorGfx_MARILL_DOLL
-
- .byte DECOR_TOGEPI_DOLL
- .string "TOGEPI DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_TOGEPI_DOLL
- .4byte DecorGfx_TOGEPI_DOLL
-
- .byte DECOR_CYNDAQUIL_DOLL
- .string "CYNDAQUIL DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_CYNDAQUIL_DOLL
- .4byte DecorGfx_CYNDAQUIL_DOLL
-
- .byte DECOR_CHIKORITA_DOLL
- .string "CHIKORITA DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_CHIKORITA_DOLL
- .4byte DecorGfx_CHIKORITA_DOLL
-
- .byte DECOR_TOTODILE_DOLL
- .string "TOTODILE DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_TOTODILE_DOLL
- .4byte DecorGfx_TOTODILE_DOLL
-
- .byte DECOR_JIGGLYPUFF_DOLL
- .string "JIGGLYPUFF DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_JIGGLYPUFF_DOLL
- .4byte DecorGfx_JIGGLYPUFF_DOLL
-
- .byte DECOR_MEOWTH_DOLL
- .string "MEOWTH DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_MEOWTH_DOLL
- .4byte DecorGfx_MEOWTH_DOLL
-
- .byte DECOR_CLEFAIRY_DOLL
- .string "CLEFAIRY DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_CLEFAIRY_DOLL
- .4byte DecorGfx_CLEFAIRY_DOLL
-
- .byte DECOR_DITTO_DOLL
- .string "DITTO DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_DITTO_DOLL
- .4byte DecorGfx_DITTO_DOLL
-
- .byte DECOR_SMOOCHUM_DOLL
- .string "SMOOCHUM DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_SMOOCHUM_DOLL
- .4byte DecorGfx_SMOOCHUM_DOLL
-
- .byte DECOR_TREECKO_DOLL
- .string "TREECKO DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_TREECKO_DOLL
- .4byte DecorGfx_TREECKO_DOLL
-
- .byte DECOR_TORCHIC_DOLL
- .string "TORCHIC DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_TORCHIC_DOLL
- .4byte DecorGfx_TORCHIC_DOLL
-
- .byte DECOR_MUDKIP_DOLL
- .string "MUDKIP DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_MUDKIP_DOLL
- .4byte DecorGfx_MUDKIP_DOLL
-
- .byte DECOR_DUSKULL_DOLL
- .string "DUSKULL DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_DUSKULL_DOLL
- .4byte DecorGfx_DUSKULL_DOLL
-
- .byte DECOR_WYNAUT_DOLL
- .string "WYNAUT DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_WYNAUT_DOLL
- .4byte DecorGfx_WYNAUT_DOLL
-
- .byte DECOR_BALTOY_DOLL
- .string "BALTOY DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_BALTOY_DOLL
- .4byte DecorGfx_BALTOY_DOLL
-
- .byte DECOR_KECLEON_DOLL
- .string "KECLEON DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_KECLEON_DOLL
- .4byte DecorGfx_KECLEON_DOLL
-
- .byte DECOR_AZURILL_DOLL
- .string "AZURILL DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_AZURILL_DOLL
- .4byte DecorGfx_AZURILL_DOLL
-
- .byte DECOR_SKITTY_DOLL
- .string "SKITTY DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_SKITTY_DOLL
- .4byte DecorGfx_SKITTY_DOLL
-
- .byte DECOR_SWABLU_DOLL
- .string "SWABLU DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_SWABLU_DOLL
- .4byte DecorGfx_SWABLU_DOLL
-
- .byte DECOR_GULPIN_DOLL
- .string "GULPIN DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_GULPIN_DOLL
- .4byte DecorGfx_GULPIN_DOLL
-
- .byte DECOR_LOTAD_DOLL
- .string "LOTAD DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_LOTAD_DOLL
- .4byte DecorGfx_LOTAD_DOLL
-
- .byte DECOR_SEEDOT_DOLL
- .string "SEEDOT DOLL$", 16
- .byte 4
- .byte 0
- .byte 6
- .2byte 3000
- .space 2
- .4byte DecorDesc_SEEDOT_DOLL
- .4byte DecorGfx_SEEDOT_DOLL
-
- .byte DECOR_PIKA_CUSHION
- .string "PIKA CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_PIKA_CUSHION
- .4byte DecorGfx_PIKA_CUSHION
-
- .byte DECOR_ROUND_CUSHION
- .string "ROUND CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_ROUND_CUSHION
- .4byte DecorGfx_ROUND_CUSHION
-
- .byte DECOR_KISS_CUSHION
- .string "KISS CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_KISS_CUSHION
- .4byte DecorGfx_KISS_CUSHION
-
- .byte DECOR_ZIGZAG_CUSHION
- .string "ZIGZAG CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_ZIGZAG_CUSHION
- .4byte DecorGfx_ZIGZAG_CUSHION
-
- .byte DECOR_SPIN_CUSHION
- .string "SPIN CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_SPIN_CUSHION
- .4byte DecorGfx_SPIN_CUSHION
-
- .byte DECOR_DIAMOND_CUSHION
- .string "DIAMOND CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_DIAMOND_CUSHION
- .4byte DecorGfx_DIAMOND_CUSHION
-
- .byte DECOR_BALL_CUSHION
- .string "BALL CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_BALL_CUSHION
- .4byte DecorGfx_BALL_CUSHION
-
- .byte DECOR_GRASS_CUSHION
- .string "GRASS CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_GRASS_CUSHION
- .4byte DecorGfx_GRASS_CUSHION
-
- .byte DECOR_FIRE_CUSHION
- .string "FIRE CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_FIRE_CUSHION
- .4byte DecorGfx_FIRE_CUSHION
-
- .byte DECOR_WATER_CUSHION
- .string "WATER CUSHION$", 16
- .byte 4
- .byte 0
- .byte 7
- .2byte 2000
- .space 2
- .4byte DecorDesc_WATER_CUSHION
- .4byte DecorGfx_WATER_CUSHION
-
- .byte DECOR_SNORLAX_DOLL
- .string "SNORLAX DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_SNORLAX_DOLL
- .4byte DecorGfx_SNORLAX_DOLL
-
- .byte DECOR_RHYDON_DOLL
- .string "RHYDON DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_RHYDON_DOLL
- .4byte DecorGfx_RHYDON_DOLL
-
- .byte DECOR_LAPRAS_DOLL
- .string "LAPRAS DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_LAPRAS_DOLL
- .4byte DecorGfx_LAPRAS_DOLL
-
- .byte DECOR_VENUSAUR_DOLL
- .string "VENUSAUR DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_VENUSAUR_DOLL
- .4byte DecorGfx_VENUSAUR_DOLL
-
- .byte DECOR_CHARIZARD_DOLL
- .string "CHARIZARD DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_CHARIZARD_DOLL
- .4byte DecorGfx_CHARIZARD_DOLL
-
- .byte DECOR_BLASTOISE_DOLL
- .string "BLASTOISE DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_BLASTOISE_DOLL
- .4byte DecorGfx_BLASTOISE_DOLL
-
- .byte DECOR_WAILMER_DOLL
- .string "WAILMER DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_WAILMER_DOLL
- .4byte DecorGfx_WAILMER_DOLL
-
- .byte DECOR_REGIROCK_DOLL
- .string "REGIROCK DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_REGIROCK_DOLL
- .4byte DecorGfx_REGIROCK_DOLL
-
- .byte DECOR_REGICE_DOLL
- .string "REGICE DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_REGICE_DOLL
- .4byte DecorGfx_REGICE_DOLL
-
- .byte DECOR_REGISTEEL_DOLL
- .string "REGISTEEL DOLL$", 16
- .byte 4
- .byte 5
- .byte 6
- .2byte 10000
- .space 2
- .4byte DecorDesc_REGISTEEL_DOLL
- .4byte DecorGfx_REGISTEEL_DOLL
-
diff --git a/include/battle.h b/include/battle.h
index 858e493f1..9714c6add 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -35,7 +35,7 @@ extern u8 unk_2000000[];
// to do: maybe try to reduce the defines needed to match?
#define BATTLE_STRUCT ((struct BattleStruct *)(unk_2000000))
#define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(unk_2000000 + 0x16800))
-#define UNK_2016A00_STRUCT ((struct UnknownStruct1 *)(unk_2000000 + 0x16A00))
+#define UNK_2016A00_STRUCT ((struct UnkBattleStruct1 *)(unk_2000000 + 0x16A00))
#define AI_STACK ((struct AI_Stack *)(unk_2000000 + 0x16C00))
#define AI_ARRAY_160CC ((struct SmallItemStruct *)(unk_2000000 + 0x160CC))
@@ -61,7 +61,7 @@ struct Trainer
/*0x24*/ void *party;
};
-struct UnknownStruct1 // AI_Opponent_Info?
+struct UnkBattleStruct1 // AI_Opponent_Info?
{
/*0x00*/ u16 movesUsed[2][8]; // 0xFFFF means move not used (confuse self hit, etc)
/*0x20*/ u8 unk20[2];
@@ -119,10 +119,10 @@ struct BattleStruct /* 0x2000000 */
u8 filler2[0x72E];
/* 0x16800 */ struct AI_ThinkingStruct ai; /* 0x2016800 */
u8 filler1681C[0x1E4];
- /* 0x16A00 */ struct UnknownStruct1 unk_2016A00_2;
+ /* 0x16A00 */ struct UnkBattleStruct1 unk_2016A00_2;
};
-struct UnknownStruct4
+struct UnkBattleStruct4
{
/*0x00*/ u8 filler0[0x3];
/*0x04*/ u16 unk4;
@@ -143,7 +143,7 @@ struct UnknownStruct4
};
extern struct UnknownStruct1 unk_2016A00;
-extern struct UnknownStruct4 gUnknown_02024CA8[];
+extern struct UnkBattleStruct4 gUnknown_02024CA8[];
extern struct AI_ThinkingStruct gAIThinkingSpace;
struct UnknownStruct11
diff --git a/include/decoration.h b/include/decoration.h
index abeb43086..9aab819ab 100755
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -141,11 +141,11 @@ struct Decoration
/*0x00*/ u8 id;
/*0x01*/ u8 name[16];
/*0x11*/ u8 decor_field_11;
- /*0x12*/ u8 decor_field_12;
+ /*0x12*/ u8 shape;
/*0x13*/ u8 decor_field_13;
/*0x14*/ u16 price;
- /*0x18*/ u8 *description;
- /*0x1c*/ u16 *tiles;
+ /*0x18*/ const u8 *description;
+ /*0x1c*/ const u16 *tiles;
};
struct DecoPCPointers
@@ -164,9 +164,9 @@ struct DecorationInventory
struct UnkStruct_803EC860
{
- u8 *var0;
- u8 *var4;
- u8 *var8;
+ const u8 *var0;
+ const u8 *var4;
+ const u8 *var8;
u8 size;
};
@@ -177,38 +177,38 @@ extern u8 ewram[];
struct UnkStruct_02038900
{
- /*0x000; 0x02038900*/ struct Decoration *decoration;
+ /*0x000; 0x02038900*/ const struct Decoration *decoration;
/*0x004; 0x02038904*/ u16 unk_004[0x40];
- /*0x084; 0x02038984*/ u8 unk_084[0x800];
- /*0x884; 0x02039184*/ u16 unk_884[16];
+ /*0x084; 0x02038984*/ u8 image[0x800];
+ /*0x884; 0x02039184*/ u16 palette[16];
};
struct UnkStruct_083EC900
{
- u8 unk_0;
- u8 unk_1;
- u8 unk_2;
- u8 unk_3;
+ u8 shape;
+ u8 size;
+ u8 x;
+ u8 y;
};
struct UnkStruct_020391B4
{
u8 var00;
- u8 var01;
- u8 var02;
+ u8 width;
+ u8 height;
u8 var03;
u16 var04;
u8 pad06[2];
};
-extern const struct UnkStruct_083EC900 gUnknown_083EC900[10];
+extern const struct UnkStruct_083EC900 gUnknown_083EC900[];
extern const struct SpritePalette gUnknown_083EC954;
extern const struct SpritePalette gUnknown_083ECA5C;
extern const struct SpritePalette gUnknown_083ECA64;
extern const struct SpriteTemplate gSpriteTemplate_83EC93C;
extern const struct SpriteTemplate gSpriteTemplate_83ECA88;
-extern struct Decoration gDecorations[0x77];
+extern const struct Decoration gDecorations[];
extern struct UnkStruct_02038900 gUnknown_02038900;
extern u8 *gUnknown_020388D0;
extern u8 gUnknown_081A2F7B[];
@@ -235,13 +235,13 @@ extern u8 gUnknown_020391A9;
extern u8 gUnknown_020391AA;
extern u8 gUnknown_02039234;
extern void (*gUnknown_0300485C)(void);
-extern void (*gUnknown_083EC96C[2][2])(u8);
+extern const struct YesNoFuncTable gUnknown_083EC96C[];
extern struct UnkStruct_020391B4 gUnknown_020391B4[16];
extern const u16 gUnknown_083EC654[3];
extern const struct DecorationInventory gDecorationInventories[];
-extern const u8 *gUnknown_083EC5E4[];
-extern const u8 *gUnknown_083EC624[];
+extern const u8 *const gUnknown_083EC5E4[];
+extern const u8 *const gUnknown_083EC624[];
extern u8 gUnknown_020388F7[];
extern const struct MenuAction2 gUnknown_083EC604[];
extern const struct MenuAction3 gUnknown_083EC634[];
@@ -326,4 +326,23 @@ void sub_81016F4(void);
void sub_8101824(u8);
void sub_8109A30(u8);
+void sub_80FF160(u8);
+void sub_80FF5BC(u8);
+void sub_80FF058(u8);
+void sub_8100A0C(u8);
+void sub_8101700(u8);
+void sub_81017A0(u8);
+void sub_8109D04(u8);
+
+void sub_80FED3C(u8);
+void sub_80FFAB0(u8);
+void sub_80FFB08(u8);
+void sub_81000C4(u8);
+void sub_810026C(u8);
+void sub_8100F88(u8);
+void sub_8100FB4(u8);
+void sub_810153C(u8);
+void sub_8101590(u8);
+void sub_8101848(u8);
+
#endif // GUARD_DECORATION_H
diff --git a/include/menu.h b/include/menu.h
index 04ab78b27..98d7afcc3 100644..100755
--- a/include/menu.h
+++ b/include/menu.h
@@ -12,13 +12,13 @@ struct MenuAction
struct MenuAction2
{
const u8 *text;
- u8 (*func)(u8);
+ void (*func)(u8);
};
struct MenuAction3
{
- u8 (*func1)(u8);
- u8 (*func2)(u8);
+ void (*func1)(u8);
+ void (*func2)(u8);
};
void CloseMenu(void);
@@ -64,7 +64,7 @@ s8 ProcessMenuInputNoWrap_(void);
u8 MenuPrint_PixelCoords(const u8 *, u8, u16, u8);
u8 sub_8072A18(const u8 *, u8, u16, u8, u32);
u8 unref_sub_8072A5C(u8 *, u8 *, u8, u16, u8, u32);
-int sub_8072AB0(u8 *, u8, u16, u8, u8, u32);
+int sub_8072AB0(const u8 *, u8, u16, u8, u8, u32);
void MenuPrint_RightAligned(u8 *, u8, u8);
void sub_8072B80(u8 *, u8, u8, u8 *);
void sub_8072BD8(const u8 *, u8, u8, u16);
diff --git a/include/songs.h b/include/songs.h
index c465ac562..d7829479f 100644
--- a/include/songs.h
+++ b/include/songs.h
@@ -3,23 +3,23 @@
enum
{
- SE_STOP,
- SE_KAIFUKU,
- SE_PC_LOGON,
- SE_PC_OFF,
- SE_PC_ON,
- SE_SELECT,
- SE_WIN_OPEN,
- SE_WALL_HIT,
- SE_DOOR,
- SE_KAIDAN,
- SE_DANSA,
- SE_JITENSYA,
- SE_KOUKA_L,
- SE_KOUKA_M,
- SE_KOUKA_H,
- SE_BOWA2,
- SE_POKE_DEAD,
+ /*0x00*/ SE_STOP,
+ /*0x01*/ SE_KAIFUKU,
+ /*0x02*/ SE_PC_LOGON,
+ /*0x03*/ SE_PC_OFF,
+ /*0x04*/ SE_PC_ON,
+ /*0x05*/ SE_SELECT,
+ /*0x06*/ SE_WIN_OPEN,
+ /*0x07*/ SE_WALL_HIT,
+ /*0x08*/ SE_DOOR,
+ /*0x09*/ SE_KAIDAN,
+ /*0x0A*/ SE_DANSA,
+ /*0x0B*/ SE_JITENSYA,
+ /*0x0C*/ SE_KOUKA_L,
+ /*0x0D*/ SE_KOUKA_M,
+ /*0x0E*/ SE_KOUKA_H,
+ /*0x0F*/ SE_BOWA2,
+ /*0x10*/ SE_POKE_DEAD,
SE_NIGERU,
SE_JIDO_DOA,
SE_NAMINORI,
diff --git a/include/sprite.h b/include/sprite.h
index bda635885..13c03ab51 100644..100755
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -16,6 +16,8 @@ struct SpriteFrameImage
u16 size;
};
+#define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr}
+
struct SpritePalette
{
const u16 *data;
@@ -142,7 +144,7 @@ struct SpriteTemplate
u16 paletteTag;
const struct OamData *oam;
const union AnimCmd *const *anims;
- struct SpriteFrameImage *images;
+ const struct SpriteFrameImage *images;
const union AffineAnimCmd *const *affineAnims;
void (*callback)(struct Sprite *);
};
diff --git a/ld_script.txt b/ld_script.txt
index 24a7c2ddf..d7f3d3637 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -233,7 +233,6 @@ SECTIONS {
src/fldeff_strength.o(.text);
asm/battle_transition.o(.text);
src/battle_811DA74.o(.text);
- asm/battle_811DA74.o(.text);
asm/battle_message.o(.text);
asm/choose_party.o(.text);
asm/cable_car.o(.text);
@@ -433,7 +432,7 @@ SECTIONS {
src/heal_location.o(.rodata);
data/region_map.o(.rodata);
data/cute_sketch.o(.rodata);
- data/decoration.o(.rodata);
+ src/decoration.o(.rodata);
data/slot_machine.o(.rodata);
src/contest_painting.o(.rodata);
src/battle_ai.o(.rodata);
diff --git a/src/battle_2.c b/src/battle_2.c
index 119085e14..17a583441 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -1796,7 +1796,7 @@ void sub_8010874(void)
void sub_8010B88(void)
{
- struct UnknownStruct4 sp0 = gUnknown_02024CA8[gUnknown_02024A60];
+ struct UnkBattleStruct4 sp0 = gUnknown_02024CA8[gUnknown_02024A60];
s32 i;
u8 *ptr;
u32 *ptr2;
diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c
index 328b45f49..56a4bd0c4 100644
--- a/src/battle_811DA74.c
+++ b/src/battle_811DA74.c
@@ -1,11 +1,15 @@
#include "global.h"
#include "asm.h"
+#include "battle.h"
+#include "battle_interface.h"
+#include "data2.h"
#include "link.h"
#include "m4a.h"
#include "main.h"
#include "palette.h"
#include "pokemon.h"
#include "sound.h"
+#include "songs.h"
#include "sprite.h"
#include "string_util.h"
#include "text.h"
@@ -19,9 +23,18 @@ struct UnknownStruct1
struct UnknownStruct2
{
- u8 unk0;
- u8 unk1;
- u8 filler2[7];
+ u8 unk0_0:1;
+ u8 unk0_1:2;
+ u8 unk0_3:1;
+ u8 unk0_4:1;
+ u8 unk0_5:1;
+ u8 unk0_6:1;
+ u8 unk0_7:1;
+ u8 unk1_0:1;
+ u8 filler2[2];
+ u8 unk4;
+ u8 unk5;
+ u8 filler6[3];
u8 unk9;
u8 fillerA[2];
};
@@ -34,32 +47,100 @@ struct UnknownStruct3
u8 ppBonuses;
};
+struct UnknownStruct4
+{
+ u8 unk0_0:2;
+ u8 unk0_2:1;
+ u8 unk0_3:1;
+};
+
+struct UnknownStruct5
+{
+ u8 unk0_0:7;
+ u8 unk0_7:1;
+};
+
+struct UnknownStruct6
+{
+ u8 filler0[9];
+ u8 unk9;
+};
+
extern u32 gBitTable[];
extern u16 gBattleTypeFlags;
+extern struct UnknownStruct5 gUnknown_020238C8;
+extern u8 gUnknown_020238CC[];
extern u8 gUnknown_02023A60[][0x200];
extern u8 gUnknown_02024A60;
extern u32 gUnknown_02024A64;
extern u16 gUnknown_02024A6A[];
extern u8 gUnknown_02024BE0[];
+extern u8 gUnknown_02024D26;
+extern u16 gUnknown_02024DE8;
+extern u8 gUnknown_02024E68[];
extern u8 gUnknown_02024E6D;
+extern u32 gUnknown_02024E70[];
+extern struct SpriteTemplate gUnknown_02024E8C;
+extern u32 *gUnknown_0202F7B4;
+extern u32 gUnknown_0202F7B8;
+extern u16 gUnknown_0202F7BC;
+extern u8 gUnknown_0202F7BE;
+extern u16 gUnknown_0202F7C0;
+extern u8 gUnknown_0202F7C4;
extern struct Window gUnknown_03004210;
+extern u16 gUnknown_030042A0;
+extern u16 gUnknown_030042A4;
extern MainCallback gUnknown_030042D0;
extern void (*gUnknown_03004330[])(void);
extern u8 gUnknown_03004340[];
extern u8 gUnknown_0300434C[];
+extern u8 gBattleMonForms[];
+extern u8 gAnimScriptActive;
+extern void (*gAnimScriptCallback)(void);
extern void (*const gUnknown_083FE4F4[])(void);
-extern u8 unk_2000000[];
+extern u8 ewram[];
-#define EWRAM_17800 ((u8 *)(unk_2000000 + 0x17800))
-#define EWRAM_17810 ((struct UnknownStruct2 *)(unk_2000000 + 0x17810))
+#define ewram17800 ((struct UnknownStruct4 *)(ewram + 0x17800))
+#define ewram17810 ((struct UnknownStruct2 *)(ewram + 0x17810))
+#define ewram17840 (*(struct UnknownStruct6 *)(ewram + 0x17840))
+extern u8 move_anim_start_t3();
+extern u8 sub_8078874();
+extern void sub_8044CA0(u8);
+extern void sub_8030E38(struct Sprite *);
+extern void sub_80E43C0();
+extern void sub_8047858();
+extern void move_anim_start_t2_for_situation();
+extern void load_gfxc_health_bar();
+extern void sub_8043D84();
+extern void sub_8120AA8();
+extern void sub_8031F24(void);
+extern void sub_80326EC();
+extern void ExecuteMoveAnim();
+extern void sub_80324BC();
+extern u8 sub_8031720();
+extern u8 mplay_80342A4();
+extern void oamt_add_pos2_onto_pos1();
+extern void oamt_set_x3A_32();
+extern void sub_8078B34(struct Sprite *);
+extern void sub_80105EC(struct Sprite *);
+extern s32 sub_803FC34(u16);
+extern void sub_8031AF4();
+extern void sub_80313A0(struct Sprite *);
+extern u8 sub_8046400();
+extern void sub_80312F0(struct Sprite *);
+extern u8 CreateInvisibleSpriteWithCallback();
+extern void sub_80318FC();
+extern u8 sub_8077ABC();
+extern u8 sub_8077F68();
+extern u8 sub_8079E90();
extern void nullsub_10();
extern void sub_8045A5C();
extern void sub_804777C();
extern void sub_8043DFC();
-extern s16 sub_8045C78();
+//extern s16 sub_8045C78();
extern void sub_80440EC();
extern void sub_80324F8();
extern void nullsub_9(u16);
@@ -77,6 +158,11 @@ void sub_811E0A0(void);
void dp01_tbl3_exec_completed(void);
u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *b);
void sub_811EC68(u8);
+void sub_811F864(u8, u8);
+void sub_811FA5C(void);
+void sub_811FF30(void);
+void sub_812071C(u8);
+void sub_81208E0(void);
void nullsub_74(void)
{
@@ -117,9 +203,9 @@ void sub_811DB1C(void)
void sub_811DB84(void)
{
- if ((--EWRAM_17810[gUnknown_02024A60].unk9) == 0xFF)
+ if ((--ewram17810[gUnknown_02024A60].unk9) == 0xFF)
{
- EWRAM_17810[gUnknown_02024A60].unk9 = 0;
+ ewram17810[gUnknown_02024A60].unk9 = 0;
dp01_tbl3_exec_completed();
}
}
@@ -143,7 +229,7 @@ void sub_811DBC0(void)
r6 = FALSE;
if (r6)
{
- EWRAM_17810[gUnknown_02024A60].unk9 = 3;
+ ewram17810[gUnknown_02024A60].unk9 = 3;
gUnknown_03004330[gUnknown_02024A60] = sub_811DB84;
}
}
@@ -152,12 +238,13 @@ void sub_811DCA0(void)
{
u8 r2;
- if (!(EWRAM_17810[gUnknown_02024A60].unk0 & 8))
+ if (!ewram17810[gUnknown_02024A60].unk0_3)
{
- r2 = EWRAM_17810[gUnknown_02024A60 ^ 2].unk0 & 8;
- if (!r2 && (++EWRAM_17810[gUnknown_02024A60].unk9) != 1)
+ // I couldn't get it to work as a bitfield here
+ r2 = *((u8 *)&ewram17810[gUnknown_02024A60 ^ 2]) & 8;
+ if (!r2 && (++ewram17810[gUnknown_02024A60].unk9) != 1)
{
- EWRAM_17810[gUnknown_02024A60].unk9 = r2;
+ ewram17810[gUnknown_02024A60].unk9 = r2;
if (IsDoubleBattle() && !(gBattleTypeFlags & 0x40))
{
DestroySprite(&gSprites[gUnknown_0300434C[gUnknown_02024A60 ^ 2]]);
@@ -169,7 +256,7 @@ void sub_811DCA0(void)
sub_8045A5C(gUnknown_03004340[gUnknown_02024A60], &gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], 0);
sub_804777C(gUnknown_02024A60);
sub_8043DFC(gUnknown_03004340[gUnknown_02024A60]);
- (s8)EWRAM_17810[4].unk9 &= ~1;
+ (s8)ewram17810[4].unk9 &= ~1;
gUnknown_03004330[gUnknown_02024A60] = sub_811DBC0;
}
}
@@ -213,7 +300,7 @@ void sub_811DE98(void)
void sub_811DF34(void)
{
- if (!(EWRAM_17810[gUnknown_02024A60].unk0 & 0x40))
+ if (!ewram17810[gUnknown_02024A60].unk0_6)
{
FreeSpriteOamMatrix(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
DestroySprite(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
@@ -252,7 +339,7 @@ void sub_811E034(void)
{
if (gSprites[gUnknown_03004340[gUnknown_02024A60]].callback == SpriteCallbackDummy)
{
- if (EWRAM_17800[gUnknown_02024A60 * 4] & 4)
+ if (ewram17800[gUnknown_02024A60].unk0_2)
move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 6);
gUnknown_03004330[gUnknown_02024A60] = sub_811E0A0;
}
@@ -260,16 +347,16 @@ void sub_811E034(void)
void sub_811E0A0(void)
{
- if (!(EWRAM_17810[gUnknown_02024A60].unk0 & 0x40))
+ if (!ewram17810[gUnknown_02024A60].unk0_6)
dp01_tbl3_exec_completed();
}
void sub_811E0CC(void)
{
- if (EWRAM_17810[gUnknown_02024A60].unk1 & 1)
+ if (ewram17810[gUnknown_02024A60].unk1_0)
{
- EWRAM_17810[gUnknown_02024A60].unk0 &= 0x7F;
- (s8)EWRAM_17810[gUnknown_02024A60].unk1 &= ~1;
+ ewram17810[gUnknown_02024A60].unk0_7 = 0;
+ ewram17810[gUnknown_02024A60].unk1_0 = 0;
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
CreateTask(c3_0802FDF4, 10);
@@ -285,10 +372,10 @@ void sub_811E0CC(void)
void sub_811E1BC(void)
{
- if (!(EWRAM_17810[gUnknown_02024A60].unk0 & 0x88))
+ if (!ewram17810[gUnknown_02024A60].unk0_3 && !ewram17810[gUnknown_02024A60].unk0_7)
sub_8141828(gUnknown_02024A60, &gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]]);
if (gSprites[gUnknown_0300434C[gUnknown_02024A60]].callback == SpriteCallbackDummy
- && !(EWRAM_17810[gUnknown_02024A60].unk0 & 8))
+ && !ewram17810[gUnknown_02024A60].unk0_3)
{
DestroySprite(&gSprites[gUnknown_0300434C[gUnknown_02024A60]]);
gUnknown_03004330[gUnknown_02024A60] = sub_811E0CC;
@@ -344,13 +431,13 @@ void dp01_tbl3_exec_completed(void)
void sub_811E38C(void)
{
- if (!(EWRAM_17810[gUnknown_02024A60].unk0 & 0x10))
+ if (!ewram17810[gUnknown_02024A60].unk0_4)
dp01_tbl3_exec_completed();
}
void sub_811E3B8(void)
{
- if (!(EWRAM_17810[gUnknown_02024A60].unk0 & 0x20))
+ if (!ewram17810[gUnknown_02024A60].unk0_5)
dp01_tbl3_exec_completed();
}
@@ -455,7 +542,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
case 5:
case 6:
case 7:
- data16 = GetMonData(&gPlayerParty[a], gUnknown_02023A60[gUnknown_02024A60][1] + MON_DATA_CHECKSUM);
+ data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gUnknown_02023A60[gUnknown_02024A60][1] - 4);
buffer[0] = data16;
buffer[1] = data16 >> 8;
size = 2;
@@ -470,7 +557,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
case 10:
case 11:
case 12:
- buffer[0] = GetMonData(&gPlayerParty[a], gUnknown_02023A60[gUnknown_02024A60][1] + MON_DATA_MARKINGS);
+ buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gUnknown_02023A60[gUnknown_02024A60][1] - 9);
size = 1;
break;
case 17:
@@ -710,3 +797,848 @@ void sub_811EC10(void)
}
dp01_tbl3_exec_completed();
}
+
+void sub_811EC68(u8 a)
+{
+ struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gUnknown_02023A60[gUnknown_02024A60][3];
+ struct UnknownStruct3 *moveData = (struct UnknownStruct3 *)&gUnknown_02023A60[gUnknown_02024A60][3];
+ s32 i;
+
+ switch (gUnknown_02023A60[gUnknown_02024A60][1])
+ {
+ case 0:
+ {
+ u8 iv;
+
+ SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
+ SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ for (i = 0; i < 4; i++)
+ {
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ }
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
+ SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
+ SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ iv = battlePokemon->hpIV;
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ iv = battlePokemon->attackIV;
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ iv = battlePokemon->defenseIV;
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ iv = battlePokemon->speedIV;
+ SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, (u8 *)&iv);
+ iv = battlePokemon->spAttackIV;
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ iv = battlePokemon->spDefenseIV;
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
+ SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
+ SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
+ SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ }
+ break;
+ case 1:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 2:
+ SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 3:
+ for (i = 0; i < 4; i++)
+ {
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ }
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
+ break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gUnknown_02023A60[gUnknown_02024A60][1] - 4, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 8:
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gUnknown_02023A60[gUnknown_02024A60][4]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gUnknown_02023A60[gUnknown_02024A60][5]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gUnknown_02023A60[gUnknown_02024A60][6]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gUnknown_02023A60[gUnknown_02024A60][7]);
+ break;
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gUnknown_02023A60[gUnknown_02024A60][1] - 9, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 17:
+ SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 18:
+ SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 19:
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 20:
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 21:
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 22:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 23:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 24:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 25:
+ SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 26:
+ SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 27:
+ SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 28:
+ SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 29:
+ SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 30:
+ SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 31:
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gUnknown_02023A60[gUnknown_02024A60][4]);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gUnknown_02023A60[gUnknown_02024A60][5]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gUnknown_02023A60[gUnknown_02024A60][6]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gUnknown_02023A60[gUnknown_02024A60][7]);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gUnknown_02023A60[gUnknown_02024A60][8]);
+ break;
+ case 32:
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 33:
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 34:
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 35:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 36:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 37:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 38:
+ SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 39:
+ SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 40:
+ SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 41:
+ SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 42:
+ SetMonData(&gPlayerParty[a], MON_DATA_HP, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 43:
+ SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 44:
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 45:
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 46:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 47:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 48:
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 49:
+ SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 50:
+ SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 51:
+ SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 52:
+ SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 53:
+ SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 54:
+ SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 55:
+ SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 56:
+ SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 57:
+ SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 58:
+ SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ case 59:
+ SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gUnknown_02023A60[gUnknown_02024A60][3]);
+ break;
+ }
+ sub_80324F8(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60);
+}
+
+void sub_811F664(void)
+{
+ u8 *dst;
+ u8 i;
+
+ dst = (u8 *)&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]] + gUnknown_02023A60[gUnknown_02024A60][1];
+ for (i = 0; i < gUnknown_02023A60[gUnknown_02024A60][2]; i++)
+ dst[i] = gUnknown_02023A60[gUnknown_02024A60][3 + i];
+ dp01_tbl3_exec_completed();
+}
+
+void sub_811F6D8(void)
+{
+ sub_80318FC(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60);
+ GetMonSpriteTemplate_803C56C(
+ GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_SPECIES),
+ battle_get_per_side_status(gUnknown_02024A60));
+ gUnknown_02024BE0[gUnknown_02024A60] = CreateSprite(
+ &gUnknown_02024E8C,
+ sub_8077ABC(gUnknown_02024A60, 2),
+ sub_8077F68(gUnknown_02024A60),
+ sub_8079E90(gUnknown_02024A60));
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos2.x = -240;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = gUnknown_02024A60;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.paletteNum = gUnknown_02024A60;
+ StartSpriteAnim(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], gBattleMonForms[gUnknown_02024A60]);
+ gUnknown_03004330[gUnknown_02024A60] = sub_811DDE8;
+}
+
+void sub_811F7F4(void)
+{
+ sub_8032AA8(gUnknown_02024A60, gUnknown_02023A60[gUnknown_02024A60][2]);
+ gUnknown_02024A6A[gUnknown_02024A60] = gUnknown_02023A60[gUnknown_02024A60][1];
+ sub_80318FC(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60);
+ sub_811F864(gUnknown_02024A60, gUnknown_02023A60[gUnknown_02024A60][2]);
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E1BC;
+}
+
+void sub_811F864(u8 a, u8 b)
+{
+ u16 species;
+
+ sub_8032AA8(a, b);
+ gUnknown_02024A6A[a] = gUnknown_02023A60[a][1];
+ species = GetMonData(&gPlayerParty[gUnknown_02024A6A[a]], MON_DATA_SPECIES);
+ gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0);
+ GetMonSpriteTemplate_803C56C(species, battle_get_per_side_status(a));
+ gUnknown_02024BE0[a] = CreateSprite(
+ &gUnknown_02024E8C,
+ sub_8077ABC(a, 2),
+ sub_8077F68(a),
+ sub_8079E90(a));
+ gSprites[gUnknown_0300434C[a]].data1 = gUnknown_02024BE0[a];
+ gSprites[gUnknown_02024BE0[a]].data0 = a;
+ gSprites[gUnknown_02024BE0[a]].data2 = species;
+ gSprites[gUnknown_02024BE0[a]].oam.paletteNum = a;
+ StartSpriteAnim(&gSprites[gUnknown_02024BE0[a]], gBattleMonForms[a]);
+ gSprites[gUnknown_02024BE0[a]].invisible = TRUE;
+ gSprites[gUnknown_02024BE0[a]].callback = SpriteCallbackDummy;
+ gSprites[gUnknown_0300434C[a]].data0 = sub_8046400(0, 0xFF);
+}
+
+void sub_811F9D0(void)
+{
+ if (gUnknown_02023A60[gUnknown_02024A60][1] == 0)
+ {
+ ewram17810[gUnknown_02024A60].unk4 = 0;
+ gUnknown_03004330[gUnknown_02024A60] = sub_811FA5C;
+ }
+ else
+ {
+ FreeSpriteOamMatrix(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
+ DestroySprite(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
+ sub_8043DB0(gUnknown_03004340[gUnknown_02024A60]);
+ dp01_tbl3_exec_completed();
+ }
+}
+
+void sub_811FA5C(void)
+{
+ switch (ewram17810[gUnknown_02024A60].unk4)
+ {
+ case 0:
+ if (ewram17800[gUnknown_02024A60].unk0_2)
+ move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 5);
+ ewram17810[gUnknown_02024A60].unk4 = 1;
+ break;
+ case 1:
+ if (!ewram17810[gUnknown_02024A60].unk0_6)
+ {
+ ewram17810[gUnknown_02024A60].unk4 = 0;
+ move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 1);
+ gUnknown_03004330[gUnknown_02024A60] = sub_811DF34;
+ }
+ break;
+ }
+}
+
+void sub_811FAE4(void)
+{
+ s16 xOffset;
+ u32 gender;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ {
+ if (battle_get_per_side_status(gUnknown_02024A60) & 2)
+ xOffset = 16;
+ else
+ xOffset = -16;
+ gender = gLinkPlayers[sub_803FC34(gUnknown_02024A60)].gender;
+ }
+ else
+ {
+ xOffset = 0;
+ gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender;
+ }
+ sub_8031AF4(gender, gUnknown_02024A60);
+ GetMonSpriteTemplate_803C5A0(gender, battle_get_per_side_status(gUnknown_02024A60));
+ gUnknown_02024BE0[gUnknown_02024A60] = CreateSprite(
+ &gUnknown_02024E8C,
+ 80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords),
+ sub_8079E90(gUnknown_02024A60));
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.paletteNum = gUnknown_02024A60;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos2.x = 240;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = -2;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_80313A0;
+ gUnknown_03004330[gUnknown_02024A60] = sub_811DAE4;
+}
+
+void sub_811FC30(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_811FC3C(void)
+{
+ oamt_add_pos2_onto_pos1(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = 35;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data2 = -40;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data4 = gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos1.y;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_8078B34;
+ oamt_set_x3A_32(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], SpriteCallbackDummy);
+ gUnknown_03004330[gUnknown_02024A60] = sub_811DB1C;
+}
+
+void sub_811FCE8(void)
+{
+ if (ewram17810[gUnknown_02024A60].unk4 == 0)
+ {
+ if (ewram17800[gUnknown_02024A60].unk0_2)
+ move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 5);
+ ewram17810[gUnknown_02024A60].unk4++;
+ }
+ else if (!ewram17810[gUnknown_02024A60].unk0_6)
+ {
+ ewram17810[gUnknown_02024A60].unk4 = 0;
+ sub_80324F8(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60);
+ PlaySE12WithPanning(SE_POKE_DEAD, -64);
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data1 = 0;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data2 = 5;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_80105EC;
+ gUnknown_03004330[gUnknown_02024A60] = sub_811DE98;
+ }
+}
+
+void sub_811FDCC(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_811FDD8(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_811FDE4(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_811FDF0(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_811FDFC(void)
+{
+ if (mplay_80342A4(gUnknown_02024A60) == 0)
+ {
+ u32 r0 = gUnknown_02023A60[gUnknown_02024A60][1]
+ | (gUnknown_02023A60[gUnknown_02024A60][2] << 8);
+
+ gUnknown_0202F7C4 = gUnknown_02023A60[gUnknown_02024A60][3];
+ gUnknown_0202F7BC = gUnknown_02023A60[gUnknown_02024A60][4]
+ | (gUnknown_02023A60[gUnknown_02024A60][5] << 8);
+ gUnknown_0202F7B8 = gUnknown_02023A60[gUnknown_02024A60][6]
+ | (gUnknown_02023A60[gUnknown_02024A60][7] << 8)
+ | (gUnknown_02023A60[gUnknown_02024A60][8] << 16)
+ | (gUnknown_02023A60[gUnknown_02024A60][9] << 24);
+ gUnknown_0202F7BE = gUnknown_02023A60[gUnknown_02024A60][10];
+ gUnknown_0202F7C0 = gUnknown_02023A60[gUnknown_02024A60][12]
+ | (gUnknown_02023A60[gUnknown_02024A60][13] << 8);
+ gUnknown_0202F7B4 = (u32 *)&gUnknown_02023A60[gUnknown_02024A60][16];
+ gUnknown_02024E70[gUnknown_02024A60] = *gUnknown_0202F7B4;
+
+ if (sub_8031720(r0, gUnknown_0202F7C4) != 0)
+ dp01_tbl3_exec_completed();
+ else
+ {
+ ewram17810[gUnknown_02024A60].unk4 = 0;
+ gUnknown_03004330[gUnknown_02024A60] = sub_811FF30;
+ }
+ }
+}
+
+void sub_811FF30(void)
+{
+ u16 r4 = gUnknown_02023A60[gUnknown_02024A60][1]
+ | (gUnknown_02023A60[gUnknown_02024A60][2] << 8);
+ u8 r7 = gUnknown_02023A60[gUnknown_02024A60][11];
+
+ switch (ewram17810[gUnknown_02024A60].unk4)
+ {
+ case 0:
+ if (ewram17800[gUnknown_02024A60].unk0_2 && !ewram17800[gUnknown_02024A60].unk0_3)
+ {
+ ewram17800[gUnknown_02024A60].unk0_3 = 1;
+ move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 5);
+ }
+ ewram17810[gUnknown_02024A60].unk4 = 1;
+ break;
+ case 1:
+ if (!ewram17810[gUnknown_02024A60].unk0_6)
+ {
+ sub_80326EC(0);
+ ExecuteMoveAnim(r4);
+ ewram17810[gUnknown_02024A60].unk4 = 2;
+ }
+ break;
+ case 2:
+ gAnimScriptCallback();
+ if (!gAnimScriptActive)
+ {
+ sub_80326EC(1);
+ if ((ewram17800[gUnknown_02024A60].unk0_2) && r7 <= 1)
+ {
+ move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 6);
+ ewram17800[gUnknown_02024A60].unk0_3 = 0;
+ }
+ ewram17810[gUnknown_02024A60].unk4 = 3;
+ }
+ break;
+ case 3:
+ if (!ewram17810[gUnknown_02024A60].unk0_6)
+ {
+ sub_8031F24();
+ sub_80324BC(
+ gUnknown_02024A60,
+ gUnknown_02023A60[gUnknown_02024A60][1] | (gUnknown_02023A60[gUnknown_02024A60][2] << 8));
+ ewram17810[gUnknown_02024A60].unk4 = 0;
+ dp01_tbl3_exec_completed();
+ }
+ break;
+ }
+}
+
+void sub_8120094(void)
+{
+ gUnknown_030042A4 = 0;
+ gUnknown_030042A0 = 0;
+ sub_8120AA8(*(u16 *)&gUnknown_02023A60[gUnknown_02024A60][2]);
+ sub_8002EB0(&gUnknown_03004210, gUnknown_020238CC, 144, 2, 15);
+ gUnknown_03004330[gUnknown_02024A60] = sub_811DFA0;
+}
+
+void sub_81200F8(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120104(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120110(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_812011C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120128(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120134(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120140(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_812014C(void)
+{
+ s16 r7;
+
+ load_gfxc_health_bar(0);
+ r7 = gUnknown_02023A60[gUnknown_02024A60][2] | (gUnknown_02023A60[gUnknown_02024A60][3] << 8);
+ if (r7 != 0x7FFF)
+ {
+ u32 maxHP = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_MAX_HP);
+ u32 hp = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_HP);
+
+ sub_8043D84(gUnknown_02024A60, gUnknown_03004340[gUnknown_02024A60], maxHP, hp, r7);
+ }
+ else
+ {
+ u32 maxHP = GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_MAX_HP);
+
+ sub_8043D84(gUnknown_02024A60, gUnknown_03004340[gUnknown_02024A60], maxHP, 0, r7);
+ }
+ gUnknown_03004330[gUnknown_02024A60] = bx_t3_healthbar_update;
+}
+
+void sub_812023C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120248(void)
+{
+ if (mplay_80342A4(gUnknown_02024A60) == 0)
+ {
+ sub_8045A5C(gUnknown_03004340[gUnknown_02024A60], &gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], 9);
+ ewram17810[gUnknown_02024A60].unk0_4 = 0;
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E38C;
+ }
+}
+
+void sub_81202BC(void)
+{
+ if (mplay_80342A4(gUnknown_02024A60) == 0)
+ {
+ move_anim_start_t2_for_situation(
+ gUnknown_02023A60[gUnknown_02024A60][1],
+ gUnknown_02023A60[gUnknown_02024A60][2]
+ | (gUnknown_02023A60[gUnknown_02024A60][3] << 8)
+ | (gUnknown_02023A60[gUnknown_02024A60][4] << 16)
+ | (gUnknown_02023A60[gUnknown_02024A60][5] << 24));
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E38C;
+ }
+}
+
+void sub_8120324(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120330(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_812033C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120348(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120354(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120360(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_812036C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120378(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120384(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120390(void)
+{
+ gUnknown_020238C8.unk0_0 = 0;
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81203AC(void)
+{
+ gUnknown_020238C8.unk0_0 = gUnknown_02023A60[gUnknown_02024A60][1];
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81203E4(void)
+{
+ gUnknown_020238C8.unk0_7 = 0;
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81203FC(void)
+{
+ gUnknown_020238C8.unk0_7 ^= 1;
+ dp01_tbl3_exec_completed();
+}
+
+void dp01t_29_3_blink(void)
+{
+ if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].invisible == TRUE)
+ dp01_tbl3_exec_completed();
+ else
+ {
+ gUnknown_02024E6D = 1;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data1 = 0;
+ sub_8047858(gUnknown_02024A60);
+ gUnknown_03004330[gUnknown_02024A60] = bx_blink_t3;
+ }
+}
+
+void sub_8120494(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81204A0(void)
+{
+ s8 pan;
+
+ if (battle_side_get_owner(gUnknown_02024A60) == 0)
+ pan = -64;
+ else
+ pan = 63;
+ PlaySE12WithPanning(gUnknown_02023A60[gUnknown_02024A60][1] | (gUnknown_02023A60[gUnknown_02024A60][2] << 8), pan);
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81204E4(void)
+{
+ PlayFanfare(gUnknown_02023A60[gUnknown_02024A60][1] | (gUnknown_02023A60[gUnknown_02024A60][2] << 8));
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120514(void)
+{
+ PlayCry3(
+ GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_SPECIES),
+ -25, 5);
+ dp01_tbl3_exec_completed();
+}
+
+void dp01t_2E_3_battle_intro(void)
+{
+ sub_80E43C0(gUnknown_02023A60[gUnknown_02024A60][1]);
+ gUnknown_02024DE8 |= 1;
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120588(void)
+{
+ u8 r4;
+ u8 taskId;
+
+ oamt_add_pos2_onto_pos1(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = 50;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data2 = -40;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data4 = gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos1.y;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_8078B34;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data5 = gUnknown_02024A60;
+ oamt_set_x3A_32(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], sub_8030E38);
+ StartSpriteAnim(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], 1);
+ r4 = AllocSpritePalette(0xD6F9);
+ LoadCompressedPalette(
+ gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gUnknown_02024A60)].gender].data,
+ 0x100 + r4 * 16, 0x20);
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.paletteNum = r4;
+ taskId = CreateTask(sub_812071C, 5);
+ gTasks[taskId].data[0] = gUnknown_02024A60;
+ if (ewram17810[gUnknown_02024A60].unk0_0)
+ gTasks[gUnknown_02024E68[gUnknown_02024A60]].func = sub_8044CA0;
+ ewram17840.unk9 |= 1;
+ gUnknown_03004330[gUnknown_02024A60] = nullsub_74;
+}
+
+void sub_812071C(u8 taskId)
+{
+ u8 r9;
+
+ if (gTasks[taskId].data[1] < 24)
+ {
+ gTasks[taskId].data[1]++;
+ return;
+ }
+
+ r9 = gUnknown_02024A60;
+ gUnknown_02024A60 = gTasks[taskId].data[0];
+ if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI))
+ {
+ gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60];
+ sub_811F864(gUnknown_02024A60, 0);
+ }
+ else
+ {
+ gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60];
+ sub_811F864(gUnknown_02024A60, 0);
+ gUnknown_02024A60 ^= 2;
+ gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60];
+ sub_80318FC(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60);
+ sub_811F864(gUnknown_02024A60, 0);
+ gUnknown_02024A60 ^= 2;
+ }
+ gUnknown_03004330[gUnknown_02024A60] = sub_811DCA0;
+ gUnknown_02024A60 = r9;
+ DestroyTask(taskId);
+}
+
+void dp01t_30_3_80EB11C(void)
+{
+ if (gUnknown_02023A60[gUnknown_02024A60][1] != 0 && battle_side_get_owner(gUnknown_02024A60) == 0)
+ {
+ dp01_tbl3_exec_completed();
+ return;
+ }
+
+ ewram17810[gUnknown_02024A60].unk0_0 = 1;
+ gUnknown_02024E68[gUnknown_02024A60] = sub_8044804(
+ gUnknown_02024A60,
+ (struct BattleInterfaceStruct2 *)&gUnknown_02023A60[gUnknown_02024A60][4],
+ gUnknown_02023A60[gUnknown_02024A60][1],
+ gUnknown_02023A60[gUnknown_02024A60][2]);
+ ewram17810[gUnknown_02024A60].unk5 = 0;
+ if (gUnknown_02023A60[gUnknown_02024A60][2] != 0)
+ ewram17810[gUnknown_02024A60].unk5 = 0x5D;
+ gUnknown_03004330[gUnknown_02024A60] = sub_81208E0;
+}
+
+void sub_81208E0(void)
+{
+ if (ewram17810[gUnknown_02024A60].unk5++ >= 93)
+ {
+ ewram17810[gUnknown_02024A60].unk5 = 0;
+ dp01_tbl3_exec_completed();
+ }
+}
+
+void sub_8120920(void)
+{
+ if (ewram17810[gUnknown_02024A60].unk0_0)
+ gTasks[gUnknown_02024E68[gUnknown_02024A60]].func = sub_8044CA0;
+ dp01_tbl3_exec_completed();
+}
+
+void sub_812096C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120978(void)
+{
+ if (sub_8078874(gUnknown_02024A60) != 0)
+ {
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].invisible = gUnknown_02023A60[gUnknown_02024A60][1];
+ sub_8031F88(gUnknown_02024A60);
+ }
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81209D8(void)
+{
+ if (mplay_80342A4(gUnknown_02024A60) == 0)
+ {
+ u8 r3 = gUnknown_02023A60[gUnknown_02024A60][1];
+ u16 r4 = gUnknown_02023A60[gUnknown_02024A60][2] | (gUnknown_02023A60[gUnknown_02024A60][3] << 8);
+ u8 var = gUnknown_02024A60;
+
+ if (move_anim_start_t3(var, var, var, r3, r4) != 0)
+ dp01_tbl3_exec_completed();
+ else
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E3B8;
+ }
+}
+
+void sub_8120A40(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120A4C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120A58(void)
+{
+ gUnknown_02024D26 = gUnknown_02023A60[gUnknown_02024A60][1];
+ FadeOutMapMusic(5);
+ BeginFastPaletteFade(3);
+ dp01_tbl3_exec_completed();
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E29C;
+}
+
+void nullsub_75(void)
+{
+}
diff --git a/src/battle_ai.c b/src/battle_ai.c
index f10c6a013..dbd926000 100644
--- a/src/battle_ai.c
+++ b/src/battle_ai.c
@@ -269,7 +269,7 @@ void BattleAI_HandleItemUseBeforeAISetup(void)
s32 i;
u8 *data = (u8 *)UNK_2016A00_STRUCT;
- for (i = 0; (u32)i < sizeof(struct UnknownStruct1); i++)
+ for (i = 0; (u32)i < sizeof(struct UnkBattleStruct1); i++)
data[i] = 0;
if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER)
diff --git a/src/decoration.c b/src/decoration.c
index 729f14280..7595477a3 100755
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "asm.h"
+#include "map_object_constants.h"
#include "rom4.h"
#include "sound.h"
#include "songs.h"
@@ -17,7 +18,1532 @@
#include "field_weather.h"
#include "decoration.h"
-extern Script gUnknown_0815F399;
+#define DECORATION(_id, _name, _decor_field_11, _shape, _decor_field_13, _price, _description, _tiles) {\
+.id = _id,\
+.name = _name,\
+.decor_field_11 = _decor_field_11,\
+.shape = _shape,\
+.decor_field_13 = _decor_field_13,\
+.price = _price,\
+.description = _description,\
+.tiles = _tiles\
+}
+
+#define MENUACTION2(_text, _func) {.text = _text, .func = _func}
+#define MENUACTION3(_func1, _func2) {.func1 = _func1, .func2 = _func2}
+#define STRUCT_803EC860(_data1, _data2, _data3, _size) {.var0 = _data1, .var4 = _data2, .var8 = _data3, .size = _size}
+#define DECOSPRITETEMPLATE(_shape, _size, _x, _y) {.shape = _shape, .size = _size, .x = _x, .y = _y}
+
+const u8 DecorDesc_SMALL_DESK[] = _(
+ "A small desk built\n"
+ "for one.");
+
+const u8 DecorDesc_POKEMON_DESK[] = _(
+ "A small desk built in\n"
+ "the shape of a POKé\n"
+ "BALL.");
+
+const u8 DecorDesc_HEAVY_DESK[] = _(
+ "A large desk made\n"
+ "of steel. Put some\n"
+ "decorations on it.");
+
+const u8 DecorDesc_RAGGED_DESK[] = _(
+ "A large desk made\n"
+ "of wood. Put some\n"
+ "decorations on it.");
+
+const u8 DecorDesc_COMFORT_DESK[] = _(
+ "A large desk made\n"
+ "of leaves. Put some\n"
+ "decorations on it.");
+
+const u8 DecorDesc_PRETTY_DESK[] = _(
+ "A huge desk made\n"
+ "of glass. Holds lots\n"
+ "of decorations.");
+
+const u8 DecorDesc_BRICK_DESK[] = _(
+ "A huge desk made\n"
+ "of brick. Holds lots\n"
+ "of decorations.");
+
+const u8 DecorDesc_CAMP_DESK[] = _(
+ "A huge desk made\n"
+ "of logs. Put lots of\n"
+ "decorations on it.");
+
+const u8 DecorDesc_HARD_DESK[] = _(
+ "A huge desk made\n"
+ "of rocks. Holds\n"
+ "many decorations.");
+
+const u8 DecorDesc_SMALL_CHAIR[] = _(
+ "A small chair made\n"
+ "for one.");
+
+const u8 DecorDesc_POKEMON_CHAIR[] = _(
+ "A small chair built\n"
+ "in the shape of a\n"
+ "POKé BALL.");
+
+const u8 DecorDesc_HEAVY_CHAIR[] = _(
+ "A small chair made\n"
+ "of steel.");
+
+const u8 DecorDesc_PRETTY_CHAIR[] = _(
+ "A small chair made\n"
+ "of glass.");
+
+const u8 DecorDesc_COMFORT_CHAIR[] = _(
+ "A small chair made\n"
+ "of leaves.");
+
+const u8 DecorDesc_RAGGED_CHAIR[] = _(
+ "A small chair made\n"
+ "of wood.");
+
+const u8 DecorDesc_BRICK_CHAIR[] = _(
+ "A small chair made\n"
+ "of brick.");
+
+const u8 DecorDesc_CAMP_CHAIR[] = _(
+ "A small chair made\n"
+ "of logs.");
+
+const u8 DecorDesc_HARD_CHAIR[] = _(
+ "A small chair made\n"
+ "of rock.");
+
+const u8 DecorDesc_RED_PLANT[] = _(
+ "A vivid red potted\n"
+ "plant.");
+
+const u8 DecorDesc_TROPICAL_PLANT[] = _(
+ "A flowering tropical\n"
+ "plant in a pot.");
+
+const u8 DecorDesc_PRETTY_FLOWERS[] = _(
+ "A pot of cute\n"
+ "flowers.");
+
+const u8 DecorDesc_COLORFUL_PLANT[] = _(
+ "A large pot with\n"
+ "many colorful\n"
+ "flowers.");
+
+const u8 DecorDesc_BIG_PLANT[] = _(
+ "A large, umbrella-\n"
+ "shaped plant in a\n"
+ "big pot.");
+
+const u8 DecorDesc_GORGEOUS_PLANT[] = _(
+ "A large, impressive\n"
+ "plant in a big pot.");
+
+const u8 DecorDesc_RED_BRICK[] = _(
+ "A red-colored brick.\n"
+ "Decorations can be\n"
+ "placed on top.");
+
+const u8 DecorDesc_YELLOW_BRICK[] = _(
+ "A yellow-colored\n"
+ "brick. Put some\n"
+ "decorations on top.");
+
+const u8 DecorDesc_BLUE_BRICK[] = _(
+ "A blue-colored\n"
+ "brick. Put some\n"
+ "decorations on top.");
+
+const u8 DecorDesc_RED_BALLOON[] = _(
+ "A red balloon filled\n"
+ "with water. Bursts\n"
+ "if stepped on.");
+
+const u8 DecorDesc_BLUE_BALLOON[] = _(
+ "A blue balloon filled\n"
+ "with water. Bursts\n"
+ "if stepped on.");
+
+const u8 DecorDesc_YELLOW_BALLOON[] = _(
+ "A yellow balloon\n"
+ "filled with water.\n"
+ "Pops if stepped on.");
+
+const u8 DecorDesc_RED_TENT[] = _(
+ "A large red tent.\n"
+ "You can hide inside\n"
+ "it.");
+
+const u8 DecorDesc_BLUE_TENT[] = _(
+ "A large blue tent.\n"
+ "You can hide inside\n"
+ "it.");
+
+const u8 DecorDesc_SOLID_BOARD[] = _(
+ "Place over a hole to\n"
+ "cross to the other\n"
+ "side.");
+
+const u8 DecorDesc_SLIDE[] = _(
+ "Use to slide down\n"
+ "from the platform.");
+
+const u8 DecorDesc_FENCE_LENGTH[] = _(
+ "A small fence that\n"
+ "blocks passage.");
+
+const u8 DecorDesc_FENCE_WIDTH[] = _(
+ "A small fence that\n"
+ "blocks passage.");
+
+const u8 DecorDesc_TIRE[] = _(
+ "An old large tire.\n"
+ "Decorations can be\n"
+ "placed on top.");
+
+const u8 DecorDesc_STAND[] = _(
+ "A large pedestal\n"
+ "with steps.");
+
+const u8 DecorDesc_MUD_BALL[] = _(
+ "A large ball of mud.\n"
+ "Crumbles if stepped\n"
+ "on.");
+
+const u8 DecorDesc_BREAKABLE_DOOR[] = _(
+ "A weird door that\n"
+ "people can walk\n"
+ "right through.");
+
+const u8 DecorDesc_SAND_ORNAMENT[] = _(
+ "An ornament made\n"
+ "of sand. Crumbles if\n"
+ "touched.");
+
+const u8 DecorDesc_SILVER_SHIELD[] = _(
+ "Awarded for 50\n"
+ "straight wins at\n"
+ "the BATTLE TOWER.");
+
+const u8 DecorDesc_GOLD_SHIELD[] = _(
+ "Awarded for 100\n"
+ "straight wins at\n"
+ "the BATTLE TOWER.");
+
+const u8 DecorDesc_GLASS_ORNAMENT[] = _(
+ "A glass replica of\n"
+ "a famous sculpture\n"
+ "at the ART MUSEUM.");
+
+const u8 DecorDesc_TV[] = _(
+ "A small, gray-\n"
+ "colored toy TV.");
+
+const u8 DecorDesc_ROUND_TV[] = _(
+ "A toy TV modeled\n"
+ "in the image of a\n"
+ "SEEDOT.");
+
+const u8 DecorDesc_CUTE_TV[] = _(
+ "A toy TV modeled\n"
+ "in the image of a\n"
+ "SKITTY.");
+
+const u8 DecorDesc_GLITTER_MAT[] = _(
+ "An odd mat that\n"
+ "glitters if stepped\n"
+ "on.");
+
+const u8 DecorDesc_JUMP_MAT[] = _(
+ "A trick mat that\n"
+ "jumps when it is\n"
+ "stepped on.");
+
+const u8 DecorDesc_SPIN_MAT[] = _(
+ "A trick mat that\n"
+ "spins around when\n"
+ "stepped on.");
+
+const u8 DecorDesc_C_LOW_NOTE_MAT[] = _(
+ "A mat that plays\n"
+ "a low C note when\n"
+ "stepped on.");
+
+const u8 DecorDesc_D_NOTE_MAT[] = _(
+ "A mat that plays\n"
+ "a D note when\n"
+ "stepped on.");
+
+const u8 DecorDesc_E_NOTE_MAT[] = _(
+ "A mat that plays\n"
+ "an E note when\n"
+ "stepped on.");
+
+const u8 DecorDesc_F_NOTE_MAT[] = _(
+ "A mat that plays\n"
+ "an F note when\n"
+ "stepped on.");
+
+const u8 DecorDesc_G_NOTE_MAT[] = _(
+ "A mat that plays\n"
+ "a G note when\n"
+ "stepped on.");
+
+const u8 DecorDesc_A_NOTE_MAT[] = _(
+ "A mat that plays\n"
+ "an A note when\n"
+ "stepped on.");
+
+const u8 DecorDesc_B_NOTE_MAT[] = _(
+ "A mat that plays\n"
+ "a B note when\n"
+ "stepped on.");
+
+const u8 DecorDesc_C_HIGH_NOTE_MAT[] = _(
+ "A mat that plays\n"
+ "a high C note when\n"
+ "stepped on.");
+
+const u8 DecorDesc_SURF_MAT[] = _(
+ "A mat designed with\n"
+ "a SURF image.\n"
+ "Put items on top.");
+
+const u8 DecorDesc_THUNDER_MAT[] = _(
+ "A mat designed with\n"
+ "a THUNDER image.\n"
+ "Put items on top.");
+
+const u8 DecorDesc_FIRE_BLAST_MAT[] = _(
+ "A mat designed with\n"
+ "a FIRE BLAST image.\n"
+ "Put items on top.");
+
+const u8 DecorDesc_POWDER_SNOW_MAT[] = _(
+ "A mat with a POWDER\n"
+ "SNOW image design.\n"
+ "Put items on top.");
+
+const u8 DecorDesc_ATTRACT_MAT[] = _(
+ "A mat designed with\n"
+ "an ATTRACT image.\n"
+ "Put items on top.");
+
+const u8 DecorDesc_FISSURE_MAT[] = _(
+ "A mat designed with\n"
+ "a FISSURE image.\n"
+ "Put items on top.");
+
+const u8 DecorDesc_SPIKES_MAT[] = _(
+ "A mat designed with\n"
+ "a SPIKES image.\n"
+ "Put items on top.");
+
+const u8 DecorDesc_BALL_POSTER[] = _(
+ "A small poster\n"
+ "printed with POKé\n"
+ "BALLS.");
+
+const u8 DecorDesc_GREEN_POSTER[] = _(
+ "A small poster with\n"
+ "a TREECKO print.");
+
+const u8 DecorDesc_RED_POSTER[] = _(
+ "A small poster with\n"
+ "a TORCHIC print.");
+
+const u8 DecorDesc_BLUE_POSTER[] = _(
+ "A small poster with\n"
+ "a MUDKIP print.");
+
+const u8 DecorDesc_CUTE_POSTER[] = _(
+ "A small poster with\n"
+ "an AZURILL print.");
+
+const u8 DecorDesc_PIKA_POSTER[] = _(
+ "A large poster with\n"
+ "a PIKACHU and\n"
+ "PICHU print.");
+
+const u8 DecorDesc_LONG_POSTER[] = _(
+ "A large poster with\n"
+ "a SEVIPER print.");
+
+const u8 DecorDesc_SEA_POSTER[] = _(
+ "A large poster with\n"
+ "a RELICANTH print.");
+
+const u8 DecorDesc_SKY_POSTER[] = _(
+ "A large poster with\n"
+ "a WINGULL print.");
+
+const u8 DecorDesc_KISS_POSTER[] = _(
+ "A large poster with\n"
+ "a SMOOCHUM print.");
+
+const u8 DecorDesc_PICHU_DOLL[] = _(
+ "A PICHU doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_PIKACHU_DOLL[] = _(
+ "A PIKACHU doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_MARILL_DOLL[] = _(
+ "A MARILL doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_TOGEPI_DOLL[] = _(
+#if REVISION >= 1
+ "A TOGEPI doll.\n"
+#else
+ "A TOPGEPI doll.\n"
+#endif
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_CYNDAQUIL_DOLL[] = _(
+ "A CYNDAQUIL doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_CHIKORITA_DOLL[] = _(
+ "A CHIKORITA doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_TOTODILE_DOLL[] = _(
+ "A TOTODILE doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_JIGGLYPUFF_DOLL[] = _(
+ "A JIGGLYPUFF doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_MEOWTH_DOLL[] = _(
+ "A MEOWTH doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_CLEFAIRY_DOLL[] = _(
+ "A CLEFAIRY doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_DITTO_DOLL[] = _(
+ "A DITTO doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_SMOOCHUM_DOLL[] = _(
+ "A SMOOCHUM doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_TREECKO_DOLL[] = _(
+ "A TREECKO doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_TORCHIC_DOLL[] = _(
+ "A TORCHIC doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_MUDKIP_DOLL[] = _(
+ "A MUDKIP doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_DUSKULL_DOLL[] = _(
+ "A DUSKULL doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_WYNAUT_DOLL[] = _(
+ "A WYNAUT doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_BALTOY_DOLL[] = _(
+ "A BALTOY doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_KECLEON_DOLL[] = _(
+ "A KECLEON doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_AZURILL_DOLL[] = _(
+ "An AZURILL doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_SKITTY_DOLL[] = _(
+ "A SKITTY doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_SWABLU_DOLL[] = _(
+ "A SWABLU doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_GULPIN_DOLL[] = _(
+ "A GULPIN doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_LOTAD_DOLL[] = _(
+ "A LOTAD doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_SEEDOT_DOLL[] = _(
+ "A SEEDOT doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_PIKA_CUSHION[] = _(
+ "A PIKACHU cushion.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_ROUND_CUSHION[] = _(
+ "A MARILL cushion.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_KISS_CUSHION[] = _(
+ "A SMOOCHUM\n"
+ "cushion. Place it on\n"
+ "a mat or a desk.");
+
+const u8 DecorDesc_ZIGZAG_CUSHION[] = _(
+ "A ZIGZAGOON\n"
+ "cushion. Place it on\n"
+ "a mat or a desk.");
+
+const u8 DecorDesc_SPIN_CUSHION[] = _(
+ "A SPINDA cushion.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_DIAMOND_CUSHION[] = _(
+ "A SABLEYE cushion.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_BALL_CUSHION[] = _(
+ "A BALL cushion.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_GRASS_CUSHION[] = _(
+ "A grass-mark\n"
+ "cushion. Place it on\n"
+ "a mat or a desk.");
+
+const u8 DecorDesc_FIRE_CUSHION[] = _(
+ "A fire-mark\n"
+ "cushion. Place it on\n"
+ "a mat or a desk.");
+
+const u8 DecorDesc_WATER_CUSHION[] = _(
+ "A water-mark\n"
+ "cushion. Place it on\n"
+ "a mat or a desk.");
+
+const u8 DecorDesc_SNORLAX_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_RHYDON_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_LAPRAS_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_VENUSAUR_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_CHARIZARD_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_BLASTOISE_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_WAILMER_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_REGIROCK_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_REGICE_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u8 DecorDesc_REGISTEEL_DOLL[] = _(
+ "A large doll.\n"
+ "Place it on a mat\n"
+ "or a desk.");
+
+const u16 DecorGfx_SMALL_DESK[] = {
+ 0x87
+};
+
+const u16 DecorGfx_POKEMON_DESK[] = {
+ 0x8F
+};
+
+const u16 DecorGfx_HEAVY_DESK[] = {
+ 0x90,
+ 0x91,
+ 0x92,
+ 0x98,
+ 0x99,
+ 0x9A
+};
+
+const u16 DecorGfx_RAGGED_DESK[] = {
+ 0x93,
+ 0x94,
+ 0x95,
+ 0x9B,
+ 0x9C,
+ 0x9D
+};
+
+const u16 DecorGfx_COMFORT_DESK[] = {
+ 0x96,
+ 0x97,
+ 0xA3,
+ 0x9E,
+ 0x9F,
+ 0xAB
+};
+
+const u16 DecorGfx_PRETTY_DESK[] = {
+ 0xBD,
+ 0xBE,
+ 0xBF,
+ 0xC5,
+ 0xC6,
+ 0xC7,
+ 0xCD,
+ 0xCE,
+ 0xCF
+};
+
+const u16 DecorGfx_BRICK_DESK[] = {
+ 0xA0,
+ 0xA1,
+ 0xA2,
+ 0xA8,
+ 0xA9,
+ 0xAA,
+ 0xB0,
+ 0xB1,
+ 0xB2
+};
+
+const u16 DecorGfx_CAMP_DESK[] = {
+ 0xA4,
+ 0xA5,
+ 0xA6,
+ 0xAC,
+ 0xAD,
+ 0xAE,
+ 0xB4,
+ 0xB5,
+ 0xB6
+};
+
+const u16 DecorGfx_HARD_DESK[] = {
+ 0xA7,
+ 0xBB,
+ 0xBC,
+ 0xAF,
+ 0xC3,
+ 0xC4,
+ 0xB7,
+ 0xCB,
+ 0xCC
+};
+
+const u16 DecorGfx_SMALL_CHAIR[] = {
+ 0xB8
+};
+
+const u16 DecorGfx_POKEMON_CHAIR[] = {
+ 0xB9
+};
+
+const u16 DecorGfx_HEAVY_CHAIR[] = {
+ 0xBA
+};
+
+const u16 DecorGfx_PRETTY_CHAIR[] = {
+ 0xC0
+};
+
+const u16 DecorGfx_COMFORT_CHAIR[] = {
+ 0xC1
+};
+
+const u16 DecorGfx_RAGGED_CHAIR[] = {
+ 0xC2
+};
+
+const u16 DecorGfx_BRICK_CHAIR[] = {
+ 0xC8
+};
+
+const u16 DecorGfx_CAMP_CHAIR[] = {
+ 0xC9
+};
+
+const u16 DecorGfx_HARD_CHAIR[] = {
+ 0xCA
+};
+
+const u16 DecorGfx_RED_PLANT[] = {
+ 0xD0,
+ 0xD8
+};
+
+const u16 DecorGfx_TROPICAL_PLANT[] = {
+ 0xD2,
+ 0xDA
+};
+
+const u16 DecorGfx_PRETTY_FLOWERS[] = {
+ 0xD4,
+ 0xDC
+};
+
+const u16 DecorGfx_COLORFUL_PLANT[] = {
+ 0xE0,
+ 0xE2,
+ 0xE8,
+ 0xE9
+};
+
+const u16 DecorGfx_BIG_PLANT[] = {
+ 0xE4,
+ 0xE6,
+ 0xEC,
+ 0xED
+};
+
+const u16 DecorGfx_GORGEOUS_PLANT[] = {
+ 0xF0,
+ 0xF2,
+ 0xF8,
+ 0xF9
+};
+
+const u16 DecorGfx_RED_BRICK[] = {
+ 0x25,
+ 0x2D
+};
+
+const u16 DecorGfx_YELLOW_BRICK[] = {
+ 0x26,
+ 0x2E
+};
+
+const u16 DecorGfx_BLUE_BRICK[] = {
+ 0x27,
+ 0x2F
+};
+
+const u16 DecorGfx_RED_BALLOON[] = {
+ 0x138
+};
+
+const u16 DecorGfx_BLUE_BALLOON[] = {
+ 0x13C
+};
+
+const u16 DecorGfx_YELLOW_BALLOON[] = {
+ 0x140
+};
+
+const u16 DecorGfx_RED_TENT[] = {
+ 0x30,
+ 0x31,
+ 0x32,
+ 0x38,
+ 0x39,
+ 0x3A,
+ 0x40,
+ 0x41,
+ 0x3B
+};
+
+const u16 DecorGfx_BLUE_TENT[] = {
+ 0x48,
+ 0x49,
+ 0x68,
+ 0x50,
+ 0x51,
+ 0x70,
+ 0x58,
+ 0x59,
+ 0x69
+};
+
+const u16 DecorGfx_SOLID_BOARD[] = {
+ 0x34,
+ 0x3C
+};
+
+const u16 DecorGfx_SLIDE[] = {
+ 0x35,
+ 0x36,
+ 0x3D,
+ 0x3E,
+ 0x63,
+ 0x64,
+ 0x6F,
+ 0x77
+};
+
+const u16 DecorGfx_FENCE_LENGTH[] = {
+ 0x33
+};
+
+const u16 DecorGfx_FENCE_WIDTH[] = {
+ 0x2C
+};
+
+const u16 DecorGfx_TIRE[] = {
+ 0x80,
+ 0x81,
+ 0x88,
+ 0x89
+};
+
+const u16 DecorGfx_STAND[] = {
+ 0x6A,
+ 0x6B,
+ 0x6C,
+ 0x6D,
+ 0x72,
+ 0x73,
+ 0x74,
+ 0x75
+};
+
+const u16 DecorGfx_MUD_BALL[] = {
+ 0x28
+};
+
+const u16 DecorGfx_BREAKABLE_DOOR[] = {
+ 0x37,
+ 0x3F
+};
+
+const u16 DecorGfx_SAND_ORNAMENT[] = {
+ 0x85,
+ 0x8D
+};
+
+const u16 DecorGfx_SILVER_SHIELD[] = {
+ 0xD6,
+ 0xDE
+};
+
+const u16 DecorGfx_GOLD_SHIELD[] = {
+ 0x12E,
+ 0x136
+};
+
+const u16 DecorGfx_GLASS_ORNAMENT[] = {
+ 0x82,
+ 0x8A
+};
+
+const u16 DecorGfx_TV[] = {
+ 0xF4
+};
+
+const u16 DecorGfx_ROUND_TV[] = {
+ 0xF5
+};
+
+const u16 DecorGfx_CUTE_TV[] = {
+ 0xF6
+};
+
+const u16 DecorGfx_GLITTER_MAT[] = {
+ 0x60
+};
+
+const u16 DecorGfx_JUMP_MAT[] = {
+ 0x61
+};
+
+const u16 DecorGfx_SPIN_MAT[] = {
+ 0x62
+};
+
+const u16 DecorGfx_C_LOW_NOTE_MAT[] = {
+ 0x78
+};
+
+const u16 DecorGfx_D_NOTE_MAT[] = {
+ 0x79
+};
+
+const u16 DecorGfx_E_NOTE_MAT[] = {
+ 0x7A
+};
+
+const u16 DecorGfx_F_NOTE_MAT[] = {
+ 0x7B
+};
+
+const u16 DecorGfx_G_NOTE_MAT[] = {
+ 0x7C
+};
+
+const u16 DecorGfx_A_NOTE_MAT[] = {
+ 0x7D
+};
+
+const u16 DecorGfx_B_NOTE_MAT[] = {
+ 0x7E
+};
+
+const u16 DecorGfx_C_HIGH_NOTE_MAT[] = {
+ 0xB3
+};
+
+const u16 DecorGfx_SURF_MAT[] = {
+ 0x42,
+ 0x43,
+ 0x44,
+ 0x4A,
+ 0x4B,
+ 0x4C,
+ 0x52,
+ 0x53,
+ 0x54
+};
+
+const u16 DecorGfx_THUNDER_MAT[] = {
+ 0x45,
+ 0x46,
+ 0x47,
+ 0x4D,
+ 0x4E,
+ 0x4F,
+ 0x55,
+ 0x56,
+ 0x57
+};
+
+const u16 DecorGfx_FIRE_BLAST_MAT[] = {
+ 0x5A,
+ 0x5B,
+ 0x5C,
+ 0x5D,
+ 0x5E,
+ 0x5F,
+ 0x65,
+ 0x66,
+ 0x67
+};
+
+const u16 DecorGfx_POWDER_SNOW_MAT[] = {
+ 0x100,
+ 0x101,
+ 0x102,
+ 0x108,
+ 0x109,
+ 0x10A,
+ 0x110,
+ 0x111,
+ 0x112
+};
+
+const u16 DecorGfx_ATTRACT_MAT[] = {
+ 0x103,
+ 0x104,
+ 0x105,
+ 0x10B,
+ 0x10C,
+ 0x10D,
+ 0x113,
+ 0x114,
+ 0x115
+};
+
+const u16 DecorGfx_FISSURE_MAT[] = {
+ 0x106,
+ 0x107,
+ 0x118,
+ 0x10E,
+ 0x10F,
+ 0x120,
+ 0x116,
+ 0x117,
+ 0x128
+};
+
+const u16 DecorGfx_SPIKES_MAT[] = {
+ 0x119,
+ 0x11A,
+ 0x11B,
+ 0x121,
+ 0x122,
+ 0x123,
+ 0x129,
+ 0x12A,
+ 0x12B
+};
+
+const u16 DecorGfx_BALL_POSTER[] = {
+ 0x130
+};
+
+const u16 DecorGfx_GREEN_POSTER[] = {
+ 0x131
+};
+
+const u16 DecorGfx_RED_POSTER[] = {
+ 0x132
+};
+
+const u16 DecorGfx_BLUE_POSTER[] = {
+ 0x133
+};
+
+const u16 DecorGfx_CUTE_POSTER[] = {
+ 0x134
+};
+
+const u16 DecorGfx_PIKA_POSTER[] = {
+ 0x11C,
+ 0x11D
+};
+
+const u16 DecorGfx_LONG_POSTER[] = {
+ 0x11E,
+ 0x11F
+};
+
+const u16 DecorGfx_SEA_POSTER[] = {
+ 0x124,
+ 0x125
+};
+
+const u16 DecorGfx_SKY_POSTER[] = {
+ 0x126,
+ 0x127
+};
+
+const u16 DecorGfx_KISS_POSTER[] = {
+ 0x12C,
+ 0x12D
+};
+
+const u16 DecorGfx_PICHU_DOLL[] = {
+ MAP_OBJ_GFX_PICHU_DOLL
+};
+
+const u16 DecorGfx_PIKACHU_DOLL[] = {
+ MAP_OBJ_GFX_PIKACHU_DOLL
+};
+
+const u16 DecorGfx_MARILL_DOLL[] = {
+ MAP_OBJ_GFX_MARILL_DOLL
+};
+
+const u16 DecorGfx_TOGEPI_DOLL[] = {
+ MAP_OBJ_GFX_TOGEPI_DOLL
+};
+
+const u16 DecorGfx_CYNDAQUIL_DOLL[] = {
+ MAP_OBJ_GFX_CYNDAQUIL_DOLL
+};
+
+const u16 DecorGfx_CHIKORITA_DOLL[] = {
+ MAP_OBJ_GFX_CHIKORITA_DOLL
+};
+
+const u16 DecorGfx_TOTODILE_DOLL[] = {
+ MAP_OBJ_GFX_TOTODILE_DOLL
+};
+
+const u16 DecorGfx_JIGGLYPUFF_DOLL[] = {
+ MAP_OBJ_GFX_JIGGLYPUFF_DOLL
+};
+
+const u16 DecorGfx_MEOWTH_DOLL[] = {
+ MAP_OBJ_GFX_MEOWTH_DOLL
+};
+
+const u16 DecorGfx_CLEFAIRY_DOLL[] = {
+ MAP_OBJ_GFX_CLEFAIRY_DOLL
+};
+
+const u16 DecorGfx_DITTO_DOLL[] = {
+ MAP_OBJ_GFX_DITTO_DOLL
+};
+
+const u16 DecorGfx_SMOOCHUM_DOLL[] = {
+ MAP_OBJ_GFX_SMOOCHUM_DOLL
+};
+
+const u16 DecorGfx_TREECKO_DOLL[] = {
+ MAP_OBJ_GFX_TREECKO_DOLL
+};
+
+const u16 DecorGfx_TORCHIC_DOLL[] = {
+ MAP_OBJ_GFX_TORCHIC_DOLL
+};
+
+const u16 DecorGfx_MUDKIP_DOLL[] = {
+ MAP_OBJ_GFX_MUDKIP_DOLL
+};
+
+const u16 DecorGfx_DUSKULL_DOLL[] = {
+ MAP_OBJ_GFX_DUSKULL_DOLL
+};
+
+const u16 DecorGfx_WYNAUT_DOLL[] = {
+ MAP_OBJ_GFX_WYNAUT_DOLL
+};
+
+const u16 DecorGfx_BALTOY_DOLL[] = {
+ MAP_OBJ_GFX_BALTOY_DOLL
+};
+
+const u16 DecorGfx_KECLEON_DOLL[] = {
+ MAP_OBJ_GFX_KECLEON_DOLL
+};
+
+const u16 DecorGfx_AZURILL_DOLL[] = {
+ MAP_OBJ_GFX_AZURILL_DOLL
+};
+
+const u16 DecorGfx_SKITTY_DOLL[] = {
+ MAP_OBJ_GFX_SKITTY_DOLL
+};
+
+const u16 DecorGfx_SWABLU_DOLL[] = {
+ MAP_OBJ_GFX_SWABLU_DOLL
+};
+
+const u16 DecorGfx_GULPIN_DOLL[] = {
+ MAP_OBJ_GFX_GULPIN_DOLL
+};
+
+const u16 DecorGfx_LOTAD_DOLL[] = {
+ MAP_OBJ_GFX_LOTAD_DOLL
+};
+
+const u16 DecorGfx_SEEDOT_DOLL[] = {
+ MAP_OBJ_GFX_SEEDOT_DOLL
+};
+
+const u16 DecorGfx_PIKA_CUSHION[] = {
+ MAP_OBJ_GFX_PIKA_CUSHION
+};
+
+const u16 DecorGfx_ROUND_CUSHION[] = {
+ MAP_OBJ_GFX_ROUND_CUSHION
+};
+
+const u16 DecorGfx_KISS_CUSHION[] = {
+ MAP_OBJ_GFX_KISS_CUSHION
+};
+
+const u16 DecorGfx_ZIGZAG_CUSHION[] = {
+ MAP_OBJ_GFX_ZIGZAG_CUSHION
+};
+
+const u16 DecorGfx_SPIN_CUSHION[] = {
+ MAP_OBJ_GFX_SPIN_CUSHION
+};
+
+const u16 DecorGfx_DIAMOND_CUSHION[] = {
+ MAP_OBJ_GFX_DIAMOND_CUSHION
+};
+
+const u16 DecorGfx_BALL_CUSHION[] = {
+ MAP_OBJ_GFX_BALL_CUSHION
+};
+
+const u16 DecorGfx_GRASS_CUSHION[] = {
+ MAP_OBJ_GFX_GRASS_CUSHION
+};
+
+const u16 DecorGfx_FIRE_CUSHION[] = {
+ MAP_OBJ_GFX_FIRE_CUSHION
+};
+
+const u16 DecorGfx_WATER_CUSHION[] = {
+ MAP_OBJ_GFX_WATER_CUSHION
+};
+
+const u16 DecorGfx_SNORLAX_DOLL[] = {
+ MAP_OBJ_GFX_BIG_SNORLAX_DOLL
+};
+
+const u16 DecorGfx_RHYDON_DOLL[] = {
+ MAP_OBJ_GFX_BIG_RHYDON_DOLL
+};
+
+const u16 DecorGfx_LAPRAS_DOLL[] = {
+ MAP_OBJ_GFX_BIG_LAPRAS_DOLL
+};
+
+const u16 DecorGfx_VENUSAUR_DOLL[] = {
+ MAP_OBJ_GFX_BIG_VENUSAUR_DOLL
+};
+
+const u16 DecorGfx_CHARIZARD_DOLL[] = {
+ MAP_OBJ_GFX_BIG_CHARIZARD_DOLL
+};
+
+const u16 DecorGfx_BLASTOISE_DOLL[] = {
+ MAP_OBJ_GFX_BIG_BLASTOISE_DOLL
+};
+
+const u16 DecorGfx_WAILMER_DOLL[] = {
+ MAP_OBJ_GFX_BIG_WAILMER_DOLL
+};
+
+const u16 DecorGfx_REGIROCK_DOLL[] = {
+ MAP_OBJ_GFX_BIG_REGIROCK_DOLL
+};
+
+const u16 DecorGfx_REGICE_DOLL[] = {
+ MAP_OBJ_GFX_BIG_REGICE_DOLL
+};
+
+const u16 DecorGfx_REGISTEEL_DOLL[] = {
+ MAP_OBJ_GFX_BIG_REGISTEEL_DOLL
+};
+
+const struct Decoration gDecorations[] = {
+ DECORATION(DECOR_NONE, _("SMALL DESK"), 0, 0, 0, 0, DecorDesc_SMALL_DESK, DecorGfx_SMALL_DESK),
+ DECORATION(DECOR_SMALL_DESK, _("SMALL DESK"), 0, 0, 0, 3000, DecorDesc_SMALL_DESK, DecorGfx_SMALL_DESK),
+ DECORATION(DECOR_POKEMON_DESK, _("POKéMON DESK"), 0, 0, 0, 3000, DecorDesc_POKEMON_DESK, DecorGfx_POKEMON_DESK),
+ DECORATION(DECOR_HEAVY_DESK, _("HEAVY DESK"), 0, 9, 0, 6000, DecorDesc_HEAVY_DESK, DecorGfx_HEAVY_DESK),
+ DECORATION(DECOR_RAGGED_DESK, _("RAGGED DESK"), 0, 9, 0, 6000, DecorDesc_RAGGED_DESK, DecorGfx_RAGGED_DESK),
+ DECORATION(DECOR_COMFORT_DESK, _("COMFORT DESK"), 0, 9, 0, 6000, DecorDesc_COMFORT_DESK, DecorGfx_COMFORT_DESK),
+ DECORATION(DECOR_PRETTY_DESK, _("PRETTY DESK"), 0, 8, 0, 9000, DecorDesc_PRETTY_DESK, DecorGfx_PRETTY_DESK),
+ DECORATION(DECOR_BRICK_DESK, _("BRICK DESK"), 0, 8, 0, 9000, DecorDesc_BRICK_DESK, DecorGfx_BRICK_DESK),
+ DECORATION(DECOR_CAMP_DESK, _("CAMP DESK"), 0, 8, 0, 9000, DecorDesc_CAMP_DESK, DecorGfx_CAMP_DESK),
+ DECORATION(DECOR_HARD_DESK, _("HARD DESK"), 0, 8, 0, 9000, DecorDesc_HARD_DESK, DecorGfx_HARD_DESK),
+ DECORATION(DECOR_SMALL_CHAIR, _("SMALL CHAIR"), 1, 0, 1, 2000, DecorDesc_SMALL_CHAIR, DecorGfx_SMALL_CHAIR),
+ DECORATION(DECOR_POKEMON_CHAIR, _("POKéMON CHAIR"), 1, 0, 1, 2000, DecorDesc_POKEMON_CHAIR, DecorGfx_POKEMON_CHAIR),
+ DECORATION(DECOR_HEAVY_CHAIR, _("HEAVY CHAIR"), 1, 0, 1, 2000, DecorDesc_HEAVY_CHAIR, DecorGfx_HEAVY_CHAIR),
+ DECORATION(DECOR_PRETTY_CHAIR, _("PRETTY CHAIR"), 1, 0, 1, 2000, DecorDesc_PRETTY_CHAIR, DecorGfx_PRETTY_CHAIR),
+ DECORATION(DECOR_COMFORT_CHAIR, _("COMFORT CHAIR"), 1, 0, 1, 2000, DecorDesc_COMFORT_CHAIR, DecorGfx_COMFORT_CHAIR),
+ DECORATION(DECOR_RAGGED_CHAIR, _("RAGGED CHAIR"), 1, 0, 1, 2000, DecorDesc_RAGGED_CHAIR, DecorGfx_RAGGED_CHAIR),
+ DECORATION(DECOR_BRICK_CHAIR, _("BRICK CHAIR"), 1, 0, 1, 2000, DecorDesc_BRICK_CHAIR, DecorGfx_BRICK_CHAIR),
+ DECORATION(DECOR_CAMP_CHAIR, _("CAMP CHAIR"), 1, 0, 1, 2000, DecorDesc_CAMP_CHAIR, DecorGfx_CAMP_CHAIR),
+ DECORATION(DECOR_HARD_CHAIR, _("HARD CHAIR"), 1, 0, 1, 2000, DecorDesc_HARD_CHAIR, DecorGfx_HARD_CHAIR),
+ DECORATION(DECOR_RED_PLANT, _("RED PLANT"), 2, 5, 2, 3000, DecorDesc_RED_PLANT, DecorGfx_RED_PLANT),
+ DECORATION(DECOR_TROPICAL_PLANT, _("TROPICAL PLANT"), 2, 5, 2, 3000, DecorDesc_TROPICAL_PLANT, DecorGfx_TROPICAL_PLANT),
+ DECORATION(DECOR_PRETTY_FLOWERS, _("PRETTY FLOWERS"), 2, 5, 2, 3000, DecorDesc_PRETTY_FLOWERS, DecorGfx_PRETTY_FLOWERS),
+ DECORATION(DECOR_COLORFUL_PLANT, _("COLORFUL PLANT"), 2, 4, 2, 5000, DecorDesc_COLORFUL_PLANT, DecorGfx_COLORFUL_PLANT),
+ DECORATION(DECOR_BIG_PLANT, _("BIG PLANT"), 2, 4, 2, 5000, DecorDesc_BIG_PLANT, DecorGfx_BIG_PLANT),
+ DECORATION(DECOR_GORGEOUS_PLANT, _("GORGEOUS PLANT"), 2, 4, 2, 5000, DecorDesc_GORGEOUS_PLANT, DecorGfx_GORGEOUS_PLANT),
+ DECORATION(DECOR_RED_BRICK, _("RED BRICK"), 0, 5, 3, 500, DecorDesc_RED_BRICK, DecorGfx_RED_BRICK),
+ DECORATION(DECOR_YELLOW_BRICK, _("YELLOW BRICK"), 0, 5, 3, 500, DecorDesc_YELLOW_BRICK, DecorGfx_YELLOW_BRICK),
+ DECORATION(DECOR_BLUE_BRICK, _("BLUE BRICK"), 0, 5, 3, 500, DecorDesc_BLUE_BRICK, DecorGfx_BLUE_BRICK),
+ DECORATION(DECOR_RED_BALLOON, _("RED BALLOON"), 1, 0, 3, 500, DecorDesc_RED_BALLOON, DecorGfx_RED_BALLOON),
+ DECORATION(DECOR_BLUE_BALLOON, _("BLUE BALLOON"), 1, 0, 3, 500, DecorDesc_BLUE_BALLOON, DecorGfx_BLUE_BALLOON),
+ DECORATION(DECOR_YELLOW_BALLOON, _("YELLOW BALLOON"), 1, 0, 3, 500, DecorDesc_YELLOW_BALLOON, DecorGfx_YELLOW_BALLOON),
+ DECORATION(DECOR_RED_TENT, _("RED TENT"), 1, 8, 3, 10000, DecorDesc_RED_TENT, DecorGfx_RED_TENT),
+ DECORATION(DECOR_BLUE_TENT, _("BLUE TENT"), 1, 8, 3, 10000, DecorDesc_BLUE_TENT, DecorGfx_BLUE_TENT),
+ DECORATION(DECOR_SOLID_BOARD, _("SOLID BOARD"), 1, 5, 3, 3000, DecorDesc_SOLID_BOARD, DecorGfx_SOLID_BOARD),
+ DECORATION(DECOR_SLIDE, _("SLIDE"), 1, 7, 3, 8000, DecorDesc_SLIDE, DecorGfx_SLIDE),
+ DECORATION(DECOR_FENCE_LENGTH, _("FENCE LENGTH"), 0, 0, 3, 500, DecorDesc_FENCE_LENGTH, DecorGfx_FENCE_LENGTH),
+ DECORATION(DECOR_FENCE_WIDTH, _("FENCE WIDTH"), 0, 0, 3, 500, DecorDesc_FENCE_WIDTH, DecorGfx_FENCE_WIDTH),
+ DECORATION(DECOR_TIRE, _("TIRE"), 0, 4, 3, 800, DecorDesc_TIRE, DecorGfx_TIRE),
+ DECORATION(DECOR_STAND, _("STAND"), 1, 3, 3, 7000, DecorDesc_STAND, DecorGfx_STAND),
+ DECORATION(DECOR_MUD_BALL, _("MUD BALL"), 1, 0, 3, 200, DecorDesc_MUD_BALL, DecorGfx_MUD_BALL),
+ DECORATION(DECOR_BREAKABLE_DOOR, _("BREAKABLE DOOR"), 1, 5, 3, 3000, DecorDesc_BREAKABLE_DOOR, DecorGfx_BREAKABLE_DOOR),
+ DECORATION(DECOR_SAND_ORNAMENT, _("SAND ORNAMENT"), 2, 5, 3, 3000, DecorDesc_SAND_ORNAMENT, DecorGfx_SAND_ORNAMENT),
+ DECORATION(DECOR_SILVER_SHIELD, _("SILVER SHIELD"), 2, 5, 3, 0, DecorDesc_SILVER_SHIELD, DecorGfx_SILVER_SHIELD),
+ DECORATION(DECOR_GOLD_SHIELD, _("GOLD SHIELD"), 2, 5, 3, 0, DecorDesc_GOLD_SHIELD, DecorGfx_GOLD_SHIELD),
+ DECORATION(DECOR_GLASS_ORNAMENT, _("GLASS ORNAMENT"), 2, 5, 3, 0, DecorDesc_GLASS_ORNAMENT, DecorGfx_GLASS_ORNAMENT),
+ DECORATION(DECOR_TV, _("TV"), 0, 0, 3, 3000, DecorDesc_TV, DecorGfx_TV),
+ DECORATION(DECOR_ROUND_TV, _("ROUND TV"), 0, 0, 3, 4000, DecorDesc_ROUND_TV, DecorGfx_ROUND_TV),
+ DECORATION(DECOR_CUTE_TV, _("CUTE TV"), 0, 0, 3, 4000, DecorDesc_CUTE_TV, DecorGfx_CUTE_TV),
+ DECORATION(DECOR_GLITTER_MAT, _("GLITTER MAT"), 1, 0, 4, 2000, DecorDesc_GLITTER_MAT, DecorGfx_GLITTER_MAT),
+ DECORATION(DECOR_JUMP_MAT, _("JUMP MAT"), 1, 0, 4, 2000, DecorDesc_JUMP_MAT, DecorGfx_JUMP_MAT),
+ DECORATION(DECOR_SPIN_MAT, _("SPIN MAT"), 1, 0, 4, 2000, DecorDesc_SPIN_MAT, DecorGfx_SPIN_MAT),
+ DECORATION(DECOR_C_LOW_NOTE_MAT, _("C Low NOTE MAT"), 1, 0, 4, 500, DecorDesc_C_LOW_NOTE_MAT, DecorGfx_C_LOW_NOTE_MAT),
+ DECORATION(DECOR_D_NOTE_MAT, _("D NOTE MAT"), 1, 0, 4, 500, DecorDesc_D_NOTE_MAT, DecorGfx_D_NOTE_MAT),
+ DECORATION(DECOR_E_NOTE_MAT, _("E NOTE MAT"), 1, 0, 4, 500, DecorDesc_E_NOTE_MAT, DecorGfx_E_NOTE_MAT),
+ DECORATION(DECOR_F_NOTE_MAT, _("F NOTE MAT"), 1, 0, 4, 500, DecorDesc_F_NOTE_MAT, DecorGfx_F_NOTE_MAT),
+ DECORATION(DECOR_G_NOTE_MAT, _("G NOTE MAT"), 1, 0, 4, 500, DecorDesc_G_NOTE_MAT, DecorGfx_G_NOTE_MAT),
+ DECORATION(DECOR_A_NOTE_MAT, _("A NOTE MAT"), 1, 0, 4, 500, DecorDesc_A_NOTE_MAT, DecorGfx_A_NOTE_MAT),
+ DECORATION(DECOR_B_NOTE_MAT, _("B NOTE MAT"), 1, 0, 4, 500, DecorDesc_B_NOTE_MAT, DecorGfx_B_NOTE_MAT),
+ DECORATION(DECOR_C_HIGH_NOTE_MAT, _("C High NOTE MAT"), 1, 0, 4, 500, DecorDesc_C_HIGH_NOTE_MAT, DecorGfx_C_HIGH_NOTE_MAT),
+ DECORATION(DECOR_SURF_MAT, _("SURF MAT"), 1, 8, 4, 4000, DecorDesc_SURF_MAT, DecorGfx_SURF_MAT),
+ DECORATION(DECOR_THUNDER_MAT, _("THUNDER MAT"), 1, 8, 4, 4000, DecorDesc_THUNDER_MAT, DecorGfx_THUNDER_MAT),
+ DECORATION(DECOR_FIRE_BLAST_MAT, _("FIRE BLAST MAT"), 1, 8, 4, 4000, DecorDesc_FIRE_BLAST_MAT, DecorGfx_FIRE_BLAST_MAT),
+ DECORATION(DECOR_POWDER_SNOW_MAT, _("POWDER SNOW MAT"), 1, 8, 4, 4000, DecorDesc_POWDER_SNOW_MAT, DecorGfx_POWDER_SNOW_MAT),
+ DECORATION(DECOR_ATTRACT_MAT, _("ATTRACT MAT"), 1, 8, 4, 4000, DecorDesc_ATTRACT_MAT, DecorGfx_ATTRACT_MAT),
+ DECORATION(DECOR_FISSURE_MAT, _("FISSURE MAT"), 1, 8, 4, 4000, DecorDesc_FISSURE_MAT, DecorGfx_FISSURE_MAT),
+ DECORATION(DECOR_SPIKES_MAT, _("SPIKES MAT"), 1, 8, 4, 4000, DecorDesc_SPIKES_MAT, DecorGfx_SPIKES_MAT),
+ DECORATION(DECOR_BALL_POSTER, _("BALL POSTER"), 3, 0, 5, 1000, DecorDesc_BALL_POSTER, DecorGfx_BALL_POSTER),
+ DECORATION(DECOR_GREEN_POSTER, _("GREEN POSTER"), 3, 0, 5, 1000, DecorDesc_GREEN_POSTER, DecorGfx_GREEN_POSTER),
+ DECORATION(DECOR_RED_POSTER, _("RED POSTER"), 3, 0, 5, 1000, DecorDesc_RED_POSTER, DecorGfx_RED_POSTER),
+ DECORATION(DECOR_BLUE_POSTER, _("BLUE POSTER"), 3, 0, 5, 1000, DecorDesc_BLUE_POSTER, DecorGfx_BLUE_POSTER),
+ DECORATION(DECOR_CUTE_POSTER, _("CUTE POSTER"), 3, 0, 5, 1000, DecorDesc_CUTE_POSTER, DecorGfx_CUTE_POSTER),
+ DECORATION(DECOR_PIKA_POSTER, _("PIKA POSTER"), 3, 1, 5, 1500, DecorDesc_PIKA_POSTER, DecorGfx_PIKA_POSTER),
+ DECORATION(DECOR_LONG_POSTER, _("LONG POSTER"), 3, 1, 5, 1500, DecorDesc_LONG_POSTER, DecorGfx_LONG_POSTER),
+ DECORATION(DECOR_SEA_POSTER, _("SEA POSTER"), 3, 1, 5, 1500, DecorDesc_SEA_POSTER, DecorGfx_SEA_POSTER),
+ DECORATION(DECOR_SKY_POSTER, _("SKY POSTER"), 3, 1, 5, 1500, DecorDesc_SKY_POSTER, DecorGfx_SKY_POSTER),
+ DECORATION(DECOR_KISS_POSTER, _("KISS POSTER"), 3, 1, 5, 1500, DecorDesc_KISS_POSTER, DecorGfx_KISS_POSTER),
+ DECORATION(DECOR_PICHU_DOLL, _("PICHU DOLL"), 4, 0, 6, 3000, DecorDesc_PICHU_DOLL, DecorGfx_PICHU_DOLL),
+ DECORATION(DECOR_PIKACHU_DOLL, _("PIKACHU DOLL"), 4, 0, 6, 3000, DecorDesc_PIKACHU_DOLL, DecorGfx_PIKACHU_DOLL),
+ DECORATION(DECOR_MARILL_DOLL, _("MARILL DOLL"), 4, 0, 6, 3000, DecorDesc_MARILL_DOLL, DecorGfx_MARILL_DOLL),
+ DECORATION(DECOR_TOGEPI_DOLL, _("TOGEPI DOLL"), 4, 0, 6, 3000, DecorDesc_TOGEPI_DOLL, DecorGfx_TOGEPI_DOLL),
+ DECORATION(DECOR_CYNDAQUIL_DOLL, _("CYNDAQUIL DOLL"), 4, 0, 6, 3000, DecorDesc_CYNDAQUIL_DOLL, DecorGfx_CYNDAQUIL_DOLL),
+ DECORATION(DECOR_CHIKORITA_DOLL, _("CHIKORITA DOLL"), 4, 0, 6, 3000, DecorDesc_CHIKORITA_DOLL, DecorGfx_CHIKORITA_DOLL),
+ DECORATION(DECOR_TOTODILE_DOLL, _("TOTODILE DOLL"), 4, 0, 6, 3000, DecorDesc_TOTODILE_DOLL, DecorGfx_TOTODILE_DOLL),
+ DECORATION(DECOR_JIGGLYPUFF_DOLL, _("JIGGLYPUFF DOLL"), 4, 0, 6, 3000, DecorDesc_JIGGLYPUFF_DOLL, DecorGfx_JIGGLYPUFF_DOLL),
+ DECORATION(DECOR_MEOWTH_DOLL, _("MEOWTH DOLL"), 4, 0, 6, 3000, DecorDesc_MEOWTH_DOLL, DecorGfx_MEOWTH_DOLL),
+ DECORATION(DECOR_CLEFAIRY_DOLL, _("CLEFAIRY DOLL"), 4, 0, 6, 3000, DecorDesc_CLEFAIRY_DOLL, DecorGfx_CLEFAIRY_DOLL),
+ DECORATION(DECOR_DITTO_DOLL, _("DITTO DOLL"), 4, 0, 6, 3000, DecorDesc_DITTO_DOLL, DecorGfx_DITTO_DOLL),
+ DECORATION(DECOR_SMOOCHUM_DOLL, _("SMOOCHUM DOLL"), 4, 0, 6, 3000, DecorDesc_SMOOCHUM_DOLL, DecorGfx_SMOOCHUM_DOLL),
+ DECORATION(DECOR_TREECKO_DOLL, _("TREECKO DOLL"), 4, 0, 6, 3000, DecorDesc_TREECKO_DOLL, DecorGfx_TREECKO_DOLL),
+ DECORATION(DECOR_TORCHIC_DOLL, _("TORCHIC DOLL"), 4, 0, 6, 3000, DecorDesc_TORCHIC_DOLL, DecorGfx_TORCHIC_DOLL),
+ DECORATION(DECOR_MUDKIP_DOLL, _("MUDKIP DOLL"), 4, 0, 6, 3000, DecorDesc_MUDKIP_DOLL, DecorGfx_MUDKIP_DOLL),
+ DECORATION(DECOR_DUSKULL_DOLL, _("DUSKULL DOLL"), 4, 0, 6, 3000, DecorDesc_DUSKULL_DOLL, DecorGfx_DUSKULL_DOLL),
+ DECORATION(DECOR_WYNAUT_DOLL, _("WYNAUT DOLL"), 4, 0, 6, 3000, DecorDesc_WYNAUT_DOLL, DecorGfx_WYNAUT_DOLL),
+ DECORATION(DECOR_BALTOY_DOLL, _("BALTOY DOLL"), 4, 0, 6, 3000, DecorDesc_BALTOY_DOLL, DecorGfx_BALTOY_DOLL),
+ DECORATION(DECOR_KECLEON_DOLL, _("KECLEON DOLL"), 4, 0, 6, 3000, DecorDesc_KECLEON_DOLL, DecorGfx_KECLEON_DOLL),
+ DECORATION(DECOR_AZURILL_DOLL, _("AZURILL DOLL"), 4, 0, 6, 3000, DecorDesc_AZURILL_DOLL, DecorGfx_AZURILL_DOLL),
+ DECORATION(DECOR_SKITTY_DOLL, _("SKITTY DOLL"), 4, 0, 6, 3000, DecorDesc_SKITTY_DOLL, DecorGfx_SKITTY_DOLL),
+ DECORATION(DECOR_SWABLU_DOLL, _("SWABLU DOLL"), 4, 0, 6, 3000, DecorDesc_SWABLU_DOLL, DecorGfx_SWABLU_DOLL),
+ DECORATION(DECOR_GULPIN_DOLL, _("GULPIN DOLL"), 4, 0, 6, 3000, DecorDesc_GULPIN_DOLL, DecorGfx_GULPIN_DOLL),
+ DECORATION(DECOR_LOTAD_DOLL, _("LOTAD DOLL"), 4, 0, 6, 3000, DecorDesc_LOTAD_DOLL, DecorGfx_LOTAD_DOLL),
+ DECORATION(DECOR_SEEDOT_DOLL, _("SEEDOT DOLL"), 4, 0, 6, 3000, DecorDesc_SEEDOT_DOLL, DecorGfx_SEEDOT_DOLL),
+ DECORATION(DECOR_PIKA_CUSHION, _("PIKA CUSHION"), 4, 0, 7, 2000, DecorDesc_PIKA_CUSHION, DecorGfx_PIKA_CUSHION),
+ DECORATION(DECOR_ROUND_CUSHION, _("ROUND CUSHION"), 4, 0, 7, 2000, DecorDesc_ROUND_CUSHION, DecorGfx_ROUND_CUSHION),
+ DECORATION(DECOR_KISS_CUSHION, _("KISS CUSHION"), 4, 0, 7, 2000, DecorDesc_KISS_CUSHION, DecorGfx_KISS_CUSHION),
+ DECORATION(DECOR_ZIGZAG_CUSHION, _("ZIGZAG CUSHION"), 4, 0, 7, 2000, DecorDesc_ZIGZAG_CUSHION, DecorGfx_ZIGZAG_CUSHION),
+ DECORATION(DECOR_SPIN_CUSHION, _("SPIN CUSHION"), 4, 0, 7, 2000, DecorDesc_SPIN_CUSHION, DecorGfx_SPIN_CUSHION),
+ DECORATION(DECOR_DIAMOND_CUSHION, _("DIAMOND CUSHION"), 4, 0, 7, 2000, DecorDesc_DIAMOND_CUSHION, DecorGfx_DIAMOND_CUSHION),
+ DECORATION(DECOR_BALL_CUSHION, _("BALL CUSHION"), 4, 0, 7, 2000, DecorDesc_BALL_CUSHION, DecorGfx_BALL_CUSHION),
+ DECORATION(DECOR_GRASS_CUSHION, _("GRASS CUSHION"), 4, 0, 7, 2000, DecorDesc_GRASS_CUSHION, DecorGfx_GRASS_CUSHION),
+ DECORATION(DECOR_FIRE_CUSHION, _("FIRE CUSHION"), 4, 0, 7, 2000, DecorDesc_FIRE_CUSHION, DecorGfx_FIRE_CUSHION),
+ DECORATION(DECOR_WATER_CUSHION, _("WATER CUSHION"), 4, 0, 7, 2000, DecorDesc_WATER_CUSHION, DecorGfx_WATER_CUSHION),
+ DECORATION(DECOR_SNORLAX_DOLL, _("SNORLAX DOLL"), 4, 5, 6, 10000, DecorDesc_SNORLAX_DOLL, DecorGfx_SNORLAX_DOLL),
+ DECORATION(DECOR_RHYDON_DOLL, _("RHYDON DOLL"), 4, 5, 6, 10000, DecorDesc_RHYDON_DOLL, DecorGfx_RHYDON_DOLL),
+ DECORATION(DECOR_LAPRAS_DOLL, _("LAPRAS DOLL"), 4, 5, 6, 10000, DecorDesc_LAPRAS_DOLL, DecorGfx_LAPRAS_DOLL),
+ DECORATION(DECOR_VENUSAUR_DOLL, _("VENUSAUR DOLL"), 4, 5, 6, 10000, DecorDesc_VENUSAUR_DOLL, DecorGfx_VENUSAUR_DOLL),
+ DECORATION(DECOR_CHARIZARD_DOLL, _("CHARIZARD DOLL"), 4, 5, 6, 10000, DecorDesc_CHARIZARD_DOLL, DecorGfx_CHARIZARD_DOLL),
+ DECORATION(DECOR_BLASTOISE_DOLL, _("BLASTOISE DOLL"), 4, 5, 6, 10000, DecorDesc_BLASTOISE_DOLL, DecorGfx_BLASTOISE_DOLL),
+ DECORATION(DECOR_WAILMER_DOLL, _("WAILMER DOLL"), 4, 5, 6, 10000, DecorDesc_WAILMER_DOLL, DecorGfx_WAILMER_DOLL),
+ DECORATION(DECOR_REGIROCK_DOLL, _("REGIROCK DOLL"), 4, 5, 6, 10000, DecorDesc_REGIROCK_DOLL, DecorGfx_REGIROCK_DOLL),
+ DECORATION(DECOR_REGICE_DOLL, _("REGICE DOLL"), 4, 5, 6, 10000, DecorDesc_REGICE_DOLL, DecorGfx_REGICE_DOLL),
+ DECORATION(DECOR_REGISTEEL_DOLL, _("REGISTEEL DOLL"), 4, 5, 6, 10000, DecorDesc_REGISTEEL_DOLL, DecorGfx_REGISTEEL_DOLL)
+};
+
+const u8 *const gUnknown_083EC5E4[] = {
+ SecretBaseText_Desk,
+ SecretBaseText_Chair,
+ SecretBaseText_Plant,
+ SecretBaseText_Ornament,
+ SecretBaseText_Mat,
+ SecretBaseText_Poster,
+ SecretBaseText_Doll,
+ SecretBaseText_Cushion
+};
+
+const struct MenuAction2 gUnknown_083EC604[] = {
+ MENUACTION2(SecretBaseText_Decorate, sub_80FF160),
+ MENUACTION2(SecretBaseText_PutAway, sub_8100A0C),
+ MENUACTION2(SecretBaseText_Toss, sub_8101700),
+ MENUACTION2(gUnknownText_Exit, gpu_pal_decompress_alloc_tag_and_upload)
+};
+
+const u8 *const gUnknown_083EC624[] = {
+ SecretBaseText_PutOutDecor,
+ SecretBaseText_StoreChosenDecor,
+ SecretBaseText_ThrowAwayDecor,
+ gMenuText_GoBackToPrev
+};
+
+const struct MenuAction3 gUnknown_083EC634[] = {
+ MENUACTION3(sub_80FF5BC, sub_80FF058),
+ MENUACTION3(sub_81017A0, sub_80FF058),
+ MENUACTION3(sub_81017A0, sub_80FF058),
+ MENUACTION3(sub_8109D04, sub_80FF058)
+};
+
+const u16 gUnknown_083EC654[] = {0x6318, 0x739C, 0x7FFF};
+const u8 gUnknown_083EC65A[] = _("{PALETTE 13}{STR_VAR_1}");
+
+const u8 Unknown_3EC660[] = {0, 1, 2, 3};
+const u8 Unknown_3EC664[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13};
+const u8 Unknown_3EC670[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
+const u8 Unknown_3EC680[] = {0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21};
+const u8 Unknown_3EC68C[] = {0, 1, 2, 3, 4, 5, 6, 7};
+const u8 Unknown_3EC694[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
+const u8 Unknown_3EC6B4[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45};
+const u8 Unknown_3EC6D8[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29};
+const u8 Unknown_3EC6F0[] = {0, 0, 0, 0};
+const u8 Unknown_3EC6F4[] = {0, 0, 1, 1, 0, 0, 1, 1};
+const u8 Unknown_3EC6FC[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2};
+const u8 Unknown_3EC708[] = {0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 4, 4, 5, 5, 6, 6, 7, 7};
+const u8 Unknown_3EC728[] = {0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 3, 3};
+const u8 Unknown_3EC738[] = {0, 0, 0, 0, 1, 1, 1, 1};
+const u8 Unknown_3EC740[] = {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2};
+const u8 Unknown_3EC74C[] = {0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 3, 3, 4, 4, 5, 5, 4, 4, 5, 5, 6, 6, 7, 7, 6, 6, 7, 7};
+const u8 Unknown_3EC76C[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 6, 6, 7, 7, 8, 8};
+const u8 Unknown_3EC790[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5};
+const u8 Unknown_3EC7A8[] = {4, 5, 6, 7};
+const u8 Unknown_3EC7AC[] = {4, 5, 4, 5, 6, 7, 6, 7};
+const u8 Unknown_3EC7B4[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7};
+const u8 Unknown_3EC7C0[] = {4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7};
+const u8 Unknown_3EC7E0[] = {4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7};
+const u8 Unknown_3EC7F0[] = {4, 5, 6, 7, 4, 5, 6, 7};
+const u8 Unknown_3EC7F8[] = {4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7};
+const u8 Unknown_3EC804[] = {4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7};
+const u8 Unknown_3EC824[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7};
+const u8 Unknown_3EC848[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7};
+
+const struct UnkStruct_803EC860 gUnknown_083EC860[] = {
+ STRUCT_803EC860(Unknown_3EC660, Unknown_3EC6F0, Unknown_3EC7A8, 0x4),
+ STRUCT_803EC860(Unknown_3EC68C, Unknown_3EC6F4, Unknown_3EC7AC, 0x8),
+ STRUCT_803EC860(Unknown_3EC664, Unknown_3EC6FC, Unknown_3EC7B4, 0xc),
+ STRUCT_803EC860(Unknown_3EC694, Unknown_3EC708, Unknown_3EC7C0, 0x20),
+ STRUCT_803EC860(Unknown_3EC670, Unknown_3EC728, Unknown_3EC7E0, 0x10),
+ STRUCT_803EC860(Unknown_3EC68C, Unknown_3EC738, Unknown_3EC7F0, 0x8),
+ STRUCT_803EC860(Unknown_3EC680, Unknown_3EC740, Unknown_3EC7F8, 0xc),
+ STRUCT_803EC860(Unknown_3EC694, Unknown_3EC74C, Unknown_3EC804, 0x20),
+ STRUCT_803EC860(Unknown_3EC6B4, Unknown_3EC76C, Unknown_3EC824, 0x24),
+ STRUCT_803EC860(Unknown_3EC6D8, Unknown_3EC790, Unknown_3EC848, 0x18)
+};
+
+const struct UnkStruct_083EC900 gUnknown_083EC900[] = {
+ DECOSPRITETEMPLATE(0, 1, 0x78, 0x4e),
+ DECOSPRITETEMPLATE(1, 2, 0x80, 0x4e),
+ DECOSPRITETEMPLATE(1, 3, 0x90, 0x56),
+ DECOSPRITETEMPLATE(1, 3, 0x90, 0x46),
+ DECOSPRITETEMPLATE(0, 2, 0x80, 0x46),
+ DECOSPRITETEMPLATE(2, 2, 0x78, 0x46),
+ DECOSPRITETEMPLATE(2, 3, 0x80, 0x56),
+ DECOSPRITETEMPLATE(2, 3, 0x80, 0x36),
+ DECOSPRITETEMPLATE(0, 3, 0x90, 0x46),
+ DECOSPRITETEMPLATE(1, 3, 0x90, 0x46)
+};
+
+const union AnimCmd gSpriteAnim_83EC928[] = {
+ ANIMCMD_FRAME(.imageValue = 0, .duration = 0),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_83EC930[] = {
+ gSpriteAnim_83EC928
+};
+
+const struct SpriteFrameImage gSpriteImageTable_83EC934[] = {
+ {.data = (u8 *)&gUnknown_02038900.image, .size = sizeof gUnknown_02038900.image}
+};
+
+const struct SpriteTemplate gSpriteTemplate_83EC93C = {
+ .tileTag = 0xffff,
+ .paletteTag = 3000,
+ .oam = &gUnknown_020391AC,
+ .anims = gSpriteAnimTable_83EC930,
+ .images = gSpriteImageTable_83EC934,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81009A8
+};
+
+const struct SpritePalette gUnknown_083EC954 = {.data = (u16 *)&gUnknown_02038900.palette, .tag = 3000};
+
+const struct YesNoFuncTable gUnknown_083EC95C = {.yesFunc = sub_81000C4, .noFunc = sub_810065C};
+const struct YesNoFuncTable gUnknown_083EC964 = {.yesFunc = sub_810026C, .noFunc = sub_810065C};
+const struct YesNoFuncTable gUnknown_083EC96C[] = {
+ {.yesFunc = sub_80FFAB0, .noFunc = sub_80FFB08},
+ {.yesFunc = sub_8100F88, .noFunc = sub_8100FB4}
+};
+
+const u8 gUnknown_083EC97C[] = {4, 4, 4, 4, 0, 3, 3, 0};
+const u8 gUnknown_083EC984[] = {4, 4, 4, 4, 0, 4, 3, 0};
+
+const u16 gUnknown_083EC98C[] = INCBIN_U16("graphics/unknown/83EC98C.gbapal");
+const u16 Unknown_3EC9AC[] = INCBIN_U16("graphics/unknown/83EC9AC.gbapal");
+const struct YesNoFuncTable gUnknown_083EC9CC = {.yesFunc = sub_810153C, .noFunc = sub_8100EEC};
+const struct YesNoFuncTable gUnknown_083EC9D4 = {.yesFunc = sub_8101590, .noFunc = sub_8100EEC};
+const u32 gSpriteImage_83EC9DC[] = INCBIN_U32("graphics/unknown_sprites/83EC9DC.4bpp");
+const struct SpritePalette gUnknown_083ECA5C = {.data = gUnknown_083EC98C, .tag = 8};
+const struct SpritePalette gUnknown_083ECA64 = {.data = Unknown_3EC9AC, .tag = 8};
+const struct OamData gOamData_83ECA6C = {
+ .size = 1, .priority = 1
+};
+
+const union AnimCmd gSpriteAnim_83ECA74[] = {
+ ANIMCMD_FRAME(.imageValue = 0, .duration = 0),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_83ECA7C[] = {
+ gSpriteAnim_83ECA74
+};
+
+const struct SpriteFrameImage gSpriteImageTable_83ECA80[] = {
+ obj_frame_tiles(gSpriteImage_83EC9DC)
+};
+
+const struct SpriteTemplate gSpriteTemplate_83ECA88 = {
+ .tileTag = 0xffff,
+ .paletteTag = 8,
+ .oam = &gOamData_83ECA6C,
+ .anims = gSpriteAnimTable_83ECA7C,
+ .images = gSpriteImageTable_83ECA80,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101698
+};
+
+const struct YesNoFuncTable gUnknown_083ECAA0 = {.yesFunc = sub_8101848, .noFunc = sub_80FED3C};
+
+u8 *const unref_label_083ECAA8[] = {ewram};
+
+// text
+
+extern u8 gUnknown_0815F399[];
void sub_80FE1DC(void)
{
@@ -684,7 +2210,7 @@ void sub_80FF1EC(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decIdx)
void sub_80FF394(u16 mapX, u16 mapY, u16 decIdx)
{
- switch (gDecorations[decIdx].decor_field_12)
+ switch (gDecorations[decIdx].shape)
{
case 0:
sub_80FF1EC(mapX, mapY, 1, 1, decIdx);
@@ -839,16 +2365,16 @@ void AddDecorationIconObjectFromFieldObject(struct UnkStruct_02038900 * unk_0203
if (gDecorations[decoIdx].decor_field_11 != 4)
{
sub_81008BC(unk_02038900);
- sub_8100930(unk_02038900->decoration->decor_field_12);
+ sub_8100930(unk_02038900->decoration->shape);
sub_8100874(unk_02038900);
- sub_810070C(unk_02038900->unk_884, ((u16 *)gMapHeader.mapData->secondaryTileset->metatiles + 8 * unk_02038900->decoration->tiles[0])[7] >> 12);
+ sub_810070C(unk_02038900->palette, ((u16 *)gMapHeader.mapData->secondaryTileset->metatiles + 8 * unk_02038900->decoration->tiles[0])[7] >> 12);
LoadSpritePalette(&gUnknown_083EC954);
gUnknown_020391A8 = gSprites[gUnknown_03004880.unk4].data0;
- gUnknown_03004880.unk4 = CreateSprite(&gSpriteTemplate_83EC93C, gUnknown_083EC900[unk_02038900->decoration->decor_field_12].unk_2, gUnknown_083EC900[unk_02038900->decoration->decor_field_12].unk_3, 0);
+ gUnknown_03004880.unk4 = CreateSprite(&gSpriteTemplate_83EC93C, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 0);
} else
{
gUnknown_020391A8 = gSprites[gUnknown_03004880.unk4].data0;
- gUnknown_03004880.unk4 = AddPseudoFieldObject(unk_02038900->decoration->tiles[0], sub_81009A8, gUnknown_083EC900[unk_02038900->decoration->decor_field_12].unk_2, gUnknown_083EC900[unk_02038900->decoration->decor_field_12].unk_3, 1);
+ gUnknown_03004880.unk4 = AddPseudoFieldObject(unk_02038900->decoration->tiles[0], sub_81009A8, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 1);
gSprites[gUnknown_03004880.unk4].oam.priority = 1;
}
}
@@ -856,8 +2382,8 @@ void AddDecorationIconObjectFromFieldObject(struct UnkStruct_02038900 * unk_0203
void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct UnkStruct_02038900 *unk_02038900)
{
u8 v0;
- v0 = 16 * (u8)gTasks[taskId].data[5] + gUnknown_083EC900[unk_02038900->decoration->decor_field_12].unk_2 - 8 * ((u8)gTasks[taskId].data[5] - 1);
- if (unk_02038900->decoration->decor_field_12 == 2 || unk_02038900->decoration->decor_field_12 == 8 || unk_02038900->decoration->decor_field_12 == 9)
+ v0 = 16 * (u8)gTasks[taskId].data[5] + gUnknown_083EC900[unk_02038900->decoration->shape].x - 8 * ((u8)gTasks[taskId].data[5] - 1);
+ if (unk_02038900->decoration->shape == 2 || unk_02038900->decoration->shape == 8 || unk_02038900->decoration->shape == 9)
{
v0 -= 8;
}
@@ -875,7 +2401,7 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct UnkStruct_02038900 *un
void sub_80FF960(u8 taskId)
{
- switch (gDecorations[gUnknown_020388D0[gUnknown_020388F5]].decor_field_12)
+ switch (gDecorations[gUnknown_020388D0[gUnknown_020388F5]].shape)
{
case 0:
gTasks[taskId].data[5] = 1;
@@ -974,7 +2500,7 @@ bool8 sub_80FFBDC(u16 a0, struct Decoration *decoration)
}
#ifdef NONMATCHING
-bool8 sub_80FFC24(u8 taskId, struct Decoration *decoration)
+bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration)
{
u8 i;
u8 j;
@@ -1080,7 +2606,7 @@ bool8 sub_80FFC24(u8 taskId, struct Decoration *decoration)
{
curX = gTasks[taskId].data[0] + j;
behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
- if (decoration->decor_field_12 == 5)
+ if (decoration->shape == 5)
{
if (!sub_80572EC(behaviorAt))
{
@@ -1106,7 +2632,7 @@ bool8 sub_80FFC24(u8 taskId, struct Decoration *decoration)
}
#else
__attribute__((naked))
-bool8 sub_80FFC24(u8 taskId, struct Decoration *decoration)
+bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration)
{
asm(".syntax unified\n"
"\tpush {r4-r7,lr}\n"
@@ -1812,11 +3338,11 @@ void sub_8100494(u8 taskId)
{
if (gTasks[taskId].data[10] == 1)
{
- gUnknown_083EC96C[gTasks[taskId].data[12]][0](taskId);
+ gUnknown_083EC96C[gTasks[taskId].data[12]].yesFunc(taskId);
return;
} else if (gTasks[taskId].data[10] == 2)
{
- gUnknown_083EC96C[gTasks[taskId].data[12]][1](taskId);
+ gUnknown_083EC96C[gTasks[taskId].data[12]].noFunc(taskId);
return;
}
if ((gMain.heldKeys & DPAD_ANY) == DPAD_UP)
@@ -1891,7 +3417,7 @@ void sub_81006D0(struct UnkStruct_02038900 *unk_02038900)
u16 i;
for (i=0; i<0x800; i++)
{
- unk_02038900->unk_084[i] = 0;
+ unk_02038900->image[i] = 0;
}
for (i=0; i<0x40; i++)
{
@@ -1961,7 +3487,7 @@ void sub_8100874(struct UnkStruct_02038900 *unk_02038900)
{
u16 i;
for (i=0; i<0x40; i++)
- sub_8100740(&unk_02038900->unk_084[i * 32], unk_02038900->unk_004[i]);
+ sub_8100740(&unk_02038900->image[i * 32], unk_02038900->unk_004[i]);
}
u16 sub_810089C(u16 a0)
@@ -1973,14 +3499,14 @@ void sub_81008BC(struct UnkStruct_02038900 *unk_02038900)
{
u8 i;
u8 idx;
- idx = unk_02038900->decoration->decor_field_12;
+ idx = unk_02038900->decoration->shape;
for (i=0; i<gUnknown_083EC860[idx].size; i++)
{
unk_02038900->unk_004[gUnknown_083EC860[idx].var0[i]] = sub_810089C(unk_02038900->decoration->tiles[gUnknown_083EC860[idx].var4[i]] * 8 + gUnknown_083EC860[idx].var8[i]);
}
}
-void sub_8100930(u8 unk12)
+void sub_8100930(u8 decoShape)
/*
* This function sets an OAM object not directly referenced anywhere else
* in the source.
@@ -1991,10 +3517,10 @@ void sub_8100930(u8 unk12)
gUnknown_020391AC.objMode = 0;
gUnknown_020391AC.mosaic = 0;
gUnknown_020391AC.bpp = 0;
- gUnknown_020391AC.shape = gUnknown_083EC900[unk12].unk_0;
+ gUnknown_020391AC.shape = gUnknown_083EC900[decoShape].shape;
gUnknown_020391AC.x = 0;
gUnknown_020391AC.matrixNum = 0;
- gUnknown_020391AC.size = gUnknown_083EC900[unk12].unk_1;
+ gUnknown_020391AC.size = gUnknown_083EC900[decoShape].size;
gUnknown_020391AC.tileNum = 0;
gUnknown_020391AC.priority = 1;
gUnknown_020391AC.paletteNum = 0;
@@ -2101,11 +3627,11 @@ void sub_8100B6C(void)
{
if (ewram_1f000.items[gUnknown_020391B4[i].var00] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(x + 7, y + 7) == 0x28c)
{
- gUnknown_020391B4[i].var02++;
+ gUnknown_020391B4[i].height++;
}
- for (j=0; j<gUnknown_020391B4[i].var02; j++)
+ for (j=0; j<gUnknown_020391B4[i].height; j++)
{
- for (k=0; k<gUnknown_020391B4[i].var01; k++)
+ for (k=0; k<gUnknown_020391B4[i].width; k++)
{
MapGridSetMetatileEntryAt(x + 7 + k, y + 7 - j, ((u16 *)gMapHeader.mapData->map)[(x + k) + gMapHeader.mapData->width * (y - j)] | 0x3000);
}
@@ -2275,46 +3801,46 @@ void sub_81010F0(u8 taskId)
void sub_8101118(u8 decorIdx, struct UnkStruct_020391B4 *unk_020391B4)
{
- if (gDecorations[decorIdx].decor_field_12 == 0)
+ if (gDecorations[decorIdx].shape == 0)
{
- unk_020391B4->var01 = 1;
- unk_020391B4->var02 = 1;
- } else if (gDecorations[decorIdx].decor_field_12 == 1)
+ unk_020391B4->width = 1;
+ unk_020391B4->height = 1;
+ } else if (gDecorations[decorIdx].shape == 1)
{
- unk_020391B4->var01 = 2;
- unk_020391B4->var02 = 1;
- } else if (gDecorations[decorIdx].decor_field_12 == 2)
+ unk_020391B4->width = 2;
+ unk_020391B4->height = 1;
+ } else if (gDecorations[decorIdx].shape == 2)
{
- unk_020391B4->var01 = 3;
- unk_020391B4->var02 = 1;
- } else if (gDecorations[decorIdx].decor_field_12 == 3)
+ unk_020391B4->width = 3;
+ unk_020391B4->height = 1;
+ } else if (gDecorations[decorIdx].shape == 3)
{
- unk_020391B4->var01 = 4;
- unk_020391B4->var02 = 2;
- } else if (gDecorations[decorIdx].decor_field_12 == 4)
+ unk_020391B4->width = 4;
+ unk_020391B4->height = 2;
+ } else if (gDecorations[decorIdx].shape == 4)
{
- unk_020391B4->var01 = 2;
- unk_020391B4->var02 = 2;
- } else if (gDecorations[decorIdx].decor_field_12 == 5)
+ unk_020391B4->width = 2;
+ unk_020391B4->height = 2;
+ } else if (gDecorations[decorIdx].shape == 5)
{
- unk_020391B4->var01 = 1;
- unk_020391B4->var02 = 2;
- } else if (gDecorations[decorIdx].decor_field_12 == 6)
+ unk_020391B4->width = 1;
+ unk_020391B4->height = 2;
+ } else if (gDecorations[decorIdx].shape == 6)
{
- unk_020391B4->var01 = 1;
- unk_020391B4->var02 = 3;
- } else if (gDecorations[decorIdx].decor_field_12 == 7)
+ unk_020391B4->width = 1;
+ unk_020391B4->height = 3;
+ } else if (gDecorations[decorIdx].shape == 7)
{
- unk_020391B4->var01 = 2;
- unk_020391B4->var02 = 4;
- } else if (gDecorations[decorIdx].decor_field_12 == 8)
+ unk_020391B4->width = 2;
+ unk_020391B4->height = 4;
+ } else if (gDecorations[decorIdx].shape == 8)
{
- unk_020391B4->var01 = 3;
- unk_020391B4->var02 = 3;
- } else if (gDecorations[decorIdx].decor_field_12 == 9)
+ unk_020391B4->width = 3;
+ unk_020391B4->height = 3;
+ } else if (gDecorations[decorIdx].shape == 9)
{
- unk_020391B4->var01 = 3;
- unk_020391B4->var02 = 2;
+ unk_020391B4->width = 3;
+ unk_020391B4->height = 2;
}
}
@@ -2338,11 +3864,11 @@ bool8 sub_8101200(u8 taskId, u8 decorIdx, struct UnkStruct_020391B4 *unk_020391B
yOff = ewram_1f000.pos[decorIdx] & 0xf;
if (ewram_1f000.items[decorIdx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28c)
{
- unk_020391B4->var02--;
+ unk_020391B4->height--;
}
- if (x >= xOff && x < xOff + unk_020391B4->var01 && y > yOff - unk_020391B4->var02 && y <= yOff)
+ if (x >= xOff && x < xOff + unk_020391B4->width && y > yOff - unk_020391B4->height && y <= yOff)
{
- sub_8101198(unk_020391B4->var01 - (x - xOff + 1), yOff - y);
+ sub_8101198(unk_020391B4->width - (x - xOff + 1), yOff - y);
return TRUE;
}
return FALSE;
diff --git a/src/menu.c b/src/menu.c
index 61eaebb6f..3acac88a0 100644..100755
--- a/src/menu.c
+++ b/src/menu.c
@@ -611,7 +611,7 @@ u8 unref_sub_8072A5C(u8 *dest, u8 *src, u8 left, u16 top, u8 width, u32 a6)
return sub_8004FD0(gMenuWindowPtr, dest, src, gMenuTextTileOffset, left, top, width, a6);
}
-int sub_8072AB0(u8 *str, u8 left, u16 top, u8 width, u8 height, u32 a6)
+int sub_8072AB0(const u8 *str, u8 left, u16 top, u8 width, u8 height, u32 a6)
{
u8 newlineCount = sub_8004FD0(gMenuWindowPtr, NULL, str, gMenuTextTileOffset, left, top, width, a6);
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 33867b58a..f2b5090af 100644..100755
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -61,7 +61,6 @@ extern u8 *gStdScripts[];
extern u8 *gStdScripts_End[];
extern u8 * const gUnknown_083CE048[];
-extern struct Decoration gDecorations[];
// This is defined in here so the optimizer can't see its value when compiling
// script.c.
diff --git a/src/secret_base.c b/src/secret_base.c
index 4ff0b6b17..4ff0b6b17 100644..100755
--- a/src/secret_base.c
+++ b/src/secret_base.c