summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-08-20 17:42:43 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-08-20 17:42:43 +0200
commitab913c9e63d21a604001c5fee48f0a225d9964ee (patch)
tree45f604c27142e5544ad5b137d18894d958d76c69
parent1563763c1869adc14ba7b36bfe831cf29e489056 (diff)
german build fixed
-rw-r--r--asm-de/battle_message.s2342
-rw-r--r--src/battle_message.c524
2 files changed, 263 insertions, 2603 deletions
diff --git a/asm-de/battle_message.s b/asm-de/battle_message.s
deleted file mode 100644
index 2f671a766..000000000
--- a/asm-de/battle_message.s
+++ /dev/null
@@ -1,2342 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start BufferStringBattle
-BufferStringBattle: @ 8120AA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- ldr r5, _08120B70 @ =gSelectedOrderFromParty
- ldr r4, _08120B74 @ =gActiveBank
- ldrb r1, [r4]
- lsls r1, 9
- ldr r0, _08120B78 @ =gUnknown_02023A64
- adds r1, r0
- str r1, [r5]
- ldr r2, _08120B7C @ =gLastUsedItem
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- ldr r2, _08120B80 @ =gLastUsedAbility
- ldrb r0, [r1, 0x6]
- strb r0, [r2]
- ldr r3, _08120B84 @ =0x02000000
- ldrb r0, [r1, 0x7]
- mov r8, r0
- ldr r2, _08120B88 @ =0x00016003
- adds r0, r3, r2
- mov r2, r8
- strb r2, [r0]
- ldrb r0, [r1, 0x8]
- mov r8, r0
- ldr r2, _08120B8C @ =0x0001605e
- adds r0, r3, r2
- mov r2, r8
- strb r2, [r0]
- ldrb r0, [r1, 0x9]
- mov r8, r0
- ldr r2, _08120B90 @ =0x000160c1
- adds r0, r3, r2
- mov r2, r8
- strb r2, [r0]
- ldr r2, _08120B94 @ =gStringBank
- ldrb r0, [r1, 0xA]
- strb r0, [r2]
- ldrb r1, [r1, 0xB]
- ldr r2, _08120B98 @ =0x000160a0
- adds r0, r3, r2
- strb r1, [r0]
- movs r2, 0
- mov r9, r3
- ldr r3, _08120B9C @ =gBattleTextBuff1
- mov r10, r3
- ldr r3, _08120BA0 @ =gAbilitiesPerBank
-_08120B10:
- adds r0, r2, r3
- ldr r1, [r5]
- adds r1, 0xC
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _08120B10
- movs r2, 0
- ldr r0, _08120B9C @ =gBattleTextBuff1
- mov r8, r0
- ldr r3, _08120B70 @ =gSelectedOrderFromParty
- ldr r1, _08120BA4 @ =gBattleTextBuff2
- mov r12, r1
- ldr r5, _08120BA8 @ =gBattleTextBuff3
-_08120B30:
- mov r0, r8
- adds r1, r2, r0
- ldr r0, [r3]
- adds r0, 0x10
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- mov r0, r12
- adds r1, r2, r0
- ldr r0, [r3]
- adds r0, 0x20
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r2, r5
- ldr r0, [r3]
- adds r0, 0x30
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0xF
- ble _08120B30
- cmp r7, 0x5
- bls _08120B64
- b _08120F50
-_08120B64:
- lsls r0, r7, 2
- ldr r1, _08120BAC @ =_08120BB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08120B70: .4byte gSelectedOrderFromParty
-_08120B74: .4byte gActiveBank
-_08120B78: .4byte gUnknown_02023A64
-_08120B7C: .4byte gLastUsedItem
-_08120B80: .4byte gLastUsedAbility
-_08120B84: .4byte 0x02000000
-_08120B88: .4byte 0x00016003
-_08120B8C: .4byte 0x0001605e
-_08120B90: .4byte 0x000160c1
-_08120B94: .4byte gStringBank
-_08120B98: .4byte 0x000160a0
-_08120B9C: .4byte gBattleTextBuff1
-_08120BA0: .4byte gAbilitiesPerBank
-_08120BA4: .4byte gBattleTextBuff2
-_08120BA8: .4byte gBattleTextBuff3
-_08120BAC: .4byte _08120BB0
- .align 2, 0
-_08120BB0:
- .4byte _08120BC8
- .4byte _08120C40
- .4byte _08120CCC
- .4byte _08120D5C
- .4byte _08120DE8
- .4byte _08120E50
-_08120BC8:
- ldr r0, _08120BEC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08120C00
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08120BF8
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120BF0 @ =gUnknown_084005C7
- cmp r0, 0
- bne _08120BE8
- b _08120F70
-_08120BE8:
- ldr r6, _08120BF4 @ =gUnknown_084005DB
- b _08120F70
- .align 2, 0
-_08120BEC: .4byte gBattleTypeFlags
-_08120BF0: .4byte gUnknown_084005C7
-_08120BF4: .4byte gUnknown_084005DB
-_08120BF8:
- ldr r6, _08120BFC @ =gUnknown_084005AA
- ldr r0, _08120C04 @ =0x0000ffff
- b _08120F9A
- .align 2, 0
-_08120BFC: .4byte gUnknown_084005AA
-_08120C04: .4byte 0x0000ffff
-_08120C00:
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _08120C14
- ldr r6, _08120C10 @ =gUnknown_08400568
- b _08120F70
- .align 2, 0
-_08120C10: .4byte gUnknown_08400568
-_08120C14:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120C24
- ldr r6, _08120C20 @ =gUnknown_08400590
- b _08120F70
- .align 2, 0
-_08120C20: .4byte gUnknown_08400590
-_08120C24:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- ldr r6, _08120C38 @ =gUnknown_08400555
- cmp r0, 0
- bne _08120C32
- b _08120F70
-_08120C32:
- ldr r6, _08120C3C @ =gUnknown_0840057B
- b _08120F70
- .align 2, 0
-_08120C38: .4byte gUnknown_08400555
-_08120C3C: .4byte gUnknown_0840057B
-_08120C40:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08120C7C
- ldr r0, _08120C68 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120C74
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120C6C @ =gUnknown_084006A4
- cmp r0, 0
- bne _08120C64
- b _08120F70
-_08120C64:
- ldr r6, _08120C70 @ =gUnknown_084006F1
- b _08120F70
- .align 2, 0
-_08120C68: .4byte gBattleTypeFlags
-_08120C6C: .4byte gUnknown_084006A4
-_08120C70: .4byte gUnknown_084006F1
-_08120C74:
- ldr r6, _08120C78 @ =gUnknown_0840069C
- b _08120F70
- .align 2, 0
-_08120C78: .4byte gUnknown_0840069C
-_08120C7C:
- ldr r0, _08120C94 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120CB4
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08120C9C
- ldr r6, _08120C98 @ =gUnknown_0840065C
- b _08120F70
- .align 2, 0
-_08120C94: .4byte gBattleTypeFlags
-_08120C98: .4byte gUnknown_0840065C
-_08120C9C:
- movs r0, 0x2
- ands r0, r1
- ldr r6, _08120CB8d @ =gUnknown_08400645
- cmp r0, 0
- beq _08120CA8
- b _08120F70
-_08120CA8:
- ldr r6, _08120CBCd @ =gUnknown_08400608
- ldr r0, _08120CC0d @ =0x0000ffff
- b _08120F9A
- .align 2, 0
-_08120CB8d: .4byte gUnknown_08400645
-_08120CBCd: .4byte gUnknown_08400608
-_08120CC0d: .4byte 0x0000ffff
-_08120CB4:
- movs r0, 0x2
- ands r0, r1
- ldr r6, _08120CD8 @ =gUnknown_08400635
- cmp r0, 0
- beq _08120CC0
- b _08120F70
-_08120CC0:
- ldr r6, _08120CDC @ =gUnknown_084005F5
- ldr r0, _08120CE0 @ =0x0000ffff
- b _08120F9A
- .align 2, 0
-_08120CD8: .4byte gUnknown_08400635
-_08120CDC: .4byte gUnknown_084005F5
-_08120CE0: .4byte 0x0000ffff
-_08120CCC:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08120D24
- ldr r0, _08120CE8 @ =0x02000000
- ldr r1, _08120CEC @ =0x000160c1
- adds r0, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _08120CF4
- ldr r6, _08120CF0 @ =gUnknown_08400709
- b _08120F70
- .align 2, 0
-_08120CE8: .4byte 0x02000000
-_08120CEC: .4byte 0x000160c1
-_08120CF0: .4byte gUnknown_08400709
-_08120CF4:
- cmp r2, 0x1
- beq _08120D04
- ldr r0, _08120D08 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120D10
-_08120D04:
- ldr r6, _08120D0C @ =gUnknown_08400727
- b _08120F70
- .align 2, 0
-_08120D08: .4byte gBattleTypeFlags
-_08120D0C: .4byte gUnknown_08400727
-_08120D10:
- ldr r6, _08120D1C @ =gUnknown_08400749
- cmp r2, 0x2
- beq _08120D18
- b _08120F70
-_08120D18:
- ldr r6, _08120D20 @ =gUnknown_08400736
- b _08120F70
- .align 2, 0
-_08120D1C: .4byte gUnknown_08400749
-_08120D20: .4byte gUnknown_08400736
-_08120D24:
- ldr r0, _08120D44 @ =gTrainerBattleOpponent
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- bne _08120D54
- ldr r0, _08120D48 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120D4C @ =gUnknown_08400771
- cmp r0, 0
- bne _08120D40
- b _08120F70
-_08120D40:
- ldr r6, _08120D50 @ =gUnknown_08400781
- b _08120F70
- .align 2, 0
-_08120D44: .4byte gTrainerBattleOpponent
-_08120D48: .4byte gBattleTypeFlags
-_08120D4C: .4byte gUnknown_08400771
-_08120D50: .4byte gUnknown_08400781
-_08120D54:
- ldr r6, _08120D58 @ =gUnknown_0840075E
- ldr r0, _d08120D78 @ =0x0000ffff
- b _08120F9A
- .align 2, 0
-_08120D58: .4byte gUnknown_0840075E
-_d08120D78: .4byte 0x0000ffff
-_08120D5C:
- ldr r0, _08120D88 @ =0x00016003
- add r0, r9
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08120DB8
- ldr r0, _08120D8C @ =0x000160c1
- add r0, r9
- ldrb r3, [r0]
- cmp r3, 0
- beq _08120D82
- ldr r0, _08120D90 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120D98
-_08120D82:
- ldr r6, _08120D94 @ =gUnknown_084006B3
- b _08120F70
- .align 2, 0
-_08120D88: .4byte 0x00016003
-_08120D8C: .4byte 0x000160c1
-_08120D90: .4byte gBattleTypeFlags
-_08120D94: .4byte gUnknown_084006B3
-_08120D98:
- cmp r3, 0x1
- bne _08120DA4
- ldr r6, _08120DA0 @ =gUnknown_084006BB
- b _08120F70
- .align 2, 0
-_08120DA0: .4byte gUnknown_084006BB
-_08120DA4:
- ldr r6, _08120DB0 @ =gUnknown_084006D5
- cmp r3, 0x2
- beq _08120DAC
- b _08120F70
-_08120DAC:
- ldr r6, _08120DB4 @ =gUnknown_084006C6
- b _08120F70
- .align 2, 0
-_08120DB0: .4byte gUnknown_084006D5
-_08120DB4: .4byte gUnknown_084006C6
-_08120DB8:
- ldr r0, _08120DD4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08120DE0
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120DD8 @ =gUnknown_0840067C
- cmp r0, 0
- bne _08120DD0
- b _08120F70
-_08120DD0:
- ldr r6, _08120DDC @ =gUnknown_0840068C
- b _08120F70
- .align 2, 0
-_08120DD4: .4byte gBattleTypeFlags
-_08120DD8: .4byte gUnknown_0840067C
-_08120DDC: .4byte gUnknown_0840068C
-_08120DE0:
- ldr r6, _08120DE4 @ =gUnknown_08400622
- ldr r0, _d08120E0C @ =0x0000ffff
- b _08120F9A
- .align 2, 0
-_08120DE4: .4byte gUnknown_08400622
-_d08120E0C: .4byte 0x0000ffff
-_08120DE8:
- mov r0, r10
- bl sub_8121D1C
- ldr r0, _08120E14 @ =gSelectedOrderFromParty
- ldr r2, [r0]
- ldrh r1, [r2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _08120E28
- ldr r0, _08120E18 @ =gBattleTextBuff2
- ldr r2, _08120E1C @ =gUnknown_08401674
- ldr r1, _08120E20 @ =0x02000000
- ldr r3, _08120E24 @ =0x000160a0
- adds r1, r3
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- b _08120E38
- .align 2, 0
-_08120E14: .4byte gSelectedOrderFromParty
-_08120E18: .4byte gBattleTextBuff2
-_08120E1C: .4byte gUnknown_08401674
-_08120E20: .4byte 0x02000000
-_08120E24: .4byte 0x000160a0
-_08120E28:
- ldr r0, _08120E44 @ =gBattleTextBuff2
- ldrh r2, [r2]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _08120E48 @ =gMoveNames
- adds r1, r2
- bl StringCopy
-_08120E38:
- ldr r0, _08120E44 @ =gBattleTextBuff2
- bl sub_8121D74
- ldr r6, _08120E4C @ =gUnknown_084007BD
- b _08120F70
- .align 2, 0
-_08120E44: .4byte gBattleTextBuff2
-_08120E48: .4byte gMoveNames
-_08120E4C: .4byte gUnknown_084007BD
-_08120E50:
- ldr r5, _08120E90 @ =gBattleTextBuff1
- ldrb r1, [r5]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08120EB8
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r5]
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08120E7C
- ldrb r1, [r5]
- cmp r1, 0x3
- beq _08120E7C
- movs r0, 0x3
- eors r0, r1
- strb r0, [r5]
-_08120E7C:
- ldr r0, _08120E90 @ =gBattleTextBuff1
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08120E98
- ldr r6, _08120E94 @ =gUnknown_083FFEFC
- b _08120F70
- .align 2, 0
-_08120E90: .4byte gBattleTextBuff1
-_08120E94: .4byte gUnknown_083FFEFC
-_08120E98:
- ldr r0, _08120EAC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120EB0 @ =gUnknown_083FFFEA
- cmp r0, 0
- beq _08120F70
- ldr r6, _08120EB4 @ =gUnknown_083FFFF7
- b _08120F70
- .align 2, 0
-_08120EAC: .4byte gBattleTypeFlags
-_08120EB0: .4byte gUnknown_083FFFEA
-_08120EB4: .4byte gUnknown_083FFFF7
-_08120EB8:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08120ED2
- ldrb r1, [r5]
- cmp r1, 0x3
- beq _08120ED2
- movs r0, 0x3
- eors r0, r1
- strb r0, [r5]
-_08120ED2:
- ldr r0, _08120EF0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08120F18
- ldr r0, _08120EF4 @ =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08120F08
- cmp r0, 0x2
- bgt _08120EF8
- cmp r0, 0x1
- beq _08120EFE
- b _08120F70
- .align 2, 0
-_08120EF0: .4byte gBattleTypeFlags
-_08120EF4: .4byte gBattleTextBuff1
-_08120EF8:
- cmp r0, 0x3
- beq _08120F10
- b _08120F70
-_08120EFE:
- ldr r6, _08120F04 @ =gUnknown_083FFF6A
- b _08120F70
- .align 2, 0
-_08120F04: .4byte gUnknown_083FFF6A
-_08120F08:
- ldr r6, _08120F0C @ =gUnknown_083FFF99
- b _08120F70
- .align 2, 0
-_08120F0C: .4byte gUnknown_083FFF99
-_08120F10:
- ldr r6, _08120F14 @ =gUnknown_083FFFCB
- b _08120F70
- .align 2, 0
-_08120F14: .4byte gUnknown_083FFFCB
-_08120F18:
- ldr r0, _08120F2C @ =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08120F40
- cmp r0, 0x2
- bgt _08120F30
- cmp r0, 0x1
- beq _08120F36
- b _08120F70
- .align 2, 0
-_08120F2C: .4byte gBattleTextBuff1
-_08120F30:
- cmp r0, 0x3
- beq _08120F48
- b _08120F70
-_08120F36:
- ldr r6, _08120F3C @ =gUnknown_083FFF56
- b _08120F70
- .align 2, 0
-_08120F3C: .4byte gUnknown_083FFF56
-_08120F40:
- ldr r6, _08120F44 @ =gUnknown_083FFF81
- b _08120F70
- .align 2, 0
-_08120F44: .4byte gUnknown_083FFF81
-_08120F48:
- ldr r6, _08120F4C @ =gUnknown_083FFFB3
- b _08120F70
- .align 2, 0
-_08120F4C: .4byte gUnknown_083FFFB3
-_08120F50:
- movs r0, 0xB5
- lsls r0, 1
- cmp r7, r0
- bls _08120F64
- ldr r1, _08120F60 @ =gDisplayedStringBattle
- movs r0, 0xFF
- strb r0, [r1]
- b _08120F76
- .align 2, 0
-_08120F60: .4byte gDisplayedStringBattle
-_08120F64:
- ldr r1, _08120F84 @ =gBattleStringsTable
- adds r0, r7, 0
- subs r0, 0xC
- lsls r0, 2
- adds r0, r1
- ldr r6, [r0]
- adds r0, r7, 0
-_08120F9A:
- adds r1, r6, 0
- bl de_sub_804110C
- adds r6, r0, 0
-_08120F70:
- adds r0, r6, 0
- bl StrCpyDecodeToDisplayedStringBattle
-_08120F76:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08120F84: .4byte gBattleStringsTable
- thumb_func_end BufferStringBattle
-
- thumb_func_start StrCpyDecodeToDisplayedStringBattle
-StrCpyDecodeToDisplayedStringBattle: @ 8120F88
- push {lr}
- ldr r1, _08120F94 @ =gDisplayedStringBattle
- bl StrCpyDecodeBattle
- pop {r1}
- bx r1
- .align 2, 0
-_08120F94: .4byte gDisplayedStringBattle
- thumb_func_end StrCpyDecodeToDisplayedStringBattle
-
- thumb_func_start sub_8120F98
-sub_8120F98: @ 8120F98
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08120FB0 @ =gUnknown_084017A8
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- mov r2, sp
- movs r3, 0
- b _08120FC0
- .align 2, 0
-_08120FB0: .4byte gUnknown_084017A8
-_08120FB4:
- strb r1, [r2]
- adds r4, 0x1
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x7
- bhi _08120FC8
-_08120FC0:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08120FB4
-_08120FC8:
- ldr r5, [sp]
- ldr r4, [sp, 0x4]
- movs r3, 0
- ldr r2, _08120FE4 @ =gUnknown_081FA6D4
-_08120FD0:
- ldr r1, [r2]
- ldr r0, [r1]
- cmp r5, r0
- bne _08120FE8
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bne _08120FE8
- ldr r0, [r2, 0x4]
- b _08120FF2
- .align 2, 0
-_08120FE4: .4byte gUnknown_081FA6D4
-_08120FE8:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x6
- bls _08120FD0
- movs r0, 0
-_08120FF2:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8120F98
-
- thumb_func_start StrCpyDecodeBattle
-StrCpyDecodeBattle: @ 8120FFC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- mov r9, r0
- mov r8, r1
- movs r6, 0
- movs r4, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- ldrb r1, [r0]
- bl _08121A40
-_0812101E:
- cmp r1, 0xFD
- beq _08121026
- bl _08121A30
-_08121026:
- movs r1, 0x1
- add r9, r1
- mov r2, r9
- ldrb r0, [r2]
- cmp r0, 0x2A
- bls _08121036
- bl _081219E6
-_08121036:
- lsls r0, 2
- ldr r1, _08121040 @ =_08121044
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08121040: .4byte _08121044
- .align 2, 0
-_08121044:
- .4byte _081210F0
- .4byte _0812111E
- .4byte _0812115A
- .4byte _08121180
- .4byte _081211A4
- .4byte _081211C8
- .4byte _081211EC
- .4byte _08121218
- .4byte _08121248
- .4byte _08121278
- .4byte _081212A8
- .4byte _0812133C
- .4byte _081213A8
- .4byte _0812141C
- .4byte _08121490
- .4byte _08121504
- .4byte _08121578
- .4byte _081215F8
- .4byte _08121620
- .4byte _08121660
- .4byte _081216EC
- .4byte _081216F4
- .4byte _08121704
- .4byte _08121714
- .4byte _0812172C
- .4byte _0812174C
- .4byte _081217C0
- .4byte _08121830
- .4byte _08121840
- .4byte _08121854
- .4byte _08121868
- .4byte _0812188C
- .4byte _081218B0
- .4byte _081218B8
- .4byte _081218C0
- .4byte _0812195C
- .4byte _081219A4
- .4byte _081219AC
- .4byte _0812197C
- .4byte _08121984
- .4byte _081219CC
- .4byte _081219D4
- .4byte _08121134
-_081210F0:
- ldr r5, _08121100 @ =gBattleTextBuff1
- ldrb r0, [r5]
- cmp r0, 0xFD
- bne _08121108
- ldr r4, _08121104 @ =gStringVar1
- adds r0, r5, 0
- b _08121140
- .align 2, 0
-_08121100: .4byte gBattleTextBuff1
-_08121104: .4byte gStringVar1
-_08121108:
- adds r0, r5, 0
- bl sub_8120F98
- adds r4, r0, 0
- cmp r4, 0
- beq _08121118
- bl _081219E6
-_08121118:
- adds r4, r5, 0
- bl _081219E6
-_0812111E:
- ldr r1, _0812112C @ =gBattleTextBuff2
- ldrb r0, [r1]
- cmp r0, 0xFD
- bne _08121154
- ldr r4, _08121130 @ =gStringVar2
- b _0812113E
- .align 2, 0
-_0812112C: .4byte gBattleTextBuff2
-_08121130: .4byte gStringVar2
-_08121134:
- ldr r1, _0812114C @ =gBattleTextBuff3
- ldrb r0, [r1]
- cmp r0, 0xFD
- bne _08121154
- ldr r4, _08121150 @ =gStringVar3
-_0812113E:
- adds r0, r1, 0
-_08121140:
- adds r1, r4, 0
- bl sub_8121A68
- bl _081219E6
- .align 2, 0
-_0812114C: .4byte gBattleTextBuff3
-_08121150: .4byte gStringVar3
-_08121154:
- adds r4, r1, 0
- bl _081219E6
-_0812115A:
- movs r0, 0
- bl GetBankByPlayerAI
- ldr r1, _08de12116C @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08de12116C: .4byte gBattlePartyID
-_08121180:
- movs r0, 0x1
- bl GetBankByPlayerAI
- ldr r1, _0812119C @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081211A0 @ =gEnemyParty
- b _08121940
- .align 2, 0
-_0812119C: .4byte gBattlePartyID
-_081211A0: .4byte gEnemyParty
-_081211A4:
- movs r0, 0x2
- bl GetBankByPlayerAI
- ldr r1, _081211C0 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_081211C0: .4byte gBattlePartyID
-_081211C8:
- movs r0, 0x3
- bl GetBankByPlayerAI
- ldr r1, _081211E4 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081211E8 @ =gEnemyParty
- b _08121940
- .align 2, 0
-_081211E4: .4byte gBattlePartyID
-_081211E8: .4byte gEnemyParty
-_081211EC:
- ldr r2, _0812120C @ =gBattlePartyID
- ldr r1, _08121210 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x18]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_0812120C: .4byte gBattlePartyID
-_08121210: .4byte gLinkPlayers
-_08121218:
- ldr r2, _0812123C @ =gBattlePartyID
- ldr r1, _08121240 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x1
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121244 @ =gEnemyParty
- b _08121940
- .align 2, 0
-_0812123C: .4byte gBattlePartyID
-_08121240: .4byte gLinkPlayers
-_08121244: .4byte gEnemyParty
-_08121248:
- ldr r2, _0812126C @ =gBattlePartyID
- ldr r1, _08121270 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x2
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_0812126C: .4byte gBattlePartyID
-_08121270: .4byte gLinkPlayers
-_08121278:
- ldr r2, _0812129C @ =gBattlePartyID
- ldr r1, _081212A0 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x3
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081212A4 @ =gEnemyParty
- b _08121940
- .align 2, 0
-_0812129C: .4byte gBattlePartyID
-_081212A0: .4byte gLinkPlayers
-_081212A4: .4byte gEnemyParty
-_081212A8:
- ldr r4, _081212CC @ =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _081212E6
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByPlayerAI
- ldr r1, _08121314 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121318 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _08de1212BE
- .align 2, 0
-_081212CC: .4byte gBankAttacker
-_08121314: .4byte gBattlePartyID
-_08121318: .4byte gEnemyParty
-_08de1212B4:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_08de1212BE:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08de1212B4
- b _08de12184E
-_081212E6:
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByPlayerAI
- ldr r1, _08121338 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08121338: .4byte gBattlePartyID
-_0812133C:
- ldr r4, _08de121314 @ =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08de12131C
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByPlayerAI
- ldr r1, _08de121318 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08de121314: .4byte gBankAttacker
-_08de121318: .4byte gBattlePartyID
-_08de12131C:
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByPlayerAI
- ldr r1, _08de12134C @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08de121350 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0812194A
- .align 2, 0
-_08de12134C: .4byte gBattlePartyID
-_08de121350: .4byte gEnemyParty
-_081213A8:
- ldr r4, _08de121388 @ =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08de1213A8
- ldr r1, _08de12138C @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08de121390 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _08de12139E
- .align 2, 0
-_08de121388: .4byte gBankAttacker
-_08de12138C: .4byte gBattlePartyID
-_08de121390: .4byte gEnemyParty
-_08de121394:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_08de12139E:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08de121394
- b _08de12184E
-_08de1213A8:
- ldr r1, _08de1213B4 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08de1213B4: .4byte gBattlePartyID
-_0812141C:
- ldr r4, _08de1213EC @ =gBankTarget
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08de12140C
- ldr r1, _08de1213F0 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08de1213F4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _08de121402
- .align 2, 0
-_08de1213EC: .4byte gBankTarget
-_08de1213F0: .4byte gBattlePartyID
-_08de1213F4: .4byte gEnemyParty
-_08de1213F8:
- mov r2, r8
- adds r0, r2, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_08de121402:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08de1213F8
- b _08de12184E
-_08de12140C:
- ldr r1, _08de121418 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08de121418: .4byte gBattlePartyID
-_08121490:
- ldr r4, _08de121450 @ =gEffectBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08de121470
- ldr r1, _08de121454 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08de121458 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _08de121466
- .align 2, 0
-_08de121450: .4byte gEffectBank
-_08de121454: .4byte gBattlePartyID
-_08de121458: .4byte gEnemyParty
-_08de12145C:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_08de121466:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08de12145C
- b _08de12184E
-_08de121470:
- ldr r1, _08de12147C @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08de12147C: .4byte gBattlePartyID
-_08121504:
- ldr r4, _08de1214B4 @ =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08de1214D4
- ldr r1, _08de1214B8 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08de1214BC @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _08de1214CA
- .align 2, 0
-_08de1214B4: .4byte gActiveBank
-_08de1214B8: .4byte gBattlePartyID
-_08de1214BC: .4byte gEnemyParty
-_08de1214C0:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_08de1214CA:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08de1214C0
- b _08de12184E
-_08de1214D4:
- ldr r1, _08de1214E0 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08de1214E0: .4byte gBattlePartyID
-_08121578:
- ldr r0, _08de12151C @ =0x02000000
- ldr r1, _08de121520 @ =0x00016003
- adds r4, r0, r1
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _081215E8
- ldr r1, _08de121524 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08de121528 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _08de121536
- .align 2, 0
-_08de12151C: .4byte 0x02000000
-_08de121520: .4byte 0x00016003
-_08de121524: .4byte gBattlePartyID
-_08de121528: .4byte gEnemyParty
-_08de12152C:
- mov r2, r8
- adds r0, r2, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_08de121536:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08de12152C
- b _08de12184E
-_081215E8:
- ldr r1, _081215F4 @ =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_081215F4: .4byte gBattlePartyID
-_081215F8:
- ldr r0, _08de121568 @ =gSelectedOrderFromParty
- ldr r2, [r0]
- ldrh r1, [r2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _08de121574
- ldr r0, _08de12156C @ =0x02000000
- ldr r3, _08de121570 @ =0x000160a0
- adds r0, r3
- b _08de12158C
- .align 2, 0
-_08de121568: .4byte gSelectedOrderFromParty
-_08de12156C: .4byte 0x02000000
-_08de121570: .4byte 0x000160a0
-_08de121574:
- ldrh r1, [r2]
- b _08de1215AA
-_08121620:
- ldr r0, _08de121598 @ =gSelectedOrderFromParty
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _08de1215A8
- ldr r0, _08de12159C @ =0x02000000
- ldr r5, _08de1215A0 @ =0x000160a0
- adds r0, r5
-_08de12158C:
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, _08de1215A4 @ =gUnknown_08401674
- adds r4, r0, r1
- b _081219E6
- .align 2, 0
-_08de121598: .4byte gSelectedOrderFromParty
-_08de12159C: .4byte 0x02000000
-_08de1215A0: .4byte 0x000160a0
-_08de1215A4: .4byte gUnknown_08401674
-_08de1215A8:
- ldrh r1, [r2, 0x2]
-_08de1215AA:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _08de1215B4 @ =gMoveNames
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_08de1215B4: .4byte gMoveNames
-_08121660:
- ldr r0, _08de121604 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08de121630
- ldr r1, _08de121608 @ =gLastUsedItem
- ldrh r0, [r1]
- cmp r0, 0xAF
- bne _08de12162C
- ldr r2, _08de12160C @ =gLinkPlayers
- ldr r0, _08de121610 @ =0x02000000
- ldr r1, _08de121614 @ =0x000160cb
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _08de121618 @ =gStringBank
- ldrb r2, [r1]
- ldrh r0, [r0, 0x18]
- cmp r0, r2
- bne _08de121624
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, _08de12161C @ =gEnigmaBerries
- adds r1, r0
- mov r0, sp
- bl StringCopy
- ldr r1, _08de121620 @ =gUnknown_08400A85
- mov r0, sp
- bl de_sub_8073174
- mov r4, sp
- b _081219E6
- .align 2, 0
-_08de121604: .4byte gBattleTypeFlags
-_08de121608: .4byte gLastUsedItem
-_08de12160C: .4byte gLinkPlayers
-_08de121610: .4byte 0x02000000
-_08de121614: .4byte 0x000160cb
-_08de121618: .4byte gStringBank
-_08de12161C: .4byte gEnigmaBerries
-_08de121620: .4byte gUnknown_08400A85
-_08de121624:
- ldr r4, _08de121628 @ =gUnknown_08400A78
- b _081219E6
- .align 2, 0
-_08de121628: .4byte gUnknown_08400A78
-_08de12162C:
- ldrh r0, [r1]
- b _08de121634
-_08de121630:
- ldr r0, _08de121640 @ =gLastUsedItem
- ldrh r0, [r0]
-_08de121634:
- mov r1, sp
- bl CopyItemName
- mov r4, sp
- b _081219E6
- .align 2, 0
-_08de121640: .4byte gLastUsedItem
-_081216EC:
- ldr r0, _08de121648 @ =gLastUsedAbility
- b _08de12168C
- .align 2, 0
-_08de121648: .4byte gLastUsedAbility
-_081216F4:
- ldr r1, _08de121654 @ =gAbilitiesPerBank
- ldr r0, _08de121658 @ =gBankAttacker
- b _08de121688
- .align 2, 0
-_08de121654: .4byte gAbilitiesPerBank
-_08de121658: .4byte gBankAttacker
-_08121704:
- ldr r1, _08de121664 @ =gAbilitiesPerBank
- ldr r0, _08de121668 @ =gBankTarget
- b _08de121688
- .align 2, 0
-_08de121664: .4byte gAbilitiesPerBank
-_08de121668: .4byte gBankTarget
-_08121714:
- ldr r1, _08de121678 @ =gAbilitiesPerBank
- ldr r0, _08de12167C @ =0x02000000
- ldr r2, _08de121680 @ =0x00016003
- adds r0, r2
- b _08de121688
- .align 2, 0
-_08de121678: .4byte gAbilitiesPerBank
-_08de12167C: .4byte 0x02000000
-_08de121680: .4byte 0x00016003
-_0812172C:
- ldr r1, _08de121698 @ =gAbilitiesPerBank
- ldr r0, _08de12169C @ =gEffectBank
-_08de121688:
- ldrb r0, [r0]
- adds r0, r1
-_08de12168C:
- ldrb r1, [r0]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _08de1216A0 @ =gAbilityNames
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_08de121698: .4byte gAbilitiesPerBank
-_08de12169C: .4byte gEffectBank
-_08de1216A0: .4byte gAbilityNames
-_0812174C:
- ldr r3, _08de1216B8 @ =gTrainerBattleOpponent
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08de1216BC
- adds r0, r1, 0
- movs r1, 0
- b _08de1216EE
- .align 2, 0
-_08de1216B8: .4byte gTrainerBattleOpponent
-_08de1216BC:
- ldr r0, _08de1216D4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08de1216D8
- adds r0, r2, 0
- movs r1, 0
- b _08de1216EE
- .align 2, 0
-_08de1216D4: .4byte gBattleTypeFlags
-_08de1216D8:
- movs r2, 0x80
- lsls r2, 4
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08de1216EA
- adds r0, r2, 0
- movs r1, 0
- b _08de1216EE
-_08de1216EA:
- ldrh r1, [r3]
- movs r0, 0
-_08de1216EE:
- bl de_sub_8041024
- adds r4, r0, 0
- b _081219E6
-_081217C0:
- ldr r2, _08de12171C @ =gTrainerBattleOpponent
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08de121724
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0x8
- bl memset
- ldr r1, _08de121720 @ =0x02017002
- mov r0, sp
- movs r2, 0x7
- bl memcpy
- mov r4, sp
- b _081219E6
- .align 2, 0
-_08de12171C: .4byte gTrainerBattleOpponent
-_08de121720: .4byte 0x02017002
-_08de121724:
- ldr r0, _08de12173C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08de121740
- mov r0, sp
- bl get_trainer_name
- mov r4, sp
- b _081219E6
- .align 2, 0
-_08de12173C: .4byte gBattleTypeFlags
-_08de121740:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _08de121754
- mov r0, sp
- bl sub_8135FF4
- mov r4, sp
- b _081219E6
-_08de121754:
- ldrh r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08de121764 @ =gTrainers+4
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_08de121764: .4byte gTrainers+4
-_08121830:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _08de121774 @ =0x03002988
- adds r4, r0, r1
- b _081219E6
- .align 2, 0
-_08de121774: .4byte 0x03002988
-_08121840:
- ldr r4, _08de121788 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x2
- b _08de1217AE
- .align 2, 0
-_08de121788: .4byte gLinkPlayers
-_08121854:
- ldr r4, _08de12179C @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x1
- b _08de1217AE
- .align 2, 0
-_08de12179C: .4byte gLinkPlayers
-_08121868:
- ldr r4, _08de1217C0 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x3
-_08de1217AE:
- eors r0, r1
- bl sub_803FC34
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x8
- adds r4, r1, r4
- b _081219E6
- .align 2, 0
-_08de1217C0: .4byte gLinkPlayers
-_0812188C:
- ldr r0, _08de1217DC @ =0x02000000
- ldr r3, _08de1217E0 @ =0x00016003
- adds r0, r3
- ldrb r0, [r0]
- bl sub_803FC34
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _08de1217E4 @ =0x03002988
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_08de1217DC: .4byte 0x02000000
-_08de1217E0: .4byte 0x00016003
-_08de1217E4: .4byte 0x03002988
-_081218B0:
- ldr r4, _08de1217EC @ =gSaveBlock2
- b _081219E6
- .align 2, 0
-_08de1217EC: .4byte gSaveBlock2
-_081218B8:
- bl sub_8082830
- adds r4, r0, 0
- b _081219E6
-_081218C0:
- ldr r4, _08de12182C @ =0x02000000
- ldr r5, _08de121830 @ =0x00016003
- adds r0, r4, r5
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08121934
- ldr r1, _08de121834 @ =0x0001605e
- adds r0, r4, r1
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08de121838 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _08de121846
- .align 2, 0
-_08de12182C: .4byte 0x02000000
-_08de121830: .4byte 0x00016003
-_08de121834: .4byte 0x0001605e
-_08de121838: .4byte gEnemyParty
-_08de12183C:
- mov r2, r8
- adds r0, r2, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_08de121846:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08de12183C
-_08de12184E:
- ldr r0, _08121920 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- ldr r4, _08121924 @ =gUnknown_08400791
- cmp r0, 0
- beq _081219E6
- ldr r4, _08121928 @ =gUnknown_08400797
- b _081219E6
- .align 2, 0
-_08121920: .4byte gBattleTypeFlags
-_08121924: .4byte gUnknown_08400791
-_08121928: .4byte gUnknown_08400797
-_08121934:
- ldr r3, _08121954 @ =0x0001605e
- adds r0, r4, r3
- ldrb r1, [r0]
-_0812193A:
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121958 @ =gPlayerParty
-_08121940:
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0812194A:
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _081219E6
- .align 2, 0
-_08121954: .4byte 0x0001605e
-_08121958: .4byte gPlayerParty
-_0812195C:
- ldr r0, _08121970 @ =0x0000084b
- bl FlagGet
- lsls r0, 24
- ldr r4, _08121974 @ =gUnknown_084009ED
- cmp r0, 0
- beq _081219E6
- ldr r4, _08121978 @ =gUnknown_084009F7
- b _081219E6
- .align 2, 0
-_08121970: .4byte 0x0000084b
-_08121974: .4byte gUnknown_084009ED
-_08121978: .4byte gUnknown_084009F7
-_0812197C:
- ldr r0, _08de1218B8 @ =gBankAttacker
- b _08121986
- .align 2, 0
-_08de1218B8: .4byte gBankAttacker
-_08121984:
- ldr r0, _08121998 @ =gBankTarget
-_08121986:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, _0812199C @ =gUnknown_084007A7
- cmp r0, 0
- bne _081219E6
- ldr r4, _081219A0 @ =gUnknown_084007AC
- b _081219E6
- .align 2, 0
-_08121998: .4byte gBankTarget
-_0812199C: .4byte gUnknown_084007A7
-_081219A0: .4byte gUnknown_084007AC
-_081219A4:
- ldr r0, _081219A8 @ =gBankAttacker
- b _081219AE
- .align 2, 0
-_081219A8: .4byte gBankAttacker
-_081219AC:
- ldr r0, _081219C0 @ =gBankTarget
-_081219AE:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, _081219C4 @ =gUnknown_0840079C
- cmp r0, 0
- bne _081219E6
- ldr r4, _081219C8 @ =gUnknown_084007A1
- b _081219E6
- .align 2, 0
-_081219C0: .4byte gBankTarget
-_081219C4: .4byte gUnknown_0840079C
-_081219C8: .4byte gUnknown_084007A1
-_081219CC:
- ldr r0, _081219D0 @ =gBankAttacker
- b _081219D6
- .align 2, 0
-_081219D0: .4byte gBankAttacker
-_081219D4:
- ldr r0, _08121A24 @ =gBankTarget
-_081219D6:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, _08121A28 @ =gUnknown_084007B2
- cmp r0, 0
- bne _081219E6
- ldr r4, _08121A2C @ =gUnknown_084007B7
-_081219E6:
- ldrb r1, [r4]
- adds r0, r1, 0
- mov r5, r9
- ldrb r2, [r5]
- mov r3, r9
- adds r3, 0x1
- cmp r0, 0xFF
- beq _08121A06
-_081219F4:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081219F4
-_08121A06:
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x21
- bne _08121A3C
- mov r0, r8
- adds r1, r0, r6
- movs r0, 0xFC
- strb r0, [r1]
- adds r6, 0x1
- mov r2, r8
- adds r1, r2, r6
- movs r0, 0x9
- strb r0, [r1]
- adds r6, 0x1
- b _08121A3C
- .align 2, 0
-_08121A24: .4byte gBankTarget
-_08121A28: .4byte gUnknown_084007B2
-_08121A2C: .4byte gUnknown_084007B7
-_08121A30:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- mov r3, r9
- adds r3, 0x1
-_08121A3C:
- mov r9, r3
- ldrb r1, [r3]
-_08121A40:
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _08121A4A
- bl _0812101E
-_08121A4A:
- mov r5, r8
- adds r1, r5, r6
- mov r2, r9
- ldrb r0, [r2]
- strb r0, [r1]
- adds r6, 0x1
- adds r0, r6, 0
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end StrCpyDecodeBattle
-
- thumb_func_start sub_8121A68
-sub_8121A68: @ 8121A68
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r0, 0
- adds r6, r1, 0
- movs r5, 0x1
- movs r0, 0
- mov r8, r0
- movs r0, 0xFF
- strb r0, [r6]
- ldrb r0, [r7, 0x1]
- cmp r0, 0xFF
- bne _08121A86
- b _08121D0E
-_08121A86:
- adds r0, r7, r5
- ldrb r1, [r0]
- adds r2, r0, 0
- cmp r1, 0xA
- bls _08121A92
- b _08121D04
-_08121A92:
- lsls r0, r1, 2
- ldr r1, _08121A9C @ =_08121AA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08121A9C: .4byte _08121AA0
- .align 2, 0
-_08121AA0:
- .4byte _08121ACC
- .4byte _08121AE8
- .4byte _08121B3C
- .4byte _08121B54
- .4byte _08121B64
- .4byte _08121BDC
- .4byte _08121BF0
- .4byte _08121C02
- .4byte _08121C48
- .4byte _08121C5C
- .4byte _08121C78
-_08121ACC:
- adds r0, r5, r7
- ldrb r2, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r2, r0
- cmp r2, 0xD1
- beq _08de121ADA
- cmp r2, 0xD3
- bne _08de121ADC
-_08de121ADA:
- adds r5, 0x3
-_08de121ADC:
- ldr r0, _08121AE4 @ =gBattleStringsTable
- adds r1, r2, 0
- subs r1, 0xC
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- b _08121CE2
- .align 2, 0
-_08121AE4: .4byte gBattleStringsTable
-_08121AE8:
- adds r1, r2, 0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x2
- beq _08121B04
- cmp r0, 0x2
- bgt _08121AF8
- cmp r0, 0x1
- beq _08121AFE
- b _08121B26
-_08121AF8:
- cmp r0, 0x4
- beq _08121B0C
- b _08121B26
-_08121AFE:
- ldrb r1, [r1, 0x3]
- b _08de121B30
-_08121B04:
- ldrb r0, [r1, 0x3]
- mov r8, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 8
- mov r1, r8
- b _08121B22
-_08121B0C:
- ldrb r0, [r2, 0x3]
- mov r8, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- mov r1, r8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
-_08121B22:
- orrs r1, r0
-_08de121B30:
- mov r8, r1
-_08121B26:
- adds r4, r5, r7
- ldrb r3, [r4, 0x2]
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
- bl ConvertIntToDecimalStringN
- adds r0, r5, 0x3
- ldrb r4, [r4, 0x1]
- adds r5, r0, r4
- b _08121D04
-_08121B3C:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0xD
- muls r1, r0
- ldr r0, _08de121B5C @ =gMoveNames
- adds r1, r0
- b _08121CE2
- .align 2, 0
-_08de121B5C: .4byte gMoveNames
-_08121B54:
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- ldr r0, _08de121B6C @ =gTypeNames
- b _08121C66
- .align 2, 0
-_08de121B6C: .4byte gTypeNames
-_08121B64:
- adds r4, r5, r7
- ldrb r0, [r4, 0x1]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08121B88
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121B84 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- adds r0, r6, 0
- mov r1, sp
- bl StringAppend
- b _08121D02
- .align 2, 0
-_08121B84: .4byte gPlayerParty
-_08121B88:
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08de121BD4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- adds r0, r6, 0
- mov r1, sp
- bl StringAppend
- ldr r0, _08121BA0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08121BA8
- ldr r1, _08121BA4 @ =gUnknown_08400797
- b _08121CE2
- .align 2, 0
-_08de121BD4: .4byte gEnemyParty
-_08121BA0: .4byte gBattleTypeFlags
-_08121BA4: .4byte gUnknown_08400797
-_08121BA8:
- ldr r1, _08121BD4 @ =gUnknown_08400791
- adds r0, r6, 0
- bl StringAppend
- b _08121D02
- .align 2, 0
-_08121BD4: .4byte gUnknown_08400791
-_08121BDC:
- ldr r1, _08121BEC @ =gUnknown_08400F58
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- b _08121C68
- .align 2, 0
-_08121BEC: .4byte gUnknown_08400F58
-_08121BF0:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- adds r0, r6, 0
- bl GetSpeciesName
- b _08121D02
-_08121C02:
- adds r4, r5, r7
- ldrb r0, [r4, 0x1]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08121C28
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121C24 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- adds r2, r6, 0
- bl GetMonData
- b _08121C3A
- .align 2, 0
-_08121C24: .4byte gPlayerParty
-_08121C28:
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121C44 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- adds r2, r6, 0
- bl GetMonData
-_08121C3A:
- adds r0, r6, 0
- bl StringGetEnd10
- b _08121D02
- .align 2, 0
-_08121C44: .4byte gEnemyParty
-_08121C48:
- ldr r1, _08121C58 @ =gUnknown_08400F78
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- b _08121C68
- .align 2, 0
-_08121C58: .4byte gUnknown_08400F78
-_08121C5C:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _08121C74 @ =gAbilityNames
-_08121C66:
- adds r1, r0
-_08121C68:
- adds r0, r6, 0
- bl StringAppend
- adds r5, 0x2
- b _08121D04
- .align 2, 0
-_08121C74: .4byte gAbilityNames
-_08121C78:
- adds r0, r5, r7
- ldrb r2, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r2, r0
- ldr r0, _08121CC4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08121CFA
- cmp r2, 0xAF
- bne _08121CF0
- ldr r2, _08121CC8 @ =gLinkPlayers
- ldr r0, _08121CCC @ =0x02000000
- ldr r1, _08121CD0 @ =0x000160cb
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _08121CD4 @ =gStringBank
- ldrb r2, [r1]
- ldrh r0, [r0, 0x18]
- cmp r0, r2
- bne _08121CE0
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, _08121CD8 @ =gEnigmaBerries
- adds r1, r0
- adds r0, r6, 0
- bl StringCopy
- ldr r1, _08121CDC @ =gUnknown_08400A85
- adds r0, r6, 0
- bl de_sub_8073174
- b _08121D02
- .align 2, 0
-_08121CC4: .4byte gBattleTypeFlags
-_08121CC8: .4byte gLinkPlayers
-_08121CCC: .4byte 0x02000000
-_08121CD0: .4byte 0x000160cb
-_08121CD4: .4byte gStringBank
-_08121CD8: .4byte gEnigmaBerries
-_08121CDC: .4byte gUnknown_08400A85
-_08121CE0:
- ldr r1, _08121CEC @ =gUnknown_08400A78
-_08121CE2:
- adds r0, r6, 0
- bl StringAppend
- b _08121D02
- .align 2, 0
-_08121CEC: .4byte gUnknown_08400A78
-_08121CF0:
- adds r0, r2, 0
- adds r1, r6, 0
- bl CopyItemName
- b _08121D02
-_08121CFA:
- adds r0, r2, 0
- adds r1, r6, 0
- bl CopyItemName
-_08121D02:
- adds r5, 0x3
-_08121D04:
- adds r0, r7, r5
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08121D0E
- b _08121A86
-_08121D0E:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8121A68
-
- thumb_func_start sub_8121D1C
-sub_8121D1C: @ 8121D1C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r2, 0
- ldr r5, _08121D50 @ =gSelectedOrderFromParty
- ldr r3, _08121D54 @ =gUnknown_084016BC
-_08121D26:
- cmp r2, 0x4
- beq _08121D3C
- ldrh r1, [r3]
- cmp r1, 0
- bne _08121D32
- adds r2, 0x1
-_08121D32:
- ldr r0, [r5]
- adds r3, 0x2
- ldrh r0, [r0]
- cmp r1, r0
- bne _08121D26
-_08121D3C:
- cmp r2, 0
- blt _08121D68
- cmp r2, 0x2
- bgt _08121D5C
- ldr r1, _08121D58 @ =gUnknown_08400E5E
- adds r0, r4, 0
- bl StringCopy
- b _08121D68
- .align 2, 0
-_08121D50: .4byte gSelectedOrderFromParty
-_08121D54: .4byte gUnknown_084016BC
-_08121D58: .4byte gUnknown_08400E5E
-_08121D5C:
- cmp r2, 0x4
- bgt _08121D68
- ldr r1, _08121D70 @ =gUnknown_08400E62
- adds r0, r4, 0
- bl StringCopy
-_08121D68:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08121D70: .4byte gUnknown_08400E62
- thumb_func_end sub_8121D1C
-
- thumb_func_start sub_8121D74
-sub_8121D74: @ 8121D74
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r4, 0
- b _08121D7E
-_08121D7C:
- adds r3, 0x1
-_08121D7E:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _08121D7C
- ldr r1, _08121DB4 @ =gUnknown_084016BC
- ldr r5, _08121DB8 @ =gSelectedOrderFromParty
- movs r0, 0
- lsls r0, 1
- adds r2, r0, r1
-_08121D8E:
- cmp r4, 0x4
- beq _08121DA8
- ldrh r1, [r2]
- cmp r1, 0
- bne _08121D9A
- adds r4, 0x1
-_08121D9A:
- ldr r0, [r5]
- adds r2, 0x2
- ldrh r0, [r0]
- cmp r1, r0
- bne _08121D8E
- cmp r4, 0x4
- bhi _08121E04
-_08121DA8:
- lsls r0, r4, 2
- ldr r1, _08121DBC @ =_08121DC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08121DB4: .4byte gUnknown_084016BC
-_08121DB8: .4byte gSelectedOrderFromParty
-_08121DBC: .4byte _08121DC0
- .align 2, 0
-_08121DC0:
- .4byte _08121DD4
- .4byte _08121DDC
- .4byte _08121DE4
- .4byte _08121DEC
- .4byte _08121DFC
-_08121DD4:
- ldr r1, _08121DD8 @ =gUnknown_084007C8
- b _08121DEE
- .align 2, 0
-_08121DD8: .4byte gUnknown_084007C8
-_08121DDC:
- ldr r1, _08121DE0 @ =gUnknown_084007CA
- b _08121DEE
- .align 2, 0
-_08121DE0: .4byte gUnknown_084007CA
-_08121DE4:
- ldr r1, _08121DE8 @ =gUnknown_084007CC
- b _08121DEE
- .align 2, 0
-_08121DE8: .4byte gUnknown_084007CC
-_08121DEC:
- ldr r1, _08121DF8 @ =gUnknown_084007CE
-_08121DEE:
- adds r0, r3, 0
- bl StringCopy
- b _08121E04
- .align 2, 0
-_08121DF8: .4byte gUnknown_084007CE
-_08121DFC:
- ldr r1, _08121E0C @ =gUnknown_084007D0
- adds r0, r3, 0
- bl StringCopy
-_08121E04:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08121E0C: .4byte gUnknown_084007D0
- thumb_func_end sub_8121D74
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/src/battle_message.c b/src/battle_message.c
index d4b8f86c6..350856818 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -42,57 +42,57 @@ extern u16 gBattlePartyID[4];
extern struct BattleEnigmaBerry gEnigmaBerries[4];
extern u8 gBattleBufferA[4][0x200];
-extern const u8 gUnknown_084005DB[];
-extern const u8 gUnknown_084005C7[];
-extern const u8 gUnknown_084005AA[];
-extern const u8 gUnknown_08400568[];
-extern const u8 gUnknown_08400590[];
-extern const u8 gUnknown_0840057B[];
-extern const u8 gUnknown_08400555[];
-extern const u8 gUnknown_084006F1[];
-extern const u8 gUnknown_084006A4[];
-extern const u8 gUnknown_0840069C[];
-extern const u8 gUnknown_0840065C[];
-extern const u8 gUnknown_08400645[];
-extern const u8 gUnknown_08400608[];
-extern const u8 gUnknown_08400635[];
-extern const u8 gUnknown_084005F5[];
-extern const u8 gUnknown_08400709[];
-extern const u8 gUnknown_08400727[];
-extern const u8 gUnknown_08400736[];
-extern const u8 gUnknown_08400749[];
-extern const u8 gUnknown_08400781[];
-extern const u8 gUnknown_08400771[];
-extern const u8 gUnknown_0840075E[];
-extern const u8 gUnknown_084006B3[];
-extern const u8 gUnknown_084006BB[];
-extern const u8 gUnknown_084006C6[];
-extern const u8 gUnknown_084006D5[];
-extern const u8 gUnknown_0840068C[];
-extern const u8 gUnknown_0840067C[];
-extern const u8 gUnknown_08400622[];
-extern const u8 gUnknown_084007BD[];
-extern const u8 gUnknown_083FFEFC[];
-extern const u8 gUnknown_083FFFF7[];
-extern const u8 gUnknown_083FFFEA[];
-extern const u8 gUnknown_083FFF6A[];
-extern const u8 gUnknown_083FFF99[];
-extern const u8 gUnknown_083FFFCB[];
-extern const u8 gUnknown_083FFF56[];
-extern const u8 gUnknown_083FFF81[];
-extern const u8 gUnknown_083FFFB3[];
-extern const u8 gUnknown_08400A78[];
-extern const u8 gUnknown_08400A85[];
-extern const u8 gUnknown_08400797[];
-extern const u8 gUnknown_08400791[];
-extern const u8 gUnknown_084007B7[];
-extern const u8 gUnknown_084007B2[];
-extern const u8 gUnknown_0840079C[];
-extern const u8 gUnknown_084007A1[];
-extern const u8 gUnknown_084007A7[];
-extern const u8 gUnknown_084007AC[];
-extern const u8 gUnknown_084009ED[];
-extern const u8 gUnknown_084009F7[];
+extern const u8 gUnknown_084005DB[];
+extern const u8 gUnknown_084005C7[];
+extern const u8 gUnknown_084005AA[];
+extern const u8 gUnknown_08400568[];
+extern const u8 gUnknown_08400590[];
+extern const u8 gUnknown_0840057B[];
+extern const u8 gUnknown_08400555[];
+extern const u8 gUnknown_084006F1[];
+extern const u8 gUnknown_084006A4[];
+extern const u8 gUnknown_0840069C[];
+extern const u8 gUnknown_0840065C[];
+extern const u8 gUnknown_08400645[];
+extern const u8 gUnknown_08400608[];
+extern const u8 gUnknown_08400635[];
+extern const u8 gUnknown_084005F5[];
+extern const u8 gUnknown_08400709[];
+extern const u8 gUnknown_08400727[];
+extern const u8 gUnknown_08400736[];
+extern const u8 gUnknown_08400749[];
+extern const u8 gUnknown_08400781[];
+extern const u8 gUnknown_08400771[];
+extern const u8 gUnknown_0840075E[];
+extern const u8 gUnknown_084006B3[];
+extern const u8 gUnknown_084006BB[];
+extern const u8 gUnknown_084006C6[];
+extern const u8 gUnknown_084006D5[];
+extern const u8 gUnknown_0840068C[];
+extern const u8 gUnknown_0840067C[];
+extern const u8 gUnknown_08400622[];
+extern const u8 gUnknown_084007BD[];
+extern const u8 gUnknown_083FFEFC[];
+extern const u8 gUnknown_083FFFF7[];
+extern const u8 gUnknown_083FFFEA[];
+extern const u8 gUnknown_083FFF6A[];
+extern const u8 gUnknown_083FFF99[];
+extern const u8 gUnknown_083FFFCB[];
+extern const u8 gUnknown_083FFF56[];
+extern const u8 gUnknown_083FFF81[];
+extern const u8 gUnknown_083FFFB3[];
+extern const u8 gUnknown_08400A78[];
+extern const u8 gUnknown_08400A85[];
+extern const u8 gUnknown_08400797[];
+extern const u8 gUnknown_08400791[];
+extern const u8 gUnknown_084007B7[];
+extern const u8 gUnknown_084007B2[];
+extern const u8 gUnknown_0840079C[];
+extern const u8 gUnknown_084007A1[];
+extern const u8 gUnknown_084007A7[];
+extern const u8 gUnknown_084007AC[];
+extern const u8 gUnknown_084009ED[];
+extern const u8 gUnknown_084009F7[];
extern const u8 gUnknown_084007C8[];
extern const u8 gUnknown_084007CA[];
extern const u8 gUnknown_084007CC[];
@@ -134,9 +134,9 @@ struct StringInfo
extern struct StringInfo* gSelectedOrderFromParty;
#define gStringInfo gSelectedOrderFromParty
-static void sub_8121D1C(u8* textBuff);
-static void sub_8121D74(u8* textBuff);
-static void StrCpyDecodeBattleTextBuff(u8* src, u8* dst);
+void sub_8121D1C(u8* textBuff);
+void sub_8121D74(u8* textBuff);
+void StrCpyDecodeBattleTextBuff(u8* src, u8* dst);
u8 GetBankSide(u8 bank);
s32 sub_803FC34(u16);
@@ -147,6 +147,9 @@ u8 GetMultiplayerId(void);
u8 GetBankByPlayerAI(u8 ID);
u8 GetBankSide(u8 bank);
u8 GetBankIdentity(u8 bank);
+#ifdef GERMAN
+extern u8 *de_sub_804110C();
+#endif
void BufferStringBattle(u16 stringID)
{
@@ -184,7 +187,12 @@ void BufferStringBattle(u16 stringID)
stringPtr = gUnknown_084005C7;
}
else
+ {
stringPtr = gUnknown_084005AA;
+#ifdef GERMAN
+ stringPtr = de_sub_804110C(0xFFFF, stringPtr);
+#endif
+ }
}
else
{
@@ -220,12 +228,22 @@ void BufferStringBattle(u16 stringID)
else if (gBattleTypeFlags & BATTLE_TYPE_LINK)
stringPtr = gUnknown_08400645;
else
+ {
stringPtr = gUnknown_08400608;
+#ifdef GERMAN
+ stringPtr = de_sub_804110C(0xFFFF, stringPtr);
+#endif
+ }
}
else if (gBattleTypeFlags & BATTLE_TYPE_LINK)
stringPtr = gUnknown_08400635;
else
+ {
stringPtr = gUnknown_084005F5;
+#ifdef GERMAN
+ stringPtr = de_sub_804110C(0xFFFF, stringPtr);
+#endif
+ }
}
break;
case 2: // sending poke to ball msg
@@ -250,7 +268,12 @@ void BufferStringBattle(u16 stringID)
stringPtr = gUnknown_08400771;
}
else
+ {
stringPtr = gUnknown_0840075E;
+#ifdef GERMAN
+ stringPtr = de_sub_804110C(0xFFFF, stringPtr);
+#endif
+ }
}
break;
case 3: // switch-in msg
@@ -275,7 +298,12 @@ void BufferStringBattle(u16 stringID)
stringPtr = gUnknown_0840067C;
}
else
+ {
stringPtr = gUnknown_08400622;
+#ifdef GERMAN
+ stringPtr = de_sub_804110C(0xFFFF, stringPtr);
+#endif
+ }
}
break;
case 4: // pokemon used a move msg
@@ -346,7 +374,12 @@ void BufferStringBattle(u16 stringID)
return;
}
else
+ {
stringPtr = gBattleStringsTable[stringID - BATTLESTRING_TO_SUB];
+#ifdef GERMAN
+ stringPtr = de_sub_804110C(stringID, stringPtr);
+#endif
+ }
break;
}
StrCpyDecodeToDisplayedStringBattle(stringPtr);
@@ -357,7 +390,7 @@ u32 StrCpyDecodeToDisplayedStringBattle(const u8* src)
StrCpyDecodeBattle(src, gDisplayedStringBattle);
}
-static const u8* AppendStatusString(u8* src)
+const u8* AppendStatusString(u8* src)
{
u32 i;
u8 status[8];
@@ -385,6 +418,59 @@ static const u8* AppendStatusString(u8* src)
return NULL;
}
+#ifdef GERMAN
+extern u8 *de_sub_8073174(u8 *, const u8 *);
+extern u8 *de_sub_8041024(s32, u32);
+#endif
+
+#ifdef ENGLISH
+#define HANDLE_NICKNAME_STRING_CASE(bank, monIndex) \
+ if (GetBankSide(bank) != 0) \
+ { \
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \
+ toCpy = gUnknown_08400797; \
+ else \
+ toCpy = gUnknown_08400791; \
+ while (*toCpy != EOS) \
+ { \
+ dst[dstID] = *toCpy; \
+ dstID++; \
+ toCpy++; \
+ } \
+ GetMonData(&gEnemyParty[monIndex], MON_DATA_NICKNAME, text); \
+ } \
+ else \
+ { \
+ GetMonData(&gPlayerParty[monIndex], MON_DATA_NICKNAME, text); \
+ } \
+ StringGetEnd10(text); \
+ toCpy = text;
+#else
+#define HANDLE_NICKNAME_STRING_CASE(bank, monIndex) \
+ if (GetBankSide(bank) != 0) \
+ { \
+ GetMonData(&gEnemyParty[monIndex], MON_DATA_NICKNAME, text); \
+ StringGetEnd10(text); \
+ toCpy = text; \
+ while (*toCpy != EOS) \
+ { \
+ dst[dstID] = *toCpy; \
+ dstID++; \
+ toCpy++; \
+ } \
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \
+ toCpy = gUnknown_08400797; \
+ else \
+ toCpy = gUnknown_08400791; \
+ } \
+ else \
+ { \
+ GetMonData(&gPlayerParty[monIndex], MON_DATA_NICKNAME, text); \
+ StringGetEnd10(text); \
+ toCpy = text; \
+ }
+#endif
+
u32 StrCpyDecodeBattle(const u8* src, u8* dst)
{
u32 dstID = 0; // if they used dstID, why not use srcID as well?
@@ -471,25 +557,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
toCpy = text;
break;
case 10: // attacker name with prefix, only bank 0/1
- if (GetBankSide(gBankAttacker) != 0)
- {
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- toCpy = gUnknown_08400797;
- else
- toCpy = gUnknown_08400791;
- while (*toCpy != EOS)
- {
- dst[dstID] = *toCpy;
- dstID++;
- toCpy++;
- }
- GetMonData(&gEnemyParty[gBattlePartyID[GetBankByPlayerAI(GetBankIdentity(gBankAttacker) & 1)]], MON_DATA_NICKNAME, text);
- }
- else
- GetMonData(&gPlayerParty[gBattlePartyID[GetBankByPlayerAI(GetBankIdentity(gBankAttacker) & 1)]], MON_DATA_NICKNAME, text);
-
- StringGetEnd10(text);
- toCpy = text;
+ HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[GetBankByPlayerAI(GetBankIdentity(gBankAttacker) & 1)])
break;
case 11: // attacker partner name, only bank 0/1
if (GetBankSide(gBankAttacker) == 0)
@@ -501,109 +569,19 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
toCpy = text;
break;
case 12: // attacker name with prefix
- if (GetBankSide(gBankAttacker) != 0)
- {
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- toCpy = gUnknown_08400797;
- else
- toCpy = gUnknown_08400791;
- while (*toCpy != EOS)
- {
- dst[dstID] = *toCpy;
- dstID++;
- toCpy++;
- }
- GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker]], MON_DATA_NICKNAME, text);
- }
- else
- GetMonData(&gPlayerParty[gBattlePartyID[gBankAttacker]], MON_DATA_NICKNAME, text);
-
- StringGetEnd10(text);
- toCpy = text;
+ HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[gBankAttacker])
break;
case 13: // target name with prefix
- if (GetBankSide(gBankTarget) != 0)
- {
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- toCpy = gUnknown_08400797;
- else
- toCpy = gUnknown_08400791;
- while (*toCpy != EOS)
- {
- dst[dstID] = *toCpy;
- dstID++;
- toCpy++;
- }
- GetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_NICKNAME, text);
- }
- else
- GetMonData(&gPlayerParty[gBattlePartyID[gBankTarget]], MON_DATA_NICKNAME, text);
-
- StringGetEnd10(text);
- toCpy = text;
+ HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlePartyID[gBankTarget])
break;
case 14: // effect bank name with prefix
- if (GetBankSide(gEffectBank) != 0)
- {
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- toCpy = gUnknown_08400797;
- else
- toCpy = gUnknown_08400791;
- while (*toCpy != EOS)
- {
- dst[dstID] = *toCpy;
- dstID++;
- toCpy++;
- }
- GetMonData(&gEnemyParty[gBattlePartyID[gEffectBank]], MON_DATA_NICKNAME, text);
- }
- else
- GetMonData(&gPlayerParty[gBattlePartyID[gEffectBank]], MON_DATA_NICKNAME, text);
-
- StringGetEnd10(text);
- toCpy = text;
+ HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlePartyID[gEffectBank])
break;
case 15: // active bank name with prefix
- if (GetBankSide(gActiveBank) != 0)
- {
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- toCpy = gUnknown_08400797;
- else
- toCpy = gUnknown_08400791;
- while (*toCpy != EOS)
- {
- dst[dstID] = *toCpy;
- dstID++;
- toCpy++;
- }
- GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_NICKNAME, text);
- }
- else
- GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_NICKNAME, text);
-
- StringGetEnd10(text);
- toCpy = text;
+ HANDLE_NICKNAME_STRING_CASE(gActiveBank, gBattlePartyID[gActiveBank])
break;
case 16: // scripting active bank name with prefix
- if (GetBankSide(BATTLE_STRUCT->scriptingActive) != 0)
- {
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- toCpy = gUnknown_08400797;
- else
- toCpy = gUnknown_08400791;
- while (*toCpy != EOS)
- {
- dst[dstID] = *toCpy;
- dstID++;
- toCpy++;
- }
- GetMonData(&gEnemyParty[gBattlePartyID[BATTLE_STRUCT->scriptingActive]], MON_DATA_NICKNAME, text);
- }
- else
- GetMonData(&gPlayerParty[gBattlePartyID[BATTLE_STRUCT->scriptingActive]], MON_DATA_NICKNAME, text);
-
- StringGetEnd10(text);
- toCpy = text;
+ HANDLE_NICKNAME_STRING_CASE(BATTLE_STRUCT->scriptingActive, gBattlePartyID[BATTLE_STRUCT->scriptingActive])
break;
case 17: // current move name
if (gStringInfo->currentMove > 0x162)
@@ -625,7 +603,11 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
if (gLinkPlayers[BATTLE_STRUCT->linkPlayerIndex].lp_field_18 == gStringBank)
{
StringCopy(text, gEnigmaBerries[gStringBank].name);
+#ifdef ENGLISH
StringAppend(text, gUnknown_08400A85);
+#else
+ de_sub_8073174(text, gUnknown_08400A85);
+#endif
toCpy = text;
}
else
@@ -659,6 +641,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
toCpy = gAbilityNames[gAbilitiesPerBank[gEffectBank]];
break;
case 25: // trainer class name
+#ifdef ENGLISH
if (gTrainerBattleOpponent == 0x400)
toCpy = gTrainerClassNames[GetSecretBaseTrainerNameIndex()];
else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
@@ -668,6 +651,17 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
else
toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent].trainerClass];
break;
+#else
+ if (gTrainerBattleOpponent == 0x400)
+ toCpy = de_sub_8041024(gTrainerBattleOpponent, 0);
+ else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
+ toCpy = de_sub_8041024(BATTLE_TYPE_BATTLE_TOWER, 0);
+ else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
+ toCpy = de_sub_8041024(BATTLE_TYPE_EREADER_TRAINER, 0);
+ else
+ toCpy = de_sub_8041024(0, gTrainerBattleOpponent);
+ break;
+#endif
case 26: // trainer name
if (gTrainerBattleOpponent == 0x400)
{
@@ -710,25 +704,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
toCpy = sub_8082830();
break;
case 34: // ?
- if (GetBankSide(BATTLE_STRUCT->scriptingActive) != 0)
- {
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- toCpy = gUnknown_08400797;
- else
- toCpy = gUnknown_08400791;
- while (*toCpy != EOS)
- {
- dst[dstID] = *toCpy;
- dstID++;
- toCpy++;
- }
- GetMonData(&gEnemyParty[BATTLE_STRUCT->unk1605E], MON_DATA_NICKNAME, text);
- }
- else
- GetMonData(&gPlayerParty[BATTLE_STRUCT->unk1605E], MON_DATA_NICKNAME, text);
-
- StringGetEnd10(text);
- toCpy = text;
+ HANDLE_NICKNAME_STRING_CASE(BATTLE_STRUCT->scriptingActive, BATTLE_STRUCT->unk1605E)
break;
case 35: // lanette pc
if (FlagGet(SYS_PC_LANETTE))
@@ -773,7 +749,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
toCpy = gUnknown_084007B2;
break;
}
- //if (toCpy != NULL) really GF, why did you forgot about this
+ //if (toCpy != NULL) really GF, why did you forget about this?
while (*toCpy != EOS)
{
dst[dstID] = *toCpy;
@@ -803,23 +779,26 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
#define ByteRead16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
#define ByteRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
-static void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
+void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
{
u32 srcID = 1;
u32 value = 0;
u8 text[12];
+ u16 hword;
*dst = EOS;
while (src[srcID] != EOS)
{
switch (src[srcID])
{
- case 0: // battlescript ptr
- {
- u16 BS_ID = ByteRead16(&src[srcID + 1]);
- StringAppend(dst, gBattleStringsTable[BS_ID - BATTLESTRING_TO_SUB]);
+ case 0: // battle string
+ hword = ByteRead16(&src[srcID + 1]);
+#ifdef GERMAN
+ if (hword == 209 || hword == 211)
srcID += 3;
- }
+#endif
+ StringAppend(dst, gBattleStringsTable[hword - BATTLESTRING_TO_SUB]);
+ srcID += 3;
break;
case 1: // int to string
switch (src[srcID + 1])
@@ -846,6 +825,7 @@ static void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
srcID += 2;
break;
case 4: // poke nick with prefix
+#ifdef ENGLISH
if (GetBankSide(src[srcID + 1]) == 0)
{
GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
@@ -860,6 +840,24 @@ static void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
}
StringGetEnd10(text);
StringAppend(dst, text);
+#else
+ if (GetBankSide(src[srcID + 1]) == 0)
+ {
+ GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ StringAppend(dst, text);
+ }
+ else
+ {
+ GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ StringAppend(dst, text);
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
+ StringAppend(dst, gUnknown_08400797);
+ else
+ StringAppend(dst, gUnknown_08400791);
+ }
+#endif
srcID += 3;
break;
case 5: // stats
@@ -888,24 +886,28 @@ static void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
break;
case 10: // item name
{
- u16 item = ByteRead16(&src[srcID + 1]);
+ hword = ByteRead16(&src[srcID + 1]);
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
- if (item == ITEM_ENIGMA_BERRY)
+ if (hword == ITEM_ENIGMA_BERRY)
{
if (gLinkPlayers[BATTLE_STRUCT->linkPlayerIndex].lp_field_18 == gStringBank)
{
StringCopy(dst, gEnigmaBerries[gStringBank].name);
+#ifdef ENGLISH
StringAppend(dst, gUnknown_08400A85);
+#else
+ de_sub_8073174(dst, gUnknown_08400A85);
+#endif
}
else
StringAppend(dst, gUnknown_08400A78);
}
else
- CopyItemName(item, dst);
+ CopyItemName(hword, dst);
}
else
- CopyItemName(item, dst);
+ CopyItemName(hword, dst);
srcID += 3;
}
break;
@@ -913,7 +915,7 @@ static void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
}
}
-static void sub_8121D1C(u8* textBuff)
+void sub_8121D1C(u8* textBuff)
{
s32 counter = 0;
u32 i = 0;
@@ -937,7 +939,7 @@ static void sub_8121D1C(u8* textBuff)
#ifdef NONMATCHING
-static void sub_8121D74(u8* dst)
+void sub_8121D74(u8* dst)
{
s32 counter = 0;
s32 i;
@@ -975,88 +977,88 @@ static void sub_8121D74(u8* dst)
#else
__attribute__((naked))
-static void sub_8121D74(u8* dst)
+void sub_8121D74(u8* dst)
{
asm(".syntax unified\n\
- push {r4,r5,lr}\n\
- adds r3, r0, 0\n\
- movs r4, 0\n\
- b _08121D7E\n\
+ push {r4,r5,lr}\n\
+ adds r3, r0, 0\n\
+ movs r4, 0\n\
+ b _08121D7E\n\
_08121D7C:\n\
- adds r3, 0x1\n\
+ adds r3, 0x1\n\
_08121D7E:\n\
- ldrb r0, [r3]\n\
- cmp r0, 0xFF\n\
- bne _08121D7C\n\
- ldr r1, _08121DB4 @ =gUnknown_084016BC\n\
- ldr r5, _08121DB8 @ =gSelectedOrderFromParty\n\
- movs r0, 0\n\
- lsls r0, 1\n\
- adds r2, r0, r1\n\
+ ldrb r0, [r3]\n\
+ cmp r0, 0xFF\n\
+ bne _08121D7C\n\
+ ldr r1, _08121DB4 @ =gUnknown_084016BC\n\
+ ldr r5, _08121DB8 @ =gSelectedOrderFromParty\n\
+ movs r0, 0\n\
+ lsls r0, 1\n\
+ adds r2, r0, r1\n\
_08121D8E:\n\
- cmp r4, 0x4\n\
- beq _08121DA8\n\
- ldrh r1, [r2]\n\
- cmp r1, 0\n\
- bne _08121D9A\n\
- adds r4, 0x1\n\
+ cmp r4, 0x4\n\
+ beq _08121DA8\n\
+ ldrh r1, [r2]\n\
+ cmp r1, 0\n\
+ bne _08121D9A\n\
+ adds r4, 0x1\n\
_08121D9A:\n\
- ldr r0, [r5]\n\
- adds r2, 0x2\n\
- ldrh r0, [r0]\n\
- cmp r1, r0\n\
- bne _08121D8E\n\
- cmp r4, 0x4\n\
- bhi _08121E04\n\
+ ldr r0, [r5]\n\
+ adds r2, 0x2\n\
+ ldrh r0, [r0]\n\
+ cmp r1, r0\n\
+ bne _08121D8E\n\
+ cmp r4, 0x4\n\
+ bhi _08121E04\n\
_08121DA8:\n\
- lsls r0, r4, 2\n\
- ldr r1, _08121DBC @ =_08121DC0\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, r4, 2\n\
+ ldr r1, _08121DBC @ =_08121DC0\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_08121DB4: .4byte gUnknown_084016BC\n\
_08121DB8: .4byte gSelectedOrderFromParty\n\
_08121DBC: .4byte _08121DC0\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_08121DC0:\n\
- .4byte _08121DD4\n\
- .4byte _08121DDC\n\
- .4byte _08121DE4\n\
- .4byte _08121DEC\n\
- .4byte _08121DFC\n\
+ .4byte _08121DD4\n\
+ .4byte _08121DDC\n\
+ .4byte _08121DE4\n\
+ .4byte _08121DEC\n\
+ .4byte _08121DFC\n\
_08121DD4:\n\
- ldr r1, _08121DD8 @ =gUnknown_084007C8\n\
- b _08121DEE\n\
- .align 2, 0\n\
+ ldr r1, _08121DD8 @ =gUnknown_084007C8\n\
+ b _08121DEE\n\
+ .align 2, 0\n\
_08121DD8: .4byte gUnknown_084007C8\n\
_08121DDC:\n\
- ldr r1, _08121DE0 @ =gUnknown_084007CA\n\
- b _08121DEE\n\
- .align 2, 0\n\
+ ldr r1, _08121DE0 @ =gUnknown_084007CA\n\
+ b _08121DEE\n\
+ .align 2, 0\n\
_08121DE0: .4byte gUnknown_084007CA\n\
_08121DE4:\n\
- ldr r1, _08121DE8 @ =gUnknown_084007CC\n\
- b _08121DEE\n\
- .align 2, 0\n\
+ ldr r1, _08121DE8 @ =gUnknown_084007CC\n\
+ b _08121DEE\n\
+ .align 2, 0\n\
_08121DE8: .4byte gUnknown_084007CC\n\
_08121DEC:\n\
- ldr r1, _08121DF8 @ =gUnknown_084007CE\n\
+ ldr r1, _08121DF8 @ =gUnknown_084007CE\n\
_08121DEE:\n\
- adds r0, r3, 0\n\
- bl StringCopy\n\
- b _08121E04\n\
- .align 2, 0\n\
+ adds r0, r3, 0\n\
+ bl StringCopy\n\
+ b _08121E04\n\
+ .align 2, 0\n\
_08121DF8: .4byte gUnknown_084007CE\n\
_08121DFC:\n\
- ldr r1, _08121E0C @ =gUnknown_084007D0\n\
- adds r0, r3, 0\n\
- bl StringCopy\n\
+ ldr r1, _08121E0C @ =gUnknown_084007D0\n\
+ adds r0, r3, 0\n\
+ bl StringCopy\n\
_08121E04:\n\
- pop {r4,r5}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08121E0C: .4byte gUnknown_084007D0\n\
.syntax divided");
}