Document BattleSystem->MessageFormat field

This commit is contained in:
Adrienn Tindall 2023-12-19 04:55:36 -05:00
parent 35201982a6
commit 8ce73b5428
11 changed files with 332 additions and 810 deletions

View File

@ -56,7 +56,7 @@
.public BattleSystem_GetLevelFont
.public BattleSystem_GetMessageData
.public BattleSystem_GetPaletteData
.public ov12_0223A9A4
.public BattleSystem_GetMessageFormat
.public ov12_0226498C
.public BattleHpBar_LoadResources
.public BattleHpBar_FreeResources

View File

@ -137,7 +137,7 @@
.public ov12_0223A8EC
.public BattleSystem_GetMessageData
.public BattleSystem_GetPaletteData
.public ov12_0223A9A4
.public BattleSystem_GetMessageFormat
.public ov12_0223AAD8
.public ov12_0223AB54
.public BattleSystem_GetSafariBallCount

View File

@ -129,7 +129,7 @@
.public BattleSystem_GetMessageData
.public BattleSystem_GetPaletteData
.public BattleSystem_GetPokedex
.public ov12_0223A9A4
.public BattleSystem_GetMessageFormat
.public BattleSystem_GetMessageBuffer
.public ov12_0223AAB8
.public ov12_0223AAD8

View File

@ -97,7 +97,7 @@
.public ov12_0223A984
.public ov12_0223A990
.public ov12_0223A99C
.public ov12_0223A9A4
.public BattleSystem_GetMessageFormat
.public BattleSystem_GetMessageBuffer
.public BattleSystem_GetTrainerIndex
.public BattleSystem_GetTrainer

View File

@ -2099,7 +2099,7 @@ _022671C2:
_022671C4:
ldr r0, [r5]
mov r6, #0
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
str r0, [sp, #0x1c]
mov r0, #0x20
mov r1, #5
@ -2889,7 +2889,7 @@ ov12_0226789C: ; 0x0226789C
bl BattleSystem_GetMessageData
add r6, r0, #0
ldr r0, [r5]
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
add r4, r0, #0
ldr r1, _0226796C ; =0x000004A2
add r0, r6, #0
@ -3080,7 +3080,7 @@ ov12_02267A58: ; 0x02267A58
bl BattleSystem_GetMessageData
add r6, r0, #0
ldr r0, [r5]
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
add r4, r0, #0
ldr r1, _02267B28 ; =0x000004C1
add r0, r6, #0
@ -3179,7 +3179,7 @@ ov12_02267B40: ; 0x02267B40
bl BattleSystem_GetMessageData
add r6, r0, #0
ldr r0, [r5]
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
add r4, r0, #0
ldr r1, _02267C10 ; =0x000004BF
add r0, r6, #0
@ -3290,7 +3290,7 @@ ov12_02267C24: ; 0x02267C24
bl BattleSystem_GetMessageData
str r0, [sp, #0x2c]
ldr r0, [r5]
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
str r0, [sp, #0x1c]
add r0, r5, #0
add r1, sp, #0x40
@ -4865,7 +4865,7 @@ ov12_0226885C: ; 0x0226885C
bl NewString_ReadMsgData
str r0, [sp, #0x28]
ldr r0, [r7]
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
str r0, [sp, #0x24]
mov r0, #0x10
mov r1, #5

View File

@ -3793,7 +3793,7 @@ ov12_02248228: ; 0x02248228
bl BattleSystem_GetMessageBuffer
str r0, [sp, #0x20]
add r0, r7, #0
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
str r0, [sp, #0x24]
add r0, r7, #0
bl BattleSystem_GetBgConfig

View File

@ -6,789 +6,6 @@
.text
thumb_func_start ov12_0223C754
ov12_0223C754: ; 0x0223C754
push {r3, r4, r5, lr}
add r4, r1, #0
ldrb r2, [r4, #1]
mov r1, #0x3f
add r5, r0, #0
and r1, r2
cmp r1, #0x3c
bls _0223C766
b _0223CDCA
_0223C766:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223C772: ; jump table
.short _0223CDCE - _0223C772 - 2 ; case 0
.short _0223CDCE - _0223C772 - 2 ; case 1
.short _0223C7EC - _0223C772 - 2 ; case 2
.short _0223C7F6 - _0223C772 - 2 ; case 3
.short _0223C800 - _0223C772 - 2 ; case 4
.short _0223C80A - _0223C772 - 2 ; case 5
.short _0223C814 - _0223C772 - 2 ; case 6
.short _0223C81E - _0223C772 - 2 ; case 7
.short _0223C82A - _0223C772 - 2 ; case 8
.short _0223C834 - _0223C772 - 2 ; case 9
.short _0223C848 - _0223C772 - 2 ; case 10
.short _0223C85C - _0223C772 - 2 ; case 11
.short _0223C870 - _0223C772 - 2 ; case 12
.short _0223C884 - _0223C772 - 2 ; case 13
.short _0223C898 - _0223C772 - 2 ; case 14
.short _0223C8AC - _0223C772 - 2 ; case 15
.short _0223C8C0 - _0223C772 - 2 ; case 16
.short _0223C8D4 - _0223C772 - 2 ; case 17
.short _0223C8E8 - _0223C772 - 2 ; case 18
.short _0223C8FC - _0223C772 - 2 ; case 19
.short _0223C7F6 - _0223C772 - 2 ; case 20
.short _0223C910 - _0223C772 - 2 ; case 21
.short _0223C924 - _0223C772 - 2 ; case 22
.short _0223C938 - _0223C772 - 2 ; case 23
.short _0223C94C - _0223C772 - 2 ; case 24
.short _0223C960 - _0223C772 - 2 ; case 25
.short _0223C974 - _0223C772 - 2 ; case 26
.short _0223C988 - _0223C772 - 2 ; case 27
.short _0223C99C - _0223C772 - 2 ; case 28
.short _0223C9B0 - _0223C772 - 2 ; case 29
.short _0223C9C4 - _0223C772 - 2 ; case 30
.short _0223C9D8 - _0223C772 - 2 ; case 31
.short _0223C9F6 - _0223C772 - 2 ; case 32
.short _0223CA14 - _0223C772 - 2 ; case 33
.short _0223CA32 - _0223C772 - 2 ; case 34
.short _0223CA50 - _0223C772 - 2 ; case 35
.short _0223CA6E - _0223C772 - 2 ; case 36
.short _0223CA8C - _0223C772 - 2 ; case 37
.short _0223CAAA - _0223C772 - 2 ; case 38
.short _0223CAC8 - _0223C772 - 2 ; case 39
.short _0223CAE6 - _0223C772 - 2 ; case 40
.short _0223CB04 - _0223C772 - 2 ; case 41
.short _0223CB22 - _0223C772 - 2 ; case 42
.short _0223CB40 - _0223C772 - 2 ; case 43
.short _0223CB5E - _0223C772 - 2 ; case 44
.short _0223CB7C - _0223C772 - 2 ; case 45
.short _0223CB9A - _0223C772 - 2 ; case 46
.short _0223CBB8 - _0223C772 - 2 ; case 47
.short _0223CBD6 - _0223C772 - 2 ; case 48
.short _0223CBF4 - _0223C772 - 2 ; case 49
.short _0223CC12 - _0223C772 - 2 ; case 50
.short _0223CC30 - _0223C772 - 2 ; case 51
.short _0223CC4E - _0223C772 - 2 ; case 52
.short _0223CC76 - _0223C772 - 2 ; case 53
.short _0223CC9E - _0223C772 - 2 ; case 54
.short _0223CCC6 - _0223C772 - 2 ; case 55
.short _0223CCEE - _0223C772 - 2 ; case 56
.short _0223CD16 - _0223C772 - 2 ; case 57
.short _0223CD3E - _0223C772 - 2 ; case 58
.short _0223CD66 - _0223C772 - 2 ; case 59
.short _0223CD8E - _0223C772 - 2 ; case 60
_0223C7EC:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223C7F6:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223C800:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferStat
pop {r3, r4, r5, pc}
_0223C80A:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferItem
pop {r3, r4, r5, pc}
_0223C814:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNumber
pop {r3, r4, r5, pc}
_0223C81E:
ldr r2, [r4, #4]
ldr r3, [r4, #0x1c]
mov r1, #0
bl BattleMessage_BufferNumbers
pop {r3, r4, r5, pc}
_0223C82A:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferTrainerName
pop {r3, r4, r5, pc}
_0223C834:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223C848:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223C85C:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
pop {r3, r4, r5, pc}
_0223C870:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferStat
pop {r3, r4, r5, pc}
_0223C884:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferType
pop {r3, r4, r5, pc}
_0223C898:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferPokemon
pop {r3, r4, r5, pc}
_0223C8AC:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferItem
pop {r3, r4, r5, pc}
_0223C8C0:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferPoffin
pop {r3, r4, r5, pc}
_0223C8D4:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNumber
pop {r3, r4, r5, pc}
_0223C8E8:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
pop {r3, r4, r5, pc}
_0223C8FC:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferBoxName
pop {r3, r4, r5, pc}
_0223C910:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferMove
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223C924:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferMove
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223C938:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferAbility
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223C94C:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferItem
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223C960:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNumber
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNumber
pop {r3, r4, r5, pc}
_0223C974:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
pop {r3, r4, r5, pc}
_0223C988:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223C99C:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferItem
pop {r3, r4, r5, pc}
_0223C9B0:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNumber
pop {r3, r4, r5, pc}
_0223C9C4:
ldr r2, [r4, #4]
mov r1, #0
bl ov12_0223CEB4
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
pop {r3, r4, r5, pc}
_0223C9D8:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223C9F6:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferAbility
pop {r3, r4, r5, pc}
_0223CA14:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferItem
pop {r3, r4, r5, pc}
_0223CA32:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferMove
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223CA50:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferMove
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNumber
pop {r3, r4, r5, pc}
_0223CA6E:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223CA8C:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223CAAA:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferItem
pop {r3, r4, r5, pc}
_0223CAC8:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferStat
pop {r3, r4, r5, pc}
_0223CAE6:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferType
pop {r3, r4, r5, pc}
_0223CB04:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferStatus
pop {r3, r4, r5, pc}
_0223CB22:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNumber
pop {r3, r4, r5, pc}
_0223CB40:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferItem
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223CB5E:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferItem
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223CB7C:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferItem
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferStat
pop {r3, r4, r5, pc}
_0223CB9A:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferItem
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferStatus
pop {r3, r4, r5, pc}
_0223CBB8:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferBoxName
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferBoxName
pop {r3, r4, r5, pc}
_0223CBD6:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferItem
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferFlavorPreference
pop {r3, r4, r5, pc}
_0223CBF4:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223CC12:
ldr r2, [r4, #4]
mov r1, #0
bl ov12_0223CEB4
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223CC30:
ldr r2, [r4, #4]
mov r1, #0
bl ov12_0223CEB4
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferItem
pop {r3, r4, r5, pc}
_0223CC4E:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl BattleMessage_BufferMove
pop {r3, r4, r5, pc}
_0223CC76:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl BattleMessage_BufferAbility
pop {r3, r4, r5, pc}
_0223CC9E:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferAbility
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl BattleMessage_BufferStat
pop {r3, r4, r5, pc}
_0223CCC6:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferNickname
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferItem
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl BattleMessage_BufferItem
pop {r3, r4, r5, pc}
_0223CCEE:
ldr r2, [r4, #4]
mov r1, #0
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferNickname
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223CD16:
ldr r2, [r4, #4]
mov r1, #0
bl ov12_0223CEB4
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223CD3E:
ldr r2, [r4, #4]
mov r1, #0
bl ov12_0223CEB4
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl BattleMessage_BufferTrainerName
pop {r3, r4, r5, pc}
_0223CD66:
ldr r2, [r4, #4]
mov r1, #0
bl ov12_0223CEB4
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl ov12_0223CEB4
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl BattleMessage_BufferTrainerName
pop {r3, r4, r5, pc}
_0223CD8E:
ldr r2, [r4, #4]
mov r1, #0
bl ov12_0223CEB4
ldr r2, [r4, #8]
add r0, r5, #0
mov r1, #1
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #0xc]
add r0, r5, #0
mov r1, #2
bl BattleMessage_BufferNickname
ldr r2, [r4, #0x10]
add r0, r5, #0
mov r1, #3
bl ov12_0223CEB4
ldr r2, [r4, #0x14]
add r0, r5, #0
mov r1, #4
bl BattleMessage_BufferTrainerName
ldr r2, [r4, #0x18]
add r0, r5, #0
mov r1, #5
bl BattleMessage_BufferNickname
pop {r3, r4, r5, pc}
_0223CDCA:
bl GF_AssertFail
_0223CDCE:
pop {r3, r4, r5, pc}
thumb_func_end ov12_0223C754
thumb_func_start BattleMessage_BufferNickname
BattleMessage_BufferNickname: ; 0x0223CDD0
push {r3, r4, r5, lr}
mov r3, #0xff
lsl r3, r3, #8
add r4, r1, #0
lsl r1, r2, #0x18
and r2, r3
add r5, r0, #0
lsr r1, r1, #0x18
asr r2, r2, #8
bl BattleSystem_GetPartyMon
add r2, r0, #0
ldr r0, [r5, #0x14]
add r1, r4, #0
bl BufferBoxMonNickname
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end BattleMessage_BufferNickname
thumb_func_start BattleMessage_BufferMove
BattleMessage_BufferMove: ; 0x0223CDF4
ldr r3, _0223CDFC ; =BufferMoveName
ldr r0, [r0, #0x14]
bx r3
nop
_0223CDFC: .word BufferMoveName
thumb_func_end BattleMessage_BufferMove
thumb_func_start BattleMessage_BufferItem
BattleMessage_BufferItem: ; 0x0223CE00
ldr r3, _0223CE08 ; =BufferItemName
ldr r0, [r0, #0x14]
bx r3
nop
_0223CE08: .word BufferItemName
thumb_func_end BattleMessage_BufferItem
thumb_func_start BattleMessage_BufferNumber
BattleMessage_BufferNumber: ; 0x0223CE0C
push {r3, lr}
@ -900,8 +117,8 @@ BattleMessage_BufferFlavorPreference: ; 0x0223CEA8
_0223CEB0: .word BufferFlavorDislikeText
thumb_func_end BattleMessage_BufferFlavorPreference
thumb_func_start ov12_0223CEB4
ov12_0223CEB4: ; 0x0223CEB4
thumb_func_start BattleMessage_BufferTrainerClass
BattleMessage_BufferTrainerClass: ; 0x0223CEB4
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
@ -912,7 +129,7 @@ ov12_0223CEB4: ; 0x0223CEB4
add r1, r4, #0
bl BufferTrainerClassNameFromDataStruct
pop {r3, r4, r5, pc}
thumb_func_end ov12_0223CEB4
thumb_func_end BattleMessage_BufferTrainerClass
thumb_func_start BattleMessage_BufferTrainerName
BattleMessage_BufferTrainerName: ; 0x0223CECC

View File

@ -1244,7 +1244,7 @@ ov12_0226516C: ; 0x0226516C
bl BattleSystem_GetMessageData
add r7, r0, #0
ldr r0, [r5, #0xc]
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
add r4, r0, #0
mov r0, #0x16
mov r1, #5
@ -1878,7 +1878,7 @@ ov12_022656CC: ; 0x022656CC
bl BattleSystem_GetMessageData
str r0, [sp, #0x20]
ldr r0, [r4, #0xc]
bl ov12_0223A9A4
bl BattleSystem_GetMessageFormat
add r7, r0, #0
mov r0, #0x1e
mov r1, #5

View File

@ -523,7 +523,7 @@ struct BattleSystem {
Window *window;
MsgData *msgData;
u32 *unk10;
u32 *unk14;
MessageFormat *msgFormat;
String *msgBuffer;
u32 unk1C;
u32 unk20;

View File

@ -39,7 +39,7 @@ u16 *ov12_0223A978(BattleSystem *bsys);
u16 *ov12_0223A984(BattleSystem *bsys);
u16 *ov12_0223A990(BattleSystem *bsys);
UnkBattleSystemSub1D0 *ov12_0223A99C(BattleSystem *bsys);
u32 *ov12_0223A9A4(BattleSystem *bsys);
MessageFormat *BattleSystem_GetMessageFormat(BattleSystem *bsys);
String *BattleSystem_GetMessageBuffer(BattleSystem *bsys);
u16 BattleSystem_GetTrainerIndex(BattleSystem *bsys, int battlerId);
Trainer *BattleSystem_GetTrainer(BattleSystem *bsys, int battlerId);
@ -159,8 +159,18 @@ void ov12_0226AA8C(u32 *a1, u32 flag);
BOOL ov12_0223CF14(struct TextPrinterTemplate *template, u16 glyphId);
//These functions haven't been decompiled AND are confirmed to be static
void ov12_0223C558(BattleSystem *bsys, BattleMessage *msg);
void ov12_0223C754(BattleSystem *bsys, BattleMessage *msg);
void ov12_0223CEF4(BattleSystem *bsys, MsgData *data, BattleMessage *msg);
void BattleMessage_BufferStat(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferNumber(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferNumbers(BattleSystem *bsys, int a1, int param, int a3);
void BattleMessage_BufferTrainerName(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferAbility(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferType(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferPokemon(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferPoffin(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferTrainerClass(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferBoxName(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferStatus(BattleSystem *bsys, int a1, int param);
void BattleMessage_BufferFlavorPreference(BattleSystem *bsys, int a1, int param);
#endif

View File

@ -15,6 +15,11 @@
#include "unk_02005D10.h"
static u8 ov12_0223BFB0(u8 *buffer, u8 *index, u16 *size);
static void BattleSystem_AdjustMessageForSide(BattleSystem *bsys, BattleMessage *msg);
static void BattleSystem_BufferMessage(BattleSystem *bsys, BattleMessage *msg);
static void BattleMessage_BufferNickname(BattleSystem *bsys, int bufferIndex, int param);
static void BattleMessage_BufferMove(BattleSystem *bsys, int bufferIndex, int param);
static void BattleMessage_BufferItem(BattleSystem *bsys, int bufferIndex, int param);
BgConfig *BattleSystem_GetBgConfig(BattleSystem *bsys) {
return bsys->bgConfig;
@ -162,8 +167,8 @@ UnkBattleSystemSub1D0 *ov12_0223A99C(BattleSystem *bsys) {
return &bsys->unk1D0[0];
}
u32 *ov12_0223A9A4(BattleSystem *bsys) {
return bsys->unk14;
MessageFormat *BattleSystem_GetMessageFormat(BattleSystem *bsys) {
return bsys->msgFormat;
}
String *BattleSystem_GetMessageBuffer(BattleSystem *bsys) {
@ -1399,8 +1404,8 @@ u8 BattleSystem_PrintTrainerMessage(BattleSystem *bsys, int trainerId, int battl
u32 BattleSystem_PrintBattleMessage(BattleSystem *bsys, MsgData *data, BattleMessage *msg, u8 delay) {
Window *window = BattleSystem_GetWindow(bsys, 0);
ov12_0223C558(bsys, msg);
ov12_0223C754(bsys, msg);
BattleSystem_AdjustMessageForSide(bsys, msg);
BattleSystem_BufferMessage(bsys, msg);
ov12_0223CEF4(bsys, data, msg);
FillWindowPixelBuffer(window, 0xFF);
return AddTextPrinterParameterized(window, 1, bsys->msgBuffer, 0, 0, delay, ov12_0223CF14);
@ -1409,8 +1414,8 @@ u32 BattleSystem_PrintBattleMessage(BattleSystem *bsys, MsgData *data, BattleMes
u32 ov12_0223C4E8(BattleSystem *bsys, Window *window, MsgData *data, BattleMessage *msg, int x, int y, int flag, int width, int delay) {
int dx;
ov12_0223C558(bsys, msg);
ov12_0223C754(bsys, msg);
BattleSystem_AdjustMessageForSide(bsys, msg);
BattleSystem_BufferMessage(bsys, msg);
ov12_0223CEF4(bsys, data, msg);
if (flag & 1) {
@ -1426,7 +1431,7 @@ u32 ov12_0223C4E8(BattleSystem *bsys, Window *window, MsgData *data, BattleMessa
return AddTextPrinterParameterized(window, 0, bsys->msgBuffer, x + dx, y, delay, ov12_0223CF14);
}
static void ov12_0223C558(BattleSystem *bsys, BattleMessage *msg) {
static void BattleSystem_AdjustMessageForSide(BattleSystem *bsys, BattleMessage *msg) {
u32 battleType = BattleSystem_GetBattleType(bsys);
if (msg->tag & 0x80) {
@ -1559,3 +1564,293 @@ static void ov12_0223C558(BattleSystem *bsys, BattleMessage *msg) {
GF_ASSERT(0);
}
}
static void BattleSystem_BufferMessage(BattleSystem *bsys, BattleMessage *msg) {
switch (msg->tag & 0x3F) {
case TAG_NONE:
case TAG_NONE_SIDE:
break;
case TAG_NICKNAME:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
break;
case TAG_MOVE:
case TAG_MOVE_SIDE:
BattleMessage_BufferMove(bsys, 0, msg->param[0]);
break;
case TAG_STAT:
BattleMessage_BufferStat(bsys, 0, msg->param[0]);
break;
case TAG_ITEM:
BattleMessage_BufferItem(bsys, 0, msg->param[0]);
break;
case TAG_NUMBER:
BattleMessage_BufferNumber(bsys, 0, msg->param[0]);
break;
case TAG_NUMBERS:
BattleMessage_BufferNumbers(bsys, 0, msg->param[0], msg->unk1C);
break;
case TAG_TRNAME:
BattleMessage_BufferTrainerName(bsys, 0, msg->param[0]);
break;
case TAG_NICKNAME_NICKNAME:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_MOVE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferMove(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_ABILITY:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_STAT:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferStat(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_TYPE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferType(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_POKE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferPokemon(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_ITEM:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferItem(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_POFFIN: //unused
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferPoffin(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_NUM:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferNumber(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_TRNAME:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_BOX:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferBoxName(bsys, 1, msg->param[1]);
break;
case TAG_MOVE_NICKNAME:
BattleMessage_BufferMove(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
break;
case TAG_MOVE_MOVE:
BattleMessage_BufferMove(bsys, 0, msg->param[0]);
BattleMessage_BufferMove(bsys, 1, msg->param[1]);
break;
case TAG_ABILITY_NICKNAME:
BattleMessage_BufferAbility(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
break;
case TAG_ITEM_MOVE:
BattleMessage_BufferItem(bsys, 0, msg->param[0]);
BattleMessage_BufferMove(bsys, 1, msg->param[1]);
break;
case TAG_NUMBER_NUMBER:
BattleMessage_BufferNumber(bsys, 0, msg->param[0]);
BattleMessage_BufferNumber(bsys, 1, msg->param[1]);
break;
case TAG_TRNAME_TRNAME:
BattleMessage_BufferTrainerName(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
break;
case TAG_TRNAME_NICKNAME:
BattleMessage_BufferTrainerName(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
break;
case TAG_TRNAME_ITEM:
BattleMessage_BufferTrainerName(bsys, 0, msg->param[0]);
BattleMessage_BufferItem(bsys, 1, msg->param[1]);
break;
case TAG_TRNAME_NUM:
BattleMessage_BufferTrainerName(bsys, 0, msg->param[0]);
BattleMessage_BufferNumber(bsys, 1, msg->param[1]);
break;
case TAG_TRCLASS_TRNAME:
BattleMessage_BufferTrainerClass(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
break;
case TAG_NICKNAME_NICKNAME_MOVE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
BattleMessage_BufferMove(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_NICKNAME_ABILITY:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
BattleMessage_BufferAbility(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_NICKNAME_ITEM:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
BattleMessage_BufferItem(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_MOVE_MOVE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferMove(bsys, 1, msg->param[1]);
BattleMessage_BufferMove(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_MOVE_NUMBER:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferMove(bsys, 1, msg->param[1]);
BattleMessage_BufferNumber(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ABILITY_NICKNAME:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ABILITY_MOVE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferMove(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ABILITY_ITEM:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferItem(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ABILITY_STAT:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferStat(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ABILITY_TYPE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferType(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ABILITY_STATUS:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferStatus(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ABILITY_NUMBER:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferNumber(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ITEM_NICKNAME:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferItem(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ITEM_MOVE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferItem(bsys, 1, msg->param[1]);
BattleMessage_BufferMove(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ITEM_STAT:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferItem(bsys, 1, msg->param[1]);
BattleMessage_BufferStat(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ITEM_STATUS:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferItem(bsys, 1, msg->param[1]);
BattleMessage_BufferStatus(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_BOX_BOX:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferBoxName(bsys, 1, msg->param[1]);
BattleMessage_BufferBoxName(bsys, 2, msg->param[2]);
break;
case TAG_ITEM_NICKNAME_FLAVOR:
BattleMessage_BufferItem(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
BattleMessage_BufferFlavorPreference(bsys, 2, msg->param[2]);
break;
case TAG_TRNAME_NICKNAME_NICKNAME:
BattleMessage_BufferTrainerName(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
break;
case TAG_TRCLASS_TRNAME_NICKNAME:
BattleMessage_BufferTrainerClass(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
break;
case TAG_TRCLASS_TRNAME_ITEM:
BattleMessage_BufferTrainerClass(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
BattleMessage_BufferItem(bsys, 2, msg->param[2]);
break;
case TAG_NICKNAME_ABILITY_NICKNAME_MOVE:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
BattleMessage_BufferMove(bsys, 3, msg->param[3]);
break;
case TAG_NICKNAME_ABILITY_NICKNAME_ABILITY:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
BattleMessage_BufferAbility(bsys, 3, msg->param[3]);
break;
case TAG_NICKNAME_ABILITY_NICKNAME_STAT:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferAbility(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
BattleMessage_BufferStat(bsys, 3, msg->param[3]);
break;
case TAG_NICKNAME_ITEM_NICKNAME_ITEM:
BattleMessage_BufferNickname(bsys, 0, msg->param[0]);
BattleMessage_BufferItem(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
BattleMessage_BufferItem(bsys, 3, msg->param[3]);
break;
case TAG_TRNAME_NICKNAME_TRNAME_NICKNAME:
BattleMessage_BufferTrainerName(bsys, 0, msg->param[0]);
BattleMessage_BufferNickname(bsys, 1, msg->param[1]);
BattleMessage_BufferTrainerName(bsys, 2, msg->param[2]);
BattleMessage_BufferNickname(bsys, 3, msg->param[3]);
break;
case TAG_TRCLASS_TRNAME_NICKNAME_NICKNAME:
BattleMessage_BufferTrainerClass(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
BattleMessage_BufferNickname(bsys, 3, msg->param[3]);
break;
case TAG_TRCLASS_TRNAME_NICKNAME_TRNAME:
BattleMessage_BufferTrainerClass(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
BattleMessage_BufferTrainerName(bsys, 3, msg->param[3]);
break;
case TAG_TRCLASS_TRNAME_TRCLASS_TRNAME:
BattleMessage_BufferTrainerClass(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
BattleMessage_BufferTrainerClass(bsys, 2, msg->param[2]);
BattleMessage_BufferTrainerName(bsys, 3, msg->param[3]);
break;
case TAG_TRCLASS_TRNAME_NICKNAME_TRCLASS_TRNAME_NICKNAME:
BattleMessage_BufferTrainerClass(bsys, 0, msg->param[0]);
BattleMessage_BufferTrainerName(bsys, 1, msg->param[1]);
BattleMessage_BufferNickname(bsys, 2, msg->param[2]);
BattleMessage_BufferTrainerClass(bsys, 3, msg->param[3]);
BattleMessage_BufferTrainerName(bsys, 4, msg->param[4]);
BattleMessage_BufferNickname(bsys, 5, msg->param[5]);
break;
default:
GF_ASSERT(0);
}
}
static void BattleMessage_BufferNickname(BattleSystem *bsys, int bufferIndex, int param) {
Pokemon *mon = BattleSystem_GetPartyMon(bsys, param & 0xFF, (param & 0xFF00) >> 8);
BufferBoxMonNickname(bsys->msgFormat, bufferIndex, &mon->box);
}
static void BattleMessage_BufferMove(BattleSystem *bsys, int bufferIndex, int param) {
BufferMoveName(bsys->msgFormat, bufferIndex, param);
}
static void BattleMessage_BufferItem(BattleSystem *bsys, int bufferIndex, int param) {
BufferItemName(bsys->msgFormat, bufferIndex, param);
}