summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf2
-rw-r--r--arm9/modules/05/asm/mod05_021E80F8.s303
-rw-r--r--arm9/modules/05/asm/mod05_021E8310.s409
-rw-r--r--arm9/modules/05/asm/module_05.s702
4 files changed, 714 insertions, 702 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 84d10f58..5468430a 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -558,6 +558,8 @@ Overlay MODULE_05
Object mod05_021E7504.o
Object mod05_021E779C.o
Object mod05_021E7C00.o
+ Object mod05_021E80F8.o
+ Object mod05_021E8310.o
Object module_05.o
}
diff --git a/arm9/modules/05/asm/mod05_021E80F8.s b/arm9/modules/05/asm/mod05_021E80F8.s
new file mode 100644
index 00000000..82fd7a02
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021E80F8.s
@@ -0,0 +1,303 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E80F8
+MOD05_021E80F8: ; 0x021E80F8
+ push {r3, lr}
+ mov r1, #0x14
+ bl AllocFromHeap
+ add r3, r0, #0
+ mov r2, #0x14
+ mov r1, #0
+_021E8106:
+ strb r1, [r3]
+ add r3, r3, #1
+ sub r2, r2, #1
+ bne _021E8106
+ pop {r3, pc}
+
+ thumb_func_start MOD05_021E8110
+MOD05_021E8110: ; 0x021E8110
+ push {r4, lr}
+ add r4, r0, #0
+ ldrb r1, [r4, #0x13]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1f
+ beq _021E8120
+ bl FUN_02019178
+_021E8120:
+ add r0, r4, #0
+ bl FreeToHeap
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E8128
+MOD05_021E8128: ; 0x021E8128
+ strb r1, [r0, #0x12]
+ strh r2, [r0, #0x10]
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8130
+MOD05_021E8130: ; 0x021E8130
+ ldrb r3, [r0, #0x13]
+ mov r2, #0x7f
+ bic r3, r2
+ mov r2, #0x7f
+ and r1, r2
+ orr r1, r3
+ strb r1, [r0, #0x13]
+ bx lr
+
+ thumb_func_start MOD05_021E8140
+MOD05_021E8140: ; 0x021E8140
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8144
+MOD05_021E8144: ; 0x021E8144
+ ldrb r0, [r0, #0x12]
+ bx lr
+
+ thumb_func_start MOD05_021E8148
+MOD05_021E8148: ; 0x021E8148
+ ldrb r0, [r0, #0x13]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x19
+ bne _021E8154
+ mov r0, #1
+ bx lr
+_021E8154:
+ mov r0, #0
+ bx lr
+
+ thumb_func_start MOD05_021E8158
+MOD05_021E8158: ; 0x021E8158
+ push {r4, lr}
+ ldr r4, [r0, #0x60]
+ ldrb r1, [r4, #0x13]
+ lsl r1, r1, #0x19
+ lsr r1, r1, #0x19
+ cmp r1, #4
+ bhi _021E81BA
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_021E8172: ; jump table
+ .short _021E81BA - _021E8172 - 2 ; case 0
+ .short _021E817C - _021E8172 - 2 ; case 1
+ .short _021E818A - _021E8172 - 2 ; case 2
+ .short _021E819C - _021E8172 - 2 ; case 3
+ .short _021E81AE - _021E8172 - 2 ; case 4
+_021E817C:
+ bl MOD05_021E81D0
+ ldrb r1, [r4, #0x13]
+ mov r0, #0x7f
+ bic r1, r0
+ strb r1, [r4, #0x13]
+ pop {r4, pc}
+_021E818A:
+ bl MOD05_021E82A0
+ cmp r0, #1
+ bne _021E81BA
+ ldrb r1, [r4, #0x13]
+ mov r0, #0x7f
+ bic r1, r0
+ strb r1, [r4, #0x13]
+ pop {r4, pc}
+_021E819C:
+ bl MOD05_021E8260
+ cmp r0, #1
+ bne _021E81BA
+ ldrb r1, [r4, #0x13]
+ mov r0, #0x7f
+ bic r1, r0
+ strb r1, [r4, #0x13]
+ pop {r4, pc}
+_021E81AE:
+ bl MOD05_021E820C
+ ldrb r1, [r4, #0x13]
+ mov r0, #0x7f
+ bic r1, r0
+ strb r1, [r4, #0x13]
+_021E81BA:
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E81BC
+MOD05_021E81BC: ; 0x021E81BC
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x60]
+ bl MOD05_021E8130
+ add r0, r4, #0
+ bl MOD05_021E8158
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E81D0
+MOD05_021E81D0: ; 0x021E81D0
+ push {r4, lr}
+ mov r1, #3
+ add r4, r0, #0
+ add r3, r1, #0
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ sub r3, #0x33
+ bl FUN_020179E0
+ ldr r1, [r4, #0x60]
+ ldrb r0, [r1, #0x13]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bne _021E8200
+ ldrb r2, [r1, #0x12]
+ ldr r0, [r4, #8]
+ mov r3, #3
+ bl FUN_020546E0
+ ldr r2, [r4, #0x60]
+ mov r0, #0x80
+ ldrb r1, [r2, #0x13]
+ orr r0, r1
+ strb r0, [r2, #0x13]
+_021E8200:
+ ldr r0, [r4, #0x60]
+ ldrb r1, [r0, #0x12]
+ ldrh r2, [r0, #0x10]
+ bl FUN_02054744
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E820C
+MOD05_021E820C: ; 0x021E820C
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0
+ ldr r0, [r4, #0x60]
+ ldrb r1, [r0, #0x13]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1f
+ beq _021E825A
+ bl FUN_02019178
+ mov r0, #0x12
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #6
+ str r0, [sp, #8]
+ mov r0, #0x10
+ str r0, [sp, #0xc]
+ mov r2, #0
+ ldr r0, [r4, #8]
+ mov r1, #3
+ add r3, r2, #0
+ bl FUN_02018540
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_02017CD0
+ mov r1, #3
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ mov r3, #0
+ bl FUN_020179E0
+ ldr r2, [r4, #0x60]
+ mov r0, #0x80
+ ldrb r1, [r2, #0x13]
+ bic r1, r0
+ strb r1, [r2, #0x13]
+_021E825A:
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8260
+MOD05_021E8260: ; 0x021E8260
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_02017B54
+ cmp r0, #0
+ bne _021E8274
+ mov r0, #1
+ pop {r4, pc}
+_021E8274:
+ mov r1, #0x2f
+ mvn r1, r1
+ cmp r0, r1
+ ble _021E8280
+ cmp r0, #0
+ blt _021E828E
+_021E8280:
+ mov r1, #3
+ add r3, r1, #0
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ sub r3, #0x33
+ bl FUN_020179E0
+_021E828E:
+ ldr r0, [r4, #8]
+ mov r1, #3
+ mov r2, #4
+ mov r3, #0x10
+ bl FUN_020179E0
+ mov r0, #0
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E82A0
+MOD05_021E82A0: ; 0x021E82A0
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_02017B54
+ mov r1, #0x2f
+ mvn r1, r1
+ cmp r0, r1
+ bne _021E82EC
+ mov r0, #0x12
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #6
+ str r0, [sp, #8]
+ mov r0, #0x10
+ str r0, [sp, #0xc]
+ mov r2, #0
+ ldr r0, [r4, #8]
+ mov r1, #3
+ add r3, r2, #0
+ bl FUN_02018540
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_02017CD0
+ mov r1, #3
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ mov r3, #0
+ bl FUN_020179E0
+ add sp, #0x10
+ mov r0, #1
+ pop {r4, pc}
+_021E82EC:
+ ble _021E82F2
+ cmp r0, #0
+ blt _021E82FE
+_021E82F2:
+ mov r1, #3
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ mov r3, #0
+ bl FUN_020179E0
+_021E82FE:
+ ldr r0, [r4, #8]
+ mov r1, #3
+ mov r2, #5
+ mov r3, #0x10
+ bl FUN_020179E0
+ mov r0, #0
+ add sp, #0x10
+ pop {r4, pc}
diff --git a/arm9/modules/05/asm/mod05_021E8310.s b/arm9/modules/05/asm/mod05_021E8310.s
new file mode 100644
index 00000000..e3a28a97
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021E8310.s
@@ -0,0 +1,409 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8310
+MOD05_021E8310: ; 0x021E8310
+ push {r3, r4, r5, r6, r7, lr}
+ ldr r4, [r1, #0xc]
+ add r5, r0, #0
+ add r0, r4, #0
+ bl FUN_02034E30
+ bl FUN_02034DC0
+ add r6, r0, #0
+ add r0, r4, #0
+ bl Sav2_Pokedex_get
+ add r7, r0, #0
+ ldr r0, [r6]
+ bl FUN_02034824
+ str r0, [r5, #4]
+ add r0, r7, #0
+ bl Pokedex_GetSinnohDexFlag
+ cmp r0, #0
+ beq _021E8344
+ add r0, r7, #0
+ bl Pokedex_CountSeenMons
+ b _021E8346
+_021E8344:
+ mov r0, #0
+_021E8346:
+ str r0, [r5]
+ add r0, r4, #0
+ bl Sav2_PlayerData_GetProfileAddr
+ str r0, [r5, #8]
+ add r0, r4, #0
+ bl Sav2_PlayerData_GetIGTAddr
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E835C
+MOD05_021E835C: ; 0x021E835C
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r4, r1, #0
+ ldr r2, [r4, #4]
+ mov r1, #0
+ add r5, r0, #0
+ bl BufferLandmarkName
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl BufferPlayersName
+ ldr r0, [r4, #8]
+ bl PlayerProfile_CountBadges
+ add r2, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r3, #1
+ str r3, [sp, #4]
+ add r0, r5, #0
+ mov r1, #2
+ bl BufferIntegerAsString
+ ldr r2, [r4]
+ cmp r2, #0x64
+ blt _021E839A
+ mov r3, #3
+ mov r0, #0
+ b _021E83A8
+_021E839A:
+ cmp r2, #0xa
+ blt _021E83A4
+ mov r3, #3
+ mov r0, #1
+ b _021E83A8
+_021E83A4:
+ mov r3, #2
+ mov r0, #1
+_021E83A8:
+ str r0, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r1, #3
+ bl BufferIntegerAsString
+ ldr r0, [r4, #0xc]
+ bl GetIGTHours
+ add r2, r0, #0
+ cmp r2, #0x64
+ blt _021E83C8
+ mov r3, #3
+ mov r0, #0
+ b _021E83D6
+_021E83C8:
+ cmp r2, #0xa
+ blt _021E83D2
+ mov r3, #3
+ mov r0, #1
+ b _021E83D6
+_021E83D2:
+ mov r3, #2
+ mov r0, #1
+_021E83D6:
+ str r0, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r1, #4
+ bl BufferIntegerAsString
+ ldr r0, [r4, #0xc]
+ bl GetIGTMinutes
+ mov r3, #2
+ add r2, r0, #0
+ str r3, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r1, #5
+ bl BufferIntegerAsString
+ add sp, #8
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD05_021E8400
+MOD05_021E8400: ; 0x021E8400
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _021E840A
+ mov r0, #0xa
+ bx lr
+_021E840A:
+ mov r0, #8
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8410
+MOD05_021E8410: ; 0x021E8410
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0
+ mov r0, #0
+ mov r1, #1
+ bl FUN_02002E4C
+ add r4, r0, #0
+ mov r0, #0
+ mov r1, #3
+ bl FUN_02002E4C
+ add r0, r4, r0
+ str r0, [sp, #0x14]
+ mov r4, #0
+ ldr r0, [r5, #0x14]
+ ldr r1, [r5, #0x18]
+ ldr r3, [r5, #4]
+ add r2, r4, #0
+ bl ReadMsgData_ExpandPlaceholders
+ add r1, r4, #0
+ add r6, r0, #0
+ str r1, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r0, [r5, #0x10]
+ add r2, r6, #0
+ add r3, r1, #0
+ bl AddTextPrinterParameterized
+ add r0, r6, #0
+ bl String_dtor
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, _021E84EC ; =UNK05_021F78D4
+ ldr r7, _021E84F0 ; =UNK05_021F78C4
+ str r0, [sp, #0xc]
+_021E8460:
+ ldr r0, [sp, #0xc]
+ ldr r1, [r0]
+ cmp r1, #3
+ bne _021E846E
+ ldr r0, [r5, #0x1c]
+ cmp r0, #0
+ beq _021E84D6
+_021E846E:
+ ldr r0, [sp, #0x14]
+ add r4, r4, r0
+ ldr r0, [r5, #0x18]
+ bl NewString_ReadMsgData
+ add r6, r0, #0
+ mov r1, #0
+ str r4, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x10]
+ add r2, r6, #0
+ add r3, r1, #0
+ bl AddTextPrinterParameterized
+ add r0, r6, #0
+ bl String_dtor
+ sub r2, r7, #4
+ ldr r0, [r5, #0x14]
+ ldr r1, [r5, #0x18]
+ ldr r2, [r2]
+ ldr r3, [r5, #4]
+ bl ReadMsgData_ExpandPlaceholders
+ add r6, r0, #0
+ mov r0, #0
+ mov r1, #2
+ bl FUN_02002E4C
+ add r2, r0, #0
+ mov r0, #0
+ add r1, r6, #0
+ bl FUN_02002E14
+ mov r1, #0x68
+ sub r3, r1, r0
+ str r4, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x10]
+ mov r1, #0
+ add r2, r6, #0
+ bl AddTextPrinterParameterized
+ add r0, r6, #0
+ bl String_dtor
+_021E84D6:
+ ldr r0, [sp, #0xc]
+ add r7, r7, #4
+ add r0, r0, #4
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ add r0, r0, #1
+ str r0, [sp, #0x10]
+ cmp r0, #5
+ blo _021E8460
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+_021E84EC: .word UNK05_021F78D4
+_021E84F0: .word UNK05_021F78C4
+
+ thumb_func_start MOD05_021E84F4
+MOD05_021E84F4: ; 0x021E84F4
+ push {r3, r4, lr}
+ sub sp, #0x14
+ add r4, r0, #0
+ ldr r0, [r4, #4]
+ mov r1, #0x10
+ bl AllocFromHeap
+ str r0, [r4, #0x10]
+ mov r3, #1
+ str r3, [sp]
+ ldr r0, [r4, #0x2c]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #4]
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ ldr r0, _021E8564 ; =0x0000027F
+ str r0, [sp, #0x10]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x10]
+ bl FUN_02019064
+ mov r0, #0
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ ldr r2, _021E8568 ; =0x000003D9
+ str r0, [sp, #4]
+ ldrb r1, [r4, #8]
+ ldr r0, [r4, #0xc]
+ mov r3, #0xb
+ bl FUN_0200CB00
+ mov r0, #0
+ mov r1, #6
+ bl FUN_02002E4C
+ add r1, r0, #0
+ ldr r0, [r4, #0x10]
+ bl FUN_02019620
+ add r0, r4, #0
+ bl MOD05_021E8410
+ ldr r0, [r4, #0x10]
+ ldr r2, _021E8568 ; =0x000003D9
+ mov r1, #0
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add sp, #0x14
+ pop {r3, r4, pc}
+ .balign 4, 0
+_021E8564: .word 0x0000027F
+_021E8568: .word 0x000003D9
+
+ thumb_func_start MOD05_021E856C
+MOD05_021E856C: ; 0x021E856C
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x10]
+ mov r1, #0
+ bl FUN_0200CCF8
+ ldr r0, [r4, #0x10]
+ bl FUN_02019178
+ ldr r0, [r4, #0x10]
+ bl FreeToHeap
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8588
+MOD05_021E8588: ; 0x021E8588
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #0x34
+ add r7, r2, #0
+ bl AllocFromHeap
+ add r4, r0, #0
+ str r6, [r4]
+ str r5, [r4, #4]
+ strb r7, [r4, #8]
+ ldr r0, [r6, #8]
+ str r0, [r4, #0xc]
+ add r0, r5, #0
+ bl ScrStrBufs_new
+ str r0, [r4, #0x14]
+ ldr r2, _021E85E0 ; =0x000001E3
+ mov r0, #1
+ mov r1, #0x1a
+ add r3, r5, #0
+ bl NewMsgDataFromNarc
+ str r0, [r4, #0x18]
+ add r0, r4, #0
+ ldr r1, [r4]
+ add r0, #0x1c
+ bl MOD05_021E8310
+ add r1, r4, #0
+ ldr r0, [r4, #0x14]
+ add r1, #0x1c
+ bl MOD05_021E835C
+ mov r0, #0xd
+ str r0, [r4, #0x2c]
+ add r0, r4, #0
+ add r0, #0x1c
+ bl MOD05_021E8400
+ str r0, [r4, #0x30]
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+_021E85E0: .word 0x000001E3
+
+ thumb_func_start MOD05_021E85E4
+MOD05_021E85E4: ; 0x021E85E4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x18]
+ bl DestroyMsgData
+ ldr r0, [r4, #0x14]
+ bl ScrStrBufs_delete
+ add r0, r4, #0
+ bl FreeToHeap
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E85FC
+MOD05_021E85FC: ; 0x021E85FC
+ push {r4, lr}
+ add r4, r0, #0
+ bl FUN_02034E48
+ add r0, r4, #0
+ mov r1, #4
+ mov r2, #0
+ bl MOD05_021EFA9C
+ ldr r0, [r4, #0x38]
+ bl FUN_02055320
+ ldr r1, [r4, #0x1c]
+ str r0, [r1, #8]
+ ldr r0, [r4, #0x38]
+ bl FUN_0205532C
+ ldr r1, [r4, #0x1c]
+ str r0, [r1, #0xc]
+ mov r1, #0
+ ldr r0, [r4, #0x1c]
+ mvn r1, r1
+ str r1, [r0, #4]
+ ldr r0, [r4, #0x38]
+ bl FUN_020552F8
+ ldr r1, [r4, #0x1c]
+ str r0, [r1, #0x10]
+ ldr r0, [r4, #0xc]
+ bl FUN_02022720
+ cmp r0, #2
+ bne _021E8642
+ mov r0, #1
+ pop {r4, pc}
+_021E8642:
+ mov r0, #0
+ pop {r4, pc}
+ .balign 4, 0
+
+ .section .rodata
+
+ .global UNK05_021F78C4
+UNK05_021F78C4: ; 0x021F78C4
+ .word 0x00000006, 0x00000007, 0x00000008, 0x00000000
+
+ .global UNK05_021F78D4
+UNK05_021F78D4: ; 0x021F78D4
+ .word 0x00000001, 0x00000002, 0x00000003, 0x00000004
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index 96673023..597bd083 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -3,700 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD05_021E80F8
-MOD05_021E80F8: ; 0x021E80F8
- push {r3, lr}
- mov r1, #0x14
- bl AllocFromHeap
- add r3, r0, #0
- mov r2, #0x14
- mov r1, #0
-_021E8106:
- strb r1, [r3]
- add r3, r3, #1
- sub r2, r2, #1
- bne _021E8106
- pop {r3, pc}
-
- thumb_func_start MOD05_021E8110
-MOD05_021E8110: ; 0x021E8110
- push {r4, lr}
- add r4, r0, #0
- ldrb r1, [r4, #0x13]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1f
- beq _021E8120
- bl FUN_02019178
-_021E8120:
- add r0, r4, #0
- bl FreeToHeap
- pop {r4, pc}
-
- thumb_func_start MOD05_021E8128
-MOD05_021E8128: ; 0x021E8128
- strb r1, [r0, #0x12]
- strh r2, [r0, #0x10]
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021E8130
-MOD05_021E8130: ; 0x021E8130
- ldrb r3, [r0, #0x13]
- mov r2, #0x7f
- bic r3, r2
- mov r2, #0x7f
- and r1, r2
- orr r1, r3
- strb r1, [r0, #0x13]
- bx lr
-
- thumb_func_start MOD05_021E8140
-MOD05_021E8140: ; 0x021E8140
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021E8144
-MOD05_021E8144: ; 0x021E8144
- ldrb r0, [r0, #0x12]
- bx lr
-
- thumb_func_start MOD05_021E8148
-MOD05_021E8148: ; 0x021E8148
- ldrb r0, [r0, #0x13]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x19
- bne _021E8154
- mov r0, #1
- bx lr
-_021E8154:
- mov r0, #0
- bx lr
-
- thumb_func_start MOD05_021E8158
-MOD05_021E8158: ; 0x021E8158
- push {r4, lr}
- ldr r4, [r0, #0x60]
- ldrb r1, [r4, #0x13]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x19
- cmp r1, #4
- bhi _021E81BA
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_021E8172: ; jump table
- .short _021E81BA - _021E8172 - 2 ; case 0
- .short _021E817C - _021E8172 - 2 ; case 1
- .short _021E818A - _021E8172 - 2 ; case 2
- .short _021E819C - _021E8172 - 2 ; case 3
- .short _021E81AE - _021E8172 - 2 ; case 4
-_021E817C:
- bl MOD05_021E81D0
- ldrb r1, [r4, #0x13]
- mov r0, #0x7f
- bic r1, r0
- strb r1, [r4, #0x13]
- pop {r4, pc}
-_021E818A:
- bl MOD05_021E82A0
- cmp r0, #1
- bne _021E81BA
- ldrb r1, [r4, #0x13]
- mov r0, #0x7f
- bic r1, r0
- strb r1, [r4, #0x13]
- pop {r4, pc}
-_021E819C:
- bl MOD05_021E8260
- cmp r0, #1
- bne _021E81BA
- ldrb r1, [r4, #0x13]
- mov r0, #0x7f
- bic r1, r0
- strb r1, [r4, #0x13]
- pop {r4, pc}
-_021E81AE:
- bl MOD05_021E820C
- ldrb r1, [r4, #0x13]
- mov r0, #0x7f
- bic r1, r0
- strb r1, [r4, #0x13]
-_021E81BA:
- pop {r4, pc}
-
- thumb_func_start MOD05_021E81BC
-MOD05_021E81BC: ; 0x021E81BC
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #0x60]
- bl MOD05_021E8130
- add r0, r4, #0
- bl MOD05_021E8158
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E81D0
-MOD05_021E81D0: ; 0x021E81D0
- push {r4, lr}
- mov r1, #3
- add r4, r0, #0
- add r3, r1, #0
- ldr r0, [r4, #8]
- add r2, r1, #0
- sub r3, #0x33
- bl FUN_020179E0
- ldr r1, [r4, #0x60]
- ldrb r0, [r1, #0x13]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bne _021E8200
- ldrb r2, [r1, #0x12]
- ldr r0, [r4, #8]
- mov r3, #3
- bl FUN_020546E0
- ldr r2, [r4, #0x60]
- mov r0, #0x80
- ldrb r1, [r2, #0x13]
- orr r0, r1
- strb r0, [r2, #0x13]
-_021E8200:
- ldr r0, [r4, #0x60]
- ldrb r1, [r0, #0x12]
- ldrh r2, [r0, #0x10]
- bl FUN_02054744
- pop {r4, pc}
-
- thumb_func_start MOD05_021E820C
-MOD05_021E820C: ; 0x021E820C
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0
- ldr r0, [r4, #0x60]
- ldrb r1, [r0, #0x13]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1f
- beq _021E825A
- bl FUN_02019178
- mov r0, #0x12
- str r0, [sp]
- mov r0, #0x20
- str r0, [sp, #4]
- mov r0, #6
- str r0, [sp, #8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- mov r2, #0
- ldr r0, [r4, #8]
- mov r1, #3
- add r3, r2, #0
- bl FUN_02018540
- ldr r0, [r4, #8]
- mov r1, #3
- bl FUN_02017CD0
- mov r1, #3
- ldr r0, [r4, #8]
- add r2, r1, #0
- mov r3, #0
- bl FUN_020179E0
- ldr r2, [r4, #0x60]
- mov r0, #0x80
- ldrb r1, [r2, #0x13]
- bic r1, r0
- strb r1, [r2, #0x13]
-_021E825A:
- add sp, #0x10
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E8260
-MOD05_021E8260: ; 0x021E8260
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #8]
- mov r1, #3
- bl FUN_02017B54
- cmp r0, #0
- bne _021E8274
- mov r0, #1
- pop {r4, pc}
-_021E8274:
- mov r1, #0x2f
- mvn r1, r1
- cmp r0, r1
- ble _021E8280
- cmp r0, #0
- blt _021E828E
-_021E8280:
- mov r1, #3
- add r3, r1, #0
- ldr r0, [r4, #8]
- add r2, r1, #0
- sub r3, #0x33
- bl FUN_020179E0
-_021E828E:
- ldr r0, [r4, #8]
- mov r1, #3
- mov r2, #4
- mov r3, #0x10
- bl FUN_020179E0
- mov r0, #0
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E82A0
-MOD05_021E82A0: ; 0x021E82A0
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0
- ldr r0, [r4, #8]
- mov r1, #3
- bl FUN_02017B54
- mov r1, #0x2f
- mvn r1, r1
- cmp r0, r1
- bne _021E82EC
- mov r0, #0x12
- str r0, [sp]
- mov r0, #0x20
- str r0, [sp, #4]
- mov r0, #6
- str r0, [sp, #8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- mov r2, #0
- ldr r0, [r4, #8]
- mov r1, #3
- add r3, r2, #0
- bl FUN_02018540
- ldr r0, [r4, #8]
- mov r1, #3
- bl FUN_02017CD0
- mov r1, #3
- ldr r0, [r4, #8]
- add r2, r1, #0
- mov r3, #0
- bl FUN_020179E0
- add sp, #0x10
- mov r0, #1
- pop {r4, pc}
-_021E82EC:
- ble _021E82F2
- cmp r0, #0
- blt _021E82FE
-_021E82F2:
- mov r1, #3
- ldr r0, [r4, #8]
- add r2, r1, #0
- mov r3, #0
- bl FUN_020179E0
-_021E82FE:
- ldr r0, [r4, #8]
- mov r1, #3
- mov r2, #5
- mov r3, #0x10
- bl FUN_020179E0
- mov r0, #0
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start MOD05_021E8310
-MOD05_021E8310: ; 0x021E8310
- push {r3, r4, r5, r6, r7, lr}
- ldr r4, [r1, #0xc]
- add r5, r0, #0
- add r0, r4, #0
- bl FUN_02034E30
- bl FUN_02034DC0
- add r6, r0, #0
- add r0, r4, #0
- bl Sav2_Pokedex_get
- add r7, r0, #0
- ldr r0, [r6]
- bl FUN_02034824
- str r0, [r5, #4]
- add r0, r7, #0
- bl Pokedex_GetSinnohDexFlag
- cmp r0, #0
- beq _021E8344
- add r0, r7, #0
- bl Pokedex_CountSeenMons
- b _021E8346
-_021E8344:
- mov r0, #0
-_021E8346:
- str r0, [r5]
- add r0, r4, #0
- bl Sav2_PlayerData_GetProfileAddr
- str r0, [r5, #8]
- add r0, r4, #0
- bl Sav2_PlayerData_GetIGTAddr
- str r0, [r5, #0xc]
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E835C
-MOD05_021E835C: ; 0x021E835C
- push {r3, r4, r5, lr}
- sub sp, #8
- add r4, r1, #0
- ldr r2, [r4, #4]
- mov r1, #0
- add r5, r0, #0
- bl BufferLandmarkName
- ldr r2, [r4, #8]
- add r0, r5, #0
- mov r1, #1
- bl BufferPlayersName
- ldr r0, [r4, #8]
- bl PlayerProfile_CountBadges
- add r2, r0, #0
- mov r0, #0
- str r0, [sp]
- mov r3, #1
- str r3, [sp, #4]
- add r0, r5, #0
- mov r1, #2
- bl BufferIntegerAsString
- ldr r2, [r4]
- cmp r2, #0x64
- blt _021E839A
- mov r3, #3
- mov r0, #0
- b _021E83A8
-_021E839A:
- cmp r2, #0xa
- blt _021E83A4
- mov r3, #3
- mov r0, #1
- b _021E83A8
-_021E83A4:
- mov r3, #2
- mov r0, #1
-_021E83A8:
- str r0, [sp]
- mov r0, #1
- str r0, [sp, #4]
- add r0, r5, #0
- mov r1, #3
- bl BufferIntegerAsString
- ldr r0, [r4, #0xc]
- bl GetIGTHours
- add r2, r0, #0
- cmp r2, #0x64
- blt _021E83C8
- mov r3, #3
- mov r0, #0
- b _021E83D6
-_021E83C8:
- cmp r2, #0xa
- blt _021E83D2
- mov r3, #3
- mov r0, #1
- b _021E83D6
-_021E83D2:
- mov r3, #2
- mov r0, #1
-_021E83D6:
- str r0, [sp]
- mov r0, #1
- str r0, [sp, #4]
- add r0, r5, #0
- mov r1, #4
- bl BufferIntegerAsString
- ldr r0, [r4, #0xc]
- bl GetIGTMinutes
- mov r3, #2
- add r2, r0, #0
- str r3, [sp]
- mov r0, #1
- str r0, [sp, #4]
- add r0, r5, #0
- mov r1, #5
- bl BufferIntegerAsString
- add sp, #8
- pop {r3, r4, r5, pc}
-
- thumb_func_start MOD05_021E8400
-MOD05_021E8400: ; 0x021E8400
- ldr r0, [r0]
- cmp r0, #0
- beq _021E840A
- mov r0, #0xa
- bx lr
-_021E840A:
- mov r0, #8
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021E8410
-MOD05_021E8410: ; 0x021E8410
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x18
- add r5, r0, #0
- mov r0, #0
- mov r1, #1
- bl FUN_02002E4C
- add r4, r0, #0
- mov r0, #0
- mov r1, #3
- bl FUN_02002E4C
- add r0, r4, r0
- str r0, [sp, #0x14]
- mov r4, #0
- ldr r0, [r5, #0x14]
- ldr r1, [r5, #0x18]
- ldr r3, [r5, #4]
- add r2, r4, #0
- bl ReadMsgData_ExpandPlaceholders
- add r1, r4, #0
- add r6, r0, #0
- str r1, [sp]
- mov r0, #0xff
- str r0, [sp, #4]
- str r1, [sp, #8]
- ldr r0, [r5, #0x10]
- add r2, r6, #0
- add r3, r1, #0
- bl AddTextPrinterParameterized
- add r0, r6, #0
- bl String_dtor
- mov r0, #1
- str r0, [sp, #0x10]
- ldr r0, _021E84EC ; =UNK05_021F78D4
- ldr r7, _021E84F0 ; =UNK05_021F78C4
- str r0, [sp, #0xc]
-_021E8460:
- ldr r0, [sp, #0xc]
- ldr r1, [r0]
- cmp r1, #3
- bne _021E846E
- ldr r0, [r5, #0x1c]
- cmp r0, #0
- beq _021E84D6
-_021E846E:
- ldr r0, [sp, #0x14]
- add r4, r4, r0
- ldr r0, [r5, #0x18]
- bl NewString_ReadMsgData
- add r6, r0, #0
- mov r1, #0
- str r4, [sp]
- mov r0, #0xff
- str r0, [sp, #4]
- mov r0, #0
- str r0, [sp, #8]
- ldr r0, [r5, #0x10]
- add r2, r6, #0
- add r3, r1, #0
- bl AddTextPrinterParameterized
- add r0, r6, #0
- bl String_dtor
- sub r2, r7, #4
- ldr r0, [r5, #0x14]
- ldr r1, [r5, #0x18]
- ldr r2, [r2]
- ldr r3, [r5, #4]
- bl ReadMsgData_ExpandPlaceholders
- add r6, r0, #0
- mov r0, #0
- mov r1, #2
- bl FUN_02002E4C
- add r2, r0, #0
- mov r0, #0
- add r1, r6, #0
- bl FUN_02002E14
- mov r1, #0x68
- sub r3, r1, r0
- str r4, [sp]
- mov r0, #0xff
- str r0, [sp, #4]
- mov r0, #0
- str r0, [sp, #8]
- ldr r0, [r5, #0x10]
- mov r1, #0
- add r2, r6, #0
- bl AddTextPrinterParameterized
- add r0, r6, #0
- bl String_dtor
-_021E84D6:
- ldr r0, [sp, #0xc]
- add r7, r7, #4
- add r0, r0, #4
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- add r0, r0, #1
- str r0, [sp, #0x10]
- cmp r0, #5
- blo _021E8460
- add sp, #0x18
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-_021E84EC: .word UNK05_021F78D4
-_021E84F0: .word UNK05_021F78C4
-
- thumb_func_start MOD05_021E84F4
-MOD05_021E84F4: ; 0x021E84F4
- push {r3, r4, lr}
- sub sp, #0x14
- add r4, r0, #0
- ldr r0, [r4, #4]
- mov r1, #0x10
- bl AllocFromHeap
- str r0, [r4, #0x10]
- mov r3, #1
- str r3, [sp]
- ldr r0, [r4, #0x2c]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #4]
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- ldr r0, _021E8564 ; =0x0000027F
- str r0, [sp, #0x10]
- ldrb r2, [r4, #8]
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x10]
- bl FUN_02019064
- mov r0, #0
- str r0, [sp]
- ldr r0, [r4, #4]
- ldr r2, _021E8568 ; =0x000003D9
- str r0, [sp, #4]
- ldrb r1, [r4, #8]
- ldr r0, [r4, #0xc]
- mov r3, #0xb
- bl FUN_0200CB00
- mov r0, #0
- mov r1, #6
- bl FUN_02002E4C
- add r1, r0, #0
- ldr r0, [r4, #0x10]
- bl FUN_02019620
- add r0, r4, #0
- bl MOD05_021E8410
- ldr r0, [r4, #0x10]
- ldr r2, _021E8568 ; =0x000003D9
- mov r1, #0
- mov r3, #0xb
- bl FUN_0200CCA4
- add sp, #0x14
- pop {r3, r4, pc}
- .balign 4, 0
-_021E8564: .word 0x0000027F
-_021E8568: .word 0x000003D9
-
- thumb_func_start MOD05_021E856C
-MOD05_021E856C: ; 0x021E856C
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #0x10]
- mov r1, #0
- bl FUN_0200CCF8
- ldr r0, [r4, #0x10]
- bl FUN_02019178
- ldr r0, [r4, #0x10]
- bl FreeToHeap
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E8588
-MOD05_021E8588: ; 0x021E8588
- push {r3, r4, r5, r6, r7, lr}
- add r5, r1, #0
- add r6, r0, #0
- add r0, r5, #0
- mov r1, #0x34
- add r7, r2, #0
- bl AllocFromHeap
- add r4, r0, #0
- str r6, [r4]
- str r5, [r4, #4]
- strb r7, [r4, #8]
- ldr r0, [r6, #8]
- str r0, [r4, #0xc]
- add r0, r5, #0
- bl ScrStrBufs_new
- str r0, [r4, #0x14]
- ldr r2, _021E85E0 ; =0x000001E3
- mov r0, #1
- mov r1, #0x1a
- add r3, r5, #0
- bl NewMsgDataFromNarc
- str r0, [r4, #0x18]
- add r0, r4, #0
- ldr r1, [r4]
- add r0, #0x1c
- bl MOD05_021E8310
- add r1, r4, #0
- ldr r0, [r4, #0x14]
- add r1, #0x1c
- bl MOD05_021E835C
- mov r0, #0xd
- str r0, [r4, #0x2c]
- add r0, r4, #0
- add r0, #0x1c
- bl MOD05_021E8400
- str r0, [r4, #0x30]
- add r0, r4, #0
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-_021E85E0: .word 0x000001E3
-
- thumb_func_start MOD05_021E85E4
-MOD05_021E85E4: ; 0x021E85E4
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #0x18]
- bl DestroyMsgData
- ldr r0, [r4, #0x14]
- bl ScrStrBufs_delete
- add r0, r4, #0
- bl FreeToHeap
- pop {r4, pc}
-
- thumb_func_start MOD05_021E85FC
-MOD05_021E85FC: ; 0x021E85FC
- push {r4, lr}
- add r4, r0, #0
- bl FUN_02034E48
- add r0, r4, #0
- mov r1, #4
- mov r2, #0
- bl MOD05_021EFA9C
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- ldr r1, [r4, #0x1c]
- str r0, [r1, #8]
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- ldr r1, [r4, #0x1c]
- str r0, [r1, #0xc]
- mov r1, #0
- ldr r0, [r4, #0x1c]
- mvn r1, r1
- str r1, [r0, #4]
- ldr r0, [r4, #0x38]
- bl FUN_020552F8
- ldr r1, [r4, #0x1c]
- str r0, [r1, #0x10]
- ldr r0, [r4, #0xc]
- bl FUN_02022720
- cmp r0, #2
- bne _021E8642
- mov r0, #1
- pop {r4, pc}
-_021E8642:
- mov r0, #0
- pop {r4, pc}
- .balign 4, 0
-
thumb_func_start MOD05_021E8648
MOD05_021E8648: ; 0x021E8648
push {r4, r5, r6, lr}
@@ -29232,14 +28538,6 @@ _021F6428: .word MOD05_021F57F0
.section .rodata
- .global UNK05_021F78C4
-UNK05_021F78C4: ; 0x021F78C4
- .byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .global UNK05_021F78D4
-UNK05_021F78D4: ; 0x021F78D4
- .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
-
.global UNK05_021F78E4
UNK05_021F78E4: ; 0x021F78E4
.byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00