battle 4, up to x69

This commit is contained in:
DizzyEggg 2017-09-25 00:09:13 +02:00
parent 898d0b20ad
commit 52a951276f
28 changed files with 1492 additions and 3704 deletions

View File

@ -1888,7 +1888,7 @@ sub_8035C4C: @ 8035C4C
bne _08035C68
ldr r0, =gText_Draw
movs r1, 0x15
bl battle_show_message_maybe
bl sub_814F9EC
b _08035D68
.pool
_08035C68:
@ -1964,10 +1964,10 @@ _08035CE2:
_08035CFC:
ldr r0, =gText_Win
movs r1, 0x17
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_Loss
movs r1, 0x16
bl battle_show_message_maybe
bl sub_814F9EC
b _08035D68
.pool
_08035D20:
@ -1985,19 +1985,19 @@ _08035D20:
_08035D36:
ldr r0, =gText_Win
movs r1, 0x16
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_Loss
movs r1, 0x17
bl battle_show_message_maybe
bl sub_814F9EC
b _08035D68
.pool
_08035D58:
ldr r0, =gText_Win
movs r1, 0x17
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_Loss
movs r1, 0x16
bl battle_show_message_maybe
bl sub_814F9EC
_08035D68:
pop {r0}
bx r0
@ -2068,14 +2068,14 @@ _08035DDC:
_08035DE6:
adds r0, r1, 0
movs r1, 0x11
bl battle_show_message_maybe
bl sub_814F9EC
ldrb r1, [r4, 0x18]
movs r0, 0x4
b _08035E14
_08035DF4:
adds r0, r1, 0
movs r1, 0x12
bl battle_show_message_maybe
bl sub_814F9EC
ldrb r1, [r4, 0x18]
movs r0, 0x4
str r0, [sp]
@ -2085,7 +2085,7 @@ _08035DF4:
_08035E08:
adds r0, r1, 0
movs r1, 0x13
bl battle_show_message_maybe
bl sub_814F9EC
ldrb r1, [r4, 0x18]
movs r0, 0x8
_08035E14:
@ -2099,7 +2099,7 @@ _08035E1A:
_08035E22:
adds r0, r1, 0
movs r1, 0x14
bl battle_show_message_maybe
bl sub_814F9EC
ldrb r1, [r4, 0x18]
movs r0, 0x8
str r0, [sp]
@ -2139,14 +2139,14 @@ _08035E66:
adds r1, r0, r4
adds r0, r1, 0
movs r1, 0xF
bl battle_show_message_maybe
bl sub_814F9EC
lsls r0, r6, 3
subs r0, r6
lsls r0, 2
adds r1, r0, r4
adds r0, r1, 0
movs r1, 0x10
bl battle_show_message_maybe
bl sub_814F9EC
movs r4, 0x7
str r4, [sp]
adds r0, r7, 0

View File

@ -1399,7 +1399,7 @@ _080373E0:
str r0, [r2]
ldr r0, =sub_8039EF0
str r0, [r1]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
bl SetMainCallback2
ldr r2, =gBattleTypeFlags
ldr r1, [r2]
@ -1999,7 +1999,7 @@ _080379A0:
str r0, [r2]
ldr r0, =sub_8039EF0
str r0, [r1]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
bl SetMainCallback2
ldr r2, =gBattleTypeFlags
ldr r1, [r2]
@ -3130,7 +3130,7 @@ _080383BC:
str r0, [r2]
ldr r0, =sub_8039EF0
str r0, [r1]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
bl SetMainCallback2
ldr r3, =gBattleTypeFlags
ldr r2, [r3]
@ -3156,8 +3156,8 @@ _080383F8:
.pool
thumb_func_end sub_8037DF4
thumb_func_start sub_8038420
sub_8038420: @ 8038420
thumb_func_start BattleMainCB2
BattleMainCB2: @ 8038420
push {lr}
sub sp, 0x4
bl AnimateSprites
@ -3203,7 +3203,7 @@ _08038482:
pop {r0}
bx r0
.pool
thumb_func_end sub_8038420
thumb_func_end BattleMainCB2
thumb_func_start sub_803849C
sub_803849C: @ 803849C
@ -4662,7 +4662,7 @@ _0803912C:
bl sub_800ADF8
ldr r0, =gUnknown_0824978D
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
b _08039172
.pool
_0803914C:
@ -4997,7 +4997,7 @@ _08039470:
_0803947E:
ldr r0, =gText_RecordBattleToPass
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleCommunication
ldrb r0, [r1]
adds r0, 0x1
@ -5020,11 +5020,11 @@ _080394AC:
bl sub_8056A3C
ldr r0, =gText_BattleYesNoChoice
movs r1, 0xC
bl battle_show_message_maybe
bl sub_814F9EC
ldr r4, =gBattleCommunication
movs r0, 0x1
strb r0, [r4, 0x1]
bl sub_8056B74
bl BattleCreateCursorAt
b _080396EA
.pool
_080394D8:
@ -5042,7 +5042,7 @@ _080394EC:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
bl sub_8056BAC
bl BattleDestroyCursorAt
movs r0, 0
b _0803951E
.pool
@ -5059,11 +5059,11 @@ _08039510:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
bl sub_8056BAC
bl BattleDestroyCursorAt
movs r0, 0x1
_0803951E:
strb r0, [r4, 0x1]
bl sub_8056B74
bl BattleCreateCursorAt
b _0803975E
_08039526:
movs r5, 0x1
@ -5130,7 +5130,7 @@ _0803958A:
bl sub_800ADF8
ldr r0, =gUnknown_0824978D
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
_080395B4:
ldr r1, =gBattleCommunication
ldrb r0, [r1]
@ -5218,7 +5218,7 @@ _08039686:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
movs r0, 0x80
strb r0, [r4, 0x1]
b _080396EA
@ -5256,7 +5256,7 @@ _080396A8:
bl sub_800ADF8
ldr r0, =gUnknown_0824978D
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
_080396EA:
ldrb r0, [r4]
adds r0, 0x1
@ -8280,7 +8280,7 @@ _0803AFFA:
movs r0, 0
mov r1, sp
movs r2, 0x80
bl dp01_build_cmdbuf_x30_TODO
bl EmitCmd48
ldrb r0, [r4]
bl MarkBufferBankForExecution
movs r7, 0
@ -8332,7 +8332,7 @@ _0803B072:
movs r0, 0
mov r1, sp
movs r2, 0x80
bl dp01_build_cmdbuf_x30_TODO
bl EmitCmd48
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, =gBattleMainFunc
@ -9237,7 +9237,7 @@ _0803B7EA:
strb r1, [r0]
ldr r0, =gText_EmptyString3
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleMainFunc
ldr r0, =sub_803BE74
str r0, [r1]
@ -9546,7 +9546,7 @@ _0803BAE6:
strb r1, [r0]
mov r0, r9
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleMainFunc
ldr r0, =sub_803BE74
str r0, [r1]
@ -10140,7 +10140,7 @@ _0803C058:
adds r0, r4
ldrb r1, [r0]
adds r0, r5, 0
bl sub_8184FBC
bl RecordedBattle_SetBankAction
ldr r1, =gUnknown_0202421C
ldrb r0, [r6]
adds r1, r0, r1
@ -11067,12 +11067,12 @@ _0803C91C:
lsls r1, r0, 9
adds r1, r5
ldrb r1, [r1]
bl sub_8184FBC
bl RecordedBattle_SetBankAction
ldrb r0, [r6]
lsls r1, r0, 9
adds r1, r7
ldrb r1, [r1]
bl sub_8184FBC
bl RecordedBattle_SetBankAction
_0803C942:
ldrb r0, [r6]
ldr r4, =gBattleStruct
@ -11602,7 +11602,7 @@ sub_803CDF8: @ 803CDF8
lsls r1, r0, 9
adds r1, r2
ldrb r1, [r1]
bl sub_8184FBC
bl RecordedBattle_SetBankAction
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
movs r1, 0x42
@ -13335,7 +13335,7 @@ _0803DDD2:
ldr r0, =sub_803DE40
str r0, [r1]
ldr r1, =gUnknown_030061E8
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
str r0, [r1]
b _0803DE2A
.pool
@ -13476,7 +13476,7 @@ sub_803DF48: @ 803DF48
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
cmp r1, r0
bne _0803DF5A
ldr r1, =gBattleMainFunc

File diff suppressed because it is too large Load Diff

View File

@ -5045,7 +5045,7 @@ sub_8066FF4: @ 8066FF4
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2

View File

@ -4354,7 +4354,7 @@ sub_814D590: @ 814D590
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2

View File

@ -5185,7 +5185,7 @@ sub_8061F34: @ 8061F34
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2

View File

@ -1247,7 +1247,7 @@ _08057F80:
bl battle_menu_cursor_related_2
ldr r0, =gText_BattleSwitchWhich
movs r1, 0xB
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldr r0, =gActiveBank
ldrb r0, [r0]
@ -4042,7 +4042,7 @@ sub_8059828: @ 8059828
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
cmp r1, r0
bne _08059898
ldr r0, =gPaletteFade
@ -4118,7 +4118,7 @@ sub_80598E0: @ 80598E0
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
cmp r1, r0
bne _08059906
ldr r0, =gPaletteFade
@ -4244,11 +4244,11 @@ sub_80599D4: @ 80599D4
movs r0, 0x5
bl PlaySE
ldrb r0, [r4]
bl sub_8056BAC
bl BattleDestroyCursorAt
movs r0, 0
strb r0, [r4]
movs r0, 0
bl sub_8056B74
bl BattleCreateCursorAt
_08059A02:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@ -4263,11 +4263,11 @@ _08059A02:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4]
bl sub_8056BAC
bl BattleDestroyCursorAt
movs r0, 0x1
strb r0, [r4]
movs r0, 0x1
bl sub_8056B74
bl BattleCreateCursorAt
_08059A2C:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@ -4355,7 +4355,7 @@ _08059AC4:
lsls r1, 24
lsrs r1, 24
adds r0, r7, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldrh r0, [r4]
cmp r0, 0
beq _08059AF4
@ -4382,7 +4382,7 @@ sub_8059B18: @ 8059B18
bl StringCopy
adds r0, r4, 0
movs r1, 0x7
bl battle_show_message_maybe
bl sub_814F9EC
pop {r4}
pop {r0}
bx r0
@ -4432,7 +4432,7 @@ sub_8059B3C: @ 8059B3C
bl ConvertIntToDecimalStringN
adds r0, r6, 0
movs r1, 0x9
bl battle_show_message_maybe
bl sub_814F9EC
_08059B98:
pop {r4-r7}
pop {r0}
@ -4481,7 +4481,7 @@ sub_8059BB0: @ 8059BB0
bl StringCopy
adds r0, r6, 0
movs r1, 0xA
bl battle_show_message_maybe
bl sub_814F9EC
pop {r4-r6}
pop {r0}
bx r0
@ -4637,7 +4637,7 @@ sub_8059CF8: @ 8059CF8
thumb_func_start sub_8059D40
sub_8059D40: @ 8059D40
push {lr}
ldr r0, =sub_80A92F8
ldr r0, =ReshowBattleScreenAfterMenu
bl SetMainCallback2
pop {r0}
bx r0
@ -4647,7 +4647,7 @@ sub_8059D40: @ 8059D40
thumb_func_start sub_8059D50
sub_8059D50: @ 8059D50
push {lr}
ldr r0, =sub_80A92F8
ldr r0, =ReshowBattleScreenAfterMenu
bl SetMainCallback2
pop {r0}
bx r0
@ -4718,7 +4718,7 @@ b_link_standby_message: @ 8059DC0
strh r1, [r0]
ldr r0, =gText_LinkStandby
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
_08059DE0:
pop {r0}
bx r0
@ -8458,7 +8458,7 @@ sub_805BF80: @ 805BF80
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@ -8534,7 +8534,7 @@ dp01t_12_6_battle_menu: @ 805C044
bl sub_817F2A8
ldr r0, =gText_BattleMenu
movs r1, 0x2
bl battle_show_message_maybe
bl sub_814F9EC
movs r4, 0
_0805C062:
lsls r0, r4, 24
@ -8554,7 +8554,7 @@ _0805C062:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0x1
bl battle_show_message_maybe
bl sub_814F9EC
pop {r4}
pop {r0}
bx r0
@ -8580,12 +8580,12 @@ sub_805C0B0: @ 805C0B0
bl sub_8056A3C
ldr r0, =gText_BattleYesNoChoice
movs r1, 0xC
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gUnknown_03005D74
movs r0, 0x1
strb r0, [r1]
movs r0, 0x1
bl sub_8056B74
bl BattleCreateCursorAt
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2

View File

@ -4966,7 +4966,7 @@ sub_81BDA4C: @ 81BDA4C
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2

View File

@ -4722,7 +4722,7 @@ sub_8188E90: @ 8188E90
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2

View File

@ -4822,7 +4822,7 @@ sub_818C43C: @ 818C43C
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2

View File

@ -387,7 +387,7 @@ sub_8159698: @ 8159698
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
cmp r1, r0
bne _081596BE
ldr r0, =gPaletteFade
@ -792,7 +792,7 @@ dp01t_10_6_message: @ 81599DC
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@ -862,7 +862,7 @@ sub_8159A94: @ 8159A94
str r1, [r0]
ldr r0, =gText_SafariZoneMenu
movs r1, 0x2
bl battle_show_message_maybe
bl sub_814F9EC
movs r4, 0
_08159AAE:
lsls r0, r4, 24
@ -882,7 +882,7 @@ _08159AAE:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0x1
bl battle_show_message_maybe
bl sub_814F9EC
pop {r4}
pop {r0}
bx r0

View File

@ -299,7 +299,7 @@ sub_8168610: @ 8168610
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
cmp r1, r0
bne _08168636
ldr r0, =gPaletteFade
@ -3606,7 +3606,7 @@ sub_816A3B8: @ 816A3B8
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@ -3676,7 +3676,7 @@ dp01t_12_1_battle_menu: @ 816A470
str r1, [r0]
ldr r0, =gText_BattleMenu
movs r1, 0x2
bl battle_show_message_maybe
bl sub_814F9EC
movs r4, 0
_0816A48A:
lsls r0, r4, 24
@ -3696,7 +3696,7 @@ _0816A48A:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0x1
bl battle_show_message_maybe
bl sub_814F9EC
pop {r4}
pop {r0}
bx r0

View File

@ -20582,29 +20582,29 @@ _081A5328:
ldr r4, =gDisplayedStringBattle
adds r0, r4, 0
movs r1, 0xF
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_Vs
movs r1, 0x10
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_RivalBuffer
bl StrCpyDecodeToDisplayedStringBattle
adds r0, r4, 0
movs r1, 0x11
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_Mind
movs r1, 0x12
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_Skill
movs r1, 0x13
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_Body
movs r1, 0x14
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gText_Judgement
bl StrCpyDecodeToDisplayedStringBattle
adds r0, r4, 0
movs r1, 0x15
bl battle_show_message_maybe
bl sub_814F9EC
b _081A553E
.pool
_081A53B4:
@ -20688,7 +20688,7 @@ _081A5464:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0x15
bl battle_show_message_maybe
bl sub_814F9EC
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]

View File

@ -703,7 +703,7 @@ _0814E6DE:
StrCpyDecodeToDisplayedStringBattle: @ 814E6F0
push {lr}
ldr r1, =gDisplayedStringBattle
bl StrCpyDecodeBattle
bl BattleStringExpandPlaceholders
pop {r1}
bx r1
.pool
@ -763,8 +763,8 @@ _0814E75A:
bx r1
thumb_func_end AppendStatusString
thumb_func_start StrCpyDecodeBattle
StrCpyDecodeBattle: @ 814E764
thumb_func_start BattleStringExpandPlaceholders
BattleStringExpandPlaceholders: @ 814E764
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -904,7 +904,7 @@ _0814E8EE:
adds r0, r1, 0
_0814E8F0:
adds r1, r4, 0
bl StrCpyDecodeBattleTextBuff
bl ExpandBattleTextBuffPlaceholders
bl _0814F5C0
.pool
_0814E904:
@ -2335,10 +2335,10 @@ _0814F62A:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end StrCpyDecodeBattle
thumb_func_end BattleStringExpandPlaceholders
thumb_func_start StrCpyDecodeBattleTextBuff
StrCpyDecodeBattleTextBuff: @ 814F648
thumb_func_start ExpandBattleTextBuffPlaceholders
ExpandBattleTextBuffPlaceholders: @ 814F648
push {r4-r7,lr}
mov r7, r8
push {r7}
@ -2652,7 +2652,7 @@ _0814F8EA:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end StrCpyDecodeBattleTextBuff
thumb_func_end ExpandBattleTextBuffPlaceholders
thumb_func_start sub_814F8F8
sub_814F8F8: @ 814F8F8
@ -2773,8 +2773,8 @@ _0814F9E0:
.pool
thumb_func_end sub_814F950
thumb_func_start battle_show_message_maybe
battle_show_message_maybe: @ 814F9EC
thumb_func_start sub_814F9EC
sub_814F9EC: @ 814F9EC
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -2987,7 +2987,7 @@ _0814FB9C:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end battle_show_message_maybe
thumb_func_end sub_814F9EC
thumb_func_start sub_814FBAC
sub_814FBAC: @ 814FBAC

View File

@ -1338,7 +1338,7 @@ _0813E6E4:
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@ -1626,7 +1626,7 @@ _0813E99E:
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =0x00000173
bl PlayBGM
ldr r2, =gTasks
@ -1868,7 +1868,7 @@ _0813EBE4:
_0813EBEC:
ldr r0, =gStringVar4
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@ -1900,7 +1900,7 @@ _0813EC2A:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@ -1997,7 +1997,7 @@ _0813ED16:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@ -2026,7 +2026,7 @@ _0813ED62:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@ -2051,7 +2051,7 @@ _0813ED90:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@ -2087,7 +2087,7 @@ _0813EDEA:
bl sub_8056A3C
ldr r0, =gText_BattleYesNoChoice
movs r1, 0xC
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@ -2100,7 +2100,7 @@ _0813EDEA:
ldr r0, =gBattleCommunication
strb r2, [r0, 0x1]
movs r0, 0
bl sub_8056B74
bl BattleCreateCursorAt
b _0813F1A4
.pool
_0813EE34:
@ -2117,10 +2117,10 @@ _0813EE34:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
bl sub_8056BAC
bl BattleDestroyCursorAt
movs r0, 0
strb r0, [r4, 0x1]
bl sub_8056B74
bl BattleCreateCursorAt
_0813EE5C:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@ -2135,10 +2135,10 @@ _0813EE5C:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
bl sub_8056BAC
bl BattleDestroyCursorAt
movs r0, 0x1
strb r0, [r4, 0x1]
bl sub_8056B74
bl BattleCreateCursorAt
_0813EE84:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@ -2292,7 +2292,7 @@ _0813EFC8:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@ -2341,7 +2341,7 @@ _0813F05C:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@ -2370,7 +2370,7 @@ _0813F0AA:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@ -2398,7 +2398,7 @@ _0813F0D8:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@ -2414,7 +2414,7 @@ _0813F120:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gTasks
mov r3, r8
adds r0, r3, r7
@ -2434,7 +2434,7 @@ _0813F154:
bl StrCpyDecodeToDisplayedStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
bl battle_show_message_maybe
bl sub_814F9EC
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7

View File

@ -236,8 +236,8 @@ _08184FA0:
.pool
thumb_func_end sub_8184E58
thumb_func_start sub_8184FBC
sub_8184FBC: @ 8184FBC
thumb_func_start RecordedBattle_SetBankAction
RecordedBattle_SetBankAction: @ 8184FBC
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
@ -269,7 +269,7 @@ _08184FF0:
pop {r0}
bx r0
.pool
thumb_func_end sub_8184FBC
thumb_func_end RecordedBattle_SetBankAction
thumb_func_start sub_8185008
sub_8185008: @ 8185008
@ -2212,7 +2212,7 @@ _081860C2:
ldr r1, [sp, 0x4C]
lsrs r0, r1, 24
movs r1, 0x6
bl sub_8184FBC
bl RecordedBattle_SetBankAction
movs r5, 0
ldr r2, =gUnknown_0203CC70
mov r8, r2
@ -2241,7 +2241,7 @@ _081860F0:
lsrs r1, 24
ldr r2, [sp, 0x4C]
lsrs r0, r2, 24
bl sub_8184FBC
bl RecordedBattle_SetBankAction
b _08186118
.pool
_08186110:

View File

@ -10,8 +10,8 @@ nullsub_35: @ 80A92F4
bx lr
thumb_func_end nullsub_35
thumb_func_start sub_80A92F8
sub_80A92F8: @ 80A92F8
thumb_func_start ReshowBattleScreenAfterMenu
ReshowBattleScreenAfterMenu: @ 80A92F8
push {lr}
ldr r2, =gPaletteFade
ldrb r0, [r2, 0x8]
@ -37,7 +37,7 @@ sub_80A92F8: @ 80A92F8
pop {r0}
bx r0
.pool
thumb_func_end sub_80A92F8
thumb_func_end ReshowBattleScreenAfterMenu
thumb_func_start c2_80777E8
c2_80777E8: @ 80A933C
@ -301,7 +301,7 @@ _080A95A4:
movs r0, 0x7F
ands r0, r1
strb r0, [r2, 0x8]
ldr r0, =sub_8038420
ldr r0, =BattleMainCB2
bl SetMainCallback2
bl sub_805EF14
_080A95D2:

View File

@ -2319,8 +2319,8 @@ dp01_build_cmdbuf_x07_7_7_7: @ 80339E4
.pool
thumb_func_end dp01_build_cmdbuf_x07_7_7_7
thumb_func_start dp01_build_cmdbuf_x08_8_8_8
dp01_build_cmdbuf_x08_8_8_8: @ 8033A04
thumb_func_start EmitTrainerSlide
EmitTrainerSlide: @ 8033A04
push {lr}
lsls r0, 24
lsrs r0, 24
@ -2335,7 +2335,7 @@ dp01_build_cmdbuf_x08_8_8_8: @ 8033A04
pop {r0}
bx r0
.pool
thumb_func_end dp01_build_cmdbuf_x08_8_8_8
thumb_func_end EmitTrainerSlide
thumb_func_start dp01_build_cmdbuf_x09_9_9_9
dp01_build_cmdbuf_x09_9_9_9: @ 8033A24
@ -3038,8 +3038,8 @@ dp01_build_cmdbuf_x1A_aaaa_bbbb: @ 8033F68
.pool
thumb_func_end dp01_build_cmdbuf_x1A_aaaa_bbbb
thumb_func_start dp01_build_cmdbuf_x1B_aaaa_b
dp01_build_cmdbuf_x1B_aaaa_b: @ 8033FBC
thumb_func_start EmitStatusAnimation
EmitStatusAnimation: @ 8033FBC
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
@ -3067,7 +3067,7 @@ dp01_build_cmdbuf_x1B_aaaa_b: @ 8033FBC
pop {r0}
bx r0
.pool
thumb_func_end dp01_build_cmdbuf_x1B_aaaa_b
thumb_func_end EmitStatusAnimation
thumb_func_start dp01_build_cmdbuf_x1C_a
dp01_build_cmdbuf_x1C_a: @ 8033FF8
@ -3431,8 +3431,8 @@ dp01_build_cmdbuf_x28_28_28_28: @ 8034274
.pool
thumb_func_end dp01_build_cmdbuf_x28_28_28_28
thumb_func_start dp01_build_cmdbuf_x29_29_29_29
dp01_build_cmdbuf_x29_29_29_29: @ 8034294
thumb_func_start EmitHitAnimation
EmitHitAnimation: @ 8034294
push {lr}
lsls r0, 24
lsrs r0, 24
@ -3447,10 +3447,10 @@ dp01_build_cmdbuf_x29_29_29_29: @ 8034294
pop {r0}
bx r0
.pool
thumb_func_end dp01_build_cmdbuf_x29_29_29_29
thumb_func_end EmitHitAnimation
thumb_func_start dp01_build_cmdbuf_x2A_2A_2A_2A
dp01_build_cmdbuf_x2A_2A_2A_2A: @ 80342B4
thumb_func_start Emit_x2A
Emit_x2A: @ 80342B4
push {lr}
lsls r0, 24
lsrs r0, 24
@ -3465,7 +3465,7 @@ dp01_build_cmdbuf_x2A_2A_2A_2A: @ 80342B4
pop {r0}
bx r0
.pool
thumb_func_end dp01_build_cmdbuf_x2A_2A_2A_2A
thumb_func_end Emit_x2A
thumb_func_start EmitEffectivenessSound
EmitEffectivenessSound: @ 80342D4
@ -3491,8 +3491,8 @@ EmitEffectivenessSound: @ 80342D4
.pool
thumb_func_end EmitEffectivenessSound
thumb_func_start sub_8034300
sub_8034300: @ 8034300
thumb_func_start EmitPlaySound
EmitPlaySound: @ 8034300
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@ -3512,10 +3512,10 @@ sub_8034300: @ 8034300
pop {r0}
bx r0
.pool
thumb_func_end sub_8034300
thumb_func_end EmitPlaySound
thumb_func_start dp01_build_cmdbuf_x2D_2D_2D_2D
dp01_build_cmdbuf_x2D_2D_2D_2D: @ 803432C
thumb_func_start EmitFaintingCry
EmitFaintingCry: @ 803432C
push {lr}
lsls r0, 24
lsrs r0, 24
@ -3530,7 +3530,7 @@ dp01_build_cmdbuf_x2D_2D_2D_2D: @ 803432C
pop {r0}
bx r0
.pool
thumb_func_end dp01_build_cmdbuf_x2D_2D_2D_2D
thumb_func_end EmitFaintingCry
thumb_func_start dp01_build_cmdbuf_x2E_a
dp01_build_cmdbuf_x2E_a: @ 803434C
@ -3567,8 +3567,8 @@ dp01_build_cmdbuf_x2F_2F_2F_2F: @ 803436C
.pool
thumb_func_end dp01_build_cmdbuf_x2F_2F_2F_2F
thumb_func_start dp01_build_cmdbuf_x30_TODO
dp01_build_cmdbuf_x30_TODO: @ 803438C
thumb_func_start EmitCmd48
EmitCmd48: @ 803438C
push {r4,r5,lr}
adds r4, r1, 0
lsls r0, 24
@ -3604,10 +3604,10 @@ _080343B4:
pop {r0}
bx r0
.pool
thumb_func_end dp01_build_cmdbuf_x30_TODO
thumb_func_end EmitCmd48
thumb_func_start dp01_build_cmdbuf_x31_31_31_31
dp01_build_cmdbuf_x31_31_31_31: @ 80343D4
thumb_func_start EmitCmd49
EmitCmd49: @ 80343D4
push {lr}
lsls r0, 24
lsrs r0, 24
@ -3622,7 +3622,7 @@ dp01_build_cmdbuf_x31_31_31_31: @ 80343D4
pop {r0}
bx r0
.pool
thumb_func_end dp01_build_cmdbuf_x31_31_31_31
thumb_func_end EmitCmd49
thumb_func_start dp01_build_cmdbuf_x32_32_32_32
dp01_build_cmdbuf_x32_32_32_32: @ 80343F4
@ -3735,8 +3735,8 @@ dp01_build_cmdbuf_x38_a: @ 80344A8
.pool
thumb_func_end dp01_build_cmdbuf_x38_a
thumb_func_start dp01_build_cmdbuf_x37_a
dp01_build_cmdbuf_x37_a: @ 80344C8
thumb_func_start Emit_x37
Emit_x37: @ 80344C8
push {r4,r5,lr}
adds r5, r0, 0
lsls r5, 24
@ -3770,6 +3770,6 @@ dp01_build_cmdbuf_x37_a: @ 80344C8
pop {r0}
bx r0
.pool
thumb_func_end dp01_build_cmdbuf_x37_a
thumb_func_end Emit_x37
.align 2, 0 @ Don't pad with nop.

View File

@ -209,7 +209,7 @@ gTypeEffectiveness:: @ 831ACE8
.include "data/text/type_names.inc"
.align 2
gUnknown_0831AEB8:: @ 831AEB8
gTrainerMoneyTable:: @ 831AEB8
.incbin "baserom.gba", 0x31aeb8, 0xe0
@ 831AF98

View File

@ -200,6 +200,7 @@
#define REQUEST_HP_BATTLE 0x2A
// array entries for battle communication
#define CURSOR_POSITION 0x1
#define MOVE_EFFECT_BYTE 0x3
#define MULTISTRING_CHOOSER 0x5
#define MSG_DISPLAY 0x7
@ -236,6 +237,46 @@
#define CMP_COMMON_BITS 0x4
#define CMP_NO_COMMON_BITS 0x5
struct TrainerMonNoItemDefaultMoves
{
u16 species;
u8 lvl;
u16 evsValue;
};
struct TrainerMonItemDefaultMoves
{
u16 species;
u8 lvl;
u16 evsValue;
u16 heldItem;
};
struct TrainerMonNoItemCustomMoves
{
u16 species;
u8 lvl;
u16 evsValue;
u16 moves[4];
};
struct TrainerMonItemCustomMoves
{
u16 species;
u8 lvl;
u16 evsValue;
u16 heldItem;
u16 moves[4];
};
union TrainerMonPtr
{
struct TrainerMonNoItemDefaultMoves* NoItemDefaultMoves;
struct TrainerMonNoItemCustomMoves* NoItemCustomMoves;
struct TrainerMonItemDefaultMoves* ItemDefaultMoves;
struct TrainerMonItemCustomMoves* ItemCustomMoves;
};
struct Trainer
{
/*0x00*/ u8 partyFlags;
@ -247,9 +288,12 @@ struct Trainer
/*0x18*/ bool8 doubleBattle;
/*0x1C*/ u32 aiFlags;
/*0x20*/ u8 partySize;
/*0x24*/ void *party;
/*0x24*/ union TrainerMonPtr party;
};
#define PARTY_FLAG_CUSTOM_MOVES 0x1
#define PARTY_FLAG_HAS_ITEM 0x2
extern const struct Trainer gTrainers[];
#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
@ -289,7 +333,8 @@ struct DisableStruct
/*0x16*/ u8 isFirstTurn;
/*0x17*/ u8 unk17;
/*0x18*/ u8 truantCounter : 1;
/*0x18*/ u8 unk18_a : 3;
/*0x18*/ u8 truantUnknownBit : 1;
/*0x18*/ u8 unk18_a_2 : 2;
/*0x18*/ u8 unk18_b : 4;
/*0x19*/ u8 rechargeCounter;
/*0x1A*/ u8 unk1A[2];
@ -464,7 +509,7 @@ struct BattleResults
{
u8 playerFaintCounter; // 0x0
u8 opponentFaintCounter; // 0x1
u8 unk2; // 0x2
u8 playerSwitchesCounter; // 0x2
u8 unk3; // 0x3
u8 unk4; // 0x4
u8 unk5_0:1; // 0x5
@ -664,6 +709,13 @@ extern struct BattleStruct* gBattleStruct;
varName = (u16*)(((void*)(*memes1) + (u32)(memes2))); \
}
#define GET_HP_SWITCHOUT_PTR_VIA_MEME_ACCESS(bank, varName) \
{ \
void** memes1 = (void**)(&gBattleStruct); \
void* memes2 = (void*)((u32)(bank * 2 + offsetof(struct BattleStruct, hpOnSwitchout))); \
varName = (u16*)(((void*)(*memes1) + (u32)(memes2))); \
}
#define GET_MOVE_TYPE(move, typeArg) \
{ \
if (gBattleStruct->dynamicMoveType) \
@ -815,6 +867,9 @@ struct BattleScripting
u8 statChanger;
u8 field_1B;
u8 atk23_state;
u8 field_1D;
u8 field_1E;
u8 learnMoveState;
};
extern struct BattleScripting gBattleScripting;
@ -829,6 +884,9 @@ u8 GetBattleBank(u8 caseId);
void UndoEffectsAfterFainting(void);
bool8 HasMoveFailed(u8 bank);
void SwitchInClearStructs(void);
void sub_803BDA0(u8 bank);
void sub_803FA70(u8 bank);
void BattleMainCB2(void);
// battle_3
void BattleScriptPush(const u8* bsPtr);
@ -860,9 +918,12 @@ void AI_CalcDmg(u8 bankAtk, u8 bankDef);
u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef);
u8 AI_TypeCalc(u16 move, u16 species, u8 ability);
u8 BankGetTurnOrder(u8 bank);
void BattleDestroyCursorAt(u8 cursorPosition);
void BattleCreateCursorAt(u8 cursorPosition);
// battle_5
void AdjustFriendshipOnBattleFaint(u8 bank);
void sub_80571DC(u8 bank, u8 arg1);
// battle 7
void BattleMusicStop(void);

View File

@ -1,13 +1,21 @@
#ifndef GUARD_BATTLE_CONTROLLERS_H
#define GUARD_BATTLE_CONTROLLERS_H
struct HpAndStatus
{
u16 hp;
u32 status;
};
// rom3.s, emitters
void EmitSetAttributes(u8 bufferId, u8 request, u8 c, u8 bytes, void *data);
void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct* disableStructPtr, u8 multihit);
void EmitHealthBarUpdate(u8 bufferId, u16 hpValue);
void EmitEffectivenessSound(u8 bufferId, u16 songId);
void EmitPlaySound(u8 bufferId, u16 songId, u8 arg2);
void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId);
void EmitFaintAnimation(u8 bufferId);
void Emit_x2A(u8 bufferId);
void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints);
void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
@ -15,6 +23,14 @@ void EmitReturnPokeToBall(u8 bufferId, u8 arg1);
void EmitGetAttributes(u8 bufferId, u8 arg1, u8 arg2);
void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit);
void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, const u8* arg4);
void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, u8 arg2);
void EmitTrainerSlide(u8 bufferId);
void EmitFaintingCry(u8 bufferId);
void Emit_x37(u8 bufferId, u8 arg1);
void EmitHitAnimation(u8 bufferId);
void EmitCmd48(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2);
void EmitCmd49(u8 bufferId);
void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status);
void MarkBufferBankForExecution(u8 bank);

View File

@ -1,6 +1,147 @@
#ifndef GUARD_BATTLE_MESSAGE_H
#define GUARD_BATTLE_MESSAGE_H
// for 0xFD
#define B_TXT_BUFF1 00
#define B_TXT_BUFF2 01
#define B_TXT_COPY_VAR_1 02
#define B_TXT_COPY_VAR_2 03
#define B_TXT_COPY_VAR_3 04
#define B_TXT_PLAYER_MON1_NAME 05
#define B_TXT_OPPONENT_MON1_NAME 06
#define B_TXT_PLAYER_MON2_NAME 07
#define B_TXT_OPPONENT_MON2_NAME 08
#define B_TXT_LINK_PLAYER_MON1_NAME 09
#define B_TXT_LINK_OPPONENT_MON1_NAME 0A
#define B_TXT_LINK_PLAYER_MON2_NAME 0B
#define B_TXT_LINK_OPPONENT_MON2_NAME 0C
#define B_TXT_ATK_NAME_WITH_PREFIX_MON1 0D
#define B_TXT_ATK_NAME 0E
#define B_TXT_ATK_NAME_WITH_PREFIX 0F
#define B_TXT_DEF_NAME_WITH_PREFIX 10
#define B_TXT_EFF_NAME_WITH_PREFIX 11 // EFF = short for gEffectBank
#define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX 12
#define B_TXT_ACTIVE_NAME_WITH_PREFIX 13
#define B_TXT_CURRENT_MOVE 14
#define B_TXT_LAST_MOVE 15
#define B_TXT_LAST_ITEM 16
#define B_TXT_LAST_ABILITY 17
#define B_TXT_ATK_ABILITY 18
#define B_TXT_DEF_ABILITY 19
#define B_TXT_SCR_ACTIVE_ABILITY 1A
#define B_TXT_EFF_ABILITY 1B
#define B_TXT_TRAINER1_CLASS 1C
#define B_TXT_TRAINER1_NAME 1D
#define B_TXT_1E 1E // trainer name for a link player
#define B_TXT_1F 1F // trainer name for a link player
#define B_TXT_20 20 // trainer name for a link player
#define B_TXT_21 21 // trainer name for a link player
#define B_TXT_22 22 // trainer name for a link player
#define B_TXT_PLAYER_NAME 23
#define B_TXT_TRAINER1_LOSE_TEXT 24
#define B_TXT_TRAINER1_WIN_TEXT 25
#define B_TXT_26 26
#define B_TXT_PC_CREATOR_NAME 27
#define B_TXT_ATK_PREFIX1 28
#define B_TXT_DEF_PREFIX1 29
#define B_TXT_ATK_PREFIX2 2A
#define B_TXT_DEF_PREFIX2 2B
#define B_TXT_ATK_PREFIX3 2C
#define B_TXT_DEF_PREFIX3 2D
#define B_TXT_TRAINER2_CLASS 2E
#define B_TXT_TRAINER2_NAME 2F
#define B_TXT_TRAINER2_LOSE_TEXT 30
#define B_TXT_TRAINER2_WIN_TEXT 31
#define B_TXT_PARTNER_CLASS 32
#define B_TXT_PARTNER_NAME 33
#define B_TXT_BUFF3 34
// for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3
#define B_BUFF_STRING 0
#define B_BUFF_NUMBER 1
#define B_BUFF_MOVE 2
#define B_BUFF_TYPE 3
#define B_BUFF_MON_NICK_WITH_PREFIX 4
#define B_BUFF_STAT 5
#define B_BUFF_SPECIES 6
#define B_BUFF_MON_NICK 7
#define B_BUFF_NEGATIVE_FLAVOUR 8
#define B_BUFF_ABILITY 9
#define B_BUFF_ITEM 10
#define B_BUFF_PLACEHOLDER_BEGIN 0xFD
#define B_BUFF_EOS 0xFF
#define PREPARE_BYTE_NUMBER_BUFFER(textVar, maxDigits, number) \
{ \
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
textVar[1] = B_BUFF_NUMBER; \
textVar[2] = 1; \
textVar[3] = maxDigits; \
textVar[4] = (number); \
textVar[5] = B_BUFF_EOS; \
}
#define PREPARE_WORD_NUMBER_BUFFER(textVar, maxDigits, number) \
{ \
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
textVar[1] = B_BUFF_NUMBER; \
textVar[2] = 4; \
textVar[3] = maxDigits; \
textVar[4] = (number); \
textVar[5] = (number & 0x0000FF00) >> 8; \
textVar[6] = (number & 0x00FF0000) >> 16; \
textVar[7] = (number & 0xFF000000) >> 24; \
textVar[8] = B_BUFF_EOS; \
}
#define PREPARE_STRING_BUFFER(textVar, stringId) \
{ \
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
textVar[1] = B_BUFF_STRING; \
textVar[2] = stringId; \
textVar[3] = (stringId & 0xFF00) >> 8; \
textVar[4] = B_BUFF_EOS; \
}
#define PREPARE_MOVE_BUFFER(textVar, move) \
{ \
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
textVar[1] = B_BUFF_MOVE; \
textVar[2] = move; \
textVar[3] = (move & 0xFF00) >> 8; \
textVar[4] = B_BUFF_EOS; \
}
#define PREPARE_SPECIES_BUFFER(textVar, species) \
{ \
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
textVar[1] = B_BUFF_SPECIES; \
textVar[2] = species; \
textVar[3] = (species & 0xFF00) >> 8; \
textVar[4] = B_BUFF_EOS; \
}
#define PREPARE_MON_NICK_WITH_PREFIX_BUFFER(textVar, bank, partyId) \
{ \
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
textVar[1] = B_BUFF_MON_NICK_WITH_PREFIX; \
textVar[2] = bank; \
textVar[3] = partyId; \
textVar[4] = B_BUFF_EOS; \
}
#define PREPARE_MON_NICK_BUFFER(textVar, bank, partyId) \
{ \
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
textVar[1] = B_BUFF_MON_NICK; \
textVar[2] = bank; \
textVar[3] = partyId; \
textVar[4] = B_BUFF_EOS; \
}
struct StringInfoBattle
{
u16 currentMove;
@ -18,7 +159,8 @@ struct StringInfoBattle
void BufferStringBattle(u16 stringID);
u32 StrCpyDecodeToDisplayedStringBattle(const u8* src);
u32 StrCpyDecodeBattle(const u8* src, u8* dst);
u32 BattleStringExpandPlaceholders(const u8* src, u8* dst);
void sub_814F9EC(const u8* text, u8 arg1);
extern u8 gBattleTextBuff1[];
extern u8 gBattleTextBuff2[];

View File

@ -626,6 +626,7 @@ bool8 IsTradedMon(struct Pokemon *mon);
void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality);
s32 sub_806D864(u16 a1);
bool16 sub_806D82C(u8 id);
u16 MonTryLearningNewMove(struct Pokemon* mon, bool8);
#include "sprite.h"

View File

@ -0,0 +1,6 @@
#ifndef GUARD_RECORDED_BATTLE_H
#define GUARD_RECORDED_BATTLE_H
void RecordedBattle_SetBankAction(u8 bank, u8 action);
#endif // GUARD_RECORDED_BATTLE_H

View File

@ -0,0 +1,6 @@
#ifndef GUARD_RESHOW_BATTLE_SCREEN_H
#define GUARD_RESHOW_BATTLE_SCREEN_H
void ReshowBattleScreenAfterMenu(void);
#endif // GUARD_RESHOW_BATTLE_SCREEN_H

View File

@ -71,7 +71,9 @@
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
#define PLACEHOLDER_BEGIN 0xFD // string placeholder
#define CHAR_NEWLINE 0xFE
#define EOS 0xFF // end of string
#define EOS 0xFF // end of string
// battle placeholders are located in battle_message.h
#define EXT_CTRL_CODE_JPN 0x15
#define EXT_CTRL_CODE_ENG 0x16

File diff suppressed because it is too large Load Diff

View File

@ -1374,7 +1374,7 @@ void sub_806E994(void)
gBattleTextBuff2[2] = gBankInMenu;
gBattleTextBuff2[3] = pokemon_order_func(gBattlePartyID[gBankInMenu]);
gBattleTextBuff2[4] = EOS;
StrCpyDecodeBattle(gText_PkmnsXPreventsSwitching, gStringVar4);
BattleStringExpandPlaceholders(gText_PkmnsXPreventsSwitching, gStringVar4);
}
struct PokeItem