mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-24 05:40:09 +00:00
Finish decompiling battle_system.c
This commit is contained in:
parent
8ce73b5428
commit
88c914311b
@ -1,222 +0,0 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public FontID_String_GetWidth
|
||||
.public PaletteData_GetUnfadedBuf
|
||||
.public Sound_SetMasterVolume
|
||||
.public Sound_Stop
|
||||
.public PlaySE
|
||||
.public GF_IsAnySEPlaying
|
||||
.public PlayFanfare
|
||||
.public IsFanfarePlaying
|
||||
.public NewMsgDataFromNarc
|
||||
.public DestroyMsgData
|
||||
.public NewString_ReadMsgData
|
||||
.public BufferBoxMonSpeciesName
|
||||
.public BufferBoxMonNickname
|
||||
.public BufferIntegerAsString
|
||||
.public BufferMoveName
|
||||
.public BufferAbilityName
|
||||
.public BufferItemName
|
||||
.public BufferTypeName
|
||||
.public BufferStatName
|
||||
.public BufferStatusName
|
||||
.public BufferFlavorDislikeText
|
||||
.public BufferTrainerClassNameFromDataStruct
|
||||
.public BufferTrainerNameFromDataStruct
|
||||
.public BufferPCBoxName
|
||||
.public StringExpandPlaceholders
|
||||
.public BeginNormalPaletteFade
|
||||
.public MailMsg_GetExpandedString
|
||||
.public AllocFromHeap
|
||||
.public BG_LoadCharTilesData
|
||||
.public FillWindowPixelBuffer
|
||||
.public AddTextPrinterParameterized
|
||||
.public sub_02024B1C
|
||||
.public GF_AssertFail
|
||||
.public String_Delete
|
||||
.public String_Copy
|
||||
.public PlayerProfile_GetTrainerGender
|
||||
.public PlayerProfile_CountBadges
|
||||
.public PlayerProfile_GetMoney
|
||||
.public PlayerProfile_GetVersion
|
||||
.public Pokedex_CheckMonCaughtFlag
|
||||
.public Pokedex_SetMonSeenFlag
|
||||
.public Pokedex_SetMonCaughtFlag
|
||||
.public Options_GetTextFrameDelay
|
||||
.public Options_GetBattleScene
|
||||
.public Options_GetBattleStyle
|
||||
.public Options_GetFrame
|
||||
.public GameStats_Inc
|
||||
.public GameStats_AddSpecial
|
||||
.public sub_02030260
|
||||
.public sub_0203027C
|
||||
.public GetMonData
|
||||
.public SetMonData
|
||||
.public AddMonData
|
||||
.public GetMonEvolution
|
||||
.public Party_GetMaxLevel
|
||||
.public MaskOfFlagNo
|
||||
.public GetTrainerMessageByIdPair
|
||||
.public Party_GetCount
|
||||
.public Party_GetMonByIndex
|
||||
.public GetItemAttr
|
||||
.public BallToItemId
|
||||
.public ApplyItemEffectOnMonMood
|
||||
.public MIi_CpuCopy32
|
||||
.public _s32_div_f
|
||||
.public _u32_div_f
|
||||
.public BattleSystem_GetBgConfig
|
||||
.public BattleSystem_GetWindow
|
||||
.public BattleSystem_GetBattleType
|
||||
.public BattleSystem_GetBattleContext
|
||||
.public BattleSystem_GetOpponentData
|
||||
.public BattleSystem_GetMaxBattlers
|
||||
.public BattleSystem_GetParty
|
||||
.public BattleSystem_GetPartySize
|
||||
.public BattleSystem_GetPartyMon
|
||||
.public ov12_0223A8D4
|
||||
.public ov12_0223A8DC
|
||||
.public ov12_0223A8E4
|
||||
.public ov12_0223A8EC
|
||||
.public ov12_0223A8F4
|
||||
.public ov12_0223A900
|
||||
.public ov12_0223A908
|
||||
.public ov12_0223A914
|
||||
.public BattleSystem_GetHpFont
|
||||
.public BattleSystem_GetLevelFont
|
||||
.public BattleSystem_GetMessageData
|
||||
.public ov12_0223A934
|
||||
.public BattleSystem_GetPaletteData
|
||||
.public BattleSystem_GetPokedex
|
||||
.public BattleSystem_GetSendBufferPtr
|
||||
.public BattleSystem_GetRecvBufferPtr
|
||||
.public ov12_0223A954
|
||||
.public ov12_0223A960
|
||||
.public ov12_0223A96C
|
||||
.public ov12_0223A978
|
||||
.public ov12_0223A984
|
||||
.public ov12_0223A990
|
||||
.public ov12_0223A99C
|
||||
.public BattleSystem_GetMessageFormat
|
||||
.public BattleSystem_GetMessageBuffer
|
||||
.public BattleSystem_GetTrainerIndex
|
||||
.public BattleSystem_GetTrainer
|
||||
.public BattleSystem_GetPlayerProfile
|
||||
.public BattleSystem_GetBag
|
||||
.public BattleSystem_GetBagCursor
|
||||
.public BattleSystem_GetMonBall
|
||||
.public ov12_0223AAB8
|
||||
.public BattleSystem_GetTrainerGender
|
||||
.public ov12_0223AAD8
|
||||
.public ov12_0223AB0C
|
||||
.public BattleSystem_GetFieldSide
|
||||
.public BattleSystem_GetMessageIcon
|
||||
.public BattleSystem_GetPcStorage
|
||||
.public BattleSystem_GetTerrainId
|
||||
.public ov12_0223AB54
|
||||
.public BattleSystem_GetLocation
|
||||
.public BattleSystem_GetBattlerIdPartner
|
||||
.public ov12_0223ABB8
|
||||
.public BattleSystem_RecoverStatus
|
||||
.public BattleSystem_GetBattleSpecial
|
||||
.public BattleSystem_GetTimezone
|
||||
.public ov12_0223B52C
|
||||
.public ov12_0223B580
|
||||
.public BattleSystem_CheckEvolution
|
||||
.public ov12_0223B688
|
||||
.public ov12_0223B694
|
||||
.public BattleSystem_GetSafariBallCount
|
||||
.public BattleSystem_SetSafariBallCount
|
||||
.public BattleSystem_GetOptions
|
||||
.public BattleSystem_AreBattleAnimationsOn
|
||||
.public BattleSystem_GetFrame
|
||||
.public BattleSystem_GetTextFrameDelay
|
||||
.public BattleSystem_GetBattleStyle
|
||||
.public ov12_0223B750
|
||||
.public BattleSystem_GetChatotVoice
|
||||
.public BattleSystem_TryChangeForm
|
||||
.public ov12_0223B854
|
||||
.public ov12_0223B870
|
||||
.public BattleSystem_SetBackground
|
||||
.public ov12_0223BAD0
|
||||
.public ov12_0223BAD8
|
||||
.public ov12_0223BAE0
|
||||
.public ov12_0223BAEC
|
||||
.public BattleSystem_GetWeather
|
||||
.public ov12_0223BB04
|
||||
.public ov12_0223BB10
|
||||
.public ov12_0223BB1C
|
||||
.public BattleSystem_GameStatIncrement
|
||||
.public ov12_0223BB44
|
||||
.public ov12_0223BB64
|
||||
.public ov12_0223BB6C
|
||||
.public ov12_0223BB78
|
||||
.public ov12_0223BB80
|
||||
.public ov12_0223BB88
|
||||
.public ov12_0223BB94
|
||||
.public ov12_0223BBA8
|
||||
.public ov12_0223BBC0
|
||||
.public ov12_0223BBD8
|
||||
.public ov12_0223BBF0
|
||||
.public ov12_0223BBFC
|
||||
.public ov12_0223BC08
|
||||
.public ov12_0223BC14
|
||||
.public ov12_0223BC20
|
||||
.public ov12_0223BC2C
|
||||
.public BattleSystem_GetHpBar
|
||||
.public BattleSystem_HpBar_Init
|
||||
.public BattleSystem_SetHpBarEnabled
|
||||
.public BattleSystem_SetHpBarDisabled
|
||||
.public BattleSystem_HpBar_Delete
|
||||
.public BattleSystem_GetBattleOutcomeFlags
|
||||
.public BattleSystem_SetBattleOutcomeFlags
|
||||
.public BattleSystem_GetCriticalHpMusicFlag
|
||||
.public BattleSystem_SetCriticalHpMusicFlag
|
||||
.public BattleSystem_GetCriticalHpMusicDelay
|
||||
.public BattleSystem_SetCriticalHpMusicDelay
|
||||
.public ov12_0223BD8C
|
||||
.public BattleSystem_Random
|
||||
.public BattleSystem_GetRandTemp
|
||||
.public BattleSystem_SetRandTemp
|
||||
.public ov12_0223BDDC
|
||||
.public ov12_0223BE0C
|
||||
.public ov12_0223BE68
|
||||
.public ov12_0223BF14
|
||||
.public ov12_0223BFC0
|
||||
.public ov12_0223BFCC
|
||||
.public BattleSystem_GetTrainerItem
|
||||
.public ov12_0223BFEC
|
||||
.public ov12_0223BFFC
|
||||
.public ov12_0223C080
|
||||
.public ov12_0223C0C4
|
||||
.public BattleSystem_GetChatotVoiceParam
|
||||
.public ov12_0223C134
|
||||
.public ov12_0223C140
|
||||
.public ov12_0223C1A0
|
||||
.public ov12_0223C1C4
|
||||
.public ov12_0223C1F4
|
||||
.public ov12_0223C224
|
||||
.public CalcMoneyLoss
|
||||
.public BattleSystem_SetPokedexSeen
|
||||
.public BattleSystem_SetPokedexCaught
|
||||
.public BattleSystem_CheckMonCaught
|
||||
.public BattleSystem_SetDefaultBlend
|
||||
.public BattleSystem_PrintTrainerMessage
|
||||
.public BattleSystem_PrintBattleMessage
|
||||
.public ov12_0223C4E8
|
||||
.public GetBattlerVar
|
||||
.public SetBattlerVar
|
||||
.public AddBattlerVar
|
||||
.public ov12_022581D4
|
||||
.public ov12_022582B8
|
||||
.public ov12_02261258
|
||||
.public ov12_02261270
|
||||
.public OpponentData_GetHpBar
|
||||
.public BattleHpBar_LoadResources
|
||||
.public BattleHpBar_FreeResources
|
||||
.public ov12_02264EE0
|
||||
.public BattleHpBar_SetEnabled
|
||||
.public ov12_02265B64
|
||||
.public ov12_02266008
|
||||
.public ov12_0226AA8C
|
||||
.public ov12_0226BEC4
|
@ -1,221 +0,0 @@
|
||||
#include "constants/pokemon.h"
|
||||
#include "constants/sndseq.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "overlay_12_battle_system.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start BattleMessage_BufferNumber
|
||||
BattleMessage_BufferNumber: ; 0x0223CE0C
|
||||
push {r3, lr}
|
||||
sub sp, #8
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
mov r3, #1
|
||||
str r3, [sp, #4]
|
||||
ldr r0, [r0, #0x14]
|
||||
mov r3, #5
|
||||
bl BufferIntegerAsString
|
||||
add sp, #8
|
||||
pop {r3, pc}
|
||||
thumb_func_end BattleMessage_BufferNumber
|
||||
|
||||
thumb_func_start BattleMessage_BufferNumbers
|
||||
BattleMessage_BufferNumbers: ; 0x0223CE24
|
||||
push {r4, lr}
|
||||
sub sp, #8
|
||||
cmp r3, #0
|
||||
beq _0223CE3C
|
||||
mov r4, #1
|
||||
str r4, [sp]
|
||||
str r4, [sp, #4]
|
||||
ldr r0, [r0, #0x14]
|
||||
bl BufferIntegerAsString
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
_0223CE3C:
|
||||
mov r3, #1
|
||||
str r3, [sp]
|
||||
str r3, [sp, #4]
|
||||
ldr r0, [r0, #0x14]
|
||||
mov r3, #5
|
||||
bl BufferIntegerAsString
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end BattleMessage_BufferNumbers
|
||||
|
||||
thumb_func_start BattleMessage_BufferType
|
||||
BattleMessage_BufferType: ; 0x0223CE50
|
||||
ldr r3, _0223CE58 ; =BufferTypeName
|
||||
ldr r0, [r0, #0x14]
|
||||
bx r3
|
||||
nop
|
||||
_0223CE58: .word BufferTypeName
|
||||
thumb_func_end BattleMessage_BufferType
|
||||
|
||||
thumb_func_start BattleMessage_BufferAbility
|
||||
BattleMessage_BufferAbility: ; 0x0223CE5C
|
||||
ldr r3, _0223CE64 ; =BufferAbilityName
|
||||
ldr r0, [r0, #0x14]
|
||||
bx r3
|
||||
nop
|
||||
_0223CE64: .word BufferAbilityName
|
||||
thumb_func_end BattleMessage_BufferAbility
|
||||
|
||||
thumb_func_start BattleMessage_BufferStat
|
||||
BattleMessage_BufferStat: ; 0x0223CE68
|
||||
ldr r3, _0223CE70 ; =BufferStatName
|
||||
ldr r0, [r0, #0x14]
|
||||
bx r3
|
||||
nop
|
||||
_0223CE70: .word BufferStatName
|
||||
thumb_func_end BattleMessage_BufferStat
|
||||
|
||||
thumb_func_start BattleMessage_BufferStatus
|
||||
BattleMessage_BufferStatus: ; 0x0223CE74
|
||||
ldr r3, _0223CE7C ; =BufferStatusName
|
||||
ldr r0, [r0, #0x14]
|
||||
bx r3
|
||||
nop
|
||||
_0223CE7C: .word BufferStatusName
|
||||
thumb_func_end BattleMessage_BufferStatus
|
||||
|
||||
thumb_func_start BattleMessage_BufferPokemon
|
||||
BattleMessage_BufferPokemon: ; 0x0223CE80
|
||||
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 BufferBoxMonSpeciesName
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end BattleMessage_BufferPokemon
|
||||
|
||||
thumb_func_start BattleMessage_BufferPoffin
|
||||
BattleMessage_BufferPoffin: ; 0x0223CEA4
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
thumb_func_end BattleMessage_BufferPoffin
|
||||
|
||||
thumb_func_start BattleMessage_BufferFlavorPreference
|
||||
BattleMessage_BufferFlavorPreference: ; 0x0223CEA8
|
||||
ldr r3, _0223CEB0 ; =BufferFlavorDislikeText
|
||||
ldr r0, [r0, #0x14]
|
||||
bx r3
|
||||
nop
|
||||
_0223CEB0: .word BufferFlavorDislikeText
|
||||
thumb_func_end BattleMessage_BufferFlavorPreference
|
||||
|
||||
thumb_func_start BattleMessage_BufferTrainerClass
|
||||
BattleMessage_BufferTrainerClass: ; 0x0223CEB4
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
add r1, r2, #0
|
||||
bl BattleSystem_GetTrainer
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #0x14]
|
||||
add r1, r4, #0
|
||||
bl BufferTrainerClassNameFromDataStruct
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end BattleMessage_BufferTrainerClass
|
||||
|
||||
thumb_func_start BattleMessage_BufferTrainerName
|
||||
BattleMessage_BufferTrainerName: ; 0x0223CECC
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
add r1, r2, #0
|
||||
bl BattleSystem_GetTrainer
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #0x14]
|
||||
add r1, r4, #0
|
||||
bl BufferTrainerNameFromDataStruct
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end BattleMessage_BufferTrainerName
|
||||
|
||||
thumb_func_start BattleMessage_BufferBoxName
|
||||
BattleMessage_BufferBoxName: ; 0x0223CEE4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r3, r2, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
ldr r2, [r4, #0x64]
|
||||
bl BufferPCBoxName
|
||||
pop {r4, pc}
|
||||
thumb_func_end BattleMessage_BufferBoxName
|
||||
|
||||
thumb_func_start ov12_0223CEF4
|
||||
ov12_0223CEF4: ; 0x0223CEF4
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r0, r1, #0
|
||||
ldrh r1, [r2, #2]
|
||||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #0x14]
|
||||
ldr r1, [r5, #0x18]
|
||||
add r2, r4, #0
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0
|
||||
bl String_Delete
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov12_0223CEF4
|
||||
|
||||
thumb_func_start ov12_0223CF14
|
||||
ov12_0223CF14: ; 0x0223CF14
|
||||
push {r4, lr}
|
||||
mov r4, #0
|
||||
cmp r1, #5
|
||||
bhi _0223CF5C
|
||||
add r0, r1, r1
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_0223CF28: ; jump table
|
||||
.short _0223CF5C - _0223CF28 - 2 ; case 0
|
||||
.short _0223CF34 - _0223CF28 - 2 ; case 1
|
||||
.short _0223CF3C - _0223CF28 - 2 ; case 2
|
||||
.short _0223CF44 - _0223CF28 - 2 ; case 3
|
||||
.short _0223CF4C - _0223CF28 - 2 ; case 4
|
||||
.short _0223CF54 - _0223CF28 - 2 ; case 5
|
||||
_0223CF34:
|
||||
bl GF_IsAnySEPlaying
|
||||
add r4, r0, #0
|
||||
b _0223CF5C
|
||||
_0223CF3C:
|
||||
bl IsFanfarePlaying
|
||||
add r4, r0, #0
|
||||
b _0223CF5C
|
||||
_0223CF44:
|
||||
ldr r0, _0223CF60 ; =0x000004A3
|
||||
bl PlayFanfare
|
||||
b _0223CF5C
|
||||
_0223CF4C:
|
||||
ldr r0, _0223CF64 ; =0x000005E6
|
||||
bl PlaySE
|
||||
b _0223CF5C
|
||||
_0223CF54:
|
||||
mov r0, #0x4a
|
||||
lsl r0, r0, #4
|
||||
bl PlayFanfare
|
||||
_0223CF5C:
|
||||
add r0, r4, #0
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
_0223CF60: .word 0x000004A3
|
||||
_0223CF64: .word 0x000005E6
|
||||
thumb_func_end ov12_0223CF14
|
@ -31,5 +31,6 @@ void ov12_0223A620(BattleSystem *bsys);
|
||||
//the following functions aren't static/haven't been checked to their status and are yet to be decompiled
|
||||
void ov12_02238A30(BgConfig *config);
|
||||
void ov12_02238A64(BattleSystem *bsys);
|
||||
void ov12_02237ED0(BattleSystem *bsys, int a1);
|
||||
|
||||
#endif
|
||||
|
8
include/battle/battle_02265E28.h
Normal file
8
include/battle/battle_02265E28.h
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef POKEHEARTGOLD_BATTLE_02265E28_H
|
||||
#define POKEHEARTGOLD_BATTLE_02265E28_H
|
||||
|
||||
#include "battle.h"
|
||||
|
||||
void ov12_02266008(UnkBattleSystemSub17C *a0);
|
||||
|
||||
#endif
|
@ -77,5 +77,6 @@ void ov12_02263564(BattleSystem *bsys, BattleContext *ctx, int battlerId, u32 a3
|
||||
void ov12_0226399C(BattleSystem *bsys, int battlerId);
|
||||
void ov12_02263A1C(BattleSystem *bsys, BattleContext *ctx, int battlerId);
|
||||
void ov12_02263D14(BattleSystem *bsys, int battlerId, u32 a2, int slot);
|
||||
void ov12_022642F0(BattleSystem *bsys);
|
||||
|
||||
#endif
|
||||
|
@ -6,5 +6,6 @@
|
||||
u8 ov12_02261258(OpponentData *opponentData);
|
||||
void *ov12_02261270(OpponentData *opponentData);
|
||||
u32 ov12_02261264(OpponentData *opponentData);
|
||||
BattleHpBar *OpponentData_GetHpBar(OpponentData *opponentData);
|
||||
|
||||
#endif
|
||||
|
@ -147,30 +147,4 @@ u8 BattleSystem_PrintTrainerMessage(BattleSystem *bsys, int trainerId, int battl
|
||||
u32 BattleSystem_PrintBattleMessage(BattleSystem *bsys, MsgData *data, BattleMessage *msg, u8 delay);
|
||||
u32 ov12_0223C4E8(BattleSystem *bsys, Window *window, MsgData *data, BattleMessage *msg, int x, int y, int flag, int width, int delay);
|
||||
|
||||
//These functions haven't been decompiled
|
||||
BOOL Link_QueueNotEmpty(BattleContext *ctx);
|
||||
void ov12_02237ED0(BattleSystem *bsys, int a1);
|
||||
void ov12_022642F0(BattleSystem *bsys);
|
||||
BOOL ov12_022581BC(BattleSystem *bsys, BattleContext *ctx);
|
||||
void ov12_02263A1C(BattleSystem *bsys, BattleContext *ctx, int battlerId);
|
||||
void ov12_02266008(UnkBattleSystemSub17C *a0);
|
||||
BattleHpBar *OpponentData_GetHpBar(OpponentData *opponentData);
|
||||
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_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
|
||||
|
@ -10,5 +10,6 @@ BOOL ov12_02266B78(u32 *a0);
|
||||
void ov12_02266390(void *);
|
||||
void ov12_02266508(NARC *a0, NARC *a1, void *a2, int a3, BOOL a4, void *a5);
|
||||
void ov12_02266644(NARC *a0, void *a1);
|
||||
void ov12_0226AA8C(u32 *a1, u32 flag);
|
||||
|
||||
#endif
|
||||
|
1
main.lsf
1
main.lsf
@ -570,7 +570,6 @@ Overlay OVY_12
|
||||
Object src/battle/battle_022378C0.o
|
||||
Object asm/overlay_12_022378C0.o
|
||||
Object src/battle/battle_system.o
|
||||
Object asm/overlay_12_battle_system.o
|
||||
Object src/battle/battle_command.o
|
||||
Object asm/overlay_12_battle_command.o
|
||||
Object src/battle/battle_controller_player.o
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include "battle/battle_controller_opponent.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/overlay_12_0224E4FC.h"
|
||||
#include "battle/battle_022378C0.h"
|
||||
#include "heap.h"
|
||||
#include "constants/abilities.h"
|
||||
#include "constants/items.h"
|
||||
|
@ -1,15 +1,20 @@
|
||||
#include "global.h"
|
||||
#include "battle/battle_hp_bar.h"
|
||||
#include "battle/battle_controller.h"
|
||||
#include "battle/battle_controller_opponent.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/battle_022378C0.h"
|
||||
#include "battle/battle_02265E28.h"
|
||||
#include "msgdata.h"
|
||||
#include "party.h"
|
||||
#include "pokemon_mood.h"
|
||||
#include "text.h"
|
||||
#include "battle/overlay_12_0224E4FC.h"
|
||||
#include "battle/overlay_12_0226BEC4.h"
|
||||
#include "battle/overlay_12_02266024.h"
|
||||
#include "constants/game_stats.h"
|
||||
#include "constants/message_tags.h"
|
||||
#include "constants/sndseq.h"
|
||||
#include "unk_0202FBCC.h"
|
||||
#include "unk_0200FA24.h"
|
||||
#include "unk_02005D10.h"
|
||||
@ -20,6 +25,20 @@ 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);
|
||||
static void BattleMessage_BufferNumber(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferNumbers(BattleSystem *bsys, int bufferIndex, int param, int a3);
|
||||
static void BattleMessage_BufferType(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferAbility(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferStat(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferStatus(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferPokemon(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferPoffin(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferFlavorPreference(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferTrainerClass(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferTrainerName(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_BufferBoxName(BattleSystem *bsys, int bufferIndex, int param);
|
||||
static void BattleMessage_ExpandPlaceholders(BattleSystem *bsys, MsgData *data, BattleMessage *msg);
|
||||
static BOOL ov12_0223CF14(struct TextPrinterTemplate *template, u16 glyphId);
|
||||
|
||||
BgConfig *BattleSystem_GetBgConfig(BattleSystem *bsys) {
|
||||
return bsys->bgConfig;
|
||||
@ -1406,7 +1425,7 @@ u32 BattleSystem_PrintBattleMessage(BattleSystem *bsys, MsgData *data, BattleMes
|
||||
Window *window = BattleSystem_GetWindow(bsys, 0);
|
||||
BattleSystem_AdjustMessageForSide(bsys, msg);
|
||||
BattleSystem_BufferMessage(bsys, msg);
|
||||
ov12_0223CEF4(bsys, data, msg);
|
||||
BattleMessage_ExpandPlaceholders(bsys, data, msg);
|
||||
FillWindowPixelBuffer(window, 0xFF);
|
||||
return AddTextPrinterParameterized(window, 1, bsys->msgBuffer, 0, 0, delay, ov12_0223CF14);
|
||||
}
|
||||
@ -1416,7 +1435,7 @@ u32 ov12_0223C4E8(BattleSystem *bsys, Window *window, MsgData *data, BattleMessa
|
||||
|
||||
BattleSystem_AdjustMessageForSide(bsys, msg);
|
||||
BattleSystem_BufferMessage(bsys, msg);
|
||||
ov12_0223CEF4(bsys, data, msg);
|
||||
BattleMessage_ExpandPlaceholders(bsys, data, msg);
|
||||
|
||||
if (flag & 1) {
|
||||
FillWindowPixelBuffer(window, 0xFF);
|
||||
@ -1854,3 +1873,91 @@ static void BattleMessage_BufferMove(BattleSystem *bsys, int bufferIndex, int pa
|
||||
static void BattleMessage_BufferItem(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
BufferItemName(bsys->msgFormat, bufferIndex, param);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferNumber(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
BufferIntegerAsString(bsys->msgFormat, bufferIndex, param, 5, PRINTING_MODE_LEFT_ALIGN, TRUE);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferNumbers(BattleSystem *bsys, int bufferIndex, int param, int a3) {
|
||||
if (a3) {
|
||||
BufferIntegerAsString(bsys->msgFormat, bufferIndex, param, a3, PRINTING_MODE_RIGHT_ALIGN, TRUE);
|
||||
} else {
|
||||
BufferIntegerAsString(bsys->msgFormat, bufferIndex, param, 5, PRINTING_MODE_RIGHT_ALIGN, TRUE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferType(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
BufferTypeName(bsys->msgFormat, bufferIndex, param);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferAbility(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
BufferAbilityName(bsys->msgFormat, bufferIndex, param);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferStat(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
BufferStatName(bsys->msgFormat, bufferIndex, param);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferStatus(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
BufferStatusName(bsys->msgFormat, bufferIndex, param);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferPokemon(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
Pokemon *mon = BattleSystem_GetPartyMon(bsys, param & 0xFF, (param & 0xFF00) >> 8);
|
||||
BufferBoxMonSpeciesName(bsys->msgFormat, bufferIndex, &mon->box);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferPoffin(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
//poffins don't exist in HGSS
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferFlavorPreference(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
BufferFlavorDislikeText(bsys->msgFormat, bufferIndex, param);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferTrainerClass(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
Trainer *trainer = BattleSystem_GetTrainer(bsys, param);
|
||||
BufferTrainerClassNameFromDataStruct(bsys->msgFormat, bufferIndex, trainer);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferTrainerName(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
Trainer *trainer = BattleSystem_GetTrainer(bsys, param);
|
||||
BufferTrainerNameFromDataStruct(bsys->msgFormat, bufferIndex, trainer);
|
||||
}
|
||||
|
||||
static void BattleMessage_BufferBoxName(BattleSystem *bsys, int bufferIndex, int param) {
|
||||
BufferPCBoxName(bsys->msgFormat, bufferIndex, bsys->storage, param);
|
||||
}
|
||||
|
||||
static void BattleMessage_ExpandPlaceholders(BattleSystem *bsys, MsgData *data, BattleMessage *msg) {
|
||||
String *str = NewString_ReadMsgData(data, msg->id);
|
||||
StringExpandPlaceholders(bsys->msgFormat, bsys->msgBuffer, str);
|
||||
String_Delete(str);
|
||||
}
|
||||
|
||||
static BOOL ov12_0223CF14(struct TextPrinterTemplate *template, u16 glyphId) {
|
||||
BOOL ret = FALSE;
|
||||
|
||||
switch (glyphId) {
|
||||
case 1:
|
||||
ret = GF_IsAnySEPlaying();
|
||||
break;
|
||||
case 2:
|
||||
ret = IsFanfarePlaying();
|
||||
break;
|
||||
case 3:
|
||||
PlayFanfare(0x4A3);
|
||||
break;
|
||||
case 4:
|
||||
PlaySE(SEQ_SE_DP_KON);
|
||||
break;
|
||||
case 5:
|
||||
PlayFanfare(0x4A0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user