summaryrefslogtreecommitdiff
path: root/asm/code_80A26CC.s
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-10-22 10:01:07 -0700
committerGitHub <noreply@github.com>2021-10-22 10:01:07 -0700
commit3e5dd1d047bada52ab0dce2fe58b04e39bcaa1cc (patch)
tree0e40067d711c783ef97667f4a8256f38ab0d4b0a /asm/code_80A26CC.s
parent3f7ee3a806d965fae70fd98f2cd1af13a2e4cf0b (diff)
Death by 74 files (#65)
* death by 74 files * 20% reached * doc move stuff in pokemon * fix undef reference * doc more and plumb a few more constanst for num party members and num moves * that struct is def PokemonMove.. clean up all code with it
Diffstat (limited to 'asm/code_80A26CC.s')
-rw-r--r--asm/code_80A26CC.s5920
1 files changed, 0 insertions, 5920 deletions
diff --git a/asm/code_80A26CC.s b/asm/code_80A26CC.s
index 48d8179..c7d5fd0 100644
--- a/asm/code_80A26CC.s
+++ b/asm/code_80A26CC.s
@@ -4504,5924 +4504,4 @@ _080A4A74: .4byte 0x000003e1
_080A4A78: .4byte 0x0000052a
thumb_func_end sub_80A49E8
- thumb_func_start sub_80A4A7C
-sub_80A4A7C:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080A4AB8
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r2, r0, 0
- adds r2, 0xE4
- ldr r1, _080A4ABC
- strh r1, [r2]
- ldr r1, _080A4AC0
- movs r3, 0x1
- negs r3, r3
- str r3, [sp]
- movs r2, 0
- bl sub_809D600
- movs r0, 0
- bl sub_80A5E8C
- bl GroundMap_Reset
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4AB8: .4byte gUnknown_3001B6C
-_080A4ABC: .4byte 0x0000ffff
-_080A4AC0: .4byte gUnknown_811736C
- thumb_func_end sub_80A4A7C
-
- thumb_func_start sub_80A4AC4
-sub_80A4AC4:
- push {r4,lr}
- bl GroundMap_Reset
- bl sub_80A5EBC
- ldr r4, _080A4AE8
- ldr r0, [r4]
- bl sub_809D648
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4AE8: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4AC4
-
- thumb_func_start GroundMap_Reset
-GroundMap_Reset:
- push {r4,lr}
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- ldr r0, _080A4B2C
- ldr r0, [r0]
- ldr r1, _080A4B30
- bl sub_809D754
- ldr r4, _080A4B34
- ldr r0, [r4]
- cmp r0, 0
- beq _080A4B1E
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A4B1E:
- movs r0, 0
- bl sub_80A5EDC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B2C: .4byte gUnknown_3001B6C
-_080A4B30: .4byte gUnknown_8117538
-_080A4B34: .4byte gUnknown_3001B70
- thumb_func_end GroundMap_Reset
-
- thumb_func_start sub_80A4B38
-sub_80A4B38:
- push {lr}
- bl nullsub_121
- ldr r0, _080A4B50
- ldr r0, [r0]
- cmp r0, 0
- beq _080A4B4A
- bl sub_80A2D68
-_080A4B4A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B50: .4byte gUnknown_3001B70
- thumb_func_end sub_80A4B38
-
- thumb_func_start sub_80A4B54
-sub_80A4B54:
- push {lr}
- ldr r0, _080A4B6C
- ldr r0, [r0]
- cmp r0, 0
- beq _080A4B62
- bl sub_80A2D88
-_080A4B62:
- bl nullsub_122
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B6C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A4B54
-
- thumb_func_start GroundMap_GetStationScript
-GroundMap_GetStationScript:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r5, r3, 0
- lsls r4, 16
- asrs r4, 16
- lsls r6, 16
- asrs r6, 16
- lsls r5, 24
- asrs r5, 24
- adds r0, r4, 0
- bl sub_80A77A0
- ldr r1, _080A4BE0
- adds r0, r4, 0
- bl sub_80A77D0
- mov r9, r0
- ldr r1, _080A4BE4
- str r5, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl Log
- lsls r1, r6, 3
- mov r2, r9
- ldr r0, [r2, 0x4]
- adds r0, r1
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r0, [r0, 0x24]
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- mov r1, r8
- str r0, [r1]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- strh r6, [r1, 0x6]
- strb r5, [r1, 0x8]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4BE0: .4byte gUnknown_8117560
-_080A4BE4: .4byte gUnknown_811756C
- thumb_func_end GroundMap_GetStationScript
-
- thumb_func_start sub_80A4BE8
-sub_80A4BE8:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- movs r2, 0
- movs r3, 0
- bl GroundMap_GetStationScript
- pop {r0}
- bx r0
- thumb_func_end sub_80A4BE8
-
- thumb_func_start GroundMap_ExecuteEvent
-GroundMap_ExecuteEvent:
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- asrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080A4C44
- movs r0, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl Log
- movs r0, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_809D710
- cmp r5, 0
- beq _080A4C2C
- mov r1, sp
- movs r0, 0x5
- strh r0, [r1, 0x4]
-_080A4C2C:
- ldr r0, _080A4C48
- ldr r0, [r0]
- ldr r3, _080A4C4C
- movs r1, 0
- mov r2, sp
- bl GroundScript_ExecutePP
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4C44: .4byte gUnknown_8117594
-_080A4C48: .4byte gUnknown_3001B6C
-_080A4C4C: .4byte gUnknown_81175E0
- thumb_func_end GroundMap_ExecuteEvent
-
- thumb_func_start GroundMap_ExecuteStation
-GroundMap_ExecuteStation:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- lsls r6, 24
- asrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _080A4CB8
- str r6, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl Log
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl GroundMap_GetStationScript
- mov r0, r8
- cmp r0, 0
- beq _080A4C9C
- add r1, sp, 0x8
- movs r0, 0x5
- strh r0, [r1, 0x4]
-_080A4C9C:
- ldr r0, _080A4CBC
- ldr r0, [r0]
- ldr r3, _080A4CC0
- movs r1, 0
- add r2, sp, 0x8
- bl GroundScript_ExecutePP
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4CB8: .4byte gUnknown_81175EC
-_080A4CBC: .4byte gUnknown_3001B6C
-_080A4CC0: .4byte gUnknown_8117644
- thumb_func_end GroundMap_ExecuteStation
-
- thumb_func_start GroundMap_ExecuteEnter
-GroundMap_ExecuteEnter:
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- ldr r1, _080A4D08
- movs r0, 0
- adds r2, r4, 0
- bl Log
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A4BE8
- mov r1, sp
- movs r3, 0
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1, 0x4]
- mov r0, sp
- strh r2, [r0, 0x6]
- strb r3, [r0, 0x8]
- ldr r0, _080A4D0C
- ldr r0, [r0]
- ldr r3, _080A4D10
- movs r1, 0
- mov r2, sp
- bl GroundScript_ExecutePP
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4D08: .4byte gUnknown_8117650
-_080A4D0C: .4byte gUnknown_3001B6C
-_080A4D10: .4byte gUnknown_8117698
- thumb_func_end GroundMap_ExecuteEnter
-
- thumb_func_start sub_80A4D14
-sub_80A4D14:
- push {lr}
- ldr r0, _080A4D28
- ldr r0, [r0]
- bl sub_809D678
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A4D28: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4D14
-
- thumb_func_start sub_80A4D2C
-sub_80A4D2C:
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _080A4D44
- ldr r0, [r0]
- bl sub_809D968
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A4D44: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4D2C
-
- thumb_func_start sub_80A4D48
-sub_80A4D48:
- push {lr}
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080A4D74
- ldr r1, _080A4D70
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- beq _080A4D6C
- cmp r0, 0x8
- bne _080A4D74
-_080A4D6C:
- movs r0, 0
- b _080A4D76
- .align 2, 0
-_080A4D70: .4byte gUnknown_811BAF4
-_080A4D74:
- movs r0, 0x1
-_080A4D76:
- pop {r1}
- bx r1
- thumb_func_end sub_80A4D48
-
- thumb_func_start sub_80A4D7C
-sub_80A4D7C:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0x9
- beq _080A4D94
- cmp r5, 0x9
- bgt _080A4D90
- cmp r5, 0x2
- beq _080A4DB6
- b _080A4DC4
-_080A4D90:
- cmp r5, 0xC
- bne _080A4DC4
-_080A4D94:
- movs r0, 0
- movs r1, 0x27
- bl sub_8001658
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x28
- bl sub_8001658
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 1
- adds r1, r0
- adds r1, r5, r1
- lsls r1, 16
- asrs r5, r1, 16
- b _080A4DC4
-_080A4DB6:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A4DC4
- movs r5, 0x3
-_080A4DC4:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4D7C
-
- thumb_func_start GroundMap_Select
-GroundMap_Select:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- ldr r1, _080A4E38
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- movs r0, 0
- bl sub_80A5EDC
- ldr r4, _080A4E3C
- ldr r0, [r4]
- cmp r0, 0
- beq _080A4E08
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A4E08:
- ldr r0, _080A4E40
- movs r1, 0x6
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r4]
- ldr r0, _080A4E44
- ldr r0, [r0]
- adds r0, 0xE4
- strh r5, [r0]
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _080A4E4C
- ldr r1, _080A4E48
- adds r0, r2, 0
- bl sub_80A2B40
- ldr r0, [r4]
- adds r1, r5, 0
- bl sub_80A2FBC
- b _080A50BA
- .align 2, 0
-_080A4E38: .4byte gUnknown_81176A4
-_080A4E3C: .4byte gUnknown_3001B70
-_080A4E40: .4byte 0x0000055c
-_080A4E44: .4byte gUnknown_3001B6C
-_080A4E48: .4byte gUnknown_8117324
-_080A4E4C:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- ldr r1, _080A4E6C
- adds r6, r0, r1
- ldrh r0, [r6]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _080A4F20
- lsls r0, 2
- ldr r1, _080A4E70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A4E6C: .4byte gUnknown_811BAF4
-_080A4E70: .4byte _080A4E74
- .align 2, 0
-_080A4E74:
- .4byte _080A4F08
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4ECC
- .4byte _080A4ECC
-_080A4EA8:
- ldr r0, _080A4EC0
- ldr r0, [r0]
- ldr r1, _080A4EC4
- bl sub_80A2B40
- ldr r1, _080A4EC8
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- b _080A4F30
- .align 2, 0
-_080A4EC0: .4byte gUnknown_3001B70
-_080A4EC4: .4byte gUnknown_811733C
-_080A4EC8: .4byte gUnknown_2026E4E
-_080A4ECC:
- ldr r4, _080A4EDC
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- negs r1, r1
- ldr r6, _080A4EE0
- b _080A4EEA
- .align 2, 0
-_080A4EDC: .4byte gUnknown_81173C0
-_080A4EE0: .4byte gUnknown_3001B70
-_080A4EE4:
- adds r4, 0xC
- movs r2, 0
- ldrsh r0, [r4, r2]
-_080A4EEA:
- cmp r0, r1
- beq _080A4EF2
- cmp r0, r5
- bne _080A4EE4
-_080A4EF2:
- ldr r0, [r6]
- bl MemoryFree
- movs r0, 0
- str r0, [r6]
- adds r1, r4, 0x4
- ldr r2, [r4, 0x8]
- adds r0, r5, 0
- bl GroundMap_SelectDungeon
- b _080A50BA
-_080A4F08:
- ldr r0, _080A4F18
- ldr r1, _080A4F1C
- movs r2, 0
- ldrsh r3, [r6, r2]
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A4F18: .4byte gUnknown_81176D0
-_080A4F1C: .4byte gUnknown_81176DC
-_080A4F20:
- ldr r0, _080A4FA0
- ldr r0, [r0]
- ldr r1, _080A4FA4
- bl sub_80A2B40
- movs r0, 0x1
- bl sub_80A5EDC
-_080A4F30:
- ldr r5, _080A4FA0
- ldr r0, [r5]
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- bl sub_80A2FBC
- ldr r0, _080A4FA8
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xE8
- movs r1, 0
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- movs r4, 0x80
- lsls r4, 1
- add r4, r12
- movs r3, 0x82
- lsls r3, 1
- add r3, r12
- movs r2, 0x84
- lsls r2, 1
- add r2, r12
- movs r0, 0x86
- lsls r0, 1
- add r0, r12
- str r1, [r0]
- str r1, [r2]
- str r1, [r3]
- str r1, [r4]
- mov r0, r12
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xAD
- beq _080A5034
- cmp r0, 0xAD
- bgt _080A4FC0
- cmp r0, 0xA3
- bgt _080A4FAC
- cmp r0, 0xA2
- bge _080A4FEE
- cmp r0, 0x4
- beq _080A5084
- cmp r0, 0xA1
- beq _080A5084
- b _080A50A2
- .align 2, 0
-_080A4FA0: .4byte gUnknown_3001B70
-_080A4FA4: .4byte gUnknown_8117324
-_080A4FA8: .4byte gUnknown_3001B6C
-_080A4FAC:
- cmp r0, 0xAA
- beq _080A500C
- cmp r0, 0xAA
- bgt _080A4FBA
- cmp r0, 0xA8
- beq _080A500C
- b _080A50A2
-_080A4FBA:
- cmp r0, 0xAB
- beq _080A5018
- b _080A50A2
-_080A4FC0:
- cmp r0, 0xBA
- beq _080A506A
- cmp r0, 0xBA
- bgt _080A4FD6
- cmp r0, 0xAF
- beq _080A5072
- cmp r0, 0xAF
- blt _080A5044
- cmp r0, 0xB0
- beq _080A5060
- b _080A50A2
-_080A4FD6:
- cmp r0, 0xDF
- beq _080A4FEE
- cmp r0, 0xDF
- bgt _080A4FE4
- cmp r0, 0xC0
- beq _080A5020
- b _080A50A2
-_080A4FE4:
- cmp r0, 0xE0
- beq _080A508E
- cmp r0, 0xE1
- beq _080A5096
- b _080A50A2
-_080A4FEE:
- ldr r0, _080A5000
- ldr r0, [r0]
- movs r1, 0x4
- bl sub_80A3BB0
- ldr r1, _080A5004
- ldr r2, _080A5008
- b _080A5050
- .align 2, 0
-_080A5000: .4byte gUnknown_3001B70
-_080A5004: .4byte gUnknown_2026E4E
-_080A5008: .4byte 0x00000808
-_080A500C:
- ldr r0, _080A5014
- ldr r0, [r0]
- b _080A5062
- .align 2, 0
-_080A5014: .4byte gUnknown_3001B70
-_080A5018:
- ldr r0, [r5]
- movs r1, 0x1
- bl sub_80A3BB0
-_080A5020:
- ldr r0, _080A5030
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80A3B80
- b _080A50A2
- .align 2, 0
-_080A5030: .4byte gUnknown_3001B70
-_080A5034:
- ldr r1, _080A503C
- ldr r2, _080A5040
- b _080A5050
- .align 2, 0
-_080A503C: .4byte gUnknown_2026E4E
-_080A5040: .4byte 0x00001010
-_080A5044:
- ldr r0, [r5]
- movs r1, 0x4
- bl sub_80A3BB0
- ldr r1, _080A5058
- ldr r2, _080A505C
-_080A5050:
- adds r0, r2, 0
- strh r0, [r1]
- b _080A50A2
- .align 2, 0
-_080A5058: .4byte gUnknown_2026E4E
-_080A505C: .4byte 0x0000080c
-_080A5060:
- ldr r0, [r5]
-_080A5062:
- movs r1, 0x1
- bl sub_80A3BB0
- b _080A50A2
-_080A506A:
- ldr r0, _080A507C
- ldr r2, _080A5080
- adds r1, r2, 0
- strh r1, [r0]
-_080A5072:
- ldr r0, [r5]
- movs r1, 0x4
- bl sub_80A3BB0
- b _080A50A2
- .align 2, 0
-_080A507C: .4byte gUnknown_2026E4E
-_080A5080: .4byte 0x00001010
-_080A5084:
- ldr r0, [r5]
- movs r1, 0x3
- bl sub_80A3BB0
- b _080A50A2
-_080A508E:
- ldr r0, [r5]
- movs r1, 0x3
- bl sub_80A3BB0
-_080A5096:
- ldr r0, _080A50C0
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80A3B80
-_080A50A2:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A50B4
- adds r0, r1, 0
- bl GroundWeather_Select
-_080A50B4:
- ldr r0, _080A50C4
- bl sub_80A56D8
-_080A50BA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A50C0: .4byte gUnknown_3001B70
-_080A50C4: .4byte gUnknown_81176F8
- thumb_func_end GroundMap_Select
-
- thumb_func_start GroundMap_SelectDungeon
-GroundMap_SelectDungeon:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r1
- mov r10, r2
- lsls r0, 16
- asrs r5, r0, 16
- ldr r1, _080A514C
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- movs r0, 0
- bl sub_80A5EDC
- ldr r7, _080A5150
- ldr r0, [r7]
- cmp r0, 0
- beq _080A5110
- bl sub_80A2D00
- ldr r0, [r7]
- bl MemoryFree
- movs r0, 0
- str r0, [r7]
-_080A5110:
- ldr r0, _080A5154
- movs r1, 0x6
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r7]
- ldr r0, _080A5158
- mov r9, r0
- ldr r0, [r0]
- adds r0, 0xE4
- movs r4, 0
- strh r5, [r0]
- movs r6, 0x1
- negs r6, r6
- cmp r5, r6
- beq _080A5138
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0x63
- bne _080A5160
-_080A5138:
- ldr r1, _080A515C
- adds r0, r2, 0
- bl sub_80A2B40
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_80A2FBC
- b _080A51EC
- .align 2, 0
-_080A514C: .4byte gUnknown_8117700
-_080A5150: .4byte gUnknown_3001B70
-_080A5154: .4byte 0x0000055c
-_080A5158: .4byte gUnknown_3001B6C
-_080A515C: .4byte gUnknown_8117324
-_080A5160:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- ldr r1, _080A5180
- adds r6, r0, r1
- ldrh r0, [r6]
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080A518C
- ldr r0, _080A5184
- ldr r1, _080A5188
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A5180: .4byte gUnknown_811BAF4
-_080A5184: .4byte gUnknown_8117734
-_080A5188: .4byte gUnknown_8117740
-_080A518C:
- ldr r1, _080A51FC
- adds r0, r2, 0
- bl sub_80A2B40
- movs r0, 0x1
- bl sub_80A5EDC
- ldr r0, [r7]
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- mov r2, r8
- mov r3, r10
- bl sub_80A3440
- mov r0, r9
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xE8
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- movs r3, 0x80
- lsls r3, 1
- add r3, r12
- movs r2, 0x82
- lsls r2, 1
- add r2, r12
- movs r1, 0x84
- lsls r1, 1
- add r1, r12
- movs r0, 0x86
- lsls r0, 1
- add r0, r12
- str r4, [r0]
- str r4, [r1]
- str r4, [r2]
- str r4, [r3]
- ldr r0, _080A5200
- bl sub_80A56D8
-_080A51EC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A51FC: .4byte gUnknown_8117354
-_080A5200: .4byte gUnknown_8117754
- thumb_func_end GroundMap_SelectDungeon
-
- thumb_func_start sub_80A5204
-sub_80A5204:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp]
- mov r8, r1
- str r2, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bgt _080A5222
- b _080A53EA
-_080A5222:
- mov r5, r8
- ldr r2, [sp]
- mov r12, r2
- movs r0, 0
- ldr r3, [sp, 0x4]
- ldrb r3, [r3, 0x1]
- str r3, [sp, 0x10]
- ldr r1, [sp, 0x4]
- ldrh r2, [r1, 0xA]
- mov r1, sp
- strh r2, [r1, 0xC]
- movs r1, 0xFF
-_080A523A:
- adds r0, 0x1
- mov r10, r0
- movs r3, 0xFF
- mov r9, r3
-_080A5242:
- mov r0, r12
- strb r1, [r0]
- movs r2, 0x1
- add r12, r2
- movs r3, 0x1
- negs r3, r3
- add r9, r3
- mov r0, r9
- cmp r0, 0
- bge _080A5242
- mov r0, r10
- cmp r0, 0x3
- ble _080A523A
- movs r1, 0
- ldr r2, [sp, 0x10]
- cmp r1, r2
- blt _080A5266
- b _080A53BA
-_080A5266:
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
-_080A526A:
- adds r0, 0x1
- mov r10, r0
- adds r0, r1, 0x1
- str r0, [sp, 0x14]
- movs r0, 0xFF
- movs r2, 0x4
- mov r9, r2
-_080A5278:
- mov r3, r12
- strb r0, [r3]
- movs r2, 0x1
- add r12, r2
- movs r3, 0x1
- negs r3, r3
- add r9, r3
- mov r2, r9
- cmp r2, 0
- bge _080A5278
- movs r3, 0x5
- mov r9, r3
- movs r0, 0
- cmp r1, 0
- bne _080A5308
- cmp r1, r7
- bge _080A5394
-_080A529A:
- ldrb r1, [r5]
- adds r5, 0x1
- cmp r1, 0xBF
- ble _080A52C2
- adds r6, r0, 0
- subs r6, 0xBF
- cmp r1, 0xBF
- ble _080A5300
- adds r2, r1, 0
- subs r2, 0xBF
-_080A52AE:
- ldrb r0, [r5]
- mov r3, r12
- strb r0, [r3]
- adds r5, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A52AE
- b _080A5300
-_080A52C2:
- cmp r1, 0x7F
- ble _080A52E6
- ldrb r4, [r5]
- adds r5, 0x1
- adds r6, r0, 0
- subs r6, 0x7F
- cmp r1, 0x7F
- ble _080A5300
- adds r2, r1, 0
- subs r2, 0x7F
-_080A52D6:
- mov r3, r12
- strb r4, [r3]
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A52D6
- b _080A5300
-_080A52E6:
- movs r2, 0
- adds r6, r0, 0x1
- cmp r2, r1
- bgt _080A5300
- movs r0, 0
- adds r2, r1, 0x1
-_080A52F2:
- mov r3, r12
- strb r0, [r3]
- movs r3, 0x1
- add r12, r3
- subs r2, 0x1
- cmp r2, 0
- bne _080A52F2
-_080A5300:
- adds r0, r6, r1
- cmp r0, r7
- blt _080A529A
- b _080A5394
-_080A5308:
- ldr r4, _080A5340
- add r4, r12
- cmp r0, r7
- bge _080A5394
-_080A5310:
- ldrb r3, [r5]
- adds r5, 0x1
- cmp r3, 0xBF
- ble _080A5344
- adds r6, r0, 0
- subs r6, 0xBF
- cmp r3, 0xBF
- ble _080A538E
- adds r2, r3, 0
- subs r2, 0xBF
-_080A5324:
- ldrb r1, [r5]
- ldrb r0, [r4]
- eors r1, r0
- mov r0, r12
- strb r1, [r0]
- adds r4, 0x1
- adds r5, 0x1
- movs r1, 0x1
- add r12, r1
- subs r2, 0x1
- cmp r2, 0
- bne _080A5324
- b _080A538E
- .align 2, 0
-_080A5340: .4byte 0xffffff00
-_080A5344:
- cmp r3, 0x7F
- ble _080A5372
- ldrb r2, [r5]
- mov r8, r2
- adds r5, 0x1
- adds r6, r0, 0
- subs r6, 0x7F
- cmp r3, 0x7F
- ble _080A538E
- adds r2, r3, 0
- subs r2, 0x7F
-_080A535A:
- ldrb r1, [r4]
- mov r0, r8
- eors r0, r1
- mov r1, r12
- strb r0, [r1]
- adds r4, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A535A
- b _080A538E
-_080A5372:
- movs r2, 0
- adds r6, r0, 0x1
- cmp r2, r3
- bgt _080A538E
- adds r2, r3, 0x1
-_080A537C:
- ldrb r0, [r4]
- mov r1, r12
- strb r0, [r1]
- adds r4, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A537C
-_080A538E:
- adds r0, r6, r3
- cmp r0, r7
- blt _080A5310
-_080A5394:
- add r9, r7
- mov r1, r9
- cmp r1, 0xFF
- bgt _080A53AE
- movs r0, 0xFF
-_080A539E:
- mov r2, r12
- strb r0, [r2]
- movs r3, 0x1
- add r12, r3
- add r9, r3
- mov r1, r9
- cmp r1, 0xFF
- ble _080A539E
-_080A53AE:
- ldr r1, [sp, 0x14]
- mov r0, r10
- ldr r2, [sp, 0x10]
- cmp r1, r2
- bge _080A53BA
- b _080A526A
-_080A53BA:
- ldr r3, [sp, 0x8]
- cmp r0, r3
- bge _080A53E6
- movs r1, 0xFF
-_080A53C2:
- adds r0, 0x1
- mov r10, r0
- movs r0, 0xFF
- mov r9, r0
-_080A53CA:
- mov r2, r12
- strb r1, [r2]
- movs r3, 0x1
- add r12, r3
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r2, r9
- cmp r2, 0
- bge _080A53CA
- mov r0, r10
- ldr r3, [sp, 0x8]
- cmp r0, r3
- blt _080A53C2
-_080A53E6:
- mov r8, r5
- b _080A547E
-_080A53EA:
- ldr r1, [sp]
- movs r0, 0
- ldr r2, [sp, 0x4]
- ldrb r2, [r2, 0x1]
- str r2, [sp, 0x10]
- ldr r3, [sp, 0x4]
- ldrh r2, [r3, 0xA]
- mov r3, sp
- strh r2, [r3, 0xC]
- movs r6, 0xFF
-_080A53FE:
- adds r5, r0, 0x1
- movs r4, 0xFF
-_080A5402:
- strb r6, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A5402
- adds r0, r5, 0
- cmp r0, 0x3
- ble _080A53FE
- movs r4, 0
- ldr r3, [sp, 0x10]
- cmp r4, r3
- bge _080A5460
- ldr r2, [sp, 0x4]
- ldrb r7, [r2]
- movs r3, 0xFF
-_080A5420:
- adds r5, r0, 0x1
- adds r2, r4, 0x1
- movs r4, 0x4
-_080A5426:
- strb r3, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A5426
- movs r4, 0x5
- cmp r7, 0
- beq _080A5444
- movs r6, 0
- adds r0, r7, 0
-_080A543A:
- strb r6, [r1]
- adds r1, 0x1
- subs r0, 0x1
- cmp r0, 0
- bne _080A543A
-_080A5444:
- adds r4, r7
- cmp r4, 0xFF
- bgt _080A5456
- movs r0, 0xFF
-_080A544C:
- strb r0, [r1]
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0xFF
- ble _080A544C
-_080A5456:
- adds r4, r2, 0
- adds r0, r5, 0
- ldr r2, [sp, 0x10]
- cmp r4, r2
- blt _080A5420
-_080A5460:
- ldr r3, [sp, 0x8]
- cmp r0, r3
- bge _080A547E
- movs r6, 0xFF
-_080A5468:
- adds r5, r0, 0x1
- movs r4, 0xFF
-_080A546C:
- strb r6, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A546C
- adds r0, r5, 0
- ldr r2, [sp, 0x8]
- cmp r0, r2
- blt _080A5468
-_080A547E:
- mov r3, sp
- ldrh r3, [r3, 0xC]
- lsls r0, r3, 16
- cmp r0, 0
- bgt _080A548A
- b _080A5590
-_080A548A:
- mov r6, r8
- ldr r0, [sp]
- movs r1, 0x80
- lsls r1, 3
- adds r2, r0, r1
- movs r0, 0
- ldr r3, [sp, 0x10]
- cmp r0, r3
- bge _080A5586
- movs r1, 0xFB
- mov r10, r1
-_080A54A0:
- adds r2, 0x5
- movs r4, 0
- cmp r0, 0
- bne _080A54EC
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- movs r1, 0x1
- mov r9, r1
- cmp r0, r7
- bge _080A5574
-_080A54B4:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0x7F
- ble _080A54DE
- subs r4, 0x7F
- cmp r1, 0x7F
- ble _080A54D6
- movs r5, 0x80
- adds r3, r1, 0
- subs r3, 0x7F
-_080A54C8:
- ldrb r0, [r2]
- orrs r0, r5
- strb r0, [r2]
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A54C8
-_080A54D6:
- adds r4, r1
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- b _080A54E6
-_080A54DE:
- adds r0, r1, 0x1
- adds r2, r0
- adds r0, r4, 0x1
- adds r4, r0, r1
-_080A54E6:
- cmp r4, r7
- blt _080A54B4
- b _080A5574
-_080A54EC:
- ldr r1, _080A5538
- adds r1, r2
- mov r12, r1
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- adds r0, 0x1
- mov r9, r0
- cmp r4, r7
- bge _080A5574
-_080A54FE:
- ldrb r5, [r6]
- adds r6, 0x1
- cmp r5, 0x7F
- ble _080A553C
- subs r4, 0x7F
- cmp r5, 0x7F
- ble _080A556A
- movs r7, 0x80
- movs r0, 0x80
- mov r8, r0
- adds r3, r5, 0
- subs r3, 0x7F
-_080A5516:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- bne _080A552C
- ldrb r0, [r2]
- orrs r0, r7
- strb r0, [r2]
-_080A552C:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A5516
- b _080A556A
- .align 2, 0
-_080A5538: .4byte 0xffffff00
-_080A553C:
- movs r3, 0
- adds r4, 0x1
- cmp r3, r5
- bgt _080A556A
- movs r7, 0x80
- movs r3, 0x80
- mov r8, r3
- adds r3, r5, 0x1
-_080A554C:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- beq _080A5562
- ldrb r0, [r2]
- orrs r0, r7
- strb r0, [r2]
-_080A5562:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A554C
-_080A556A:
- adds r4, r5
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- cmp r4, r7
- blt _080A54FE
-_080A5574:
- mov r1, r10
- subs r0, r1, r7
- adds r2, r0
- mov r0, r9
- ldr r3, [sp, 0x4]
- ldrb r3, [r3, 0x1]
- str r3, [sp, 0x10]
- cmp r0, r3
- blt _080A54A0
-_080A5586:
- mov r8, r6
- ldr r0, [sp, 0x4]
- ldrh r1, [r0, 0xA]
- mov r0, sp
- strh r1, [r0, 0xC]
-_080A5590:
- mov r2, sp
- ldrh r2, [r2, 0xC]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080A568C
- mov r6, r8
- ldr r3, [sp]
- movs r0, 0x80
- lsls r0, 3
- adds r2, r3, r0
- movs r0, 0
- b _080A5684
-_080A55AA:
- adds r2, 0x5
- movs r4, 0
- cmp r0, 0
- bne _080A55F2
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- movs r1, 0x1
- mov r10, r1
- cmp r0, r7
- bge _080A567C
-_080A55BE:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0x7F
- ble _080A55E4
- subs r4, 0x7F
- cmp r1, 0x7F
- ble _080A55E0
- movs r5, 0x40
- adds r3, r1, 0
- subs r3, 0x7F
-_080A55D2:
- ldrb r0, [r2]
- orrs r0, r5
- strb r0, [r2]
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A55D2
-_080A55E0:
- adds r4, r1
- b _080A55EC
-_080A55E4:
- adds r0, r1, 0x1
- adds r2, r0
- adds r0, r4, 0x1
- adds r4, r0, r1
-_080A55EC:
- cmp r4, r7
- blt _080A55BE
- b _080A567C
-_080A55F2:
- ldr r3, _080A5640
- adds r3, r2
- mov r12, r3
- ldr r1, [sp, 0x4]
- ldrb r7, [r1]
- adds r0, 0x1
- mov r10, r0
- cmp r4, r7
- bge _080A567C
-_080A5604:
- ldrb r5, [r6]
- adds r6, 0x1
- cmp r5, 0x7F
- ble _080A5644
- subs r4, 0x7F
- cmp r5, 0x7F
- ble _080A5676
- movs r3, 0x40
- mov r8, r3
- movs r0, 0x40
- mov r9, r0
- adds r3, r5, 0
- subs r3, 0x7F
-_080A561E:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r9
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- bne _080A5636
- ldrb r0, [r2]
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
-_080A5636:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A561E
- b _080A5676
- .align 2, 0
-_080A5640: .4byte 0xffffff00
-_080A5644:
- movs r3, 0
- adds r4, 0x1
- cmp r3, r5
- bgt _080A5676
- movs r3, 0x40
- mov r8, r3
- movs r0, 0x40
- mov r9, r0
- adds r3, r5, 0x1
-_080A5656:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r9
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- beq _080A566E
- ldrb r0, [r2]
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
-_080A566E:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A5656
-_080A5676:
- adds r4, r5
- cmp r4, r7
- blt _080A5604
-_080A567C:
- movs r3, 0xFB
- subs r0, r3, r7
- adds r2, r0
- mov r0, r10
-_080A5684:
- ldr r1, [sp, 0x10]
- cmp r0, r1
- blt _080A55AA
- mov r8, r6
-_080A568C:
- mov r0, r8
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A5204
-
- thumb_func_start sub_80A56A0
-sub_80A56A0:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080A56BC
- ldr r0, [r0]
- adds r1, r3, 0
- bl sub_80A3B80
- pop {r0}
- bx r0
- .align 2, 0
-_080A56BC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56A0
-
- thumb_func_start sub_80A56C0
-sub_80A56C0:
- push {lr}
- adds r2, r0, 0
- ldr r0, _080A56D4
- ldr r0, [r0]
- movs r1, 0
- bl sub_80A4558
- pop {r0}
- bx r0
- .align 2, 0
-_080A56D4: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56C0
-
- thumb_func_start sub_80A56D8
-sub_80A56D8:
- push {lr}
- adds r2, r0, 0
- ldr r0, _080A56EC
- ldr r0, [r0]
- movs r1, 0
- bl sub_80A456C
- pop {r0}
- bx r0
- .align 2, 0
-_080A56EC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56D8
-
- thumb_func_start sub_80A56F0
-sub_80A56F0:
- ldr r1, _080A5700
- ldr r2, [r1]
- adds r2, 0xE8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .align 2, 0
-_080A5700: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A56F0
-
- thumb_func_start sub_80A5704
-sub_80A5704:
- ldr r1, _080A5724
- ldr r3, [r1]
- adds r2, r3, 0
- adds r2, 0xF8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r0, r3, 0
- adds r0, 0xF0
- movs r1, 0
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- bx lr
- .align 2, 0
-_080A5724: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A5704
-
- thumb_func_start sub_80A5728
-sub_80A5728:
- ldr r0, _080A5734
- ldr r0, [r0]
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A5734: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A5728
-
- thumb_func_start sub_80A5738
-sub_80A5738:
- ldr r0, _080A5750
- ldr r0, [r0]
- adds r0, 0xE4
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A5754
- adds r0, r1
- bx lr
- .align 2, 0
-_080A5750: .4byte gUnknown_3001B6C
-_080A5754: .4byte gUnknown_811BAF4
- thumb_func_end sub_80A5738
-
- thumb_func_start sub_80A5758
-sub_80A5758:
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A5768
- ldr r0, [r0]
- cmp r0, 0
- bne _080A576C
- movs r0, 0
- b _080A5772
- .align 2, 0
-_080A5768: .4byte gUnknown_3001B70
-_080A576C:
- bl sub_80A4608
- movs r0, 0x1
-_080A5772:
- pop {r1}
- bx r1
- thumb_func_end sub_80A5758
-
- thumb_func_start sub_80A5778
-sub_80A5778:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _080A578C
- ldr r0, [r0]
- cmp r0, 0
- bne _080A5790
- movs r0, 0
- b _080A5798
- .align 2, 0
-_080A578C: .4byte gUnknown_3001B70
-_080A5790:
- adds r1, r3, 0
- bl sub_80A463C
- movs r0, 0x1
-_080A5798:
- pop {r1}
- bx r1
- thumb_func_end sub_80A5778
-
- thumb_func_start sub_80A579C
-sub_80A579C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r0, _080A5838
- ldr r3, [r0]
- cmp r3, 0
- beq _080A5854
- ldr r0, _080A583C
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xE4
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A5854
- adds r0, r1, 0
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 2
- ldr r0, _080A5840
- adds r4, r0
- adds r0, r3, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80A463C
- ldr r2, [r6]
- mov r12, r2
- movs r0, 0xF0
- lsls r0, 7
- add r0, r12
- str r0, [r6]
- ldr r3, [r6, 0x4]
- movs r7, 0xA0
- lsls r7, 7
- adds r0, r3, r7
- str r0, [r6, 0x4]
- ldr r2, [r5]
- ldr r1, _080A5844
- adds r0, r2, r1
- str r0, [r5]
- ldr r1, [r5, 0x4]
- ldr r7, _080A5848
- adds r0, r1, r7
- str r0, [r5, 0x4]
- movs r7, 0
- ldrsh r0, [r4, r7]
- cmp r0, 0xA
- bne _080A581E
- movs r0, 0x90
- lsls r0, 8
- add r0, r12
- str r0, [r6]
- movs r4, 0xD0
- lsls r4, 7
- adds r0, r3, r4
- str r0, [r6, 0x4]
- ldr r7, _080A584C
- adds r0, r2, r7
- str r0, [r5]
- ldr r2, _080A5850
- adds r0, r1, r2
- str r0, [r5, 0x4]
-_080A581E:
- ldr r1, [r6]
- ldr r0, [r5]
- cmp r1, r0
- ble _080A5828
- str r1, [r5]
-_080A5828:
- ldr r1, [r6, 0x4]
- ldr r0, [r5, 0x4]
- cmp r1, r0
- ble _080A5832
- str r1, [r5, 0x4]
-_080A5832:
- movs r0, 0x1
- b _080A5856
- .align 2, 0
-_080A5838: .4byte gUnknown_3001B70
-_080A583C: .4byte gUnknown_3001B6C
-_080A5840: .4byte gUnknown_811BAF4
-_080A5844: .4byte 0xffff8800
-_080A5848: .4byte 0xffffb000
-_080A584C: .4byte 0xffff7000
-_080A5850: .4byte 0xffff9800
-_080A5854:
- movs r0, 0
-_080A5856:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A579C
-
- thumb_func_start sub_80A585C
-sub_80A585C:
- push {r4-r7,lr}
- adds r7, r1, 0
- ldr r1, _080A5884
- ldr r2, [r1]
- ldr r1, _080A5888
- adds r2, r1
- ldr r1, [r0, 0x4]
- lsls r1, 8
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _080A588C
- adds r1, r0
- ldr r0, [r2]
- adds r5, r0, r1
- ldr r4, [r7, 0x4]
- cmp r0, 0
- bne _080A5890
-_080A587E:
- movs r0, 0x1
- b _080A58C0
- .align 2, 0
-_080A5884: .4byte gUnknown_3001B70
-_080A5888: .4byte 0x00000544
-_080A588C: .4byte 0x00000405
-_080A5890:
- cmp r4, 0
- ble _080A58BE
- movs r1, 0x80
- lsls r1, 1
- mov r12, r1
-_080A589A:
- ldr r2, [r7]
- adds r3, r5, 0
- cmp r2, 0
- ble _080A58B6
- movs r6, 0x80
-_080A58A4:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- adds r3, 0x1
- cmp r0, 0
- bne _080A587E
- subs r2, 0x1
- cmp r2, 0
- bgt _080A58A4
-_080A58B6:
- add r5, r12
- subs r4, 0x1
- cmp r4, 0
- bgt _080A589A
-_080A58BE:
- movs r0, 0
-_080A58C0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A585C
-
- thumb_func_start sub_80A58C8
-sub_80A58C8:
- push {r4-r7,lr}
- adds r7, r1, 0
- ldr r1, _080A58F0
- ldr r2, [r1]
- ldr r1, _080A58F4
- adds r2, r1
- ldr r1, [r0, 0x4]
- lsls r1, 8
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _080A58F8
- adds r1, r0
- ldr r0, [r2]
- adds r5, r0, r1
- ldr r4, [r7, 0x4]
- cmp r0, 0
- bne _080A58FC
-_080A58EA:
- movs r0, 0x1
- b _080A592C
- .align 2, 0
-_080A58F0: .4byte gUnknown_3001B70
-_080A58F4: .4byte 0x00000544
-_080A58F8: .4byte 0x00000405
-_080A58FC:
- cmp r4, 0
- ble _080A592A
- movs r1, 0x80
- lsls r1, 1
- mov r12, r1
-_080A5906:
- ldr r2, [r7]
- adds r3, r5, 0
- cmp r2, 0
- ble _080A5922
- movs r6, 0x40
-_080A5910:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- adds r3, 0x1
- cmp r0, 0
- bne _080A58EA
- subs r2, 0x1
- cmp r2, 0
- bgt _080A5910
-_080A5922:
- add r5, r12
- subs r4, 0x1
- cmp r4, 0
- bgt _080A5906
-_080A592A:
- movs r0, 0
-_080A592C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A58C8
-
- thumb_func_start sub_80A5934
-sub_80A5934:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5958
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4660
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A5958: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5934
-
- thumb_func_start sub_80A595C
-sub_80A595C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5980
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A46C0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A5980: .4byte gUnknown_3001B70
- thumb_func_end sub_80A595C
-
- thumb_func_start sub_80A5984
-sub_80A5984:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _080A599C
- ldr r0, [r0]
- adds r1, r3, 0
- bl sub_80A4720
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080A599C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5984
-
- thumb_func_start sub_80A59A0
-sub_80A59A0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r3, r2, 16
- lsrs r3, 16
- ldr r0, _080A59BC
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4740
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A59BC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A59A0
-
- thumb_func_start GroundMap_Action
-GroundMap_Action:
- push {lr}
- bl nullsub_123
- ldr r0, _080A59D4
- ldr r0, [r0]
- ldr r1, _080A59D8
- bl HandleAction
- pop {r0}
- bx r0
- .align 2, 0
-_080A59D4: .4byte gUnknown_3001B6C
-_080A59D8: .4byte gUnknown_8117770
- thumb_func_end GroundMap_Action
-
- thumb_func_start sub_80A59DC
-sub_80A59DC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r7, _080A5A34
- ldr r0, [r7]
- cmp r0, 0
- bne _080A59F0
- b _080A5E5A
-_080A59F0:
- mov r9, sp
- mov r0, sp
- bl sub_809D248
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A5A04
- str r0, [sp]
- str r0, [sp, 0x4]
-_080A5A04:
- ldr r0, _080A5A38
- mov r8, r0
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r6, r8
- cmp r0, 0xAB
- bne _080A5A1A
- b _080A5BBE
-_080A5A1A:
- cmp r0, 0xAB
- bgt _080A5A46
- cmp r0, 0xA3
- bgt _080A5A3C
- cmp r0, 0xA2
- bge _080A5A76
- cmp r0, 0x4
- bne _080A5A2C
- b _080A5D76
-_080A5A2C:
- cmp r0, 0xA1
- bne _080A5A32
- b _080A5E28
-_080A5A32:
- b _080A5E46
- .align 2, 0
-_080A5A34: .4byte gUnknown_3001B70
-_080A5A38: .4byte gUnknown_3001B6C
-_080A5A3C:
- cmp r0, 0xA8
- beq _080A5AF4
- cmp r0, 0xAA
- beq _080A5AF4
- b _080A5E46
-_080A5A46:
- cmp r0, 0xB0
- bne _080A5A4C
- b _080A5C76
-_080A5A4C:
- cmp r0, 0xB0
- bgt _080A5A5E
- cmp r0, 0xAE
- bne _080A5A56
- b _080A5B58
-_080A5A56:
- cmp r0, 0xAF
- bne _080A5A5C
- b _080A5BD8
-_080A5A5C:
- b _080A5E46
-_080A5A5E:
- cmp r0, 0xDF
- beq _080A5A76
- cmp r0, 0xDF
- bgt _080A5A6E
- cmp r0, 0xBA
- bne _080A5A6C
- b _080A5D18
-_080A5A6C:
- b _080A5E46
-_080A5A6E:
- cmp r0, 0xE0
- bne _080A5A74
- b _080A5DDA
-_080A5A74:
- b _080A5E46
-_080A5A76:
- ldr r3, [r6]
- adds r2, r3, 0
- adds r2, 0xF4
- ldr r1, [r2]
- adds r0, r1, 0x2
- str r0, [r2]
- adds r4, r3, 0
- adds r4, 0xFC
- cmp r0, 0
- bge _080A5A8C
- adds r0, r1, 0x5
-_080A5A8C:
- asrs r1, r0, 2
- ldr r0, [r4]
- adds r0, r1
- str r0, [r4]
- ldr r0, [r2]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2]
- ldr r5, _080A5AF0
- ldr r0, [r5]
- adds r2, r3, 0
- adds r2, 0xF8
- movs r1, 0
- bl sub_80A4580
- ldr r0, [sp]
- str r0, [sp, 0x8]
- ldr r0, [r6]
- adds r0, 0xFC
- ldr r1, [sp, 0x4]
- ldr r0, [r0]
- adds r1, r0
- add r4, sp, 0x8
- str r1, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- ldr r0, [sp]
- str r0, [sp, 0x8]
- ldr r0, [r6]
- adds r0, 0xFC
- ldr r1, [sp, 0x4]
- ldr r0, [r0]
- subs r1, r0
- str r1, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A5DD0
- .align 2, 0
-_080A5AF0: .4byte gUnknown_3001B70
-_080A5AF4:
- ldr r2, [r6]
- adds r3, r2, 0
- adds r3, 0xF0
- adds r0, r2, 0
- adds r0, 0xE8
- ldr r1, [r3]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r3]
- adds r2, 0xF8
- cmp r1, 0
- bge _080A5B0E
- adds r1, 0x7
-_080A5B0E:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r3]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5B20
- adds r0, r1, 0x7
-_080A5B20:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r3]
- ldr r5, _080A5B54
- ldr r0, [r5]
- movs r1, 0
- bl sub_80A4580
- ldr r0, [r6]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x10]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x10
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- movs r1, 0
- b _080A5DD2
- .align 2, 0
-_080A5B54: .4byte gUnknown_3001B70
-_080A5B58:
- adds r4, r3, 0
- adds r4, 0xF0
- adds r0, r3, 0
- adds r0, 0xE8
- ldr r1, [r4]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r4]
- adds r2, r3, 0
- adds r2, 0xF8
- cmp r1, 0
- bge _080A5B72
- adds r1, 0x7
-_080A5B72:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5B84
- adds r0, r1, 0x7
-_080A5B84:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r0, [r7]
- movs r1, 0
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x18]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x18
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- b _080A5DCE
-_080A5BBE:
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, [r7]
- add r4, sp, 0x20
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5BD8:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r3, [r0]
- adds r4, r3, 0
- adds r4, 0xF0
- adds r1, r3, 0
- adds r1, 0xE8
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- adds r5, r3, 0
- adds r5, 0xF4
- adds r1, r3, 0
- adds r1, 0xEC
- ldr r0, [r5]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r5]
- adds r2, r3, 0
- adds r2, 0xF8
- ldr r1, [r4]
- cmp r1, 0
- bge _080A5C12
- adds r1, 0x7
-_080A5C12:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- adds r3, 0xFC
- ldr r1, [r5]
- cmp r1, 0
- bge _080A5C24
- adds r1, 0x7
-_080A5C24:
- asrs r1, 3
- ldr r0, [r3]
- adds r0, r1
- str r0, [r3]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5C36
- adds r0, r1, 0x7
-_080A5C36:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r1, [r5]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5C48
- adds r0, r1, 0x7
-_080A5C48:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r5]
- ldr r0, [r7]
- movs r1, 0
- bl sub_80A4580
- mov r1, r8
- ldr r2, [r1]
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, [sp]
- ldr r1, [r1]
- adds r0, r1
- str r0, [sp, 0x28]
- adds r2, 0xFC
- mov r1, r9
- ldr r0, [r1, 0x4]
- ldr r1, [r2]
- adds r0, r1
- add r4, sp, 0x28
- b _080A5DC2
-_080A5C76:
- adds r4, r3, 0
- adds r4, 0xF0
- adds r1, r3, 0
- adds r1, 0xE8
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- adds r5, r3, 0
- adds r5, 0xF4
- adds r1, r3, 0
- adds r1, 0xEC
- ldr r0, [r5]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r5]
- adds r6, r3, 0
- adds r6, 0xF8
- ldr r1, [r4]
- cmp r1, 0
- bge _080A5CA2
- adds r1, 0x7
-_080A5CA2:
- asrs r1, 3
- ldr r0, [r6]
- adds r0, r1
- str r0, [r6]
- adds r2, r3, 0
- adds r2, 0xFC
- ldr r1, [r5]
- cmp r1, 0
- bge _080A5CB6
- adds r1, 0x7
-_080A5CB6:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5CC8
- adds r0, r1, 0x7
-_080A5CC8:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r1, [r5]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5CDA
- adds r0, r1, 0x7
-_080A5CDA:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r5]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r6, 0
- bl sub_80A4580
- mov r0, r8
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, [sp]
- ldr r1, [r1]
- adds r0, r1
- str r0, [sp, 0x30]
- adds r2, 0xFC
- ldr r0, [sp, 0x4]
- ldr r1, [r2]
- adds r0, r1
- add r4, sp, 0x30
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5D18:
- ldr r0, [r7]
- movs r1, 0x1
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5D3A
- adds r0, r4, 0x4
-_080A5D3A:
- asrs r1, r0, 2
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x3
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x38]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x38
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5D76:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5D98
- adds r0, 0x7
-_080A5D98:
- asrs r1, r0, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x7
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x40]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x40
-_080A5DC2:
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_80A4580
-_080A5DCE:
- ldr r0, [r7]
-_080A5DD0:
- movs r1, 0x1
-_080A5DD2:
- adds r2, r4, 0
- bl sub_80A456C
- b _080A5E52
-_080A5DDA:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5DFC
- adds r0, 0x7
-_080A5DFC:
- asrs r1, r0, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x7
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r0, [r0]
- str r0, [sp, 0x48]
- ldr r0, [sp, 0x4]
- add r2, sp, 0x48
- str r0, [r2, 0x4]
- ldr r0, [r7]
- b _080A5E3E
-_080A5E28:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x50]
- str r1, [sp, 0x54]
- ldr r0, [r7]
- add r2, sp, 0x50
-_080A5E3E:
- movs r1, 0x1
- bl sub_80A456C
- b _080A5E52
-_080A5E46:
- ldr r0, _080A5E6C
- ldr r0, [r0]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
-_080A5E52:
- ldr r0, _080A5E6C
- ldr r0, [r0]
- bl sub_80A4764
-_080A5E5A:
- bl sub_80A60D8
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E6C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A59DC
-
- thumb_func_start sub_80A5E70
-sub_80A5E70:
- push {lr}
- ldr r0, _080A5E88
- ldr r0, [r0]
- cmp r0, 0
- beq _080A5E7E
- bl sub_80A49E8
-_080A5E7E:
- bl sub_80A62D0
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E88: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5E70
-
- thumb_func_start sub_80A5E8C
-sub_80A5E8C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080A5EB4
- movs r0, 0x24
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r5]
- ldr r1, _080A5EB8
- strh r1, [r0]
- movs r1, 0
- strb r1, [r0, 0x2]
- adds r0, r4, 0
- bl sub_80A5EDC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5EB4: .4byte gUnknown_3001B74
-_080A5EB8: .4byte 0x0000ffff
- thumb_func_end sub_80A5E8C
-
- thumb_func_start sub_80A5EBC
-sub_80A5EBC:
- push {r4,lr}
- movs r0, 0
- bl sub_80A5EDC
- ldr r4, _080A5ED8
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5ED8: .4byte gUnknown_3001B74
- thumb_func_end sub_80A5EBC
-
- thumb_func_start sub_80A5EDC
-sub_80A5EDC:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- movs r6, 0x1
- negs r6, r6
- movs r0, 0
- movs r1, 0x1B
- adds r2, r6, 0
- bl sub_80018D8
- ldr r0, _080A5F34
- ldr r1, [r0]
- ldr r0, _080A5F38
- strh r0, [r1]
- strb r5, [r1, 0x2]
- ldr r4, _080A5F3C
- ldr r0, [r4]
- cmp r0, 0
- beq _080A5F12
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A5F12:
- cmp r5, 0
- beq _080A5F2E
- ldr r0, _080A5F40
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- ldr r1, _080A5F44
- bl sub_80A2B40
- ldr r0, [r4]
- adds r1, r6, 0
- bl sub_80A2FBC
-_080A5F2E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5F34: .4byte gUnknown_3001B74
-_080A5F38: .4byte 0x0000ffff
-_080A5F3C: .4byte gUnknown_3001B78
-_080A5F40: .4byte 0x0000055c
-_080A5F44: .4byte gUnknown_8117784
- thumb_func_end sub_80A5EDC
-
- thumb_func_start nullsub_121
-nullsub_121:
- bx lr
- thumb_func_end nullsub_121
-
- thumb_func_start nullsub_122
-nullsub_122:
- bx lr
- thumb_func_end nullsub_122
-
- thumb_func_start GroundWeather_Select
-GroundWeather_Select:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r5, r0, 16
- adds r7, r5, 0
- ldr r1, _080A5F94
- ldr r6, _080A5F98
- ldr r0, [r6]
- ldrb r3, [r0, 0x2]
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x1B
- adds r2, r5, 0
- bl sub_80018D8
- ldr r0, [r6]
- movs r4, 0
- strh r5, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _080A5F80
- b _080A60B4
-_080A5F80:
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _080A5FA0
- ldr r0, _080A5F9C
- ldr r0, [r0]
- adds r1, r5, 0
- bl sub_80A2FBC
- b _080A60B4
- .align 2, 0
-_080A5F94: .4byte gUnknown_811779C
-_080A5F98: .4byte gUnknown_3001B74
-_080A5F9C: .4byte gUnknown_3001B78
-_080A5FA0:
- lsls r1, r7, 2
- ldr r0, _080A5FD8
- adds r5, r1, r0
- ldr r0, _080A5FDC
- ldr r0, [r0]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_80A2FBC
- ldr r0, [r6]
- str r4, [r0, 0x4]
- str r4, [r0, 0x8]
- str r4, [r0, 0xC]
- str r4, [r0, 0x10]
- str r4, [r0, 0x20]
- str r4, [r0, 0x1C]
- str r4, [r0, 0x18]
- str r4, [r0, 0x14]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xF
- bhi _080A6098
- lsls r0, 2
- ldr r1, _080A5FE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A5FD8: .4byte gUnknown_811E5F4
-_080A5FDC: .4byte gUnknown_3001B78
-_080A5FE0: .4byte _080A5FE4
- .align 2, 0
-_080A5FE4:
- .4byte _080A6088
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6088
- .4byte _080A6088
- .4byte _080A6088
- .4byte _080A6098
- .4byte _080A6040
- .4byte _080A6088
- .4byte _080A6024
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6050
- .4byte _080A606C
-_080A6024:
- ldr r0, _080A6034
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6038
- ldr r2, _080A603C
- b _080A60B0
- .align 2, 0
-_080A6034: .4byte gUnknown_3001B78
-_080A6038: .4byte gUnknown_2026E4E
-_080A603C: .4byte 0x0000040c
-_080A6040:
- ldr r1, _080A6048
- ldr r2, _080A604C
- b _080A60B0
- .align 2, 0
-_080A6048: .4byte gUnknown_2026E4E
-_080A604C: .4byte 0x00000808
-_080A6050:
- ldr r0, _080A6060
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6064
- ldr r2, _080A6068
- b _080A60B0
- .align 2, 0
-_080A6060: .4byte gUnknown_3001B78
-_080A6064: .4byte gUnknown_2026E4E
-_080A6068: .4byte 0x00001010
-_080A606C:
- ldr r0, _080A607C
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6080
- ldr r2, _080A6084
- b _080A60B0
- .align 2, 0
-_080A607C: .4byte gUnknown_3001B78
-_080A6080: .4byte gUnknown_2026E4E
-_080A6084: .4byte 0x0000040c
-_080A6088:
- ldr r1, _080A6090
- ldr r2, _080A6094
- b _080A60B0
- .align 2, 0
-_080A6090: .4byte gUnknown_2026E4E
-_080A6094: .4byte 0x00001010
-_080A6098:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080A60AA
- ldr r0, _080A60BC
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
-_080A60AA:
- ldr r1, _080A60C0
- movs r2, 0x80
- lsls r2, 5
-_080A60B0:
- adds r0, r2, 0
- strh r0, [r1]
-_080A60B4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A60BC: .4byte gUnknown_3001B78
-_080A60C0: .4byte gUnknown_2026E4E
- thumb_func_end GroundWeather_Select
-
- thumb_func_start sub_80A60C4
-sub_80A60C4:
- ldr r0, _080A60D0
- ldr r0, [r0]
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A60D0: .4byte gUnknown_3001B74
- thumb_func_end sub_80A60C4
-
- thumb_func_start nullsub_123
-nullsub_123:
- bx lr
- thumb_func_end nullsub_123
-
- thumb_func_start sub_80A60D8
-sub_80A60D8:
- push {r4-r6,lr}
- sub sp, 0x28
- ldr r0, _080A6104
- ldr r3, [r0]
- ldrb r1, [r3, 0x2]
- adds r6, r0, 0
- cmp r1, 0
- bne _080A60EA
- b _080A62C0
-_080A60EA:
- ldrh r0, [r3]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bls _080A60F8
- b _080A6278
-_080A60F8:
- lsls r0, 2
- ldr r1, _080A6108
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A6104: .4byte gUnknown_3001B74
-_080A6108: .4byte _080A610C
- .align 2, 0
-_080A610C:
- .4byte _080A62AC
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6150
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61D0
- .4byte _080A6224
-_080A6150:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x2
- str r0, [r2, 0x4]
- ldr r4, [r2, 0x8]
- adds r3, r4, 0x1
- str r3, [r2, 0x8]
- cmp r0, 0
- bge _080A6164
- adds r0, r1, 0x5
-_080A6164:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- adds r1, r3, 0
- cmp r1, 0
- bge _080A6174
- adds r1, r4, 0x4
-_080A6174:
- asrs r1, 2
- ldr r0, [r2, 0x10]
- adds r0, r1
- str r0, [r2, 0x10]
- ldr r4, _080A61C8
- ldr r0, [r4]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r1, [r6]
- ldr r0, [r1, 0x4]
- movs r2, 0x3
- ands r0, r2
- str r0, [r1, 0x4]
- ldr r0, [r1, 0x8]
- ands r0, r2
- str r0, [r1, 0x8]
- mov r0, sp
- bl sub_80A56C0
- ldr r2, [r6]
- ldr r0, [sp]
- ldr r1, [r2, 0xC]
- subs r0, r1
- str r0, [sp]
- ldr r0, [sp, 0x4]
- ldr r1, [r2, 0x10]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r4]
- movs r1, 0
- mov r2, sp
- bl sub_80A4580
- ldr r0, [r4]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- b _080A62B8
- .align 2, 0
-_080A61C8: .4byte gUnknown_3001B78
-_080A61CC:
- add r4, sp, 0x8
- b _080A628E
-_080A61D0:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x1
- str r0, [r2, 0x4]
- cmp r0, 0
- bge _080A61DE
- adds r0, r1, 0x4
-_080A61DE:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- ldr r5, _080A6220
- ldr r0, [r5]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2, 0x4]
- add r4, sp, 0x10
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r1, [r6]
- ldr r0, [sp, 0x10]
- ldr r1, [r1, 0xC]
- subs r0, r1
- str r0, [sp, 0x10]
- movs r0, 0
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A6298
- .align 2, 0
-_080A6220: .4byte gUnknown_3001B78
-_080A6224:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x2
- str r0, [r2, 0x4]
- cmp r0, 0
- bge _080A6232
- adds r0, r1, 0x5
-_080A6232:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- ldr r5, _080A6274
- ldr r0, [r5]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2, 0x4]
- add r4, sp, 0x18
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r1, [r6]
- ldr r0, [sp, 0x18]
- ldr r1, [r1, 0xC]
- subs r0, r1
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A6298
- .align 2, 0
-_080A6274: .4byte gUnknown_3001B78
-_080A6278:
- ldr r0, [r6]
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 2
- ldr r1, _080A62A4
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A62AC
- add r4, sp, 0x20
-_080A628E:
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r0, _080A62A8
- ldr r0, [r0]
-_080A6298:
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- b _080A62B8
- .align 2, 0
-_080A62A4: .4byte gUnknown_811E5F4
-_080A62A8: .4byte gUnknown_3001B78
-_080A62AC:
- ldr r0, _080A62C8
- ldr r0, [r0]
- ldr r2, _080A62CC
- movs r1, 0
- bl sub_80A456C
-_080A62B8:
- ldr r0, _080A62C8
- ldr r0, [r0]
- bl sub_80A4764
-_080A62C0:
- add sp, 0x28
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A62C8: .4byte gUnknown_3001B78
-_080A62CC: .4byte gUnknown_81177BC
- thumb_func_end sub_80A60D8
-
- thumb_func_start sub_80A62D0
-sub_80A62D0:
- push {lr}
- ldr r0, _080A62E8
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080A62E4
- ldr r0, _080A62EC
- ldr r0, [r0]
- bl sub_80A49E8
-_080A62E4:
- pop {r0}
- bx r0
- .align 2, 0
-_080A62E8: .4byte gUnknown_3001B74
-_080A62EC: .4byte gUnknown_3001B78
- thumb_func_end sub_80A62D0
-
- thumb_func_start sub_80A62F0
-sub_80A62F0:
- push {r4-r7,lr}
- ldr r4, _080A6378
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- ldr r0, _080A637C
- ldr r1, _080A6380
- bl OpenFileAndGetFileDataPtr
- ldr r1, _080A6384
- str r0, [r1]
- movs r0, 0x1
- bl sub_800DAC0
- ldr r4, [r4]
- ldr r1, _080A6388
- movs r0, 0x16
- str r0, [r1]
- ldr r1, _080A638C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0
- movs r2, 0
- movs r1, 0x80
- lsls r1, 9
- adds r3, r1, 0
-_080A632A:
- str r2, [r4]
- lsls r0, 4
- str r0, [r4, 0x4]
- str r2, [r4, 0x8]
- adds r0, r1, 0
- adds r1, r3
- asrs r0, 16
- adds r4, 0xC
- cmp r0, 0x15
- ble _080A632A
- ldr r0, _080A6378
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 1
- adds r4, r0, r1
- movs r6, 0
- movs r7, 0
- movs r5, 0xE8
- lsls r5, 13
-_080A6350:
- strh r7, [r4]
- strh r7, [r4, 0x2]
- lsrs r0, r5, 16
- movs r1, 0
- bl sub_80997F4
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r6, 0x1
- adds r4, 0x4
- cmp r6, 0x1
- ble _080A6350
- movs r0, 0x1
- negs r0, r0
- bl GroundSprite_Reset
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6378: .4byte gUnknown_3001B7C
-_080A637C: .4byte gUnknown_81177CC
-_080A6380: .4byte gDungeonFileArchive
-_080A6384: .4byte gUnknown_203B4B4
-_080A6388: .4byte gUnknown_2039DD4
-_080A638C: .4byte gUnknown_2039DD0
- thumb_func_end sub_80A62F0
-
- thumb_func_start GroundSprite_Reset
-GroundSprite_Reset:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- ldr r1, _080A641C
- movs r0, 0
- bl Log
- ldr r0, _080A6420
- movs r1, 0
- mov r8, r1
- strh r1, [r0]
- ldr r0, _080A6424
- strh r1, [r0]
- bl sub_80A6460
- mov r0, r9
- bl sub_80A4D48
- lsls r0, 24
- movs r1, 0x2
- cmp r0, 0
- beq _080A63C6
- movs r1, 0x3
-_080A63C6:
- movs r0, 0xF8
- lsls r0, 1
- bl sub_808E53C
- ldr r5, _080A6428
- adds r0, r5, 0
- bl sub_8004E8C
- ldr r4, _080A642C
- adds r0, r4, 0
- bl sub_8004E8C
- ldrh r1, [r4, 0x4]
- ldr r6, _080A6430
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r4, 0x4]
- ldrh r1, [r4, 0xA]
- adds r0, r6, 0
- ands r0, r1
- movs r2, 0x80
- lsls r2, 4
- adds r7, r2, 0
- orrs r0, r7
- strh r0, [r4, 0xA]
- mov r0, r9
- bl sub_80A4D48
- lsls r0, 24
- cmp r0, 0
- beq _080A6434
- ldrh r1, [r5, 0x4]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r5, 0x4]
- ldrh r1, [r5, 0xA]
- adds r0, r6, 0
- ands r0, r1
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- orrs r0, r1
- b _080A6444
- .align 2, 0
-_080A641C: .4byte gUnknown_81177D8
-_080A6420: .4byte gUnknown_2039DCC
-_080A6424: .4byte gUnknown_2039DCE
-_080A6428: .4byte gUnknown_2039DB0
-_080A642C: .4byte gUnknown_2039DC0
-_080A6430: .4byte 0x0000f3ff
-_080A6434:
- ldrh r1, [r5, 0x4]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r5, 0x4]
- ldrh r1, [r5, 0xA]
- adds r0, r6, 0
- ands r0, r1
- orrs r0, r7
-_080A6444:
- strh r0, [r5, 0xA]
- movs r0, 0x1
- bl ResetSprites
- movs r0, 0x1
- bl nullsub_10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GroundSprite_Reset
-
- thumb_func_start sub_80A6460
-sub_80A6460:
- push {r4-r7,lr}
- ldr r0, _080A649C
- ldr r1, _080A64A0
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- movs r5, 0x80
- lsls r5, 1
- ldr r4, [r7, 0x4]
- movs r6, 0xC
-_080A6474:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_809971C
- adds r0, r5, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x40
- subs r6, 0x1
- cmp r6, 0
- bge _080A6474
- adds r0, r7, 0
- bl CloseFile
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A649C: .4byte gUnknown_81177EC
-_080A64A0: .4byte gMonsterFileArchive
- thumb_func_end sub_80A6460
-
- thumb_func_start sub_80A64A4
-sub_80A64A4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _080A6508
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 1
- adds r7, r0, r1
- bl sub_80A6460
- movs r0, 0
- mov r8, r0
-_080A64C0:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r0, 0
- ble _080A6568
- ldrh r5, [r7]
- mov r0, r8
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r1, r8
- lsls r0, r1, 20
- movs r1, 0xE8
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- mov r9, r0
- movs r0, 0x80
- lsls r0, 2
- adds r1, r0, 0
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080A6514
- ldr r0, _080A650C
- ldr r1, _080A6510
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 6
- ldr r1, [r6, 0x4]
- adds r2, r1, r0
- b _080A652A
- .align 2, 0
-_080A6508: .4byte gUnknown_3001B7C
-_080A650C: .4byte gUnknown_81177EC
-_080A6510: .4byte gMonsterFileArchive
-_080A6514:
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 2
- ldr r1, _080A6584
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080A6588
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- ldr r2, [r6, 0x4]
-_080A652A:
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 16
- lsrs r1, 16
- negs r1, r1
- lsrs r4, r1, 31
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- ands r5, r0
- cmp r5, 0
- beq _080A654C
- movs r0, 0x2
- orrs r4, r0
-_080A654C:
- mov r0, r9
- adds r1, r2, 0
- movs r2, 0x10
- bl sub_809971C
- mov r0, r10
- adds r1, r4, 0
- bl sub_80997F4
- cmp r6, 0
- beq _080A6568
- adds r0, r6, 0
- bl CloseFile
-_080A6568:
- movs r0, 0x1
- add r8, r0
- adds r7, 0x4
- mov r1, r8
- cmp r1, 0x1
- ble _080A64C0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6584: .4byte gUnknown_81178F4
-_080A6588: .4byte gOrnamentFileArchive
- thumb_func_end sub_80A64A4
-
- thumb_func_start sub_80A658C
-sub_80A658C:
- push {r4,lr}
- bl sub_800DB7C
- movs r0, 0
- bl ResetSprites
- movs r0, 0
- bl nullsub_10
- bl sub_8005180
- bl nullsub_12
- bl CopySpritesToOam
- bl nullsub_13
- bl sub_8005304
- bl nullsub_14
- ldr r0, _080A65D0
- ldr r0, [r0]
- bl CloseFile
- ldr r4, _080A65D4
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A65D0: .4byte gUnknown_203B4B4
-_080A65D4: .4byte gUnknown_3001B7C
- thumb_func_end sub_80A658C
-
- thumb_func_start sub_80A65D8
-sub_80A65D8:
- adds r0, 0x50
- ldrh r0, [r0]
- bx lr
- thumb_func_end sub_80A65D8
-
- thumb_func_start sub_80A65E0
-sub_80A65E0:
- lsrs r0, 16
- ldr r2, _080A65EC
- adds r1, r2, 0
- ands r0, r1
- bx lr
- .align 2, 0
-_080A65EC: .4byte 0x0000337f
- thumb_func_end sub_80A65E0
-
- thumb_func_start sub_80A65F0
-sub_80A65F0:
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, 0x50
- strh r1, [r0]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- asrs r2, r0, 31
- movs r0, 0x40
- ands r2, r0
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6616
- subs r2, 0x40
-_080A6616:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6624
- adds r1, r2, 0
- adds r1, 0x48
- b _080A6628
-_080A6624:
- adds r1, r2, 0
- adds r1, 0x40
-_080A6628:
- adds r0, r3, 0
- adds r0, 0x6A
- strh r1, [r0]
- adds r2, r3, 0
- adds r2, 0x50
- ldrh r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080A6648
- adds r1, r3, 0
- adds r1, 0x3C
- ldr r0, _080A6644
- b _080A664E
- .align 2, 0
-_080A6644: .4byte gUnknown_2039DC0
-_080A6648:
- adds r1, r3, 0
- adds r1, 0x3C
- ldr r0, _080A6680
-_080A664E:
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldrh r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080A6678
- ldrh r2, [r3, 0x3C]
- ldr r1, _080A6684
- adds r0, r1, 0
- ands r0, r2
- strh r0, [r3, 0x3C]
- adds r2, r3, 0
- adds r2, 0x42
- ldrh r0, [r2]
- ands r1, r0
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- orrs r1, r0
- strh r1, [r2]
-_080A6678:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6680: .4byte gUnknown_2039DB0
-_080A6684: .4byte 0x0000f3ff
- thumb_func_end sub_80A65F0
-
- thumb_func_start sub_80A6688
-sub_80A6688:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- bl sub_80A65E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80A65F0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6688
-
- thumb_func_start sub_80A66A4
-sub_80A66A4:
- push {lr}
- movs r1, 0
- adds r0, 0x48
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- ble _080A66B4
- movs r1, 0x1
-_080A66B4:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A66A4
-
- thumb_func_start sub_80A66BC
-sub_80A66BC:
- push {lr}
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080A66CC
- movs r0, 0
- b _080A66CE
-_080A66CC:
- movs r0, 0x1
-_080A66CE:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66BC
-
- thumb_func_start sub_80A66D4
-sub_80A66D4:
- push {lr}
- adds r1, r0, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080A66F2
- adds r0, r1, 0
- adds r0, 0x48
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _080A66F2
- movs r0, 0x1
- b _080A66F4
-_080A66F2:
- movs r0, 0
-_080A66F4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66D4
-
- thumb_func_start sub_80A66F8
-sub_80A66F8:
- push {lr}
- adds r1, r0, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- blt _080A6716
- ldrh r1, [r1]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- bne _080A6716
- lsrs r0, r1, 15
- b _080A6718
-_080A6716:
- movs r0, 0
-_080A6718:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66F8
-
- thumb_func_start sub_80A671C
-sub_80A671C:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r4, 0
- adds r6, 0x58
- movs r0, 0
- ldrsh r1, [r6, r0]
- cmp r1, 0
- beq _080A6752
- movs r0, 0xE0
- lsls r0, 1
- cmp r1, r0
- beq _080A674A
- ldr r0, [r4, 0x5C]
- movs r5, 0x1
- negs r5, r5
- cmp r0, r5
- beq _080A674A
- bl sub_800E9E4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080A674E
-_080A674A:
- movs r0, 0x1
- b _080A6754
-_080A674E:
- str r5, [r4, 0x5C]
- strh r0, [r6]
-_080A6752:
- movs r0, 0
-_080A6754:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A671C
-
- thumb_func_start sub_80A675C
-sub_80A675C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r1, 0
- mov r0, sp
- bl sub_809D248
- lsls r0, 24
- cmp r0, 0
- beq _080A678C
- ldr r1, [r6]
- cmp r1, 0
- bge _080A6776
- adds r1, 0xFF
-_080A6776:
- asrs r1, 8
- ldr r0, [sp]
- subs r4, r1, r0
- ldr r1, [r6, 0x4]
- cmp r1, 0
- bge _080A6784
- adds r1, 0xFF
-_080A6784:
- asrs r1, 8
- ldr r0, [sp, 0x4]
- subs r5, r1, r0
- b _080A67A0
-_080A678C:
- ldr r0, [r6]
- cmp r0, 0
- bge _080A6794
- adds r0, 0xFF
-_080A6794:
- asrs r4, r0, 8
- ldr r1, [r6, 0x4]
- cmp r1, 0
- bge _080A679E
- adds r1, 0xFF
-_080A679E:
- asrs r5, r1, 8
-_080A67A0:
- adds r1, r4, 0
- adds r1, 0x40
- ldr r0, _080A67BC
- cmp r1, r0
- bhi _080A67C0
- movs r0, 0x10
- negs r0, r0
- cmp r5, r0
- blt _080A67C0
- cmp r5, 0xCF
- bgt _080A67C0
- movs r0, 0x1
- b _080A67C2
- .align 2, 0
-_080A67BC: .4byte 0x0000016f
-_080A67C0:
- movs r0, 0
-_080A67C2:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A675C
-
- thumb_func_start sub_80A67CC
-sub_80A67CC:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r7, 0
- cmp r5, 0
- beq _080A67E2
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- ble _080A67E2
- movs r7, 0x1
-_080A67E2:
- adds r0, r2, 0
- bl sub_80A65E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80A65F0
- movs r1, 0
- str r1, [r4, 0x74]
- str r1, [r4, 0x78]
- movs r6, 0x1
- negs r6, r6
- str r6, [r4, 0x7C]
- adds r0, r4, 0
- adds r0, 0x70
- strb r1, [r0]
- subs r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r2, r4, 0
- adds r2, 0x52
- ldr r0, _080A6884
- strh r0, [r2]
- str r1, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x64
- strh r1, [r0]
- adds r2, 0x14
- adds r0, r6, 0
- adds r3, r0, 0
- strh r0, [r2]
- adds r0, r4, 0
- adds r0, 0x68
- strh r1, [r0]
- subs r0, 0x10
- strh r1, [r0]
- adds r1, r4, 0
- adds r1, 0x5A
- movs r0, 0xFF
- strb r0, [r1]
- str r6, [r4, 0x5C]
- str r6, [r4, 0x60]
- cmp r7, 0
- beq _080A6888
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r4, 0x48]
- str r1, [r4, 0x4C]
- adds r5, r4, 0
- adds r5, 0x48
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- bne _080A689A
- adds r0, r4, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- bne _080A689A
- adds r0, r5, 0
- bl sub_80A6CF4
- lsls r0, 24
- cmp r0, 0
- beq _080A689A
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80A68F8
- b _080A689A
- .align 2, 0
-_080A6884: .4byte 0x0000ffff
-_080A6888:
- adds r1, r4, 0
- adds r1, 0x48
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x4A
- strh r7, [r0]
- str r7, [r4, 0x4C]
-_080A689A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A67CC
-
- thumb_func_start sub_80A68A0
-sub_80A68A0:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A68CE
- adds r0, r4, 0
- adds r0, 0x58
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080A68CE
- ldr r1, [r4, 0x5C]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A68CE
- adds r0, r1, 0
- bl sub_800DC14
-_080A68CE:
- ldr r0, [r4, 0x54]
- cmp r0, 0
- beq _080A68DC
- bl CloseFile
- movs r0, 0
- str r0, [r4, 0x54]
-_080A68DC:
- adds r0, r4, 0
- bl sub_80A69FC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A68A0
-
- thumb_func_start sub_80A68E8
-sub_80A68E8:
- push {lr}
- movs r0, 0x15
-_080A68EC:
- subs r0, 0x1
- cmp r0, 0
- bge _080A68EC
- pop {r0}
- bx r0
- thumb_func_end sub_80A68E8
-
- thumb_func_start sub_80A68F8
-sub_80A68F8:
- push {r4-r7,lr}
- mov r12, r0
- adds r5, r2, 0
- ldr r0, _080A6924
- ldr r4, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, r5
- blt _080A6956
- adds r5, r0, 0
- movs r3, 0
- ldr r0, [r4]
- mov r6, r12
- adds r6, 0x52
- mov r7, r12
- adds r7, 0x64
- cmp r0, 0
- bne _080A6928
- movs r2, 0x1
- cmp r2, r5
- blt _080A692A
- b _080A6986
- .align 2, 0
-_080A6924: .4byte gUnknown_3001B7C
-_080A6928:
- movs r2, 0
-_080A692A:
- adds r0, r3, 0x1
- lsls r0, 16
- asrs r3, r0, 16
- adds r4, 0xC
- cmp r3, 0x15
- bgt _080A6986
- ldr r0, [r4]
- cmp r0, 0
- bne _080A6928
- adds r2, 0x1
- cmp r2, r5
- blt _080A692A
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- subs r0, 0xC
- subs r4, r0
- adds r0, r3, 0x1
- subs r0, r2
- lsls r0, 16
- asrs r3, r0, 16
- b _080A6986
-_080A6956:
- movs r3, 0x15
- adds r4, 0xFC
- ldr r0, [r4]
- mov r6, r12
- adds r6, 0x52
- mov r7, r12
- adds r7, 0x64
- cmp r0, 0
- bne _080A696C
- movs r2, 0x1
- b _080A6982
-_080A696C:
- movs r2, 0
-_080A696E:
- subs r0, r3, 0x1
- lsls r0, 16
- asrs r3, r0, 16
- subs r4, 0xC
- cmp r3, 0
- blt _080A6986
- ldr r0, [r4]
- cmp r0, 0
- bne _080A696C
- adds r2, 0x1
-_080A6982:
- cmp r2, r5
- blt _080A696E
-_080A6986:
- cmp r2, r5
- blt _080A69C4
- strh r3, [r6]
- strh r5, [r7]
- movs r0, 0x1
- str r0, [r4]
- mov r0, r12
- str r0, [r4, 0x8]
- ldrh r1, [r1, 0x2]
- bl GroundSprite_ExtendPaletteAdd
- cmp r5, 0x1
- ble _080A69B2
- movs r2, 0x2
- adds r0, r4, 0
- adds r0, 0xC
- subs r1, r5, 0x1
-_080A69A8:
- str r2, [r0]
- adds r0, 0xC
- subs r1, 0x1
- cmp r1, 0
- bne _080A69A8
-_080A69B2:
- ldr r1, _080A69C0
- ldr r0, [r1]
- subs r0, r5
- str r0, [r1]
- movs r0, 0x1
- b _080A69EC
- .align 2, 0
-_080A69C0: .4byte gUnknown_2039DD4
-_080A69C4:
- ldr r1, _080A69F4
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r0, r12
- adds r0, 0x70
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A69F8
- strh r0, [r6]
- strh r1, [r7]
- mov r0, r12
- adds r0, 0x6C
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r0, 0
-_080A69EC:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A69F4: .4byte gUnknown_2039DD0
-_080A69F8: .4byte 0x0000ffff
- thumb_func_end sub_80A68F8
-
- thumb_func_start sub_80A69FC
-sub_80A69FC:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r6, 0
- adds r7, 0x52
- movs r0, 0
- ldrsh r4, [r7, r0]
- ldr r0, _080A6A80
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- ldr r0, [r0]
- adds r5, r0, r1
- cmp r4, 0
- blt _080A6A7A
- adds r0, r6, 0
- bl GroundSprite_ExtendPaletteDelete
- movs r0, 0
- str r0, [r5, 0x8]
- str r0, [r5]
- adds r5, 0xC
- ldr r1, _080A6A84
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- asrs r4, r0, 16
- adds r6, 0x64
- mov r12, r6
- cmp r4, 0x15
- bgt _080A6A6A
- ldr r0, [r5]
- cmp r0, 0x2
- bne _080A6A6A
- movs r6, 0
- adds r2, r1, 0
- lsls r1, r4, 16
- movs r0, 0x80
- lsls r0, 9
- adds r1, r0
- adds r3, r0, 0
-_080A6A50:
- str r6, [r5]
- adds r5, 0xC
- ldr r0, [r2]
- adds r0, 0x1
- str r0, [r2]
- adds r0, r1, 0
- adds r1, r3
- asrs r4, r0, 16
- cmp r4, 0x15
- bgt _080A6A6A
- ldr r0, [r5]
- cmp r0, 0x2
- beq _080A6A50
-_080A6A6A:
- ldr r0, _080A6A88
- strh r0, [r7]
- movs r0, 0
- mov r1, r12
- strh r0, [r1]
- ldr r1, _080A6A8C
- movs r0, 0x1
- strb r0, [r1]
-_080A6A7A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A80: .4byte gUnknown_3001B7C
-_080A6A84: .4byte gUnknown_2039DD4
-_080A6A88: .4byte 0x0000ffff
-_080A6A8C: .4byte gUnknown_2039DD0
- thumb_func_end sub_80A69FC
-
- thumb_func_start GroundSprite_ExtendPaletteAdd
-GroundSprite_ExtendPaletteAdd:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r10, r0
- lsls r1, 16
- lsrs r2, r1, 16
- adds r5, r2, 0
- movs r0, 0xC0
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- bne _080A6AB0
- b _080A6C6C
-_080A6AB0:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r2
- cmp r0, 0
- beq _080A6AD8
- ldr r0, _080A6AD4
- ldr r1, [r0]
- movs r3, 0x86
- lsls r3, 1
- adds r4, r1, r3
- ldrh r1, [r4]
- adds r3, r0, 0
- cmp r1, r2
- bne _080A6B36
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- b _080A6C78
- .align 2, 0
-_080A6AD4: .4byte gUnknown_3001B7C
-_080A6AD8:
- movs r0, 0
- mov r8, r0
- ldr r1, _080A6B1C
- ldr r0, [r1]
- movs r2, 0x84
- lsls r2, 1
- adds r4, r0, r2
- adds r3, r1, 0
- movs r1, 0xE8
- lsls r1, 13
-_080A6AEC:
- ldrh r0, [r4]
- cmp r0, r5
- bne _080A6B24
- lsrs r1, 16
- adds r3, r1, 0
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- mov r0, r10
- cmp r0, 0
- beq _080A6B08
- subs r1, 0x10
- adds r0, 0x68
- strh r1, [r0]
-_080A6B08:
- adds r0, r3, 0
- subs r0, 0x10
- str r0, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- ldr r1, _080A6B20
- mov r2, r8
- bl Log
- b _080A6C78
- .align 2, 0
-_080A6B1C: .4byte gUnknown_3001B7C
-_080A6B20: .4byte gUnknown_81177F4
-_080A6B24:
- movs r2, 0x80
- lsls r2, 9
- adds r1, r2
- movs r0, 0x1
- add r8, r0
- adds r4, 0x4
- mov r2, r8
- cmp r2, 0x1
- ble _080A6AEC
-_080A6B36:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r5
- cmp r0, 0
- beq _080A6B68
- movs r0, 0x1
- mov r8, r0
- ldr r0, [r3]
- movs r1, 0x86
- lsls r1, 1
- adds r4, r0, r1
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A6BA8
- ldr r0, _080A6B60
- ldr r1, _080A6B64
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A6B60: .4byte gUnknown_8117858
-_080A6B64: .4byte gUnknown_8117864
-_080A6B68:
- movs r0, 0
- mov r8, r0
- ldr r0, [r3]
- movs r1, 0x84
- lsls r1, 1
- adds r4, r0, r1
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A6B90
-_080A6B7C:
- movs r3, 0x1
- add r8, r3
- adds r4, 0x4
- mov r0, r8
- cmp r0, 0x1
- bgt _080A6B96
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bgt _080A6B7C
-_080A6B90:
- mov r2, r8
- cmp r2, 0x1
- ble _080A6BA8
-_080A6B96:
- ldr r0, _080A6BA0
- ldr r1, _080A6BA4
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A6BA0: .4byte gUnknown_8117888
-_080A6BA4: .4byte gUnknown_8117864
-_080A6BA8:
- mov r0, r8
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- mov r3, r8
- lsls r0, r3, 20
- movs r1, 0xE8
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- str r0, [sp, 0x10]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r5
- cmp r0, 0
- beq _080A6BE8
- ldr r0, _080A6BE0
- ldr r1, _080A6BE4
- bl OpenFileAndGetFileDataPtr
- mov r9, r0
- ldr r7, [r0, 0x4]
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 6
- adds r7, r0
- b _080A6BFE
- .align 2, 0
-_080A6BE0: .4byte gUnknown_81177EC
-_080A6BE4: .4byte gMonsterFileArchive
-_080A6BE8:
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 2
- ldr r1, _080A6C60
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080A6C64
- bl OpenFileAndGetFileDataPtr
- mov r9, r0
- ldr r7, [r0, 0x4]
-_080A6BFE:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r5
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r6, r0, 31
- movs r0, 0x80
- lsls r0, 6
- ands r0, r5
- cmp r0, 0
- beq _080A6C1A
- movs r0, 0x2
- orrs r6, r0
-_080A6C1A:
- ldr r0, [sp, 0xC]
- adds r1, r6, 0
- bl sub_80997F4
- ldr r0, [sp, 0x10]
- adds r1, r7, 0
- movs r2, 0x10
- bl sub_809971C
- strh r5, [r4]
- movs r0, 0x1
- strh r0, [r4, 0x2]
- ldr r2, [sp, 0xC]
- subs r2, 0x10
- mov r3, r10
- cmp r3, 0
- beq _080A6C42
- mov r0, r10
- adds r0, 0x68
- strh r2, [r0]
-_080A6C42:
- ldr r1, _080A6C68
- str r2, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- mov r2, r8
- ldr r3, [sp, 0xC]
- bl Log
- mov r0, r9
- cmp r0, 0
- beq _080A6C78
- bl CloseFile
- b _080A6C78
- .align 2, 0
-_080A6C60: .4byte gUnknown_81178F4
-_080A6C64: .4byte gOrnamentFileArchive
-_080A6C68: .4byte gUnknown_8117894
-_080A6C6C:
- mov r1, r10
- cmp r1, 0
- beq _080A6C78
- mov r0, r10
- adds r0, 0x68
- strh r5, [r0]
-_080A6C78:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GroundSprite_ExtendPaletteAdd
-
- thumb_func_start GroundSprite_ExtendPaletteDelete
-GroundSprite_ExtendPaletteDelete:
- push {r4-r6,lr}
- adds r2, r0, 0
- cmp r2, 0
- beq _080A6C9E
- adds r0, 0x68
- ldrh r0, [r0]
- adds r5, r0, 0
- subs r5, 0xD
- cmp r5, 0
- blt _080A6CE6
- b _080A6CA0
-_080A6C9E:
- movs r5, 0x1
-_080A6CA0:
- ldr r0, _080A6CEC
- lsls r1, r5, 2
- movs r3, 0x84
- lsls r3, 1
- adds r1, r3
- ldr r0, [r0]
- adds r4, r0, r1
- cmp r2, 0
- beq _080A6CBA
- adds r1, r2, 0
- adds r1, 0x68
- movs r0, 0
- strh r0, [r1]
-_080A6CBA:
- ldrh r0, [r4, 0x2]
- subs r0, 0x1
- movs r6, 0
- strh r0, [r4, 0x2]
- lsls r0, 16
- cmp r0, 0
- bgt _080A6CE6
- ldr r1, _080A6CF0
- ldrh r3, [r4]
- movs r0, 0
- adds r2, r5, 0
- bl Log
- strh r6, [r4]
- strh r6, [r4, 0x2]
- adds r0, r5, 0
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_80997F4
-_080A6CE6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6CEC: .4byte gUnknown_3001B7C
-_080A6CF0: .4byte gUnknown_81178C0
- thumb_func_end GroundSprite_ExtendPaletteDelete
-
- thumb_func_start sub_80A6CF4
-sub_80A6CF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x68
- movs r1, 0
- mov r8, r1
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r9, r2
- movs r2, 0
- mov r10, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x60]
- str r0, [sp, 0x64]
- add r4, sp, 0x58
- adds r0, r4, 0
- bl sub_809D248
- movs r7, 0
- ldr r0, _080A6D70
- ldr r3, [r0]
- movs r1, 0x80
- lsls r1, 6
- mov r12, r1
- mov r4, sp
-_080A6D2C:
- ldr r0, [r3]
- cmp r0, 0x1
- bne _080A6DB4
- ldr r2, [r3, 0x8]
- adds r0, r2, 0
- adds r0, 0x50
- ldrh r1, [r0]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- bne _080A6DB4
- ldr r0, [r2, 0x7C]
- cmp r0, 0
- blt _080A6DB4
- ldr r1, [r2, 0x74]
- cmp r1, 0
- bge _080A6D50
- adds r1, 0xFF
-_080A6D50:
- asrs r1, 8
- ldr r0, [sp, 0x58]
- subs r5, r1, r0
- ldr r1, [r2, 0x78]
- cmp r1, 0
- bge _080A6D5E
- adds r1, 0xFF
-_080A6D5E:
- asrs r1, 8
- ldr r0, [sp, 0x5C]
- subs r1, r0
- adds r6, r1, 0
- cmp r1, 0
- ble _080A6D74
- adds r0, r6, 0
- adds r0, 0x28
- b _080A6D78
- .align 2, 0
-_080A6D70: .4byte gUnknown_3001B7C
-_080A6D74:
- movs r0, 0x28
- subs r0, r6
-_080A6D78:
- str r0, [r2, 0x7C]
- cmp r5, 0
- ble _080A6D88
- ldr r0, [r2, 0x7C]
- cmp r5, r0
- ble _080A6D92
- str r5, [r2, 0x7C]
- b _080A6D92
-_080A6D88:
- negs r1, r5
- ldr r0, [r2, 0x7C]
- cmp r1, r0
- ble _080A6D92
- str r1, [r2, 0x7C]
-_080A6D92:
- adds r0, r2, 0
- adds r0, 0x48
- movs r1, 0
- ldrsh r0, [r0, r1]
- add r10, r0
- cmp r0, r9
- blt _080A6DAE
- ldr r0, [r2, 0x7C]
- ldr r1, [sp, 0x64]
- cmp r1, r0
- bge _080A6DAE
- mov r1, r8
- str r1, [sp, 0x60]
- str r0, [sp, 0x64]
-_080A6DAE:
- stm r4!, {r2}
- movs r2, 0x1
- add r8, r2
-_080A6DB4:
- adds r0, r7, 0x1
- lsls r0, 16
- asrs r7, r0, 16
- adds r3, 0xC
- cmp r7, 0x15
- ble _080A6D2C
- cmp r10, r9
- blt _080A6E54
- ldr r0, [sp, 0x60]
- cmp r0, 0
- blt _080A6DD8
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- bl sub_80A69FC
- movs r0, 0x1
- b _080A6E56
-_080A6DD8:
- mov r1, r8
- cmp r1, 0
- ble _080A6E54
-_080A6DDE:
- movs r5, 0x1
- negs r5, r5
- adds r3, r5, 0
- movs r6, 0
- mov r7, r8
- subs r7, 0x1
- mov r2, r8
- cmp r2, 0
- ble _080A6E08
- mov r2, sp
- mov r1, r8
-_080A6DF4:
- ldr r0, [r2]
- ldr r0, [r0, 0x7C]
- cmp r3, r0
- bge _080A6E00
- mov r5, r8
- adds r3, r0, 0
-_080A6E00:
- adds r2, 0x4
- subs r1, 0x1
- cmp r1, 0
- bne _080A6DF4
-_080A6E08:
- lsls r0, r5, 2
- mov r1, sp
- adds r4, r1, r0
- ldr r0, [r4]
- bl sub_80A69FC
- mov r8, r7
- adds r1, r5, 0
- cmp r1, r8
- bge _080A6E28
- adds r2, r4, 0
-_080A6E1E:
- ldr r0, [r2, 0x4]
- stm r2!, {r0}
- adds r1, 0x1
- cmp r1, r8
- blt _080A6E1E
-_080A6E28:
- movs r1, 0
- ldr r0, _080A6E40
- ldr r3, [r0]
-_080A6E2E:
- ldr r0, [r3]
- cmp r0, 0
- bne _080A6E44
- adds r6, 0x1
- cmp r6, r9
- blt _080A6E46
- movs r0, 0x1
- b _080A6E56
- .align 2, 0
-_080A6E40: .4byte gUnknown_3001B7C
-_080A6E44:
- movs r6, 0
-_080A6E46:
- adds r1, 0x1
- adds r3, 0xC
- cmp r1, 0x15
- ble _080A6E2E
- mov r2, r8
- cmp r2, 0
- bgt _080A6DDE
-_080A6E54:
- movs r0, 0
-_080A6E56:
- add sp, 0x68
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6CF4
-
- thumb_func_start sub_80A6E68
-sub_80A6E68:
- push {lr}
- movs r0, 0
- bl ResetSprites
- movs r0, 0
- bl nullsub_10
- bl sub_800E970
- pop {r0}
- bx r0
- thumb_func_end sub_80A6E68
-
- thumb_func_start sub_80A6E80
-sub_80A6E80:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080A6EC4
- adds r0, r4, 0
- bl sub_809D248
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A6E98
- str r0, [r4]
- str r0, [r4, 0x4]
-_080A6E98:
- bl sub_80ABA7C
- bl sub_80ACAD4
- bl sub_80AD7AC
- ldrh r1, [r4, 0x4]
- lsls r1, 16
- ldrh r0, [r4]
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_800E90C
- bl sub_8005180
- bl nullsub_12
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6EC4: .4byte gUnknown_2039DD8
- thumb_func_end sub_80A6E80
-
- thumb_func_start sub_80A6EC8
-sub_80A6EC8:
- push {lr}
- adds r2, r0, 0
- adds r0, 0x52
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- ble _080A6EF6
- adds r0, r2, 0
- adds r0, 0x48
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bgt _080A6EE4
- adds r1, r0, 0
-_080A6EE4:
- adds r0, r2, 0
- adds r0, 0x64
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, r1
- beq _080A6EF6
- adds r0, r2, 0
- adds r0, 0x66
- strh r1, [r0]
-_080A6EF6:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6EC8
-
- thumb_func_start sub_80A6EFC
-sub_80A6EFC:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080A6F48
- adds r5, r4, 0
- adds r5, 0x66
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0
- blt _080A6F28
- adds r1, r4, 0
- adds r1, 0x48
- adds r2, r0, 0
- b _080A6F62
-_080A6F28:
- adds r1, r4, 0
- adds r1, 0x48
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bgt _080A6F36
- b _080A7038
-_080A6F36:
- movs r2, 0x1
- negs r2, r2
- adds r0, r4, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- beq _080A7038
- b _080A6F72
-_080A6F48:
- adds r5, r4, 0
- adds r5, 0x66
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080A6F72
- adds r0, r4, 0
- bl sub_80A69FC
- adds r1, r4, 0
- adds r1, 0x48
- movs r0, 0
- ldrsh r2, [r5, r0]
-_080A6F62:
- adds r0, r4, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- beq _080A7038
- ldr r0, _080A6F8C
- strh r0, [r5]
-_080A6F72:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r7
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- beq _080A6F94
- ldrh r1, [r4]
- ldr r0, _080A6F90
- ands r0, r1
- strh r0, [r4]
- b _080A7038
- .align 2, 0
-_080A6F8C: .4byte 0x0000ffff
-_080A6F90: .4byte 0x0000efff
-_080A6F94:
- ldr r2, _080A6FE0
- adds r0, r4, 0
- adds r0, 0x52
- movs r5, 0
- ldrsh r1, [r0, r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- mov r12, r1
- adds r1, r4, 0
- adds r1, 0x70
- movs r0, 0x1
- strb r0, [r1]
- subs r0, 0x2
- str r0, [r4, 0x7C]
- movs r1, 0xE0
- lsls r1, 3
- ands r1, r7
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _080A6FE4
- cmp r1, r0
- ble _080A6FEE
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- beq _080A6FFA
- movs r0, 0xC0
- lsls r0, 2
- cmp r1, r0
- bne _080A6FEE
- adds r0, r4, 0
- adds r0, 0x6C
- strh r3, [r0]
- b _080A7000
- .align 2, 0
-_080A6FE0: .4byte gUnknown_3001B7C
-_080A6FE4:
- adds r1, r4, 0
- adds r1, 0x6C
- movs r0, 0x80
- strh r0, [r1]
- b _080A7000
-_080A6FEE:
- adds r1, r4, 0
- adds r1, 0x6C
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- b _080A7000
-_080A6FFA:
- adds r0, r4, 0
- adds r0, 0x6C
- strh r1, [r0]
-_080A7000:
- adds r0, r4, 0
- adds r0, 0x6E
- movs r1, 0
- strh r1, [r0]
- ldr r5, [r4, 0x4C]
- movs r0, 0xFF
- ands r0, r7
- adds r2, r6, 0
- cmp r6, 0
- bge _080A7016
- adds r2, r6, 0x7
-_080A7016:
- asrs r2, 3
- adds r2, r0, r2
- movs r3, 0x7
- ands r3, r6
- mov r6, r12
- ldr r0, [r6, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- lsls r0, r7, 16
- lsrs r0, 27
- movs r1, 0x1
- ands r0, r1
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80053D0
-_080A7038:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6EFC
-
- thumb_func_start sub_80A7040
-sub_80A7040:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r3, 0
- lsls r1, 16
- asrs r3, r1, 16
- lsls r2, 24
- asrs r2, 24
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A708C
- cmp r3, 0
- beq _080A7068
- movs r0, 0xE0
- lsls r0, 1
- cmp r3, r0
- bne _080A7080
-_080A7068:
- adds r0, r4, 0
- bl sub_80A671C
- lsls r0, 24
- cmp r0, 0
- beq _080A708C
- adds r1, r4, 0
- adds r1, 0x58
- movs r0, 0xE0
- lsls r0, 1
- strh r0, [r1]
- b _080A708C
-_080A7080:
- adds r0, r4, 0
- adds r0, 0x58
- strh r3, [r0]
- adds r0, 0x2
- strb r2, [r0]
- str r5, [r4, 0x60]
-_080A708C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7040
-
- thumb_func_start sub_80A7094
-sub_80A7094:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r7, r0, 0
- mov r10, r1
- mov r8, r2
- str r3, [sp, 0x3C]
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [r7, 0x74]
- str r1, [r7, 0x78]
- movs r6, 0
- str r6, [r7, 0x7C]
- adds r0, r7, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A7172
- adds r4, r7, 0
- adds r4, 0x58
- movs r0, 0
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080A7172
- movs r0, 0xE0
- lsls r0, 1
- cmp r1, r0
- bne _080A70EC
- ldr r0, [r7, 0x5C]
- movs r5, 0x1
- negs r5, r5
- cmp r0, r5
- beq _080A70E8
- bl sub_800DC14
- str r5, [r7, 0x5C]
-_080A70E8:
- strh r6, [r4]
- b _080A7172
-_080A70EC:
- ldr r0, [r7, 0x5C]
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- cmp r0, r9
- bne _080A7160
- add r1, sp, 0x8
- ldr r0, _080A715C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_800EE5C
- bl sub_800EF64
- add r2, sp, 0x14
- movs r3, 0
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x14]
- str r6, [r2, 0x4]
- adds r0, r7, 0
- adds r0, 0x5A
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- str r0, [r2, 0x8]
- mov r4, r8
- ldr r0, [r4]
- cmp r0, 0
- bge _080A712C
- adds r0, 0xFF
-_080A712C:
- asrs r0, 8
- strh r0, [r2, 0xC]
- mov r5, r8
- ldr r0, [r5, 0x4]
- cmp r0, 0
- bge _080A713A
- adds r0, 0xFF
-_080A713A:
- asrs r0, 8
- strh r0, [r2, 0xE]
- strh r6, [r2, 0x10]
- strh r6, [r2, 0x12]
- mov r0, r9
- str r0, [r2, 0x14]
- str r6, [r2, 0x18]
- add r1, sp, 0x30
- add r0, sp, 0x8
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- adds r0, r2, 0
- bl sub_800E890
- str r0, [r7, 0x5C]
- b _080A7172
- .align 2, 0
-_080A715C: .4byte gUnknown_81178E0
-_080A7160:
- bl sub_800E9E4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A7172
- mov r1, r9
- str r1, [r7, 0x5C]
- strh r0, [r4]
-_080A7172:
- adds r0, r7, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- blt _080A7222
- adds r0, r7, 0
- adds r0, 0x50
- ldrh r4, [r0]
- movs r0, 0x40
- ands r0, r4
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0
- bne _080A7222
- mov r3, r8
- ldr r1, [r3]
- cmp r1, 0
- bge _080A719C
- adds r1, 0xFF
-_080A719C:
- asrs r1, 8
- ldr r2, _080A7228
- ldr r0, [r2]
- subs r5, r1, r0
- mov r1, r8
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bge _080A71AE
- adds r0, 0xFF
-_080A71AE:
- asrs r1, r0, 8
- ldr r0, [r2, 0x4]
- subs r6, r1, r0
- ldr r3, [sp, 0x3C]
- cmp r3, 0
- bge _080A71BC
- adds r3, 0xFF
-_080A71BC:
- asrs r0, r3, 8
- subs r0, r6, r0
- mov r8, r0
- adds r1, r5, 0
- adds r1, 0x40
- ldr r0, _080A722C
- cmp r1, r0
- bhi _080A7274
- movs r0, 0x10
- negs r0, r0
- cmp r6, r0
- blt _080A7274
- cmp r6, 0xCF
- bgt _080A7274
- cmp r8, r0
- blt _080A7274
- mov r2, r8
- cmp r2, 0xCF
- bgt _080A7274
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _080A7234
- ldr r0, _080A7230
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7234
- adds r0, r7, 0
- movs r1, 0
- bl sub_80A72B8
- movs r1, 0x98
- lsls r1, 1
- adds r0, r7, 0
- adds r0, 0x68
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r2, 0xD0
- movs r3, 0
- bl sub_800558C
- adds r0, r7, 0
- adds r0, 0x70
- mov r3, r9
- strb r3, [r0]
-_080A7222:
- movs r0, 0
- b _080A72A6
- .align 2, 0
-_080A7228: .4byte gUnknown_2039DD8
-_080A722C: .4byte 0x0000016f
-_080A7230: .4byte gUnknown_2039DCC
-_080A7234:
- adds r4, r7, 0
- adds r4, 0x70
- ldrb r1, [r4]
- adds r0, r7, 0
- bl sub_80A72B8
- adds r0, r7, 0
- adds r0, 0x6A
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r3, r6
- subs r0, 0x2
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_800558C
- movs r0, 0
- strb r0, [r4]
- mov r2, r10
- cmp r2, 0
- beq _080A7270
- mov r3, r10
- str r5, [r3]
- str r6, [r3, 0x4]
-_080A7270:
- movs r0, 0x1
- b _080A72A6
-_080A7274:
- adds r4, r7, 0
- adds r4, 0x70
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A7222
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80A72B8
- movs r1, 0x98
- lsls r1, 1
- adds r0, r7, 0
- adds r0, 0x68
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r2, 0xD0
- movs r3, 0
- bl sub_800558C
- movs r0, 0
- strb r0, [r4]
-_080A72A6:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7094
-
- thumb_func_start sub_80A72B8
-sub_80A72B8:
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- cmp r1, 0
- beq _080A72D2
- adds r1, r6, 0
- adds r1, 0x6E
- movs r0, 0
- strh r0, [r1]
- adds r0, r6, 0
- bl sub_80054BC
- b _080A7304
-_080A72D2:
- adds r5, r6, 0
- adds r5, 0x6E
- adds r0, r6, 0
- adds r0, 0x6C
- ldrh r0, [r0]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A7304
- ldr r0, _080A730C
- adds r7, r0, 0
-_080A72EE:
- adds r4, r5, 0
- ldrh r1, [r5]
- adds r0, r7, r1
- strh r0, [r5]
- adds r0, r6, 0
- bl sub_80054BC
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- bgt _080A72EE
-_080A7304:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A730C: .4byte 0xffffff00
- thumb_func_end sub_80A72B8
-
- thumb_func_start sub_80A7310
-sub_80A7310:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- mov r12, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A73DC
- mov r0, r12
- ldr r0, [r0, 0x5C]
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- beq _080A73DC
- ldr r0, [r4]
- cmp r0, 0
- bge _080A7344
- adds r0, 0xFF
-_080A7344:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _080A73D0
- mov r9, r1
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- ldr r0, [r4, 0x4]
- cmp r0, 0
- bge _080A735C
- adds r0, 0xFF
-_080A735C:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r6, _080A73D4
- adds r4, r6, 0
- ands r4, r2
- orrs r4, r0
- str r4, [sp, 0x4]
- asrs r2, r4, 16
- ldr r0, _080A73D8
- ldr r0, [r0, 0x4]
- subs r0, r2, r0
- mov r1, r12
- adds r1, 0x6A
- movs r7, 0
- ldrsh r1, [r1, r7]
- adds r0, r1
- adds r7, r0, 0x2
- cmp r3, 0
- bge _080A7386
- adds r3, 0xFF
-_080A7386:
- asrs r0, r3, 8
- subs r0, r2, r0
- lsls r0, 16
- adds r2, r6, 0
- ands r2, r4
- orrs r2, r0
- str r2, [sp, 0x4]
- cmp r5, 0
- beq _080A73B8
- ldr r1, [r5]
- add r0, sp, 0x4
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- asrs r2, r0, 16
- ldr r1, [r5, 0x4]
- adds r1, r2
- lsls r1, 16
- ands r0, r6
- orrs r0, r1
- str r0, [sp, 0x4]
-_080A73B8:
- mov r0, r12
- adds r0, 0x3C
- str r0, [sp]
- mov r0, r8
- add r1, sp, 0x4
- movs r2, 0
- adds r3, r7, 0
- bl sub_800E8AC
- movs r0, 0x1
- b _080A73DE
- .align 2, 0
-_080A73D0: .4byte 0xffff0000
-_080A73D4: .4byte 0x0000ffff
-_080A73D8: .4byte gUnknown_2039DD8
-_080A73DC:
- movs r0, 0
-_080A73DE:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7310
-
- thumb_func_start sub_80A73EC
-sub_80A73EC:
- push {lr}
- bl CopySpritesToOam
- bl nullsub_13
- bl sub_8005304
- bl nullsub_14
- ldr r1, _080A7420
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r1, _080A7424
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bls _080A741A
- movs r0, 0
- strh r0, [r1]
-_080A741A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A7420: .4byte gUnknown_2039DCC
-_080A7424: .4byte gUnknown_2039DCE
- thumb_func_end sub_80A73EC
-
- thumb_func_start sub_80A7428
-sub_80A7428:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- mov r8, r3
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r4, r2, 0
- ldr r1, _080A7480
- mov r0, sp
- bl sprintf
- ldr r1, _080A7484
- mov r0, sp
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- adds r0, r4, 0
- bl GetPokemonSize
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A7488
- ldr r2, [sp, 0xC]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0xC]
- movs r0, 0xD3
- lsls r0, 1
- cmp r4, r0
- bne _080A7490
- ldr r0, _080A748C
- ands r0, r2
- movs r1, 0x91
- lsls r1, 17
- orrs r0, r1
- str r0, [sp, 0xC]
- b _080A74AC
- .align 2, 0
-_080A7480: .4byte gUnknown_8117EDC
-_080A7484: .4byte gMonsterFileArchive
-_080A7488: .4byte 0xffff0000
-_080A748C: .4byte 0x0000ffff
-_080A7490:
- movs r1, 0
- cmp r7, 0x47
- bne _080A7498
- movs r1, 0x1
-_080A7498:
- adds r0, r4, 0
- bl GetPokemonOverworldPalette
- lsls r0, 24
- lsrs r0, 8
- ldr r2, _080A74E0
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
-_080A74AC:
- ldr r0, [r5, 0x4]
- add r1, sp, 0xC
- str r0, [r1, 0x4]
- adds r0, r6, 0
- mov r2, r8
- bl sub_80A67CC
- str r5, [r6, 0x54]
- adds r0, r6, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A74D4
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r6, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A74D4:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A74E0: .4byte 0x0000ffff
- thumb_func_end sub_80A7428
-
- thumb_func_start sub_80A74E4
-sub_80A74E4:
- push {lr}
- bl sub_80A68A0
- pop {r0}
- bx r0
- thumb_func_end sub_80A74E4
-
- thumb_func_start sub_80A74F0
-sub_80A74F0:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- lsls r2, 24
- asrs r5, r2, 24
- cmp r3, 0
- bge _080A7514
- movs r0, 0xE0
- lsls r0, 1
- cmp r4, r0
- beq _080A7512
- adds r0, r4, 0
- bl sub_800E700
- adds r3, r0, 0
- b _080A7514
-_080A7512:
- movs r3, 0
-_080A7514:
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A7040
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A74F0
-
- thumb_func_start sub_80A7524
-sub_80A7524:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r5, r0, 0
- adds r6, r2, 0
- adds r7, r3, 0
- lsls r1, 16
- asrs r1, 16
- mov r8, r1
- mov r1, sp
- bl sub_80A7094
- lsls r0, 24
- cmp r0, 0
- beq _080A75C0
- ldr r1, [r5, 0x5C]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A758C
- ldr r2, [r5, 0x60]
- cmp r2, 0x3
- bgt _080A7580
- cmp r2, 0
- blt _080A7580
- add r4, sp, 0x8
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_800569C
- movs r1, 0
- ldrsh r0, [r4, r1]
- str r0, [sp, 0xC]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- add r2, sp, 0xC
- str r0, [r2, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- adds r3, r7, 0
- bl sub_80A7310
- b _080A758C
-_080A7580:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- adds r3, r7, 0
- bl sub_80A7310
-_080A758C:
- adds r0, r5, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080A75B4
- ldr r0, [sp]
- lsls r0, 16
- ldr r1, [sp, 0x4]
- lsls r1, 16
- lsrs r0, 16
- orrs r0, r1
- str r0, [sp, 0x14]
- add r1, sp, 0x14
- mov r0, r8
- adds r2, r5, 0
- bl sub_808E668
-_080A75B4:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- adds r3, r7, 0
- bl sub_80A7310
-_080A75C0:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7524
-
- thumb_func_start sub_80A75CC
-sub_80A75CC:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r3, 0
- lsls r2, 16
- asrs r2, 13
- ldr r0, _080A7618
- adds r2, r0
- movs r5, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _080A761C
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r0
- str r1, [sp]
- ldrh r3, [r2, 0x2]
- lsls r3, 16
- ldr r0, _080A7620
- ands r0, r1
- orrs r0, r3
- str r0, [sp]
- ldr r0, [r2, 0x4]
- cmp r0, 0
- beq _080A7628
- ldr r1, _080A7624
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x4]
- b _080A762A
- .align 2, 0
-_080A7618: .4byte gUnknown_8117AE4
-_080A761C: .4byte 0xffff0000
-_080A7620: .4byte 0x0000ffff
-_080A7624: .4byte gOrnamentFileArchive
-_080A7628:
- str r5, [sp, 0x4]
-_080A762A:
- adds r0, r4, 0
- mov r1, sp
- adds r2, r6, 0
- bl sub_80A67CC
- str r5, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A764E
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A764E:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A75CC
-
- thumb_func_start sub_80A7658
-sub_80A7658:
- push {lr}
- bl sub_80A68A0
- pop {r0}
- bx r0
- thumb_func_end sub_80A7658
-
- thumb_func_start sub_80A7664
-sub_80A7664:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- movs r1, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80A7094
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- adds r3, r6, 0
- bl sub_80A7310
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7664
-
- thumb_func_start sub_80A7688
-sub_80A7688:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r3, 0
- lsls r2, 16
- asrs r2, 13
- ldr r0, _080A76D4
- adds r2, r0
- movs r5, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _080A76D8
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r0
- str r1, [sp]
- ldrh r3, [r2, 0x2]
- lsls r3, 16
- ldr r0, _080A76DC
- ands r0, r1
- orrs r0, r3
- str r0, [sp]
- ldr r0, [r2, 0x4]
- cmp r0, 0
- beq _080A76E4
- ldr r1, _080A76E0
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x4]
- b _080A76E6
- .align 2, 0
-_080A76D4: .4byte gUnknown_8117E8C
-_080A76D8: .4byte 0xffff0000
-_080A76DC: .4byte 0x0000ffff
-_080A76E0: .4byte gOrnamentFileArchive
-_080A76E4:
- str r5, [sp, 0x4]
-_080A76E6:
- adds r0, r4, 0
- mov r1, sp
- adds r2, r6, 0
- bl sub_80A67CC
- str r5, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A770A
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A770A:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7688
-
.align 2,0