summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim_effects_3.s1588
-rw-r--r--asm/contest_painting_effects.s2181
-rw-r--r--asm/pokenav.s6
3 files changed, 4 insertions, 3771 deletions
diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s
deleted file mode 100644
index cfcfb93f9..000000000
--- a/asm/battle_anim_effects_3.s
+++ /dev/null
@@ -1,1588 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_815F8F4
-sub_815F8F4: @ 815F8F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bls _0815F91A
- b _0815FE68
-_0815F91A:
- lsls r0, 2
- ldr r1, =_0815F92C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0815F92C:
- .4byte _0815F940
- .4byte _0815F9F4
- .4byte _0815FBE8
- .4byte _0815FD08
- .4byte _0815FD8C
-_0815F940:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r2, r8
- lsls r4, r2, 2
- adds r0, r4, r2
- lsls r0, 3
- adds r6, r0, r1
- movs r3, 0x80
- lsls r3, 4
- adds r0, r3, 0
- ldrh r1, [r6, 0xA]
- adds r0, r1
- strh r0, [r6, 0xA]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815F998
- ldr r2, =gSprites
- lsls r3, r7, 4
- adds r1, r3, r7
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r4, [r1, 0x24]
- adds r0, r4
- strh r0, [r1, 0x24]
- b _0815F9B2
- .pool
-_0815F998:
- ldr r3, =gSprites
- lsls r4, r7, 4
- adds r2, r4, r7
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r6, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
-_0815F9B2:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- ldrb r0, [r4, 0xA]
- strh r0, [r4, 0xA]
- adds r1, r3, r7
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x24]
- ldrh r1, [r1, 0x20]
- adds r0, r1
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- movs r1, 0x98
- lsls r1, 17
- cmp r0, r1
- bhi _0815F9DE
- b _0815FE68
-_0815F9DE:
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0815FE68
- .pool
-_0815F9F4:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0815FA28
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldr r2, [r0, 0x8]
- mov r10, r2
- ldr r3, [r0, 0xC]
- mov r9, r3
- ldrh r6, [r0]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteSubpriority
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0
- b _0815FB4E
- .pool
-_0815FA28:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FAC8
- ldr r7, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r10, r0
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- mov r9, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r2, [r4]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0815FA9C
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- b _0815FA9E
- .pool
-_0815FA9C:
- ldrh r6, [r1, 0x2]
-_0815FA9E:
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0
- movs r5, 0x88
- lsls r5, 1
- b _0815FB50
- .pool
-_0815FAC8:
- ldr r7, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gEnemyParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r10, r0
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- mov r9, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r2, [r4]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0815FB2C
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- b _0815FB2E
- .pool
-_0815FB2C:
- ldrh r6, [r1, 0x2]
-_0815FB2E:
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0x1
-_0815FB4E:
- ldr r5, =0x0000ffe0
-_0815FB50:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r5, 16
- asrs r3, 16
- str r0, [sp]
- str r4, [sp, 0x4]
- mov r4, r10
- str r4, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- str r0, [sp, 0x10]
- movs r0, 0
- str r0, [sp, 0x14]
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80A8394
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldrb r0, [r4]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0815FBBA
- ldr r1, =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- orrs r0, r1
- ldr r3, =0x00007fff
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
-_0815FBBA:
- ldr r0, =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- strh r5, [r1, 0x26]
- b _0815FD7E
- .pool
-_0815FBE8:
- ldr r1, =gTasks
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0x26]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1, 0
- ldrh r2, [r6, 0xA]
- adds r0, r2
- strh r0, [r6, 0xA]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815FC40
- ldr r3, =gSprites
- lsls r4, r5, 4
- adds r2, r4, r5
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r6, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
- b _0815FC56
- .pool
-_0815FC40:
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r4, [r1, 0x24]
- adds r0, r4
- strh r0, [r1, 0x24]
-_0815FC56:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r6, r0, r1
- ldrb r0, [r6, 0xA]
- strh r0, [r6, 0xA]
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x24]
- ldrh r1, [r1, 0x20]
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0815FCD6
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FCB4
- lsls r4, r5, 16
- asrs r4, 16
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bge _0815FCD6
- b _0815FCCA
- .pool
-_0815FCB4:
- lsls r4, r5, 16
- asrs r4, 16
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- ble _0815FCD6
-_0815FCCA:
- ldrh r0, [r6, 0x24]
- adds r0, 0x1
- strh r0, [r6, 0x24]
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x0000ffff
- strh r0, [r1, 0xE]
-_0815FCD6:
- lsls r0, r5, 16
- movs r2, 0x80
- lsls r2, 14
- adds r0, r2
- movs r1, 0x98
- lsls r1, 17
- cmp r0, r1
- bhi _0815FCE8
- b _0815FE68
-_0815FCE8:
- ldr r0, =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0xA]
- b _0815FD7E
- .pool
-_0815FD08:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r3, r8
- lsls r4, r3, 2
- adds r0, r4, r3
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x26]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl sub_80A8610
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815FD60
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1, 0x20]
- negs r0, r0
- subs r0, 0x20
- strh r0, [r1, 0x24]
- b _0815FD74
- .pool
-_0815FD60:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r5
- ldrh r2, [r0, 0x20]
- movs r4, 0x88
- lsls r4, 1
- adds r1, r4, 0
- subs r1, r2
- strh r1, [r0, 0x24]
-_0815FD74:
- ldr r0, =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
-_0815FD7E:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0815FE68
- .pool
-_0815FD8C:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1, 0
- ldrh r3, [r2, 0xA]
- adds r0, r3
- strh r0, [r2, 0xA]
- ldr r0, =gBattleAnimAttacker
- mov r10, r0
- ldrb r0, [r0]
- str r2, [sp, 0x18]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- ldr r2, [sp, 0x18]
- cmp r0, 0
- bne _0815FE0C
- ldr r1, =gSprites
- lsls r5, r7, 4
- adds r0, r5, r7
- lsls r0, 2
- adds r6, r0, r1
- ldrh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r6, 0x24]
- adds r0, r1
- strh r0, [r6, 0x24]
- movs r2, 0x24
- ldrsh r4, [r6, r2]
- movs r3, 0x20
- ldrsh r0, [r6, r3]
- adds r4, r0
- mov r1, r10
- ldrb r0, [r1]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r3, r5, 0
- cmp r4, r0
- blt _0815FE44
- movs r2, 0
- strh r2, [r6, 0x24]
- b _0815FE44
- .pool
-_0815FE0C:
- ldr r1, =gSprites
- lsls r5, r7, 4
- adds r0, r5, r7
- lsls r0, 2
- adds r6, r0, r1
- ldrh r1, [r2, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r6, 0x24]
- subs r0, r1
- strh r0, [r6, 0x24]
- movs r3, 0x24
- ldrsh r4, [r6, r3]
- movs r1, 0x20
- ldrsh r0, [r6, r1]
- adds r4, r0
- mov r2, r10
- ldrb r0, [r2]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r3, r5, 0
- cmp r4, r0
- bgt _0815FE44
- movs r4, 0
- strh r4, [r6, 0x24]
-_0815FE44:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xA]
- strh r1, [r0, 0xA]
- ldr r1, =gSprites
- adds r0, r3, r7
- lsls r0, 2
- adds r0, r1
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0815FE68
- mov r0, r8
- bl DestroyAnimVisualTask
-_0815FE68:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815F8F4
-
- thumb_func_start sub_815FE80
-sub_815FE80: @ 815FE80
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0815FE92
- cmp r0, 0x1
- beq _0815FF3A
- b _0815FFBC
-_0815FE92:
- ldr r0, =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0815FF2C
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7A
- bl PlaySE12WithPanning
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- strh r0, [r4, 0x22]
- ldr r0, =0x0000ffe0
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0815FFBC
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0815FFBC
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- b _0815FFBC
- .pool
-_0815FF2C:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0815FFBC
-_0815FF3A:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x30]
- adds r0, r2, 0x5
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0815FF6E
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r2, 0
- subs r0, 0x7A
- strh r0, [r4, 0x30]
-_0815FF6E:
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FF9C
- ldrh r2, [r4, 0x32]
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x24]
- subs r0, r1
- strh r0, [r4, 0x24]
- adds r1, r2, 0
- b _0815FFA8
- .pool
-_0815FF9C:
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
-_0815FFA8:
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- bne _0815FFBC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0815FFBC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_815FE80
-
- thumb_func_start sub_815FFC4
-sub_815FFC4: @ 815FFC4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- adds r3, r1, 0
- cmp r0, 0x4
- bls _0815FFE0
- b _08160132
-_0815FFE0:
- lsls r0, 2
- ldr r1, =_0815FFF4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0815FFF4:
- .4byte _08160008
- .4byte _08160058
- .4byte _081600B4
- .4byte _081600CC
- .4byte _08160132
-_08160008:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0x6
- strh r0, [r1, 0x8]
- cmp r5, r2
- ble _0816003E
- negs r0, r0
- strh r0, [r1, 0x8]
-_0816003E:
- strh r5, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _08160150
- .pool
-_08160058:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r1
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0x8]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _081600A0
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- b _08160126
- .pool
-_081600A0:
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bgt _08160150
- b _0816012A
-_081600B4:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0, 0x8]
- ldrh r1, [r0, 0x26]
- adds r1, 0x1
- strh r1, [r0, 0x26]
- b _08160150
-_081600CC:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r1
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0x8]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bge _08160118
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xA
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bgt _08160150
- b _0816012A
- .pool
-_08160118:
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xA
- ldrsh r1, [r2, r3]
-_08160126:
- cmp r0, r1
- blt _08160150
-_0816012A:
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- b _08160150
-_08160132:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x24]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08160150:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815FFC4
-
- thumb_func_start sub_8160164
-sub_8160164: @ 8160164
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0xE]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08160198
- movs r1, 0x1
-_08160198:
- strh r1, [r4, 0x10]
- ldr r2, =gSprites
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x14]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x1A]
- strh r5, [r4, 0x1E]
- movs r0, 0x1
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x20]
- ldr r0, =sub_81601DC
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160164
-
- thumb_func_start sub_81601DC
-sub_81601DC: @ 81601DC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08160284
- cmp r0, 0x1
- bgt _08160204
- cmp r0, 0
- beq _0816020A
- b _081602DA
- .pool
-_08160204:
- cmp r0, 0x2
- beq _081602D4
- b _081602DA
-_0816020A:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x8
- movs r2, 0xFF
- ands r0, r2
- strh r0, [r4, 0x1E]
- ldr r5, =gSprites
- movs r6, 0xE
- ldrsh r0, [r4, r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldr r3, =gSineTable
- movs r6, 0x1E
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x2
- ands r0, r2
- strh r0, [r4, 0x1A]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- movs r6, 0x1A
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- ldrh r1, [r4, 0x10]
- muls r0, r1
- ldrh r1, [r4, 0x12]
- adds r0, r1
- strh r0, [r2, 0x20]
- movs r6, 0x1A
- ldrsh r0, [r4, r6]
- cmp r0, 0
- bne _081602DA
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r4, 0x12]
- strh r1, [r0, 0x20]
- b _081602C4
- .pool
-_08160284:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x1E]
- ldr r3, =gSprites
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldr r2, =gSineTable
- movs r5, 0x1E
- ldrsh r0, [r4, r5]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r1, 0x24]
- movs r6, 0x1E
- ldrsh r2, [r4, r6]
- cmp r2, 0
- bne _081602DA
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- strh r2, [r1, 0x24]
-_081602C4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081602DA
- .pool
-_081602D4:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_081602DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81601DC
-
- thumb_func_start sub_81602E0
-sub_81602E0: @ 81602E0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08160326
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08160326:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81602E0
-
- thumb_func_start sub_8160338
-sub_8160338: @ 8160338
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0816037C
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =0x0000fff5
- strh r0, [r4, 0x2E]
- movs r0, 0xC0
- strh r0, [r4, 0x30]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _08160396
- .pool
-_0816037C:
- movs r0, 0xB
- strh r0, [r4, 0x2E]
- movs r0, 0xC0
- strh r0, [r4, 0x30]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_08160396:
- ldr r0, =sub_81602E0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160338
-
- thumb_func_start sub_81603A8
-sub_81603A8: @ 81603A8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _081603D2
- movs r0, 0x10
- strh r0, [r5, 0x22]
-_081603D2:
- movs r0, 0
- strh r0, [r5, 0x3A]
- movs r1, 0x10
- strh r1, [r5, 0x3C]
- ldr r0, =sub_81603F4
- str r0, [r5, 0x1C]
- lsls r1, 8
- movs r0, 0x52
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81603A8
-
- thumb_func_start sub_81603F4
-sub_81603F4: @ 81603F4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0816046C
- cmp r1, 0x1
- bgt _0816040A
- cmp r1, 0
- beq _08160414
- b _081604E8
-_0816040A:
- cmp r1, 0x2
- beq _08160482
- cmp r1, 0x3
- beq _081604E2
- b _081604E8
-_08160414:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081604E8
- strh r1, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0816043E
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _0816044C
- adds r0, r2, 0x1
- strh r0, [r4, 0x3A]
- b _0816044C
-_0816043E:
- ldrh r2, [r4, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0816044C
- subs r0, r2, 0x1
- strh r0, [r4, 0x3C]
-_0816044C:
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081604E8
- b _081604DA
-_0816046C:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _081604E8
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x30]
- b _081604DA
-_08160482:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081604E8
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081604AE
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _081604BC
- subs r0, r2, 0x1
- strh r0, [r4, 0x3A]
- b _081604BC
-_081604AE:
- ldrh r2, [r4, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _081604BC
- adds r0, r2, 0x1
- strh r0, [r4, 0x3C]
-_081604BC:
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _081604E8
-_081604DA:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- b _081604E8
-_081604E2:
- adds r0, r4, 0
- bl DestroySpriteAndMatrix
-_081604E8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81603F4
-
- thumb_func_start AnimTask_GetWeather
-AnimTask_GetWeather: @ 81604F0
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gBattleAnimArgs
- movs r0, 0
- strh r0, [r2, 0xE]
- ldr r0, =gWeatherMoveAnim
- ldrh r1, [r0]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08160514
- movs r0, 0x1
- b _08160536
- .pool
-_08160514:
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08160520
- movs r0, 0x2
- b _08160536
-_08160520:
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _0816052C
- movs r0, 0x3
- b _08160536
-_0816052C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08160538
- movs r0, 0x4
-_08160536:
- strh r0, [r2, 0xE]
-_08160538:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- thumb_func_end AnimTask_GetWeather
-
- thumb_func_start sub_8160544
-sub_8160544: @ 8160544
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x26]
- ldr r2, =gUnknown_085CE9C8
- adds r0, r4, 0
- bl PrepareAffineAnimInTaskData
- ldr r0, =sub_816058C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160544
-
- thumb_func_start sub_816058C
-sub_816058C: @ 816058C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r2, =gTasks
- adds r3, r0, r2
- ldrh r0, [r3, 0x8]
- adds r1, r0, 0x1
- movs r5, 0
- strh r1, [r3, 0x8]
- subs r0, 0x10
- lsls r0, 16
- lsrs r0, 16
- adds r6, r2, 0
- cmp r0, 0x16
- bhi _081605F0
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08160600
- strh r5, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _081605F0
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x24]
- b _08160600
- .pool
-_081605F0:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
-_08160600:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r6
- bl RunAffineAnimFromTaskData
- lsls r0, 24
- cmp r0, 0
- bne _08160618
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08160618:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816058C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s
index 36ef184b9..801e840b9 100644
--- a/asm/contest_painting_effects.s
+++ b/asm/contest_painting_effects.s
@@ -5,2188 +5,9 @@
.text
- thumb_func_start sub_8124F2C
-sub_8124F2C: @ 8124F2C
- push {lr}
- ldr r2, =gUnknown_03006168
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, =gUnknown_0300617C
- ldrb r1, [r0, 0x1F]
- strb r1, [r2]
- ldr r2, =gUnknown_03006164
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, =gUnknown_03006178
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, =gUnknown_03006174
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, =gUnknown_0300616C
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, =gUnknown_03006180
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, =gUnknown_03006170
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrb r0, [r0]
- subs r0, 0x2
- cmp r0, 0x22
- bls _08124F68
- b _081250B4
-_08124F68:
- lsls r0, 2
- ldr r1, =_08124F98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08124F98:
- .4byte _08125024
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125084
- .4byte _081250B4
- .4byte _0812502A
- .4byte _08125030
- .4byte _08125044
- .4byte _08125056
- .4byte _081250B4
- .4byte _0812506C
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125072
- .4byte _08125050
- .4byte _08125078
- .4byte _0812507E
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125090
-_08125024:
- bl sub_8125230
- b _081250B4
-_0812502A:
- bl sub_81252E8
- b _081250B4
-_08125030:
- bl sub_81254E0
- ldr r0, =gUnknown_0300617C
- ldrb r0, [r0]
- bl sub_81253A4
- b _081250B4
- .pool
-_08125044:
- bl sub_81254E0
- bl sub_8125630
- bl sub_8125448
-_08125050:
- bl sub_8125630
- b _081250B4
-_08125056:
- bl sub_81254E0
- bl sub_81257F8
- bl sub_81257F8
- bl sub_81258A0
- bl sub_8125448
- b _081250B4
-_0812506C:
- bl sub_81256C8
- b _081250B4
-_08125072:
- bl sub_81254E0
- b _081250B4
-_08125078:
- bl sub_81257F8
- b _081250B4
-_0812507E:
- bl sub_81258A0
- b _081250B4
-_08125084:
- bl sub_8125250
- movs r0, 0x3
- bl sub_81250B8
- b _081250B4
-_08125090:
- bl sub_81254E0
- bl sub_81257F8
- bl sub_81258A0
- bl sub_8125448
- bl sub_81252E8
- bl sub_81252E8
- movs r0, 0x2
- bl sub_81250B8
- movs r0, 0x4
- bl sub_8125170
-_081250B4:
- pop {r0}
- bx r0
- thumb_func_end sub_8124F2C
-
- thumb_func_start sub_81250B8
-sub_81250B8: @ 81250B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- mov r8, r0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812514A
- ldr r1, =gUnknown_03006174
- mov r12, r1
- ldr r3, =gUnknown_03006180
- mov r10, r3
- ldr r0, =gUnknown_03006164
- mov r9, r0
-_081250DE:
- ldr r1, =gUnknown_03006178
- ldrb r0, [r1]
- adds r0, r2
- mov r3, r10
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, =gUnknown_03006168
- ldr r1, [r3]
- adds r1, r0
- mov r3, r9
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r4, 0
- adds r5, r2, 0x1
- mov r0, r12
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0812513E
- movs r6, 0x80
- lsls r6, 8
-_0812510A:
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0812512E
- movs r0, 0x1F
- ands r0, r1
- adds r0, r7
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _08125124
- movs r2, 0x1F
-_08125124:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_0812512E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r3, 0x2
- mov r1, r12
- ldrb r1, [r1]
- cmp r4, r1
- bcc _0812510A
-_0812513E:
- lsls r0, r5, 24
- lsrs r2, r0, 24
- mov r3, r8
- ldrb r3, [r3]
- cmp r2, r3
- bcc _081250DE
-_0812514A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81250B8
-
- thumb_func_start sub_8125170
-sub_8125170: @ 8125170
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08125208
- ldr r1, =gUnknown_03006174
- mov r10, r1
-_0812518E:
- ldr r3, =gUnknown_03006178
- ldrb r0, [r3]
- adds r0, r2
- ldr r3, =gUnknown_03006180
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, =gUnknown_03006168
- ldr r1, [r3]
- adds r1, r0
- ldr r3, =gUnknown_03006164
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r5, 0
- adds r7, r2, 0x1
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcs _081251FC
- movs r1, 0x80
- lsls r1, 8
- mov r9, r1
- movs r0, 0x1F
- mov r12, r0
- mov r1, r8
- subs r6, r0, r1
-_081251C4:
- ldrh r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _081251EC
- movs r4, 0x1F
- mov r2, r12
- ands r2, r1
- cmp r2, r6
- ble _081251E2
- mov r1, r8
- lsrs r0, r1, 1
- subs r0, r4, r0
- lsls r0, 24
- lsrs r2, r0, 24
-_081251E2:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_081251EC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r3, 0x2
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcc _081251C4
-_081251FC:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r1, =gUnknown_0300616C
- ldrb r1, [r1]
- cmp r2, r1
- bcc _0812518E
-_08125208:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125170
-
- thumb_func_start sub_8125230
-sub_8125230: @ 8125230
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =0x00000c7f
-_08125236:
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_8125954
- adds r4, 0x1
- cmp r4, r5
- bls _08125236
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125230
-
- thumb_func_start sub_8125250
-sub_8125250: @ 8125250
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081252C2
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125268:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _081252B6
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125294:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _081252A8
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125B28
- strh r0, [r4]
- ldr r3, [sp]
-_081252A8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _08125294
-_081252B6:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125268
-_081252C2:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125250
-
- thumb_func_start sub_81252E8
-sub_81252E8: @ 81252E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812537E
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006180
-_08125300:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- ldrb r0, [r3]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r3]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, r2, 0x1
- cmp r5, r0
- bge _08125372
- ldr r6, =gUnknown_03006180
-_08125336:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0812535C
- ldrb r2, [r6]
- lsls r2, 1
- adds r2, r4, r2
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_8125E18
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r3, [sp, 0x4]
-_0812535C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _08125336
-_08125372:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125300
-_0812537E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81252E8
-
- thumb_func_start sub_81253A4
-sub_81253A4: @ 81253A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08125420
- ldr r0, =gUnknown_03006168
- mov r9, r0
- ldr r3, =gUnknown_03006174
-_081253C4:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r9
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _08125414
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_081253F0:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _08125406
- adds r0, r4, 0
- mov r1, r8
- str r3, [sp]
- bl sub_8125B5C
- strh r0, [r4]
- ldr r3, [sp]
-_08125406:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _081253F0
-_08125414:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081253C4
-_08125420:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81253A4
- thumb_func_start sub_8125448
-sub_8125448: @ 8125448
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081254BA
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125460:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _081254AE
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_0812548C:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _081254A0
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125C68
- strh r0, [r4]
- ldr r3, [sp]
-_081254A0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _0812548C
-_081254AE:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125460
-_081254BA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125448
- thumb_func_start sub_81254E0
-sub_81254E0: @ 81254E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r7, r0
- bcs _0812556C
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_081254F6:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r7
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r5, r1, r0
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8125C98
- strh r0, [r5]
- movs r6, 0x1
- adds r5, r4, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, 0x1
- cmp r6, r0
- bge _08125556
-_0812552E:
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8125C98
- strh r0, [r5]
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r4, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- blt _0812552E
-_08125556:
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- lsls r0, r7, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r7, r0
- bcc _081254F6
-_0812556C:
- movs r6, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0812560C
- ldr r3, =gUnknown_03006168
- mov r9, r3
- ldr r0, =gUnknown_03006180
- mov r8, r0
-_0812557E:
- ldr r0, =gUnknown_03006178
- ldrb r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- muls r0, r1
- lsls r0, 1
- mov r3, r9
- ldr r2, [r3]
- adds r2, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r6
- lsls r0, 1
- adds r5, r2, r0
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- movs r7, 0x1
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- adds r5, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, 0x1
- cmp r7, r0
- bge _081255F0
- ldr r4, =gUnknown_03006180
-_081255BE:
- ldrb r1, [r4]
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- ldrb r1, [r4]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- lsls r0, 1
- adds r5, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- blt _081255BE
-_081255F0:
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- lsls r0, r6, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0812557E
-_0812560C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81254E0
- thumb_func_start sub_8125630
-sub_8125630: @ 8125630
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081256A2
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125648:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _08125696
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125674:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _08125688
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125CC8
- strh r0, [r4]
- ldr r3, [sp]
-_08125688:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _08125674
-_08125696:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125648
-_081256A2:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125630
-
- thumb_func_start sub_81256C8
-sub_81256C8: @ 81256C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gUnknown_03006168
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- adds r5, r0, 0
-_081256E0:
- movs r7, 0
-_081256E2:
- ldrh r0, [r4]
- ands r0, r5
- cmp r0, 0
- bne _081256F2
- adds r0, r4, 0
- bl sub_8125CC8
- strh r0, [r4]
-_081256F2:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _081256E2
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _081256E0
- movs r7, 0
- ldr r1, =gUnknown_03006168
- mov r10, r1
- mov r3, sp
- movs r2, 0x80
- lsls r2, 8
- mov r9, r2
-_08125716:
- lsls r0, r7, 1
- mov r2, r10
- ldr r1, [r2]
- adds r4, r1, r0
- ldrh r1, [r4]
- strh r1, [r3]
- mov r1, r9
- strh r1, [r4]
- movs r6, 0x1
- adds r4, 0x80
- adds r5, r0, 0
-_0812572C:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- ands r0, r2
- cmp r0, 0
- bne _0812574C
- adds r2, r4, 0
- adds r2, 0x80
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_8125F38
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_0812574C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x80
- cmp r6, 0x3E
- bls _0812572C
- mov r0, r9
- strh r0, [r4]
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0, r5
- ldrh r0, [r4]
- strh r0, [r3]
- mov r2, r9
- strh r2, [r4]
- movs r6, 0x1
- adds r4, 0x80
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_08125774:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- adds r5, r4, 0
- adds r5, 0x80
- cmp r0, 0
- bne _08125794
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- str r3, [sp, 0x4]
- bl sub_8125F38
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_08125794:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r5, 0
- cmp r6, 0x3E
- bls _08125774
- mov r2, r9
- strh r2, [r4]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3F
- bls _08125716
- ldr r0, =gUnknown_03006168
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_081257BA:
- movs r7, 0
- adds r5, r6, 0x1
-_081257BE:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _081257D0
- adds r0, r4, 0
- bl sub_8125CC8
- strh r0, [r4]
-_081257D0:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _081257BE
- lsls r0, r5, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _081257BA
- 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 sub_81256C8
-
- thumb_func_start sub_81257F8
-sub_81257F8: @ 81257F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812587A
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_0812580E:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _0812586E
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125846:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _0812585C
- mov r0, sp
- adds r1, r4, 0
- bl sub_8125CF4
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
-_0812585C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _08125846
-_0812586E:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0812580E
-_0812587A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81257F8
-
- thumb_func_start sub_81258A0
-sub_81258A0: @ 81258A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812592E
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r7, =gUnknown_03006180
-_081258B8:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- ldrb r0, [r7]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _08125922
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_081258F2:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- bne _0812590C
- mov r0, sp
- adds r1, r4, 0
- str r2, [sp, 0x4]
- bl sub_8125CF4
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r2, [sp, 0x4]
-_0812590C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _081258F2
-_08125922:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081258B8
-_0812592E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81258A0
-
- thumb_func_start sub_8125954
-sub_8125954: @ 8125954
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r2, sp
- ldr r3, =gUnknown_085A1F94
- lsls r1, r0, 1
- add r1, r10
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- mov r5, sp
- adds r0, r3, 0x2
- adds r1, r0
- ldrb r4, [r1]
- lsls r2, r4, 24
- lsrs r1, r2, 27
- movs r0, 0x7
- ands r1, r0
- strh r1, [r5, 0x2]
- lsrs r2, 25
- mov r9, r2
- movs r0, 0x3
- ands r2, r0
- mov r9, r2
- movs r5, 0x1
- ands r5, r4
- movs r4, 0x1
- mov r8, r4
- cmp r8, r1
- bcs _08125A06
- mov r3, sp
-_081259A6:
- cmp r5, 0
- bne _081259C4
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- mov r4, r8
- subs r0, r4
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- add r0, r8
- b _081259D6
- .pool
-_081259C4:
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- subs r0, 0x1
-_081259D6:
- strb r0, [r1, 0x1]
- add r2, sp
- ldrb r0, [r2]
- cmp r0, 0x3F
- bhi _081259E6
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3F
- bls _081259EE
-_081259E6:
- mov r0, r8
- subs r0, 0x1
- strh r0, [r3, 0x2]
- b _08125A06
-_081259EE:
- ldrh r0, [r3, 0x2]
- mov r1, r8
- subs r0, r1
- strh r0, [r2, 0x2]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r3, 0x2]
- cmp r8, r0
- bcc _081259A6
-_08125A06:
- movs r2, 0
- mov r8, r2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcc _08125A14
- b _08125B16
-_08125A14:
- movs r3, 0x1F
-_08125A16:
- ldr r1, =gUnknown_03006168
- mov r4, r8
- lsls r0, r4, 2
- mov r2, sp
- adds r6, r2, r0
- ldrb r0, [r6, 0x1]
- lsls r0, 7
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r6]
- lsls r0, 1
- adds r2, r1, r0
- ldrh r1, [r2]
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _08125B02
- movs r7, 0x1F
- ands r7, r1
- lsls r0, r1, 16
- lsrs r5, r0, 21
- ands r5, r3
- lsrs r4, r0, 26
- ands r4, r3
- mov r0, r9
- cmp r0, 0
- blt _08125AF8
- cmp r0, 0x1
- ble _08125A78
- cmp r0, 0x3
- bgt _08125AF8
- ldrh r0, [r6, 0x2]
- adds r1, r7, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r1, r5, r0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r7, 0x1F
- bls _08125AEC
- movs r7, 0x1F
- b _08125AEC
- .pool
-_08125A78:
- mov r1, r10
- lsls r0, r1, 1
- add r0, r10
- ldr r1, =gUnknown_085A1F94
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsrs r0, 3
- movs r1, 0x7
- ands r0, r1
- movs r1, 0x3
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- cmp r0, 0x1
- beq _08125AC8
- cmp r0, 0x1
- bgt _08125AB0
- cmp r0, 0
- beq _08125AB6
- b _08125AF8
- .pool
-_08125AB0:
- cmp r0, 0x2
- beq _08125ADA
- b _08125AF8
-_08125AB6:
- ldrh r0, [r6, 0x2]
- cmp r7, r0
- bcc _08125AC4
- subs r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- b _08125AF8
-_08125AC4:
- movs r7, 0
- b _08125AF8
-_08125AC8:
- ldrh r0, [r6, 0x2]
- cmp r5, r0
- bcc _08125AD6
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- b _08125AF8
-_08125AD6:
- movs r5, 0
- b _08125AF8
-_08125ADA:
- ldrh r0, [r6, 0x2]
- cmp r4, r0
- bcc _08125AE8
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _08125AF8
-_08125AE8:
- movs r4, 0
- b _08125AF8
-_08125AEC:
- cmp r5, 0x1F
- bls _08125AF2
- movs r5, 0x1F
-_08125AF2:
- cmp r4, 0x1F
- bls _08125AF8
- movs r4, 0x1F
-_08125AF8:
- lsls r0, r4, 10
- lsls r1, r5, 5
- orrs r0, r1
- orrs r7, r0
- strh r7, [r2]
-_08125B02:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcs _08125B16
- b _08125A16
-_08125B16:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8125954
-
- thumb_func_start sub_8125B28
-sub_8125B28: @ 8125B28
- ldrh r2, [r0]
- movs r0, 0x1F
- adds r1, r2, 0
- ands r1, r0
- asrs r3, r2, 5
- ands r3, r0
- asrs r2, 10
- ands r2, r0
- movs r0, 0x4C
- muls r1, r0
- movs r0, 0x97
- muls r0, r3
- adds r1, r0
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r2
- adds r1, r0
- asrs r1, 8
- lsls r0, r1, 10
- lsls r2, r1, 5
- orrs r0, r2
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- thumb_func_end sub_8125B28
-
- thumb_func_start sub_8125B5C
-sub_8125B5C: @ 8125B5C
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _08125B8C
- cmp r3, 0x10
- bhi _08125B8C
- cmp r0, 0x10
- bhi _08125B8C
- adds r0, r4, 0
- bl sub_8125B98
- lsls r0, 16
- lsrs r0, 16
- b _08125B8E
-_08125B8C:
- ldr r0, =0x00007fff
-_08125B8E:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8125B5C
-
- thumb_func_start sub_8125B98
-sub_8125B98: @ 8125B98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _08125C50
- lsls r0, 2
- ldr r1, =_08125BE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08125BE0:
- .4byte _08125BF8
- .4byte _08125C08
- .4byte _08125C18
- .4byte _08125C26
- .4byte _08125C34
- .4byte _08125C42
-_08125BF8:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r6, 0
- movs r1, 0
- mov r8, r1
- b _08125C50
-_08125C08:
- movs r7, 0
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r6, r8
- b _08125C50
-_08125C18:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r7
- b _08125C50
-_08125C26:
- movs r7, 0
- movs r6, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- b _08125C4E
-_08125C34:
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r6
- b _08125C50
-_08125C42:
- movs r7, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
-_08125C4E:
- mov r8, r0
-_08125C50:
- lsls r0, r7, 10
- lsls r1, r6, 5
- orrs r0, r1
- mov r1, r8
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r0, 16
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125B98
-
- thumb_func_start sub_8125C68
-sub_8125C68: @ 8125C68
- push {lr}
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _08125C8C
- cmp r3, 0x10
- bhi _08125C8C
- cmp r0, 0x10
- bhi _08125C8C
- movs r0, 0
- b _08125C8E
-_08125C8C:
- ldr r0, =0x00007fff
-_08125C8E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8125C68
-
- thumb_func_start sub_8125C98
-sub_8125C98: @ 8125C98
- push {r4,lr}
- adds r4, r0, 0
- ldrh r3, [r4]
- cmp r3, 0
- beq _08125CC0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08125CB2
- adds r0, r2, 0
- b _08125CC2
-_08125CB2:
- ldrh r1, [r1]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08125CC0
- ldrh r0, [r4]
- b _08125CC2
-_08125CC0:
- movs r0, 0
-_08125CC2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8125C98
-
- thumb_func_start sub_8125CC8
-sub_8125CC8: @ 8125CC8
- push {r4,lr}
- ldrh r1, [r0]
- movs r0, 0x1F
- movs r3, 0x1F
- ands r3, r1
- lsls r1, 16
- lsrs r2, r1, 21
- lsrs r1, 26
- subs r3, r0, r3
- adds r4, r0, 0
- bics r4, r2
- adds r2, r4, 0
- bics r0, r1
- lsls r0, 10
- lsls r2, 5
- orrs r0, r2
- orrs r0, r3
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8125CC8
-
- thumb_func_start sub_8125CF4
-sub_8125CF4: @ 8125CF4
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r1, 0
- ldrh r4, [r0]
- ldrh r5, [r7]
- lsls r6, r4, 16
- lsls r0, r5, 16
- mov r12, r0
- cmp r4, r5
- beq _08125D66
- mov r2, sp
- movs r3, 0x1F
- movs r1, 0x1F
- adds r0, r1, 0
- ands r0, r4
- strh r0, [r2]
- lsrs r0, r6, 21
- ands r0, r3
- strh r0, [r2, 0x2]
- lsrs r0, r6, 26
- ands r0, r3
- strh r0, [r2, 0x4]
- mov r0, sp
- ands r1, r5
- strh r1, [r0, 0x6]
- mov r1, sp
- mov r2, r12
- lsrs r0, r2, 21
- ands r0, r3
- strh r0, [r1, 0x8]
- lsrs r0, r2, 26
- ands r0, r3
- strh r0, [r1, 0xA]
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0x19
- bls _08125D4E
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0x19
- bls _08125D4E
- mov r0, sp
- ldrh r0, [r0, 0x4]
- cmp r0, 0x19
- bhi _08125D66
-_08125D4E:
- mov r0, sp
- ldrh r0, [r0, 0x6]
- cmp r0, 0x19
- bls _08125D6A
- mov r0, sp
- ldrh r0, [r0, 0x8]
- cmp r0, 0x19
- bls _08125D6A
- mov r0, sp
- ldrh r0, [r0, 0xA]
- cmp r0, 0x19
- bls _08125D6A
-_08125D66:
- ldrh r0, [r7]
- b _08125E10
-_08125D6A:
- movs r4, 0
- add r6, sp, 0xC
- mov r7, sp
- adds r7, 0x6
- adds r5, r6, 0
-_08125D74:
- lsls r2, r4, 1
- mov r1, sp
- adds r0, r1, r2
- adds r1, r7, r2
- ldrh r3, [r0]
- ldrh r0, [r1]
- cmp r3, r0
- bls _08125D8A
- adds r1, r5, r2
- subs r0, r3, r0
- b _08125D8E
-_08125D8A:
- adds r1, r5, r2
- subs r0, r3
-_08125D8E:
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08125D74
- adds r1, r6, 0
- ldrh r0, [r1, 0x2]
- ldrh r3, [r1]
- cmp r3, r0
- bcc _08125DB4
- ldrh r2, [r1, 0x4]
- cmp r3, r2
- bcc _08125DAE
- adds r2, r3, 0
- b _08125DC8
-_08125DAE:
- cmp r0, r2
- bcs _08125DBA
- b _08125DC2
-_08125DB4:
- ldrh r2, [r1, 0x4]
- cmp r0, r2
- bcc _08125DBE
-_08125DBA:
- ldrh r2, [r1, 0x2]
- b _08125DC8
-_08125DBE:
- cmp r2, r3
- bcc _08125DC6
-_08125DC2:
- ldrh r2, [r1, 0x4]
- b _08125DC8
-_08125DC6:
- ldrh r2, [r6]
-_08125DC8:
- mov r0, sp
- ldrh r1, [r0, 0x6]
- lsrs r0, r2, 1
- movs r6, 0x1F
- subs r6, r0
- adds r0, r1, 0
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, sp
- ldrh r0, [r0, 0x8]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- ldrh r0, [r0, 0xA]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- lsls r4, 5
- orrs r0, r4
- orrs r5, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
-_08125E10:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125CF4
-
- thumb_func_start sub_8125E18
-sub_8125E18: @ 8125E18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _08125E40
- ldrh r0, [r2]
- cmp r0, r1
- bne _08125E40
- mov r1, r10
- ldrh r0, [r1]
- b _08125F28
-_08125E40:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _08125EC2
- cmp r1, r6
- bne _08125EC2
- mov r3, r10
- ldrh r0, [r3]
- b _08125F28
-_08125EC2:
- cmp r7, r6
- bls _08125ECA
- subs r0, r7, r6
- b _08125ECC
-_08125ECA:
- subs r0, r6, r7
-_08125ECC:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _08125ED8
- subs r0, r1, r6
- b _08125EDA
-_08125ED8:
- subs r0, r6, r1
-_08125EDA:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _08125EE4
- adds r0, r2, 0
-_08125EE4:
- lsrs r0, 1
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_08125F28:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125E18
-
- thumb_func_start sub_8125F38
-sub_8125F38: @ 8125F38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _08125F60
- ldrh r0, [r2]
- cmp r0, r1
- bne _08125F60
- mov r1, r10
- ldrh r0, [r1]
- b _08126046
-_08125F60:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _08125FE2
- cmp r1, r6
- bne _08125FE2
- mov r3, r10
- ldrh r0, [r3]
- b _08126046
-_08125FE2:
- cmp r7, r6
- bls _08125FEA
- subs r0, r7, r6
- b _08125FEC
-_08125FEA:
- subs r0, r6, r7
-_08125FEC:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _08125FF8
- subs r0, r1, r6
- b _08125FFA
-_08125FF8:
- subs r0, r6, r1
-_08125FFA:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _08126004
- adds r0, r2, 0
-_08126004:
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_08126046:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125F38
thumb_func_start sub_8126058
sub_8126058: @ 8126058
@@ -2793,7 +614,7 @@ _0812653C:
.pool
_0812656C:
adds r0, r4, 0
- bl sub_8125C68
+ bl ConvertToBlackOrWhite
lsls r0, 16
cmp r0, 0
bne _0812657E
diff --git a/asm/pokenav.s b/asm/pokenav.s
index c1cd01c27..1c0c18f7e 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -29324,14 +29324,14 @@ sub_81D5FB4: @ 81D5FB4
mov r9, r0
cmp r0, 0x6
bne _081D5FD2
- bl sub_8087D74
+ bl InitMapFromSavedGame
b _081D605E
_081D5FD2:
bl sub_81D56B0
mov r0, r9
cmp r0, 0x5
bne _081D5FE6
- bl sub_8087D74
+ bl InitMapFromSavedGame
bl sub_81D5710
b _081D605E
_081D5FE6:
@@ -29342,7 +29342,7 @@ _081D5FE6:
ldr r0, =gMapHeader
ldr r0, [r0]
ldr r2, [r0, 0xC]
- ldr r1, =gUnknown_03005DC0
+ ldr r1, =gBackupMapLayout
str r4, [r1, 0x8]
movs r0, 0x1F
str r0, [r1]