summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim_80A5C6C.s2
-rw-r--r--asm/battle_frontier_1.s14
-rw-r--r--asm/dewford_trend.s975
-rw-r--r--asm/party_menu.s6
-rw-r--r--asm/pokemon_icon.s822
-rw-r--r--asm/pokemon_storage_system.s2
-rw-r--r--asm/rom_8011DC0.s4
-rw-r--r--asm/trade.s2
8 files changed, 15 insertions, 1812 deletions
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s
index 704730d43..44ba33c08 100644
--- a/asm/battle_anim_80A5C6C.s
+++ b/asm/battle_anim_80A5C6C.s
@@ -1224,7 +1224,7 @@ _080A65D8:
bl sub_80A62DC
_080A65DE:
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
pop {r4}
pop {r0}
bx r0
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index e72b8b156..729140801 100644
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -3326,7 +3326,7 @@ _0819064A:
adds r6, 0x1
cmp r6, 0xF
ble _0819064A
- bl sub_80D2F04
+ bl LoadMonIconPalettes
ldr r0, =sub_8190CD4
movs r1, 0
bl CreateTask
@@ -3695,7 +3695,7 @@ sub_8190938: @ 8190938
cmp r0, 0
bne _0819094A
adds r0, r1, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_0819094A:
pop {r0}
bx r0
@@ -3710,7 +3710,7 @@ sub_8190950: @ 8190950
cmp r0, 0
bne _08190962
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190962:
ldrh r0, [r4, 0x22]
adds r1, r0, 0x4
@@ -3774,7 +3774,7 @@ sub_81909CC: @ 81909CC
cmp r0, 0
bne _081909DE
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_081909DE:
ldrh r0, [r4, 0x22]
subs r1, r0, 0x4
@@ -3838,7 +3838,7 @@ sub_8190A48: @ 8190A48
cmp r0, 0
bne _08190A5A
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190A5A:
ldrh r0, [r4, 0x20]
adds r1, r0, 0x4
@@ -3902,7 +3902,7 @@ sub_8190AC4: @ 8190AC4
cmp r0, 0
bne _08190AD6
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190AD6:
ldrh r0, [r4, 0x20]
subs r1, r0, 0x4
@@ -6471,7 +6471,7 @@ _0819218E:
adds r6, 0x1
cmp r6, 0xF
ble _08192158
- bl sub_80D2F9C
+ bl FreeMonIconPalettes
ldr r4, =gUnknown_0203CD78
ldr r0, [r4]
bl Free
diff --git a/asm/dewford_trend.s b/asm/dewford_trend.s
deleted file mode 100644
index 7d9d67902..000000000
--- a/asm/dewford_trend.s
+++ /dev/null
@@ -1,975 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start InitDewfordTrend
-InitDewfordTrend: @ 81224D4
- push {r4-r7,lr}
- movs r6, 0
- ldr r5, =gSaveBlock1Ptr
-_081224DA:
- movs r0, 0xA
- bl sub_811EE38
- ldr r1, [r5]
- lsls r4, r6, 3
- adds r1, r4
- ldr r2, =0x00002e6c
- adds r1, r2
- strh r0, [r1]
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _08122514
- movs r0, 0xC
- bl sub_811EE38
- ldr r1, [r5]
- adds r1, r4
- ldr r7, =0x00002e6e
- adds r1, r7
- b _08122522
- .pool
-_08122514:
- movs r0, 0xD
- bl sub_811EE38
- ldr r1, [r5]
- adds r1, r4
- ldr r2, =0x00002e6e
- adds r1, r2
-_08122522:
- strh r0, [r1]
- bl Random
- ldr r3, [r5]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldr r7, =0x00002e69
- adds r3, r7
- lsls r2, 6
- ldrb r0, [r3]
- movs r7, 0x41
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- ldr r0, =0x00002e68
- adds r1, r4, r0
- ldr r0, [r5]
- adds r0, r1
- bl sub_8122B28
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _081224DA
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e68
- adds r0, r1
- movs r1, 0x5
- movs r2, 0
- bl sub_8122804
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitDewfordTrend
-
- thumb_func_start UpdateDewfordTrendPerDay
-UpdateDewfordTrendPerDay: @ 8122580
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _08122596
- b _081226BE
-_08122596:
- lsls r0, r1, 2
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- mov r10, r0
- movs r1, 0x7F
- mov r9, r1
- movs r2, 0x80
- negs r2, r2
- mov r8, r2
-_081225AA:
- ldr r2, [sp]
- mov r3, r10
- lsls r0, r3, 3
- ldr r4, =0x00002e68
- adds r0, r4
- ldr r3, =gSaveBlock1Ptr
- ldr r1, [r3]
- adds r5, r1, r0
- ldrb r6, [r5, 0x1]
- movs r0, 0x40
- ands r0, r6
- cmp r0, 0
- bne _08122608
- ldrb r4, [r5]
- lsls r3, r4, 25
- lsrs r1, r3, 25
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r1, r0
- bcc _081225F8
- adds r0, r1, 0
- subs r0, r2
- mov r1, r9
- ands r0, r1
- mov r1, r8
- ands r1, r4
- orrs r1, r0
- strb r1, [r5]
- movs r0, 0x7F
- ands r1, r0
- cmp r1, 0
- bne _0812269E
- movs r0, 0x40
- orrs r0, r6
- b _0812269C
- .pool
-_081225F8:
- lsrs r0, r3, 25
- subs r2, r0
- mov r0, r8
- ands r0, r4
- strb r0, [r5]
- movs r0, 0x40
- orrs r0, r6
- strb r0, [r5, 0x1]
-_08122608:
- ldrb r7, [r5]
- lsls r0, r7, 25
- lsrs r0, 25
- adds r4, r0, r2
- ldrh r0, [r5]
- lsls r6, r0, 18
- lsls r0, r4, 16
- lsrs r0, 16
- lsrs r1, r6, 25
- cmp r0, r1
- bls _08122678
- adds r0, r4, 0
- bl __umodsi3
- adds r3, r0, 0
- lsrs r1, r6, 25
- adds r0, r4, 0
- str r3, [sp, 0x4]
- bl __udivsi3
- adds r4, r0, 0
- movs r0, 0x1
- eors r4, r0
- ands r4, r0
- lsls r2, r4, 6
- ldrb r0, [r5, 0x1]
- movs r4, 0x41
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x1]
- movs r1, 0x40
- ands r0, r1
- ldr r3, [sp, 0x4]
- cmp r0, 0
- beq _08122662
- adds r1, r3, 0
- mov r0, r9
- ands r1, r0
- mov r0, r8
- ands r0, r7
- orrs r0, r1
- strb r0, [r5]
- b _0812269E
-_08122662:
- ldrh r0, [r5]
- lsls r0, 18
- lsrs r0, 25
- subs r0, r3
- mov r1, r9
- ands r0, r1
- mov r1, r8
- ands r1, r7
- orrs r1, r0
- strb r1, [r5]
- b _0812269E
-_08122678:
- mov r2, r9
- ands r4, r2
- mov r0, r8
- ands r0, r7
- orrs r0, r4
- strb r0, [r5]
- lsls r0, 25
- ldrh r1, [r5]
- lsls r1, 18
- lsrs r0, 25
- lsrs r1, 25
- cmp r0, r1
- bne _0812269E
- ldrb r0, [r5, 0x1]
- movs r3, 0x41
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
-_0812269C:
- strb r0, [r5, 0x1]
-_0812269E:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- cmp r0, 0x4
- bhi _081226AE
- b _081225AA
-_081226AE:
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00002e68
- adds r0, r1
- movs r1, 0x5
- movs r2, 0
- bl sub_8122804
-_081226BE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateDewfordTrendPerDay
-
- thumb_func_start sub_81226D8
-sub_81226D8: @ 81226D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, r8
- bl sub_8122BB0
- lsls r0, 24
- cmp r0, 0
- beq _081226F8
- b _081227F2
-_081226F8:
- ldr r4, =0x00000893
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08122744
- adds r0, r4, 0
- bl FlagSet
- ldr r0, =0x00000894
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08122744
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- mov r0, r8
- ldrh r2, [r0]
- ldr r3, =0x00002e6c
- adds r0, r1, r3
- strh r2, [r0]
- mov r2, r8
- ldrh r0, [r2, 0x2]
- adds r3, 0x2
- adds r1, r3
- strh r0, [r1]
- movs r0, 0x1
- b _081227F4
- .pool
-_08122744:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- lsls r1, 16
- ldrh r0, [r0]
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r1, 0x80
- lsls r1, 7
- ldr r0, [sp]
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_8122B28
- movs r5, 0
-_08122762:
- ldr r6, =gSaveBlock1Ptr
- lsls r4, r5, 3
- ldr r1, =0x00002e68
- adds r0, r4, r1
- ldr r1, [r6]
- adds r1, r0
- mov r0, sp
- movs r2, 0
- bl atk90_changetypestoenemyattacktype
- lsls r0, 24
- adds r7, r4, 0
- cmp r0, 0
- beq _081227D4
- movs r2, 0x4
- mov r12, r6
- cmp r2, r5
- bls _081227A6
- ldr r4, =0x00002e68
-_08122788:
- ldr r0, [r6]
- lsls r3, r2, 3
- adds r0, r4
- adds r3, r0, r3
- subs r2, 0x1
- lsls r1, r2, 3
- adds r0, r1
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r3]
- str r1, [r3, 0x4]
- lsls r2, 16
- lsrs r2, 16
- cmp r2, r5
- bhi _08122788
-_081227A6:
- mov r3, r12
- ldr r2, [r3]
- ldr r0, =0x00002e68
- adds r2, r0
- adds r2, r7
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r5, 0x4
- bne _081227C2
- mov r0, r8
- bl sub_80EDC60
-_081227C2:
- movs r0, 0
- cmp r5, 0
- bne _081227F4
- movs r0, 0x1
- b _081227F4
- .pool
-_081227D4:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _08122762
- ldr r2, [r6]
- ldr r1, =0x00002e88
- adds r2, r1
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- mov r0, r8
- bl sub_80EDC60
-_081227F2:
- movs r0, 0
-_081227F4:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81226D8
-
- thumb_func_start sub_8122804
-sub_8122804: @ 8122804
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r2, 0
- cmp r2, r7
- bcs _0812286C
-_08122820:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, r7
- bcs _08122862
- lsls r0, r2, 3
- mov r1, r9
- adds r6, r1, r0
-_08122832:
- lsls r0, r5, 3
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r10
- bl atk90_changetypestoenemyattacktype
- lsls r0, 24
- cmp r0, 0
- beq _08122858
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r2, [r6]
- str r3, [r6, 0x4]
-_08122858:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r7
- bcc _08122832
-_08122862:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, r7
- bcc _08122820
-_0812286C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8122804
-
- thumb_func_start sub_812287C
-sub_812287C: @ 812287C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- adds r6, r1, 0
- movs r4, 0x80
- lsls r4, 1
- adds r0, r4, 0
- bl Alloc
- mov r10, r0
- cmp r0, 0
- beq _08122980
- adds r0, r4, 0
- bl Alloc
- adds r7, r0, 0
- cmp r7, 0
- bne _081228B0
- mov r0, r10
- bl Free
- b _08122980
-_081228B0:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r5, 0
- cmp r5, r9
- bcs _081228DE
-_081228C0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- add r0, r10
- adds r1, r5, 0
- muls r1, r6
- add r1, r8
- movs r2, 0x28
- bl memcpy
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r9
- bcc _081228C0
-_081228DE:
- mov r4, r10
- mov r8, r7
- movs r3, 0
- movs r5, 0
- cmp r5, r9
- bcs _08122946
-_081228EA:
- movs r6, 0
-_081228EC:
- adds r0, r7, 0
- adds r1, r4, 0
- adds r2, r3, 0
- str r3, [sp]
- bl sub_8122C1C
- lsls r0, 16
- asrs r0, 16
- ldr r3, [sp]
- cmp r0, 0
- bge _08122918
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- mov r2, r8
- adds r2, 0x8
- mov r8, r2
- subs r2, 0x8
- stm r2!, {r0,r1}
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- b _08122930
-_08122918:
- lsls r0, 3
- adds r2, r7, r0
- ldrb r1, [r2]
- lsls r1, 25
- ldrb r0, [r4]
- lsls r0, 25
- cmp r1, r0
- bcs _08122930
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
-_08122930:
- adds r4, 0x8
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _081228EC
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r9
- bcc _081228EA
-_08122946:
- adds r0, r7, 0
- adds r1, r3, 0
- movs r2, 0x2
- bl sub_8122804
- adds r4, r7, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e68
- adds r1, r0
- mov r8, r1
- movs r5, 0
-_0812295E:
- ldm r4!, {r0,r1}
- mov r2, r8
- adds r2, 0x8
- mov r8, r2
- subs r2, 0x8
- stm r2!, {r0,r1}
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _0812295E
- mov r0, r10
- bl Free
- adds r0, r7, 0
- bl Free
-_08122980:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812287C
-
- thumb_func_start sub_8122998
-sub_8122998: @ 8122998
- push {lr}
- ldr r2, =gSaveBlock1Ptr
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r1, 3
- ldr r0, [r2]
- adds r1, r0
- ldr r0, =gStringVar1
- ldr r2, =0x00002e6c
- adds r1, r2
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertEasyChatWordsToString
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122998
-
- thumb_func_start sub_81229C8
-sub_81229C8: @ 81229C8
- push {r4,lr}
- movs r4, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- ldr r1, =0x00002e68
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 25
- lsrs r1, 25
- ldr r2, =0x00002e70
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 25
- subs r1, r0
- cmp r1, 0x1
- bgt _08122A0C
- ldr r1, =0x00002e69
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08122A0C
- ldr r1, =0x00002e71
- adds r0, r3, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r4, r0, 31
-_08122A0C:
- ldr r0, =gSpecialVar_Result
- strh r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81229C8
-
- thumb_func_start sub_8122A30
-sub_8122A30: @ 8122A30
- ldr r2, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00002e6c
- adds r1, r0, r3
- adds r3, 0x2
- adds r0, r3
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8122A30
-
- thumb_func_start atk90_changetypestoenemyattacktype
-atk90_changetypestoenemyattacktype: @ 8122A58
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r2, 0
- cmp r2, 0x1
- beq _08122A9E
- cmp r2, 0x1
- bgt _08122A72
- cmp r2, 0
- beq _08122A78
- b _08122B1A
-_08122A72:
- cmp r0, 0x2
- beq _08122ACA
- b _08122B1A
-_08122A78:
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r0, [r3]
- lsls r3, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r3, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r3, 25
- lsrs r0, r2, 25
- b _08122AC2
-_08122A9E:
- ldrh r0, [r3]
- lsls r4, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bcc _08122AC6
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
-_08122AC2:
- cmp r1, r0
- bcs _08122B1A
-_08122AC6:
- movs r0, 0
- b _08122B22
-_08122ACA:
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r0, [r3]
- lsls r4, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x2]
- ldrh r0, [r5, 0x2]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x4]
- ldrh r0, [r5, 0x4]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x6]
- ldrh r0, [r5, 0x6]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
-_08122B16:
- movs r0, 0x1
- b _08122B22
-_08122B1A:
- bl Random
- movs r1, 0x1
- ands r0, r1
-_08122B22:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end atk90_changetypestoenemyattacktype
-
- thumb_func_start sub_8122B28
-sub_8122B28: @ 8122B28
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x32
- bls _08122B6A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x50
- bls _08122B6A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_08122B6A:
- adds r1, r4, 0
- adds r1, 0x1E
- movs r0, 0x7F
- ands r1, r0
- lsls r1, 7
- ldrh r2, [r5]
- ldr r0, =0xffffc07f
- ands r0, r2
- orrs r0, r1
- strh r0, [r5]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0x1
- bl __modsi3
- adds r0, 0x1E
- movs r1, 0x7F
- ands r0, r1
- ldrb r2, [r5]
- movs r1, 0x80
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5]
- bl Random
- strh r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122B28
-
- thumb_func_start sub_8122BB0
-sub_8122BB0: @ 8122BB0
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gSaveBlock1Ptr
-_08122BB8:
- lsls r1, r4, 3
- ldr r0, [r6]
- adds r1, r0
- ldr r0, =0x00002e6c
- adds r1, r0
- adds r0, r5, 0
- bl sub_8122BF0
- lsls r0, 24
- cmp r0, 0
- beq _08122BDC
- movs r0, 0x1
- b _08122BE8
- .pool
-_08122BDC:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08122BB8
- movs r0, 0
-_08122BE8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8122BB0
-
- thumb_func_start sub_8122BF0
-sub_8122BF0: @ 8122BF0
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r4, 0
-_08122BF8:
- ldrh r1, [r3]
- ldrh r0, [r2]
- adds r2, 0x2
- adds r3, 0x2
- cmp r1, r0
- beq _08122C08
- movs r0, 0
- b _08122C14
-_08122C08:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08122BF8
- movs r0, 0x1
-_08122C14:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8122BF0
-
- thumb_func_start sub_8122C1C
-sub_8122C1C: @ 8122C1C
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- lsls r2, 16
- lsrs r6, r2, 16
- movs r4, 0
- cmp r4, r6
- bge _08122C52
-_08122C2C:
- adds r1, r5, 0x4
- adds r0, r7, 0x4
- bl sub_8122BF0
- lsls r0, 24
- cmp r0, 0
- beq _08122C40
- lsls r0, r4, 16
- asrs r0, 16
- b _08122C56
-_08122C40:
- adds r5, 0x8
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r6
- blt _08122C2C
-_08122C52:
- movs r0, 0x1
- negs r0, r0
-_08122C56:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8122C1C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 5d01bd745..29e2e67a6 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -410,7 +410,7 @@ _081B03A6:
b _081B048C
.pool
_081B03B8:
- bl sub_80D2F04
+ bl LoadMonIconPalettes
b _081B0484
_081B03BE:
bl party_menu_add_per_mon_objects
@@ -10793,7 +10793,7 @@ _081B5BD0:
sub_81B5BDC: @ 81B5BDC
push {r4,lr}
adds r4, r0, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -10817,7 +10817,7 @@ _081B5C02:
thumb_func_start sub_81B5C08
sub_81B5C08: @ 81B5C08
push {lr}
- bl sub_80D30DC
+ bl UpdateMonIconFrame
pop {r0}
bx r0
thumb_func_end sub_81B5C08
diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s
deleted file mode 100644
index 40291bee4..000000000
--- a/asm/pokemon_icon.s
+++ /dev/null
@@ -1,822 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CreateMonIcon
-@ int CreateMonIcon(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7)
-CreateMonIcon: @ 80D2CC4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r0, [sp, 0x4C]
- ldr r1, [sp, 0x50]
- ldr r5, [sp, 0x54]
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r3, 16
- lsrs r7, r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =sMonIconOamData
- str r0, [sp, 0x18]
- adds r0, r4, 0
- adds r2, r5, 0
- bl GetMonIconPtr
- str r0, [sp, 0x1C]
- ldr r0, =sMonIconAnims
- str r0, [sp, 0x20]
- ldr r0, =sMonIconAffineAnims
- str r0, [sp, 0x24]
- str r6, [sp, 0x28]
- ldr r0, =gMonIconPaletteIndices
- adds r0, r4, r0
- ldr r1, =0x0000dac0
- adds r5, r1, 0
- ldrb r0, [r0]
- adds r1, r5, r0
- add r0, sp, 0x2C
- strh r1, [r0]
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _080D2D2A
- mov r0, sp
- strh r5, [r0, 0x14]
-_080D2D2A:
- mov r0, r8
- lsls r1, r0, 16
- asrs r1, 16
- lsls r2, r7, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r9
- bl sub_80D31B4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl sub_80D30DC
- adds r0, r4, 0
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CreateMonIcon
-
- thumb_func_start sub_80D2D78
-sub_80D2D78: @ 80D2D78
- push {r4-r7,lr}
- sub sp, 0x18
- adds r4, r2, 0
- adds r5, r3, 0
- ldr r6, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- mov r3, sp
- ldr r2, =sMonIconOamData
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- ldr r2, =sMonIconAnims
- str r2, [sp, 0x8]
- ldr r2, =sMonIconAffineAnims
- str r2, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r2, =gMonIconPaletteIndices
- adds r2, r0, r2
- ldr r7, =0x0000dac0
- adds r1, r7, 0
- ldrb r2, [r2]
- adds r1, r2
- strh r1, [r3, 0x14]
- ldr r1, [sp, 0x30]
- bl GetMonIconTiles
- str r0, [sp, 0x4]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80D31B4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl sub_80D30DC
- adds r0, r4, 0
- add sp, 0x18
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D2D78
-
- thumb_func_start mon_icon_convert_unown_species_id
-@ u16 mon_icon_convert_unown_species_id(u16 speciesId, u32 personality)
-mon_icon_convert_unown_species_id: @ 80D2E08
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xC9
- bne _080D2E32
- adds r0, r1, 0
- bl GetUnownLetterByPersonality
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080D2E24
- movs r0, 0xC9
- b _080D2E2E
-_080D2E24:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080D2E2E:
- adds r1, r0, 0
- b _080D2E40
-_080D2E32:
- movs r0, 0xCE
- lsls r0, 1
- adds r1, r2, 0
- cmp r1, r0
- bls _080D2E40
- movs r1, 0x82
- lsls r1, 1
-_080D2E40:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end mon_icon_convert_unown_species_id
-
- thumb_func_start GetUnownLetterByPersonality
-GetUnownLetterByPersonality: @ 80D2E48
- push {lr}
- adds r2, r0, 0
- cmp r2, 0
- beq _080D2E7E
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- b _080D2E80
-_080D2E7E:
- movs r0, 0
-_080D2E80:
- pop {r1}
- bx r1
- thumb_func_end GetUnownLetterByPersonality
-
- thumb_func_start sub_80D2E84
-sub_80D2E84: @ 80D2E84
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- mov r1, sp
- bl MailSpeciesToSpecies
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bne _080D2EBA
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D2EAA
- mov r1, sp
- adds r0, 0xC9
- b _080D2EB2
-_080D2EAA:
- mov r1, sp
- movs r2, 0xCE
- lsls r2, 1
- adds r0, r2
-_080D2EB2:
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0]
- b _080D2ED2
-_080D2EBA:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _080D2EC6
- movs r4, 0x82
- lsls r4, 1
-_080D2EC6:
- adds r0, r4, 0
- movs r1, 0
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
-_080D2ED2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2E84
-
- thumb_func_start GetMonIconPtr
-@ void *GetMonIconPtr(u16 speciesId, u32 personality, bool32)
-GetMonIconPtr: @ 80D2EDC
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsrs r0, 16
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl GetMonIconTiles
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonIconPtr
-
- thumb_func_start sub_80D2EF8
-sub_80D2EF8: @ 80D2EF8
- push {lr}
- bl sub_80D328C
- pop {r0}
- bx r0
- thumb_func_end sub_80D2EF8
-
- thumb_func_start sub_80D2F04
-sub_80D2F04: @ 80D2F04
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMonIconPaletteTable
-_080D2F0A:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadSpritePalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080D2F0A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F04
-
- thumb_func_start sub_80D2F28
-sub_80D2F28: @ 80D2F28
- push {r4,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D2F3A
- movs r1, 0x82
- lsls r1, 1
-_080D2F3A:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080D2F5A
- adds r0, r4, 0
- bl LoadSpritePalette
-_080D2F5A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F28
-
- thumb_func_start sub_80D2F68
-sub_80D2F68: @ 80D2F68
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080D2F8E
- adds r0, r4, 0
- bl LoadSpritePalette
-_080D2F8E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F68
-
- thumb_func_start sub_80D2F9C
-sub_80D2F9C: @ 80D2F9C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMonIconPaletteTable
-_080D2FA2:
- lsls r0, r4, 3
- adds r0, r5
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080D2FA2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F9C
-
- thumb_func_start sub_80D2FC0
-sub_80D2FC0: @ 80D2FC0
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D2FD2
- movs r1, 0x82
- lsls r1, 1
-_080D2FD2:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2FC0
-
- thumb_func_start sub_80D2FF0
-sub_80D2FF0: @ 80D2FF0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2FF0
-
- thumb_func_start sub_80D3014
-sub_80D3014: @ 80D3014
- push {lr}
- bl sub_80D30DC
- pop {r0}
- bx r0
- thumb_func_end sub_80D3014
-
- thumb_func_start GetMonIconTiles
-@ void *GetMonIconTiles(u16 speciesId, bool32)
-GetMonIconTiles: @ 80D3020
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gMonIconTable
- lsls r1, r0, 2
- adds r1, r2
- ldr r2, [r1]
- movs r1, 0xCD
- lsls r1, 1
- cmp r0, r1
- bne _080D3042
- cmp r3, 0x1
- bne _080D3042
- movs r0, 0x80
- lsls r0, 3
- adds r2, r0
-_080D3042:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetMonIconTiles
-
- thumb_func_start sub_80D304C
-sub_80D304C: @ 80D304C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xA0
- bhi _080D3074
- ldr r6, =gMonIconPaletteTable
- movs r5, 0x5
-_080D305A:
- ldr r0, [r6]
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _080D305A
-_080D3074:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D304C
-
- thumb_func_start sub_80D3080
-sub_80D3080: @ 80D3080
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D3092
- movs r1, 0x82
- lsls r1, 1
-_080D3092:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3080
-
- thumb_func_start sub_80D30A0
-sub_80D30A0: @ 80D30A0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80D30A0
-
- thumb_func_start GetValidMonIconPalettePtr
-GetValidMonIconPalettePtr: @ 80D30B0
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r2, r0
- bls _080D30C2
- movs r2, 0x82
- lsls r2, 1
-_080D30C2:
- ldr r1, =gMonIconPaletteTable
- ldr r0, =gMonIconPaletteIndices
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetValidMonIconPalettePtr
-
- thumb_func_start sub_80D30DC
-sub_80D30DC: @ 80D30DC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r7, 0
- adds r6, r4, 0
- adds r6, 0x2C
- ldrb r2, [r6]
- movs r0, 0x3F
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- bne _080D3190
- movs r1, 0x2A
- adds r1, r4
- mov r8, r1
- ldrb r1, [r1]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- adds r5, r4, 0
- adds r5, 0x2B
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r0, 0x2
- negs r0, r0
- cmp r3, r0
- beq _080D3126
- adds r0, 0x1
- cmp r3, r0
- bne _080D312A
- b _080D31A4
-_080D3126:
- strb r7, [r5]
- b _080D31A4
-_080D312A:
- ldr r2, =sSpriteImageSizes
- ldrb r1, [r4, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r4, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- adds r1, r2, 0
- muls r1, r3
- ldr r0, [r4, 0xC]
- adds r0, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r3, =0x06010000
- adds r1, r3
- bl RequestSpriteCopy
- mov r0, r8
- ldrb r1, [r0]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 10
- lsrs r0, 26
- mov r1, r9
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldrb r7, [r5]
- b _080D31A4
- .pool
-_080D3190:
- lsls r0, r2, 26
- lsrs r0, 26
- subs r0, 0x1
- movs r1, 0x3F
- ands r0, r1
- movs r1, 0x40
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6]
-_080D31A4:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D30DC
-
- thumb_func_start sub_80D31B4
-sub_80D31B4: @ 80D31B4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x38
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- str r0, [sp, 0x30]
- ldr r2, =sSpriteImageSizes
- mov r0, r9
- ldr r6, [r0]
- ldrb r1, [r6, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r6, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- ldr r1, =0xffff0000
- add r3, sp, 0x30
- ldr r0, [r3, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [r3, 0x4]
- add r1, sp, 0x18
- ldr r0, =0x0000ffff
- strh r0, [r1]
- mov r0, r9
- ldrh r2, [r0, 0x14]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- str r6, [sp, 0x1C]
- mov r2, r9
- ldr r0, [r2, 0x8]
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, [r2, 0xC]
- str r0, [sp, 0x28]
- ldr r0, [r2, 0x10]
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r4, r3, r6
- adds r5, r4, 0
- adds r5, 0x2C
- ldrb r1, [r5]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r5]
- adds r4, 0x3F
- ldrb r2, [r4]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r4]
- adds r6, 0xC
- adds r3, r6
- mov r2, r9
- ldr r1, [r2, 0x4]
- str r1, [r3]
- add sp, 0x38
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D31B4
-
- thumb_func_start sub_80D328C
-sub_80D328C: @ 80D328C
- push {lr}
- sub sp, 0x8
- movs r1, 0
- str r1, [sp]
- ldr r3, =sSpriteImageSizes
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r2, 1
- ldrb r1, [r0, 0x1]
- lsrs r1, 6
- lsls r1, 3
- adds r2, r1
- adds r2, r3
- ldrh r3, [r2]
- ldr r2, =0xffff0000
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r3
- str r1, [sp, 0x4]
- mov r1, sp
- str r1, [r0, 0xC]
- bl DestroySprite
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D328C
-
- thumb_func_start sub_80D32C8
-sub_80D32C8: @ 80D32C8
- mov r12, r0
- adds r0, 0x2A
- movs r3, 0
- strb r1, [r0]
- mov r2, r12
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, r12
- adds r0, 0x2B
- strb r3, [r0]
- bx lr
- thumb_func_end sub_80D32C8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index a74538fb1..21647dfdf 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -7034,7 +7034,7 @@ _080CAEFA:
thumb_func_start sub_80CAF04
sub_80CAF04: @ 80CAF04
push {r4-r6,lr}
- bl sub_80D2F04
+ bl LoadMonIconPalettes
movs r2, 0
ldr r3, =gUnknown_02039D08
ldr r5, =0x00000b08
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 4d50a5271..3a7f41d0b 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -17828,7 +17828,7 @@ _0801BD1A:
bl CopyBgTilemapBufferToVram
b _0801BD86
_0801BD34:
- bl sub_80D2F04
+ bl LoadMonIconPalettes
b _0801BD86
_0801BD3A:
movs r0, 0x1
@@ -17991,7 +17991,7 @@ _0801BE56:
.pool
_0801BE94:
bl sub_801C61C
- bl sub_80D2F9C
+ bl FreeMonIconPalettes
b _0801BEDA
_0801BE9E:
ldr r0, =gUnknown_02022C60
diff --git a/asm/trade.s b/asm/trade.s
index 7d3ec4a8a..b96fb8ca9 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -246,7 +246,7 @@ _08077310:
movs r1, 0x1
movs r2, 0xE0
bl sub_809882C
- bl sub_80D2F04
+ bl LoadMonIconPalettes
ldr r2, =gUnknown_0203229C
ldr r0, [r2]
adds r0, 0x69