mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-26 08:41:27 -05:00
Document BattleSystem struct and battle_system.c (#930)
Some checks failed
build / build (push) Has been cancelled
Some checks failed
build / build (push) Has been cancelled
This commit is contained in:
parent
55e513710c
commit
75545a47f2
|
|
@ -124,7 +124,7 @@ void ov16_02263730(BattleSystem *battleSys, BattlerData *param1);
|
|||
u8 Battler_Type(BattlerData *param0);
|
||||
u8 Battler_BootState(BattlerData *param0);
|
||||
PokemonSprite *ov16_02263AFC(BattlerData *param0);
|
||||
Healthbar *ov16_02263B08(BattlerData *param0);
|
||||
Healthbar *BattlerData_GetHealthbar(BattlerData *param0);
|
||||
UnkStruct_ov16_0226C378 *ov16_02263B0C(BattlerData *param0);
|
||||
void ov16_02263B10(BattlerData *param0);
|
||||
void ov16_02263B20(BattlerData *param0, int param1);
|
||||
|
|
|
|||
|
|
@ -1416,7 +1416,7 @@ void BattleSystem_DecPPForPressure(BattleContext *battleCtx, int attacker, int d
|
|||
* @param battleCtx
|
||||
* @return TRUE if the recording has stopped, FALSE otherwise.
|
||||
*/
|
||||
BOOL Battle_RecordingStopped(BattleSystem *battleSys, BattleContext *battleCtx);
|
||||
BOOL BattleSystem_IsRecordingStopped(BattleSystem *battleSys, BattleContext *battleCtx);
|
||||
|
||||
/**
|
||||
* @brief Get an accessible field from the BattleContext struct.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef POKEPLATINUM_OV16_0223DF00_H
|
||||
#define POKEPLATINUM_OV16_0223DF00_H
|
||||
#ifndef POKEPLATINUM_BATTLE_SYSTEM_H
|
||||
#define POKEPLATINUM_BATTLE_SYSTEM_H
|
||||
|
||||
#include "constants/rtc.h"
|
||||
#include "generated/trainer_message_types.h"
|
||||
|
|
@ -41,7 +41,7 @@
|
|||
#define ENEMY_IN_SLOT_RIGHT 0
|
||||
#define ENEMY_IN_SLOT_LEFT 2
|
||||
|
||||
BgConfig *BattleSystem_BGL(BattleSystem *battleSys);
|
||||
BgConfig *BattleSystem_GetBgConfig(BattleSystem *battleSys);
|
||||
|
||||
/**
|
||||
* @brief Get one of the allocated windows for the battle display.
|
||||
|
|
@ -50,12 +50,12 @@ BgConfig *BattleSystem_BGL(BattleSystem *battleSys);
|
|||
* @param idx
|
||||
* @return
|
||||
*/
|
||||
Window *BattleSystem_Window(BattleSystem *battleSys, int idx);
|
||||
u32 BattleSystem_BattleType(BattleSystem *battleSys);
|
||||
BattleContext *BattleSystem_Context(BattleSystem *battleSys);
|
||||
BattlerData *BattleSystem_BattlerData(BattleSystem *battleSys, int param1);
|
||||
int BattleSystem_MaxBattlers(BattleSystem *battleSys);
|
||||
Party *BattleSystem_Party(BattleSystem *battleSys, int param1);
|
||||
Window *BattleSystem_GetWindow(BattleSystem *battleSys, int idx);
|
||||
u32 BattleSystem_GetBattleType(BattleSystem *battleSys);
|
||||
BattleContext *BattleSystem_GetBattleContext(BattleSystem *battleSys);
|
||||
BattlerData *BattleSystem_GetBattlerData(BattleSystem *battleSys, int battler);
|
||||
int BattleSystem_GetMaxBattlers(BattleSystem *battleSys);
|
||||
Party *BattleSystem_GetParty(BattleSystem *battleSys, int battler);
|
||||
|
||||
/**
|
||||
* @brief Get the party count for a particular battler.
|
||||
|
|
@ -73,7 +73,7 @@ Party *BattleSystem_Party(BattleSystem *battleSys, int param1);
|
|||
* @param battler The battler party to count.
|
||||
* @return Number of Pokemon in the requested battler's party.
|
||||
*/
|
||||
int BattleSystem_PartyCount(BattleSystem *battleSys, int battler);
|
||||
int BattleSystem_GetPartyCount(BattleSystem *battleSys, int battler);
|
||||
|
||||
/**
|
||||
* @brief Get a Pokemon from the given battler's party, choosing it from the
|
||||
|
|
@ -84,31 +84,31 @@ int BattleSystem_PartyCount(BattleSystem *battleSys, int battler);
|
|||
* @param slot Index of the Pokemon in the party to retrieve.
|
||||
* @return Pointer to the Pokemon struct in that battler's party slot.
|
||||
*/
|
||||
Pokemon *BattleSystem_PartyPokemon(BattleSystem *battleSys, int battler, int slot);
|
||||
Pokemon *BattleSystem_GetPartyPokemon(BattleSystem *battleSys, int battler, int slot);
|
||||
PokemonSpriteManager *BattleSystem_GetPokemonSpriteManager(BattleSystem *battleSys);
|
||||
BattleAnimSystem *ov16_0223E008(BattleSystem *battleSys);
|
||||
BattleAnimSystem *BattleSystem_GetBattleAnimSystem(BattleSystem *battleSys);
|
||||
SpriteSystem *BattleSystem_GetSpriteSystem(BattleSystem *battleSys);
|
||||
SpriteManager *BattleSystem_GetSpriteManager(BattleSystem *battleSys);
|
||||
UnkStruct_ov16_02268520 *ov16_0223E020(BattleSystem *battleSys, int param1);
|
||||
UnkStruct_ov16_02268A14 *ov16_0223E02C(BattleSystem *battleSys);
|
||||
PartyGauge *BattleSystem_GetPartyGauge(BattleSystem *battleSys, enum PartyGaugeSide param1);
|
||||
void BattleSystem_SetPartyGauge(BattleSystem *battleSys, enum PartyGaugeSide param1, PartyGauge *param2);
|
||||
FontSpecialCharsContext *ov16_0223E04C(BattleSystem *battleSys);
|
||||
FontSpecialCharsContext *ov16_0223E054(BattleSystem *battleSys);
|
||||
PartyGauge *BattleSystem_GetPartyGauge(BattleSystem *battleSys, enum PartyGaugeSide partyGaugeSide);
|
||||
void BattleSystem_SetPartyGauge(BattleSystem *battleSys, enum PartyGaugeSide partyGaugeSide, PartyGauge *partyGauge);
|
||||
FontSpecialCharsContext *BattleSystem_GetSpecialCharsHP(BattleSystem *battleSys);
|
||||
FontSpecialCharsContext *BattleSystem_GetSpecialCharsLevel(BattleSystem *battleSys);
|
||||
MessageLoader *BattleSystem_GetMessageLoader(BattleSystem *battleSys);
|
||||
MessageLoader *ov16_0223E060(BattleSystem *battleSys);
|
||||
PaletteData *BattleSystem_PaletteSys(BattleSystem *battleSys);
|
||||
MessageLoader *BattleSystem_GetAttackMessageLoader(BattleSystem *battleSys);
|
||||
PaletteData *BattleSystem_GetPaletteData(BattleSystem *battleSys);
|
||||
Pokedex *BattleSystem_GetPokedex(BattleSystem *battleSys);
|
||||
u8 *ov16_0223E06C(BattleSystem *battleSys);
|
||||
u8 *ov16_0223E074(BattleSystem *battleSys);
|
||||
u16 *ov16_0223E080(BattleSystem *battleSys);
|
||||
u16 *ov16_0223E08C(BattleSystem *battleSys);
|
||||
u16 *ov16_0223E098(BattleSystem *battleSys);
|
||||
u16 *ov16_0223E0A4(BattleSystem *battleSys);
|
||||
u16 *ov16_0223E0B0(BattleSystem *battleSys);
|
||||
u16 *ov16_0223E0BC(BattleSystem *battleSys);
|
||||
PokemonSpriteData *ov16_0223E0C8(BattleSystem *battleSys);
|
||||
StringTemplate *BattleSystem_StringTemplate(BattleSystem *battleSys);
|
||||
u8 *BattleSystem_GetServerMessage(BattleSystem *battleSys);
|
||||
u8 *BattleSystem_GetClientMessage(BattleSystem *battleSys);
|
||||
u16 *BattleSystem_GetServerReadIndex(BattleSystem *battleSys);
|
||||
u16 *BattleSystem_GetServerWriteIndex(BattleSystem *battleSys);
|
||||
u16 *BattleSystem_GetServerEndIndex(BattleSystem *battleSys);
|
||||
u16 *BattleSystem_GetClientReadIndex(BattleSystem *battleSys);
|
||||
u16 *BattleSystem_GetClientWriteIndex(BattleSystem *battleSys);
|
||||
u16 *BattleSystem_GetClientEndIndex(BattleSystem *battleSys);
|
||||
PokemonSpriteData *BattleSystem_GetPokemonSpriteData(BattleSystem *battleSys);
|
||||
StringTemplate *BattleSystem_GetStringTemplate(BattleSystem *battleSys);
|
||||
String *BattleSystem_GetMsgBuffer(BattleSystem *battleSys);
|
||||
|
||||
/**
|
||||
|
|
@ -118,8 +118,8 @@ String *BattleSystem_GetMsgBuffer(BattleSystem *battleSys);
|
|||
* @param battler
|
||||
* @return The battler's trainer ID
|
||||
*/
|
||||
u16 Battler_TrainerID(BattleSystem *battleSys, int battler);
|
||||
Trainer *BattleSystem_GetTrainer(BattleSystem *battleSys, int param1);
|
||||
u16 Battler_GetTrainerID(BattleSystem *battleSys, int battler);
|
||||
Trainer *BattleSystem_GetTrainer(BattleSystem *battleSys, int battler);
|
||||
|
||||
/**
|
||||
* @brief Get the trainer info for a particular battler.
|
||||
|
|
@ -128,9 +128,9 @@ Trainer *BattleSystem_GetTrainer(BattleSystem *battleSys, int param1);
|
|||
* @param battler
|
||||
* @return The trainer info for the requested battler.
|
||||
*/
|
||||
TrainerInfo *BattleSystem_TrainerInfo(BattleSystem *battleSys, int battler);
|
||||
Bag *BattleSystem_Bag(BattleSystem *battleSys);
|
||||
BagCursor *BattleSystem_BagCursor(BattleSystem *battleSys);
|
||||
TrainerInfo *BattleSystem_GetTrainerInfo(BattleSystem *battleSys, int battler);
|
||||
Bag *BattleSystem_GetBag(BattleSystem *battleSys);
|
||||
BagCursor *BattleSystem_GetBagCursor(BattleSystem *battleSys);
|
||||
u32 BattleSystem_GetTrainerGender(BattleSystem *battleSys, int battler);
|
||||
|
||||
/**
|
||||
|
|
@ -140,11 +140,11 @@ u32 BattleSystem_GetTrainerGender(BattleSystem *battleSys, int battler);
|
|||
* @param type The type of battler.
|
||||
* @return ID of the battler of the given type.
|
||||
*/
|
||||
int BattleSystem_BattlerOfType(BattleSystem *battleSys, int type);
|
||||
u8 BattleSystem_BattlerSlot(BattleSystem *battleSys, int param1);
|
||||
u8 Battler_Side(BattleSystem *battleSys, int param1);
|
||||
int BattleSystem_GetBattlerOfType(BattleSystem *battleSys, int type);
|
||||
u8 BattleSystem_GetBattlerType(BattleSystem *battleSys, int battler);
|
||||
u8 BattleSystem_GetBattlerSide(BattleSystem *battleSys, int battler);
|
||||
UnkStruct_020157E4 *ov16_0223E220(BattleSystem *battleSys);
|
||||
PCBoxes *BattleSystem_PCBoxes(BattleSystem *battleSys);
|
||||
PCBoxes *BattleSystem_GetPCBoxes(BattleSystem *battleSys);
|
||||
|
||||
/**
|
||||
* @brief Get the terrain type for the battle.
|
||||
|
|
@ -152,10 +152,10 @@ PCBoxes *BattleSystem_PCBoxes(BattleSystem *battleSys);
|
|||
* @param battleSys
|
||||
* @return The battle's terrain.
|
||||
*/
|
||||
enum BattleTerrain BattleSystem_Terrain(BattleSystem *battleSys);
|
||||
enum BattleBackground BattleSystem_Background(BattleSystem *battleSys);
|
||||
int BattleSystem_MapHeader(BattleSystem *battleSys);
|
||||
int BattleSystem_Partner(BattleSystem *battleSys, int param1);
|
||||
enum BattleTerrain BattleSystem_GetTerrain(BattleSystem *battleSys);
|
||||
enum BattleBackground BattleSystem_GetBackground(BattleSystem *battleSys);
|
||||
int BattleSystem_GetMapHeader(BattleSystem *battleSys);
|
||||
int BattleSystem_GetPartner(BattleSystem *battleSys, int battler);
|
||||
|
||||
/**
|
||||
* @brief Get the battler who is an enemy of the input attacker and occupies
|
||||
|
|
@ -169,7 +169,7 @@ int BattleSystem_Partner(BattleSystem *battleSys, int param1);
|
|||
* @param slot
|
||||
* @return Battler who is an enemy and in the given slot on the enemy team.
|
||||
*/
|
||||
int BattleSystem_EnemyInSlot(BattleSystem *battleSys, int attacker, int slot);
|
||||
int BattleSystem_GetEnemyInSlot(BattleSystem *battleSys, int attacker, int slot);
|
||||
|
||||
/**
|
||||
* @brief Use an item from the bag on the given battler.
|
||||
|
|
@ -182,7 +182,7 @@ int BattleSystem_EnemyInSlot(BattleSystem *battleSys, int attacker, int slot);
|
|||
* @return TRUE if the item has an effect; FALSE otherwise
|
||||
*/
|
||||
BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot, int moveSlot, int item);
|
||||
u32 BattleSystem_BattleStatus(BattleSystem *battleSys);
|
||||
u32 BattleSystem_GetBattleStatusMask(BattleSystem *battleSys);
|
||||
|
||||
/**
|
||||
* @brief Get the time of day.
|
||||
|
|
@ -190,14 +190,14 @@ u32 BattleSystem_BattleStatus(BattleSystem *battleSys);
|
|||
* @param battleSys
|
||||
* @return The time of day (e.g., morning, day, night)
|
||||
*/
|
||||
enum TimeOfDay BattleSystem_Time(BattleSystem *battleSys);
|
||||
int ov16_0223EC04(BattleSystem *battleSys);
|
||||
u8 ov16_0223EC58(BattleSystem *battleSys, int param1, u8 param2);
|
||||
u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *param0, int *param1, int *param2);
|
||||
enum TimeOfDay BattleSystem_GetTime(BattleSystem *battleSys);
|
||||
int BattleSystem_GetBackgroundTimeOffset(BattleSystem *battleSys);
|
||||
u8 ov16_0223EC58(BattleSystem *battleSys, int battler, u8 param2);
|
||||
u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *dto, int *outPartySlot, int *outEvoType);
|
||||
u8 ov16_0223ED60(BattleSystem *battleSys);
|
||||
u8 ov16_0223ED6C(BattleSystem *battleSys);
|
||||
int BattleSystem_NumSafariBalls(BattleSystem *battleSys);
|
||||
void BattleSystem_SetSafariBalls(BattleSystem *battleSys, int param1);
|
||||
u8 BattleSystem_GetSafariEscapeCount(BattleSystem *battleSys);
|
||||
int BattleSystem_GetNumSafariBalls(BattleSystem *battleSys);
|
||||
void BattleSystem_SetNumSafariBalls(BattleSystem *battleSys, int value);
|
||||
Options *BattleSystem_GetOptions(BattleSystem *battleSys);
|
||||
|
||||
/**
|
||||
|
|
@ -206,73 +206,73 @@ Options *BattleSystem_GetOptions(BattleSystem *battleSys);
|
|||
* @param battleSys
|
||||
* @return TRUE if battle animations are enabled, FALSE if not.
|
||||
*/
|
||||
BOOL BattleSystem_AnimationsOn(BattleSystem *battleSys);
|
||||
int ov16_0223EDE0(BattleSystem *battleSys);
|
||||
u8 BattleSystem_TextSpeed(BattleSystem *battleSys);
|
||||
int BattleSystem_Ruleset(BattleSystem *battleSys);
|
||||
BOOL BattleSystem_AreAnimationsOn(BattleSystem *battleSys);
|
||||
int BattleSystem_GetOptionsFrame(BattleSystem *battleSys);
|
||||
u8 BattleSystem_GetTextSpeed(BattleSystem *battleSys);
|
||||
int BattleSystem_GetBattleStyle(BattleSystem *battleSys);
|
||||
PokemonAnimManager *BattleSystem_GetPokemonAnimManager(BattleSystem *battleSys);
|
||||
ChatotCry *BattleSystem_ChatotVoice(BattleSystem *battleSys, int param1);
|
||||
ChatotCry *BattleSystem_GetChatotCry(BattleSystem *battleSys, int battler);
|
||||
void BattleSystem_SetBurmyForm(BattleSystem *battleSys);
|
||||
void ov16_0223EF2C(BattleSystem *battleSys, int param1, int param2);
|
||||
void ov16_0223EF48(BattleSystem *battleSys, Pokemon *param1);
|
||||
void ov16_0223EF68(BattleSystem *battleSys, Pokemon *param1);
|
||||
void BattleSystem_EnqueuePokemonHistory(BattleSystem *battleSys, Pokemon *mon);
|
||||
void BattleSystem_InitCaptureAttempt(BattleSystem *battleSys, Pokemon *mon);
|
||||
void ov16_0223EF8C(BattleSystem *battleSys);
|
||||
u8 *ov16_0223F1E8(BattleSystem *battleSys);
|
||||
u16 *ov16_0223F1F0(BattleSystem *battleSys);
|
||||
int ov16_0223F1F8(BattleSystem *battleSys);
|
||||
int BattleSystem_GetVisistedContestHall(BattleSystem *battleSys);
|
||||
u16 *ov16_0223F204(BattleSystem *battleSys);
|
||||
u16 *ov16_0223F210(BattleSystem *battleSys);
|
||||
int BattleSystem_FieldWeather(BattleSystem *battleSys);
|
||||
u8 ov16_0223F228(BattleSystem *battleSys);
|
||||
void ov16_0223F234(BattleSystem *battleSys, u8 param1);
|
||||
int BattleSystem_GetFieldWeather(BattleSystem *battleSys);
|
||||
u8 BattleSystem_GetCatchingTutorialLowHP(BattleSystem *battleSys);
|
||||
void BattleSystem_SetCatchingTutorialLowHP(BattleSystem *battleSys, u8 value);
|
||||
int BattleSystem_GetMetBebe(BattleSystem *battleSys);
|
||||
void BattleSystem_TryIncrementRecordValue(BattleSystem *battleSys, int id);
|
||||
void BattleSystem_TryIncrementTrainerScoreCaughtSpecies(BattleSystem *battleSys);
|
||||
void BattleSystem_SetCommandSelectionFlags(BattleSystem *battleSys, int flags);
|
||||
void ov16_0223F290(BattleSystem *battleSys, int param1);
|
||||
WaitDial *Battle_GetWaitDial(BattleSystem *battleSys);
|
||||
void Battle_SetWaitDial(BattleSystem *battleSys, WaitDial *waitDial);
|
||||
PokemonSpriteData *ov16_0223F2AC(BattleSystem *battleSys, int param1);
|
||||
u8 *ov16_0223F2B8(PokemonSpriteData *pokemonSpriteData, int param1);
|
||||
void PokemonSpriteData_SetNarcID(PokemonSpriteData *pokemonSpriteData, int param1, int param2);
|
||||
void PokemonSpriteData_SetPalette(PokemonSpriteData *pokemonSpriteData, int param1, int param2);
|
||||
void PokemonSpriteData_SetYOffset(PokemonSpriteData *pokemonSpriteData, int param1, int param2);
|
||||
WaitDial *BattleSystem_GetWaitDial(BattleSystem *battleSys);
|
||||
void BattleSystem_SetWaitDial(BattleSystem *battleSys, WaitDial *waitDial);
|
||||
PokemonSpriteData *BattleSystem_GetPokemonSpriteDataByIndex(BattleSystem *battleSys, int battler);
|
||||
u8 *PokemonSpriteData_GetTiles(PokemonSpriteData *pokemonSpriteData, int idx);
|
||||
void PokemonSpriteData_SetNarcID(PokemonSpriteData *pokemonSpriteData, int idx, int value);
|
||||
void PokemonSpriteData_SetPalette(PokemonSpriteData *pokemonSpriteData, int idx, int value);
|
||||
void PokemonSpriteData_SetYOffset(PokemonSpriteData *pokemonSpriteData, int idx, int value);
|
||||
void ov16_0223F314(BattleSystem *battleSys, int param1);
|
||||
void ov16_0223F320(BattleSystem *battleSys, u8 *param1);
|
||||
void ov16_0223F32C(BattleSystem *battleSys, u8 *param1);
|
||||
void ov16_0223F338(BattleSystem *battleSys, u8 param1);
|
||||
void ov16_0223F344(BattleSystem *battleSys, u8 param1);
|
||||
void ov16_0223F350(BattleSystem *battleSys, u8 param1);
|
||||
void *ov16_0223F35C(BattleSystem *battleSys, int param1);
|
||||
void BattleSystem_SetCommandIsEndWait(BattleSystem *battleSys, u8 value);
|
||||
void *BattleSystem_GetHealthbar(BattleSystem *battleSys, int battler);
|
||||
void ov16_0223F36C(BattleSystem *battleSys);
|
||||
void ov16_0223F3BC(BattleSystem *battleSys);
|
||||
void ov16_0223F3EC(BattleSystem *battleSys);
|
||||
void ov16_0223F414(BattleSystem *battleSys);
|
||||
u8 BattleSystem_ResultMask(BattleSystem *battleSys);
|
||||
void BattleSystem_SetResultFlag(BattleSystem *battleSys, u8 param1);
|
||||
u8 ov16_0223F450(BattleSystem *battleSys);
|
||||
void BattleSystem_SetRedHPSoundFlag(BattleSystem *battleSys, u8 param1);
|
||||
u8 ov16_0223F47C(BattleSystem *battleSys);
|
||||
void ov16_0223F48C(BattleSystem *battleSys, u8 param1);
|
||||
u8 BattleSystem_GetResultMask(BattleSystem *battleSys);
|
||||
void BattleSystem_SetResultMask(BattleSystem *battleSys, u8 value);
|
||||
u8 BattleSystem_GetRedHPSoundFlag(BattleSystem *battleSys);
|
||||
void BattleSystem_SetRedHPSoundFlag(BattleSystem *battleSys, u8 value);
|
||||
u8 BattleSystem_GetRedHPSoundEffectDelay(BattleSystem *battleSys);
|
||||
void BattleSystem_SetRedHPSoundEffectDelay(BattleSystem *battleSys, u8 value);
|
||||
void BattleSystem_SetCaughtBattlerIndex(BattleSystem *battleSys, int value);
|
||||
u16 BattleSystem_RandNext(BattleSystem *battleSys);
|
||||
u32 ov16_0223F4E8(BattleSystem *battleSys);
|
||||
void ov16_0223F4F4(BattleSystem *battleSys, u32 param1);
|
||||
u32 BattleSystem_GetSeedDTO(BattleSystem *battleSys);
|
||||
void BattleSystem_SetSeedDTO(BattleSystem *battleSys, u32 value);
|
||||
void BattleSystem_Record(BattleSystem *battleSys, int param1, u8 param2);
|
||||
BOOL ov16_0223F530(BattleSystem *battleSys, int param1, u8 *param2);
|
||||
u8 ov16_0223F58C(BattleSystem *battleSys, u8 *param1);
|
||||
void ov16_0223F638(BattleSystem *battleSys, u16 param1, u8 *param2);
|
||||
u16 ov16_0223F6E4(BattleSystem *battleSys);
|
||||
int ov16_0223F6F0(BattleSystem *battleSys, u16 param1);
|
||||
u16 BattleSystem_TrainerItems(BattleSystem *battleSys, int param1, int param2);
|
||||
u32 BattleSystem_RecordingStopped(BattleSystem *battleSys);
|
||||
u16 BattleSystem_GetNetworkID(BattleSystem *battleSys);
|
||||
int ov16_0223F6F0(BattleSystem *battleSys, u16 battler);
|
||||
u16 BattleSystem_GetTrainerItem(BattleSystem *battleSys, int battler, int param2);
|
||||
u32 BattleSystem_GetRecordingStopped(BattleSystem *battleSys);
|
||||
void BattleSystem_SetStopRecording(BattleSystem *battleSys, int flag);
|
||||
BOOL ov16_0223F7A4(BattleSystem *battleSys);
|
||||
void BattleSystem_ShowStopPlaybackButton(BattleSystem *battleSys);
|
||||
u8 BattleSystem_RecordedChatter(BattleSystem *battleSys, int param1);
|
||||
u8 BattleSystem_GetRecordedChatter(BattleSystem *battleSys, int battler);
|
||||
void ov16_0223F858(BattleSystem *battleSys, u8 *param1);
|
||||
void ov16_0223F87C(BattleSystem *battleSys, u8 *param1);
|
||||
void ov16_0223F8AC(BattleSystem *battleSys, PokemonSprite **param1);
|
||||
void ov16_0223F8AC(BattleSystem *battleSys, PokemonSprite **monSprites);
|
||||
void BattleSystem_SetGaugePriority(BattleSystem *battleSys, int param1);
|
||||
|
||||
/**
|
||||
|
|
@ -285,7 +285,7 @@ void BattleSystem_SetGaugePriority(BattleSystem *battleSys, int param1);
|
|||
* @return The total amount of money to be deducted from the player
|
||||
*/
|
||||
u32 BattleSystem_CalcMoneyPenalty(Party *party, TrainerInfo *trainerInfo);
|
||||
void BattleSystem_DexFlagSeen(BattleSystem *battleSys, int param1);
|
||||
void BattleSystem_DexFlagSeen(BattleSystem *battleSys, int battler);
|
||||
void BattleSystem_DexFlagCaught(BattleSystem *battleSys, int battler);
|
||||
|
||||
/**
|
||||
|
|
@ -296,9 +296,9 @@ void BattleSystem_DexFlagCaught(BattleSystem *battleSys, int battler);
|
|||
* @return TRUE if the player has previously caught a member of the given species,
|
||||
* FALSE if not.
|
||||
*/
|
||||
BOOL BattleSystem_CaughtSpecies(BattleSystem *battleSys, int species);
|
||||
BOOL BattleSystem_HasCaughtSpecies(BattleSystem *battleSys, int species);
|
||||
void Battle_SetDefaultBlend(void);
|
||||
u8 ov16_0223F9FC(BattleSystem *battleSys, int trainerID, int param2, enum TrainerMessageType msgType, int param4);
|
||||
u8 BattleMessage_PrintTrainerMessage(BattleSystem *battleSys, int trainerID, int battler, enum TrainerMessageType msgType, int renderDelay);
|
||||
|
||||
/**
|
||||
* @brief Print a BattleMessage to the main text display window.
|
||||
|
|
@ -310,6 +310,6 @@ u8 ov16_0223F9FC(BattleSystem *battleSys, int trainerID, int param2, enum Traine
|
|||
* @return
|
||||
*/
|
||||
u8 BattleMessage_Print(BattleSystem *battleSys, MessageLoader *msgLoader, BattleMessage *battleMsg, int renderDelay);
|
||||
u8 BattleMessage_PrintToWindow(BattleSystem *battleSys, Window *param1, MessageLoader *param2, BattleMessage *param3, int param4, int param5, int param6, int param7, int param8);
|
||||
u8 BattleMessage_PrintToWindow(BattleSystem *battleSys, Window *window, MessageLoader *msgLoader, BattleMessage *battleMsg, int xOffset, int yOffset, int param6, int param7, int renderDelay);
|
||||
|
||||
#endif // POKEPLATINUM_OV16_0223DF00_H
|
||||
#endif // POKEPLATINUM_BATTLE_SYSTEM_H
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
#include "battle_anim/struct_ov12_02238004_decl.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
UnkStruct_ov12_02237F98 *unk_04;
|
||||
UnkStruct_ov12_02238004 *unk_08[3];
|
||||
u8 unk_14;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
PokemonSprite *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "battle/struct_ov16_0225BFFC_decl.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "battle/struct_ov16_0225BFFC_decl.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
void *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
void *unk_04;
|
||||
int unk_08;
|
||||
u16 unk_0C[4];
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "battle/struct_ov16_0225C29C_sub1.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
void *unk_04;
|
||||
int unk_08;
|
||||
u8 unk_0C;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "battle_sub_menus/battle_bag.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattleBagContext *unk_04;
|
||||
UnkStruct_ov16_0225D840 *unk_08;
|
||||
u8 unk_0C;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "battle_sub_menus/battle_party.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlePartyContext *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
void *unk_04;
|
||||
int unk_08;
|
||||
u8 unk_0C;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
PokemonSprite *unk_08;
|
||||
BattleAnimSystem *unk_0C;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
PokemonSprite *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
PokemonSprite *unk_08;
|
||||
MoveAnimation unk_0C;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
u8 unk_04;
|
||||
u8 unk_05;
|
||||
u8 unk_06;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#include "battle/struct_ov16_02265BBC.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
MoveAnimation unk_08;
|
||||
u8 unk_60;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
void *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
u8 unk_04;
|
||||
u8 unk_05;
|
||||
u8 unk_06;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "battle_sub_menus/battle_party.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlePartyContext *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
PokemonSprite *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
PokemonSprite *unk_08;
|
||||
u8 unk_0C;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
PokemonSprite *unk_08;
|
||||
u8 unk_0C;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
PokemonSprite *unk_08;
|
||||
UnkStruct_ov16_02268520 *unk_0C;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
#include "battle_anim/struct_ov12_02235FE0_decl.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
UnkStruct_ov12_02235FE0 *unk_08;
|
||||
BallRotation *unk_0C;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
#include "pokemon_sprite.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
BattlerData *unk_04;
|
||||
PokemonSprite *unk_08;
|
||||
BallRotation *unk_0C;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "sprite_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
ManagedSprite *unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include "sprite_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
UnkStruct_ov16_02268520 *unk_04;
|
||||
ManagedSprite *unk_08;
|
||||
u8 unk_0C;
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ enum BattleBagUseItemScreenButton {
|
|||
#define MENU_POCKET_ICON_SIZE_TILES (MENU_POCKET_ICON_WIDTH_TILES * MENU_POCKET_ICON_HEIGHT_TILES)
|
||||
|
||||
typedef struct BattleBagContext {
|
||||
BattleSystem *battleSystem;
|
||||
BattleSystem *battleSys;
|
||||
TrainerInfo *trainerInfo;
|
||||
Bag *bag;
|
||||
enum HeapID heapID;
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ typedef struct BattlePartyPokemon {
|
|||
typedef struct BattlePartyContext {
|
||||
Party *party;
|
||||
void *unused1;
|
||||
BattleSystem *battleSystem;
|
||||
BattleSystem *battleSys;
|
||||
enum HeapID heapID;
|
||||
u8 unused2;
|
||||
u8 selectedPartyIndex;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#define LCRNG_MULTIPLIER 1103515245L
|
||||
#define LCRNG_INCREMENT 24691
|
||||
#define LCRNG_DIVISOR 65536L
|
||||
|
||||
// Does almost the same as FX_DEG_TO_IDX but takes integers as input instead of fx32
|
||||
// Use if FX_DEG_TO_IDX(FX32_CONST(degrees)) doesn't match
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef POKEPLATINUM_STRUCT_BATTLE_SYSTEM_T_H
|
||||
#define POKEPLATINUM_STRUCT_BATTLE_SYSTEM_T_H
|
||||
#ifndef POKEPLATINUM_STRUCT_BATTLE_SYSTEM_H
|
||||
#define POKEPLATINUM_STRUCT_BATTLE_SYSTEM_H
|
||||
|
||||
#include <nnsys.h>
|
||||
|
||||
|
|
@ -40,17 +40,17 @@
|
|||
#include "unk_0201567C.h"
|
||||
|
||||
struct BattleSystem {
|
||||
G3DPipelineBuffers *unk_00;
|
||||
BgConfig *unk_04;
|
||||
G3DPipelineBuffers *pipelineBuffers;
|
||||
BgConfig *bgConfig;
|
||||
Window *windows;
|
||||
MessageLoader *unk_0C;
|
||||
MessageLoader *unk_10;
|
||||
MessageLoader *msgLoader;
|
||||
MessageLoader *attackMsgLoader;
|
||||
StringTemplate *strFormatter;
|
||||
String *msgBuffer;
|
||||
SysTask *unk_1C;
|
||||
SysTask *unk_20;
|
||||
SysTask *unk_24;
|
||||
PaletteData *paletteSys;
|
||||
SysTask *task_1C;
|
||||
SysTask *task_20;
|
||||
SysTask *task_24;
|
||||
PaletteData *paletteData;
|
||||
u32 battleType;
|
||||
BattleContext *battleCtx;
|
||||
BattlerData *battlers[MAX_BATTLERS];
|
||||
|
|
@ -61,9 +61,9 @@ struct BattleSystem {
|
|||
Pokedex *pokedex;
|
||||
PCBoxes *pcBoxes;
|
||||
Party *parties[MAX_BATTLERS];
|
||||
ChatotCry *unk_78[MAX_BATTLERS];
|
||||
PokemonSpriteManager *unk_88;
|
||||
BattleAnimSystem *unk_8C;
|
||||
ChatotCry *chatotCries[MAX_BATTLERS];
|
||||
PokemonSpriteManager *monSpriteMan;
|
||||
BattleAnimSystem *battleAnimSys;
|
||||
SpriteSystem *spriteSys;
|
||||
SpriteManager *spriteMan;
|
||||
Poketch *poketch;
|
||||
|
|
@ -74,13 +74,13 @@ struct BattleSystem {
|
|||
UnkStruct_ov16_02268520 unk_17C[2];
|
||||
UnkStruct_ov16_02268A14 *unk_198;
|
||||
PartyGauge *partyGauges[2];
|
||||
FontSpecialCharsContext *unk_1A4;
|
||||
FontSpecialCharsContext *unk_1A8;
|
||||
FontSpecialCharsContext *specialCharsHP;
|
||||
FontSpecialCharsContext *specialCharsLevel;
|
||||
UnkStruct_020157E4 *unk_1AC;
|
||||
Options *options;
|
||||
PalPad *palPad;
|
||||
WaitDial *waitDial;
|
||||
u8 *unk_1BC;
|
||||
u8 *subscreenCursorOn;
|
||||
UnkStruct_ov10_0221F800 *unk_1C0;
|
||||
PokemonAnimManager *monAnimMan;
|
||||
NNSG2dCellTransferState *cellTransferState;
|
||||
|
|
@ -89,26 +89,26 @@ struct BattleSystem {
|
|||
GameRecords *records;
|
||||
u8 *unk_21C;
|
||||
u16 *unk_220;
|
||||
u8 unk_224[4096];
|
||||
u8 unk_1224[4096];
|
||||
u8 serverMessage[4096];
|
||||
u8 clientMessage[4096];
|
||||
u16 unk_2224[112];
|
||||
u16 unk_2304[112];
|
||||
u16 unk_23E4;
|
||||
u16 unk_23E6;
|
||||
u16 unk_23E8;
|
||||
u16 unk_23EA;
|
||||
u16 unk_23EC;
|
||||
u16 unk_23EE;
|
||||
u16 serverReadIndex;
|
||||
u16 serverWriteIndex;
|
||||
u16 serverEndIndex;
|
||||
u16 clientReadIndex;
|
||||
u16 clientWriteIndex;
|
||||
u16 clientEndIndex;
|
||||
u8 *unk_23F0;
|
||||
u8 *unk_23F4;
|
||||
u8 unk_23F8;
|
||||
u8 unk_23F9;
|
||||
u8 unk_23FA;
|
||||
u8 commandIsEndWait;
|
||||
u8 unk_23FB_0 : 1;
|
||||
u8 unk_23FB_1 : 1;
|
||||
u8 unk_23FB_2 : 1;
|
||||
u8 unk_23FB_3 : 2;
|
||||
u8 unk_23FB_5 : 3;
|
||||
u8 redHPSoundFlag : 2;
|
||||
u8 redHPSoundEffectDelay : 3;
|
||||
enum BattleTerrain terrain;
|
||||
enum BattleBackground background;
|
||||
int mapHeader;
|
||||
|
|
@ -116,31 +116,31 @@ struct BattleSystem {
|
|||
enum TimeOfDay time;
|
||||
int safariBalls;
|
||||
u8 unk_2414[4];
|
||||
u32 unk_2418;
|
||||
u32 rulesetMask;
|
||||
u8 resultMask;
|
||||
u8 unk_241D;
|
||||
u8 catchingTutorialLowHP;
|
||||
u16 ballsThrown;
|
||||
enum EvolutionMethod mapEvolutionMethod;
|
||||
int unk_2424;
|
||||
int visitedContestHall;
|
||||
int fieldWeather;
|
||||
int metBebe;
|
||||
u32 unk_2430;
|
||||
int unk_2434;
|
||||
u32 seedLCRNG;
|
||||
int yOffset;
|
||||
int caughtBattlerIdx;
|
||||
int commandSelectionFlags;
|
||||
u8 unk_2440;
|
||||
u8 overlayFlags;
|
||||
u16 unk_2442;
|
||||
u32 unk_2444;
|
||||
u32 unk_2448;
|
||||
u16 unk_244C[4];
|
||||
u16 networkID;
|
||||
u32 seedRandNext;
|
||||
u32 seedDTO;
|
||||
u16 unk_244C[MAX_BATTLERS];
|
||||
u16 unk_2454[4];
|
||||
u16 unk_245C[4];
|
||||
int unk_2464[4];
|
||||
u16 unk_245C[MAX_BATTLERS];
|
||||
int unk_2464[MAX_BATTLERS];
|
||||
u32 recordingStopped : 1;
|
||||
u32 unk_2474_1 : 31;
|
||||
u32 padding_2474_1 : 31;
|
||||
SysTask *playbackStopButton;
|
||||
u8 unk_247C[4];
|
||||
u8 recordedChatter[MAX_BATTLERS];
|
||||
};
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_BATTLE_SYSTEM_T_H
|
||||
#endif // POKEPLATINUM_STRUCT_BATTLE_SYSTEM_H
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
u8 unk_04;
|
||||
} UnkStruct_0207ACB4;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
u8 unk_04;
|
||||
} UnkStruct_0207AD40;
|
||||
|
||||
|
|
|
|||
|
|
@ -686,7 +686,7 @@ Overlay battle
|
|||
{
|
||||
After battle_anim
|
||||
Object main.nef.p/src_battle_ov16_0223B140.c.o
|
||||
Object main.nef.p/src_battle_ov16_0223DF00.c.o
|
||||
Object main.nef.p/src_battle_battle_system.c.o
|
||||
Object main.nef.p/src_battle_battle_script.c.o
|
||||
Object main.nef.p/src_battle_battle_controller_player.c.o
|
||||
Object main.nef.p/src_battle_battle_lib.c.o
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@
|
|||
#include "battle/battle_controller.h"
|
||||
#include "battle/battle_lib.h"
|
||||
#include "battle/battle_message.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/common.h"
|
||||
#include "battle/message_defs.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/struct_ov16_0224DDA8.h"
|
||||
#include "battle/struct_ov16_0225BFFC_t.h"
|
||||
#include "battle/struct_ov16_02265BBC.h"
|
||||
|
|
@ -52,13 +52,13 @@ static void BattleController_SendLocalMessage(BattleSystem *battleSys, int recip
|
|||
u16 *endIndex;
|
||||
|
||||
if (recipient == COMM_RECIPIENT_CLIENT) {
|
||||
dest = ov16_0223E074(battleSys);
|
||||
writeIndex = ov16_0223E0B0(battleSys);
|
||||
endIndex = ov16_0223E0BC(battleSys);
|
||||
dest = BattleSystem_GetClientMessage(battleSys);
|
||||
writeIndex = BattleSystem_GetClientWriteIndex(battleSys);
|
||||
endIndex = BattleSystem_GetClientEndIndex(battleSys);
|
||||
} else {
|
||||
dest = ov16_0223E06C(battleSys);
|
||||
writeIndex = ov16_0223E08C(battleSys);
|
||||
endIndex = ov16_0223E098(battleSys);
|
||||
dest = BattleSystem_GetServerMessage(battleSys);
|
||||
writeIndex = BattleSystem_GetServerWriteIndex(battleSys);
|
||||
endIndex = BattleSystem_GetServerEndIndex(battleSys);
|
||||
}
|
||||
|
||||
if (writeIndex[0] + sizeof(BattleMessageInfo) + size + 1 > 0x1000) {
|
||||
|
|
@ -153,15 +153,15 @@ void BattleController_TryRecvLocalMessage(BattleSystem *battleSys, int recipient
|
|||
int size;
|
||||
|
||||
if (recipient == COMM_RECIPIENT_CLIENT) {
|
||||
src = ov16_0223E074(battleSys);
|
||||
readIndex = ov16_0223E0A4(battleSys);
|
||||
writeIndex = ov16_0223E0B0(battleSys);
|
||||
endIndex = ov16_0223E0BC(battleSys);
|
||||
src = BattleSystem_GetClientMessage(battleSys);
|
||||
readIndex = BattleSystem_GetClientReadIndex(battleSys);
|
||||
writeIndex = BattleSystem_GetClientWriteIndex(battleSys);
|
||||
endIndex = BattleSystem_GetClientEndIndex(battleSys);
|
||||
} else {
|
||||
src = ov16_0223E06C(battleSys);
|
||||
readIndex = ov16_0223E080(battleSys);
|
||||
writeIndex = ov16_0223E08C(battleSys);
|
||||
endIndex = ov16_0223E098(battleSys);
|
||||
src = BattleSystem_GetServerMessage(battleSys);
|
||||
readIndex = BattleSystem_GetServerReadIndex(battleSys);
|
||||
writeIndex = BattleSystem_GetServerWriteIndex(battleSys);
|
||||
endIndex = BattleSystem_GetServerEndIndex(battleSys);
|
||||
}
|
||||
|
||||
if (readIndex[0] == writeIndex[0]) {
|
||||
|
|
@ -224,7 +224,7 @@ void BattleController_EmitSetupBattleUI(BattleSystem *battleSys, int battlerId)
|
|||
UISetupMessage message;
|
||||
|
||||
message.command = BATTLE_COMMAND_SETUP_UI;
|
||||
message.unk_04 = ov16_0223F4E8(battleSys);
|
||||
message.unk_04 = BattleSystem_GetSeedDTO(battleSys);
|
||||
|
||||
SendMessage(battleSys, COMM_RECIPIENT_CLIENT, battlerId, &message, sizeof(UISetupMessage));
|
||||
}
|
||||
|
|
@ -245,7 +245,7 @@ void BattleController_EmitSetEncounter(BattleSystem *battleSys, int battlerId)
|
|||
message.isShiny = battleSys->battleCtx->battleMons[battlerId].isShiny;
|
||||
message.species = battleSys->battleCtx->battleMons[battlerId].species;
|
||||
message.personality = battleSys->battleCtx->battleMons[battlerId].personality;
|
||||
message.cryModulation = Battler_CryModulation(battleSys->battleCtx, battlerId, BattleSystem_BattlerSlot(battleSys, battlerId), 1);
|
||||
message.cryModulation = Battler_CryModulation(battleSys->battleCtx, battlerId, BattleSystem_GetBattlerType(battleSys, battlerId), 1);
|
||||
message.formNum = battleSys->battleCtx->battleMons[battlerId].formNum;
|
||||
|
||||
for (i = 0; i < LEARNED_MOVES_MAX; i++) {
|
||||
|
|
@ -274,11 +274,11 @@ void BattleController_EmitShowEncounter(BattleSystem *battleSys, int battlerId)
|
|||
message.isShiny = battleSys->battleCtx->battleMons[battlerId].isShiny;
|
||||
message.species = battleSys->battleCtx->battleMons[battlerId].species;
|
||||
message.personality = battleSys->battleCtx->battleMons[battlerId].personality;
|
||||
message.cryModulation = Battler_CryModulation(battleSys->battleCtx, battlerId, BattleSystem_BattlerSlot(battleSys, battlerId), 1);
|
||||
message.cryModulation = Battler_CryModulation(battleSys->battleCtx, battlerId, BattleSystem_GetBattlerType(battleSys, battlerId), 1);
|
||||
message.selectedPartySlot = battleSys->battleCtx->selectedPartySlot[battlerId];
|
||||
message.formNum = battleSys->battleCtx->battleMons[battlerId].formNum;
|
||||
message.capturedBall = battleSys->battleCtx->battleMons[battlerId].capturedBall;
|
||||
message.partnerPartySlot = battleSys->battleCtx->selectedPartySlot[BattleSystem_Partner(battleSys, battlerId)];
|
||||
message.partnerPartySlot = battleSys->battleCtx->selectedPartySlot[BattleSystem_GetPartner(battleSys, battlerId)];
|
||||
|
||||
ov16_0223EF2C(battleSys, battlerId, message.selectedPartySlot);
|
||||
|
||||
|
|
@ -317,7 +317,7 @@ void BattleController_EmitShowPokemon(BattleSystem *battleSys, int battlerId, in
|
|||
|
||||
message.isShiny = battleSys->battleCtx->battleMons[battlerId].isShiny;
|
||||
message.species = battleSys->battleCtx->battleMons[battlerId].species;
|
||||
message.cryModulation = Battler_CryModulation(battleSys->battleCtx, battlerId, BattleSystem_BattlerSlot(battleSys, battlerId), 0);
|
||||
message.cryModulation = Battler_CryModulation(battleSys->battleCtx, battlerId, BattleSystem_GetBattlerType(battleSys, battlerId), 0);
|
||||
message.selectedPartySlot = battleSys->battleCtx->selectedPartySlot[battlerId];
|
||||
message.formNum = battleSys->battleCtx->battleMons[battlerId].formNum;
|
||||
|
||||
|
|
@ -480,7 +480,7 @@ void BattleController_EmitThrowTrainerBall(BattleSystem *battleSys, int battlerI
|
|||
|
||||
message.command = BATTLE_COMMAND_THROW_TRAINER_BALL;
|
||||
message.ballTypeIn = ballTypeIn;
|
||||
message.selectedPartySlot = battleSys->battleCtx->selectedPartySlot[BattleSystem_Partner(battleSys, battlerId)];
|
||||
message.selectedPartySlot = battleSys->battleCtx->selectedPartySlot[BattleSystem_GetPartner(battleSys, battlerId)];
|
||||
|
||||
SendMessage(battleSys, COMM_RECIPIENT_CLIENT, battlerId, &message, sizeof(TrainerThrowBallMessage));
|
||||
}
|
||||
|
|
@ -529,7 +529,7 @@ void BattleController_EmitSlideHealthbarIn(BattleSystem *battleSys, BattleContex
|
|||
{
|
||||
HealthbarData healthbar;
|
||||
|
||||
Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]);
|
||||
Pokemon *mon = BattleSystem_GetPartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]);
|
||||
int species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL);
|
||||
int level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL);
|
||||
|
||||
|
|
@ -549,8 +549,8 @@ void BattleController_EmitSlideHealthbarIn(BattleSystem *battleSys, BattleContex
|
|||
|
||||
healthbar.expFromLastLevel = battleCtx->battleMons[battler].exp - Pokemon_GetSpeciesBaseExpAt(species, level);
|
||||
healthbar.expToNextLevel = Pokemon_GetSpeciesBaseExpAt(species, level + 1) - Pokemon_GetSpeciesBaseExpAt(species, level);
|
||||
healthbar.speciesCaught = BattleSystem_CaughtSpecies(battleSys, battleCtx->battleMons[battler].species);
|
||||
healthbar.numSafariBalls = BattleSystem_NumSafariBalls(battleSys);
|
||||
healthbar.speciesCaught = BattleSystem_HasCaughtSpecies(battleSys, battleCtx->battleMons[battler].species);
|
||||
healthbar.numSafariBalls = BattleSystem_GetNumSafariBalls(battleSys);
|
||||
healthbar.delay = delay;
|
||||
|
||||
SendMessage(battleSys, COMM_RECIPIENT_CLIENT, battler, &healthbar, sizeof(HealthbarData));
|
||||
|
|
@ -589,11 +589,11 @@ void BattleController_EmitSetCommandSelection(BattleSystem *battleSys, BattleCon
|
|||
int battlersCanPickCommandMask;
|
||||
|
||||
MI_CpuClearFast(&message, sizeof(CommandSetMessage));
|
||||
BattleIO_ClearBuffer(BattleSystem_Context(battleSys), battler);
|
||||
BattleIO_ClearBuffer(BattleSystem_GetBattleContext(battleSys), battler);
|
||||
|
||||
battlersCanPickCommandMask = 0;
|
||||
|
||||
for (i = 0; i < BattleSystem_MaxBattlers(battleSys); i++) {
|
||||
for (i = 0; i < BattleSystem_GetMaxBattlers(battleSys); i++) {
|
||||
if (Battler_CanPickCommand(battleCtx, i) == 0) {
|
||||
battlersCanPickCommandMask |= FlagIndex(i);
|
||||
}
|
||||
|
|
@ -603,7 +603,7 @@ void BattleController_EmitSetCommandSelection(BattleSystem *battleSys, BattleCon
|
|||
message.partySlot = partySlot;
|
||||
message.unk_29 = battleCtx->battlersSwitchingMask | battlersCanPickCommandMask;
|
||||
|
||||
battleType = BattleSystem_BattleType(battleSys);
|
||||
battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
if ((battleType & BATTLE_TYPE_DOUBLES) && ((battleType & BATTLE_TYPE_2vs2) == 0)) {
|
||||
battlerType = battler & BATTLER_THEM;
|
||||
|
|
@ -611,7 +611,7 @@ void BattleController_EmitSetCommandSelection(BattleSystem *battleSys, BattleCon
|
|||
battlerType = battler;
|
||||
}
|
||||
|
||||
party = BattleSystem_Party(battleSys, battlerType);
|
||||
party = BattleSystem_GetParty(battleSys, battlerType);
|
||||
cnt = 0;
|
||||
|
||||
for (i = 0; i < Party_GetCurrentCount(party); i++) {
|
||||
|
|
@ -643,13 +643,13 @@ void BattleController_EmitSetCommandSelection(BattleSystem *battleSys, BattleCon
|
|||
|| (battleType & BATTLE_TYPE_TAG)
|
||||
|| (battleType == (BATTLE_TYPE_TRAINER_DOUBLES | BATTLE_TYPE_2vs2 | BATTLE_TYPE_AI))
|
||||
|| (battleType == ((BATTLE_TYPE_TRAINER_DOUBLES | BATTLE_TYPE_2vs2 | BATTLE_TYPE_AI) | BATTLE_TYPE_FRONTIER))) {
|
||||
if (Battler_Side(battleSys, battler)) {
|
||||
battlerType = BattleSystem_BattlerOfType(battleSys, BATTLER_TYPE_PLAYER_SIDE_SLOT_1);
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battler)) {
|
||||
battlerType = BattleSystem_GetBattlerOfType(battleSys, BATTLER_TYPE_PLAYER_SIDE_SLOT_1);
|
||||
} else {
|
||||
battlerType = BattleSystem_BattlerOfType(battleSys, BATTLER_TYPE_ENEMY_SIDE_SLOT_1);
|
||||
battlerType = BattleSystem_GetBattlerOfType(battleSys, BATTLER_TYPE_ENEMY_SIDE_SLOT_1);
|
||||
}
|
||||
|
||||
party = BattleSystem_Party(battleSys, battlerType);
|
||||
party = BattleSystem_GetParty(battleSys, battlerType);
|
||||
cnt = 0;
|
||||
|
||||
for (i = 0; i < Party_GetCurrentCount(party); i++) {
|
||||
|
|
@ -671,13 +671,13 @@ void BattleController_EmitSetCommandSelection(BattleSystem *battleSys, BattleCon
|
|||
}
|
||||
}
|
||||
|
||||
if (Battler_Side(battleSys, battler)) {
|
||||
battlerType = BattleSystem_BattlerOfType(battleSys, BATTLER_TYPE_PLAYER_SIDE_SLOT_2);
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battler)) {
|
||||
battlerType = BattleSystem_GetBattlerOfType(battleSys, BATTLER_TYPE_PLAYER_SIDE_SLOT_2);
|
||||
} else {
|
||||
battlerType = BattleSystem_BattlerOfType(battleSys, BATTLER_TYPE_ENEMY_SIDE_SLOT_2);
|
||||
battlerType = BattleSystem_GetBattlerOfType(battleSys, BATTLER_TYPE_ENEMY_SIDE_SLOT_2);
|
||||
}
|
||||
|
||||
party = BattleSystem_Party(battleSys, battlerType);
|
||||
party = BattleSystem_GetParty(battleSys, battlerType);
|
||||
cnt = 3;
|
||||
|
||||
for (i = 0; i < Party_GetCurrentCount(party); i++) {
|
||||
|
|
@ -699,8 +699,8 @@ void BattleController_EmitSetCommandSelection(BattleSystem *battleSys, BattleCon
|
|||
}
|
||||
}
|
||||
} else {
|
||||
battlerType = BattleSystem_EnemyInSlot(battleSys, battler, 2);
|
||||
party = BattleSystem_Party(battleSys, battlerType);
|
||||
battlerType = BattleSystem_GetEnemyInSlot(battleSys, battler, 2);
|
||||
party = BattleSystem_GetParty(battleSys, battlerType);
|
||||
cnt = 0;
|
||||
|
||||
for (i = 0; i < Party_GetCurrentCount(party); i++) {
|
||||
|
|
@ -759,7 +759,7 @@ void ov16_022656D4(BattleSystem *battleSys, int battlerId, int command)
|
|||
*/
|
||||
void BattleController_EmitShowMoveSelectMenu(BattleSystem *battleSys, BattleContext *battleCtx, int battler)
|
||||
{
|
||||
BattleIO_ClearBuffer(BattleSystem_Context(battleSys), battler);
|
||||
BattleIO_ClearBuffer(BattleSystem_GetBattleContext(battleSys), battler);
|
||||
|
||||
MoveSelectMenuMessage message;
|
||||
message.command = BATTLE_COMMAND_SHOW_MOVE_SELECT_MENU;
|
||||
|
|
@ -797,7 +797,7 @@ void BattleCommand_EmitShowTargetSelectMenu(BattleSystem *battleSys, BattleConte
|
|||
|
||||
BattleIO_ClearBuffer(battleCtx, battler);
|
||||
|
||||
battleType = BattleSystem_BattleType(battleSys);
|
||||
battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
message.command = BATTLE_COMMAND_SHOW_TARGET_SELECT_MENU;
|
||||
message.range = range;
|
||||
|
|
@ -867,7 +867,7 @@ void BattleController_EmitShowBagMenu(BattleSystem *battleSys, BattleContext *ba
|
|||
message.embargoTurns[i] = battleCtx->battleMons[i].moveEffectsData.embargoTurns;
|
||||
}
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) == BATTLE_TYPE_AI_PARTNER) {
|
||||
if (BattleSystem_GetBattleType(battleSys) == BATTLE_TYPE_AI_PARTNER) {
|
||||
if (((battleCtx->battlersSwitchingMask & FlagIndex(1)) == 0) && ((battleCtx->battlersSwitchingMask & FlagIndex(3)) == 0)) {
|
||||
message.unk_01 = 1;
|
||||
message.semiInvulnerable = 0;
|
||||
|
|
@ -899,7 +899,7 @@ void BattleController_EmitShowBagMenu(BattleSystem *battleSys, BattleContext *ba
|
|||
message.substitute = 0;
|
||||
}
|
||||
}
|
||||
} else if (BattleSystem_BattleType(battleSys) == (BATTLE_TYPE_SINGLES | BATTLE_TYPE_WILD_MON)) { // Was (0x0 | 0x0). Is this what they intended?
|
||||
} else if (BattleSystem_GetBattleType(battleSys) == (BATTLE_TYPE_SINGLES | BATTLE_TYPE_WILD_MON)) { // Was (0x0 | 0x0). Is this what they intended?
|
||||
message.unk_01 = 0;
|
||||
|
||||
if (battleCtx->battleMons[1].moveEffectsMask & MOVE_EFFECT_SEMI_INVULNERABLE) {
|
||||
|
|
@ -1077,7 +1077,7 @@ void BattleController_EmitFlickerBattlerSprite(BattleSystem *battleSys, int batt
|
|||
void BattleController_EmitUpdateHPGauge(BattleSystem *battleSys, BattleContext *battleCtx, int battler)
|
||||
{
|
||||
HPGaugeUpdateMessage message;
|
||||
Pokemon *pokemon = BattleSystem_PartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]);
|
||||
Pokemon *pokemon = BattleSystem_GetPartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]);
|
||||
int species = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL);
|
||||
int level = Pokemon_GetValue(pokemon, MON_DATA_LEVEL, NULL);
|
||||
|
||||
|
|
@ -1110,7 +1110,7 @@ void BattleController_EmitUpdateHPGauge(BattleSystem *battleSys, BattleContext *
|
|||
void BattleController_EmitUpdateExpGauge(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int curExp)
|
||||
{
|
||||
ExpGaugeUpdateMessage message;
|
||||
Pokemon *pokemon = BattleSystem_PartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]);
|
||||
Pokemon *pokemon = BattleSystem_GetPartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]);
|
||||
int species = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL);
|
||||
int level = Pokemon_GetValue(pokemon, MON_DATA_LEVEL, NULL);
|
||||
|
||||
|
|
@ -1367,7 +1367,7 @@ void BattleController_EmitLeadMonMessage(BattleSystem *battleSys, BattleContext
|
|||
|
||||
message.command = BATTLE_COMMAND_PRINT_LEAD_MON_MESSAGE;
|
||||
|
||||
for (i = 0; i < BattleSystem_MaxBattlers(battleSys); i++) {
|
||||
for (i = 0; i < BattleSystem_GetMaxBattlers(battleSys); i++) {
|
||||
message.partySlot[i] = battleCtx->selectedPartySlot[i];
|
||||
}
|
||||
|
||||
|
|
@ -1396,7 +1396,7 @@ void BattleController_EmitPlayLevelUpAnimation(BattleSystem *battleSys, int batt
|
|||
*/
|
||||
void BattleController_EmitSetAlertMessage(BattleSystem *battleSys, int battler, BattleMessage msg)
|
||||
{
|
||||
BattleIO_ClearBuffer(BattleSystem_Context(battleSys), battler);
|
||||
BattleIO_ClearBuffer(BattleSystem_GetBattleContext(battleSys), battler);
|
||||
|
||||
AlertMsgMessage message;
|
||||
message.command = BATTLE_COMMAND_SET_ALERT_MESSAGE;
|
||||
|
|
@ -1425,7 +1425,7 @@ void BattleController_EmitRefreshHPGauge(BattleSystem *battleSys, BattleContext
|
|||
int species;
|
||||
int level;
|
||||
|
||||
pokemon = BattleSystem_PartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]);
|
||||
pokemon = BattleSystem_GetPartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]);
|
||||
species = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL);
|
||||
level = Pokemon_GetValue(pokemon, MON_DATA_LEVEL, NULL);
|
||||
|
||||
|
|
@ -1444,8 +1444,8 @@ void BattleController_EmitRefreshHPGauge(BattleSystem *battleSys, BattleContext
|
|||
|
||||
message.curExp = battleCtx->battleMons[battler].exp - Pokemon_GetSpeciesBaseExpAt(species, level);
|
||||
message.maxExp = Pokemon_GetSpeciesBaseExpAt(species, level + 1) - Pokemon_GetSpeciesBaseExpAt(species, level);
|
||||
message.caughtSpecies = BattleSystem_CaughtSpecies(battleSys, battleCtx->battleMons[battler].species);
|
||||
message.numSafariBalls = BattleSystem_NumSafariBalls(battleSys);
|
||||
message.caughtSpecies = BattleSystem_HasCaughtSpecies(battleSys, battleCtx->battleMons[battler].species);
|
||||
message.numSafariBalls = BattleSystem_GetNumSafariBalls(battleSys);
|
||||
|
||||
SendMessage(battleSys, COMM_RECIPIENT_CLIENT, battler, &message, sizeof(RefreshHPGaugeMessage));
|
||||
}
|
||||
|
|
@ -1467,7 +1467,7 @@ void BattleController_EmitUpdatePartyMon(BattleSystem *battleSys, BattleContext
|
|||
message.mimickedMoveSlot = battleCtx->battleMons[battler].moveEffectsData.mimickedMoveSlot;
|
||||
message.curHP = battleCtx->battleMons[battler].curHP;
|
||||
message.heldItem = battleCtx->battleMons[battler].heldItem;
|
||||
message.knockedOffItemsMask = battleCtx->sideConditions[Battler_Side(battleSys, battler)].knockedOffItemsMask;
|
||||
message.knockedOffItemsMask = battleCtx->sideConditions[BattleSystem_GetBattlerSide(battleSys, battler)].knockedOffItemsMask;
|
||||
message.formNum = battleCtx->battleMons[battler].formNum;
|
||||
message.ability = battleCtx->battleMons[battler].ability;
|
||||
|
||||
|
|
@ -1551,7 +1551,7 @@ void BattleController_EmitForgetMove(BattleSystem *battleSys, int battlerId, int
|
|||
{
|
||||
ForgetMoveMessage message;
|
||||
|
||||
BattleIO_ClearBuffer(BattleSystem_Context(battleSys), battlerId);
|
||||
BattleIO_ClearBuffer(BattleSystem_GetBattleContext(battleSys), battlerId);
|
||||
|
||||
message.command = BATTLE_COMMAND_FORGET_MOVE;
|
||||
message.move = move;
|
||||
|
|
@ -1732,7 +1732,7 @@ void BattleController_EmitIncrementRecord(BattleSystem *battleSys, int battlerId
|
|||
void BattleController_EmitLinkWaitMessage(BattleSystem *battleSys, int battler)
|
||||
{
|
||||
LinkWaitMsgMessage message;
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
message.command = BATTLE_COMMAND_LINK_WAIT_MESSAGE;
|
||||
message.unk_02 = 0;
|
||||
|
|
@ -1820,13 +1820,13 @@ void BattleController_EmitEscapeMessage(BattleSystem *battleSys, BattleContext *
|
|||
{
|
||||
EscapeMsgMessage message;
|
||||
int i;
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
message.command = BATTLE_COMMAND_ESCAPE_MESSAGE;
|
||||
message.unk_01 = 0;
|
||||
message.unk_02 = 0;
|
||||
|
||||
for (i = 0; i < BattleSystem_MaxBattlers(battleSys); i++) {
|
||||
for (i = 0; i < BattleSystem_GetMaxBattlers(battleSys); i++) {
|
||||
if (battleCtx->battlerActions[i][0] == 16) {
|
||||
message.unk_01 |= FlagIndex(i);
|
||||
}
|
||||
|
|
@ -1848,7 +1848,7 @@ void BattleController_EmitEscapeMessage(BattleSystem *battleSys, BattleContext *
|
|||
void BattleController_EmitForfeitMessage(BattleSystem *battleSys)
|
||||
{
|
||||
ForfeitMsgMessage message;
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
message.command = BATTLE_COMMAND_FORFEIT_MESSAGE;
|
||||
message.unk_02 = 0;
|
||||
|
|
@ -1941,10 +1941,10 @@ void BattleController_EmitPlayMusic(BattleSystem *battleSys, int battlerId, int
|
|||
void BattleController_EmitSubmitResult(BattleSystem *battleSys)
|
||||
{
|
||||
ResultSubmitMessage message;
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
message.command = BATTLE_COMMAND_SUBMIT_RESULT;
|
||||
message.resultMask = BattleSystem_ResultMask(battleSys);
|
||||
message.resultMask = BattleSystem_GetResultMask(battleSys);
|
||||
message.unk_02 = 0;
|
||||
|
||||
if ((battleType & BATTLE_TYPE_LINK) && (sub_0202F250() == 1) && ((battleSys->battleStatusMask & 0x10) == 0)) {
|
||||
|
|
@ -2054,7 +2054,7 @@ void BattleController_SetMoveAnimation(BattleSystem *battleSys, BattleContext *b
|
|||
animation->defender = defender;
|
||||
animation->unk_4C = param3;
|
||||
animation->unk_50 = param4;
|
||||
animation->terrain = BattleSystem_Terrain(battleSys);
|
||||
animation->terrain = BattleSystem_GetTerrain(battleSys);
|
||||
|
||||
if (battleCtx != NULL) {
|
||||
animation->damage = battleCtx->damage;
|
||||
|
|
@ -2119,7 +2119,7 @@ static inline void PartyGaugeData_Fill(BattleContext *battleCtx, PartyGaugeData
|
|||
static void PartyGaugeData_New(BattleSystem *battleSys, BattleContext *battleCtx, PartyGaugeData *partyGauge, int command, int battler)
|
||||
{
|
||||
MI_CpuClearFast(partyGauge, sizeof(PartyGaugeData));
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
partyGauge->command = command;
|
||||
|
||||
// must make declarations here to match
|
||||
|
|
@ -2127,22 +2127,22 @@ static void PartyGaugeData_New(BattleSystem *battleSys, BattleContext *battleCtx
|
|||
Party *party;
|
||||
|
||||
if ((battleType & (BATTLE_TYPE_LINK | BATTLE_TYPE_2vs2)) == (BATTLE_TYPE_LINK | BATTLE_TYPE_2vs2) // 2vs2 link battle
|
||||
|| ((battleType & BATTLE_TYPE_TAG) && Battler_Side(battleSys, battler)) // either of the two opponents on the enemy side
|
||||
|| ((battleType == BATTLE_TYPE_TRAINER_WITH_AI_PARTNER) && Battler_Side(battleSys, battler)) // either of the two opponents on the enemy side
|
||||
|| ((battleType & BATTLE_TYPE_TAG) && BattleSystem_GetBattlerSide(battleSys, battler)) // either of the two opponents on the enemy side
|
||||
|| ((battleType == BATTLE_TYPE_TRAINER_WITH_AI_PARTNER) && BattleSystem_GetBattlerSide(battleSys, battler)) // either of the two opponents on the enemy side
|
||||
|| battleType == BATTLE_TYPE_FRONTIER_WITH_AI_PARTNER) { // frontier, AI partner
|
||||
if (BattleSystem_BattlerSlot(battleSys, battler) == BATTLER_PLAYER_2
|
||||
|| BattleSystem_BattlerSlot(battleSys, battler) == BATTLER_ENEMY_2) {
|
||||
if (BattleSystem_GetBattlerType(battleSys, battler) == BATTLER_PLAYER_2
|
||||
|| BattleSystem_GetBattlerType(battleSys, battler) == BATTLER_ENEMY_2) {
|
||||
battler1 = battler;
|
||||
battler2 = BattleSystem_Partner(battleSys, battler);
|
||||
battler2 = BattleSystem_GetPartner(battleSys, battler);
|
||||
} else {
|
||||
battler1 = BattleSystem_Partner(battleSys, battler);
|
||||
battler1 = BattleSystem_GetPartner(battleSys, battler);
|
||||
battler2 = battler;
|
||||
}
|
||||
|
||||
party = BattleSystem_Party(battleSys, battler1);
|
||||
party = BattleSystem_GetParty(battleSys, battler1);
|
||||
PartyGaugeData_Fill(battleCtx, partyGauge, party, battler1, 0);
|
||||
|
||||
party = BattleSystem_Party(battleSys, battler2);
|
||||
party = BattleSystem_GetParty(battleSys, battler2);
|
||||
PartyGaugeData_Fill(battleCtx, partyGauge, party, battler2, 3);
|
||||
} else {
|
||||
if ((battleType & BATTLE_TYPE_DOUBLES) && (battleType & BATTLE_TYPE_2vs2) == FALSE) {
|
||||
|
|
@ -2151,7 +2151,7 @@ static void PartyGaugeData_New(BattleSystem *battleSys, BattleContext *battleCtx
|
|||
battler = battler;
|
||||
}
|
||||
|
||||
party = BattleSystem_Party(battleSys, battler);
|
||||
party = BattleSystem_GetParty(battleSys, battler);
|
||||
PartyGaugeData_Fill(battleCtx, partyGauge, party, battler, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "constants/battle.h"
|
||||
#include "constants/game_options.h"
|
||||
#include "constants/heap.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/moves.h"
|
||||
|
|
@ -25,9 +26,9 @@
|
|||
#include "battle/battle_lib.h"
|
||||
#include "battle/battle_message.h"
|
||||
#include "battle/battle_script.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/common.h"
|
||||
#include "battle/ov16_0223B140.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/struct_ov16_0224DDA8.h"
|
||||
#include "battle/struct_ov16_0225BFFC_decl.h"
|
||||
|
||||
|
|
@ -194,8 +195,8 @@ void *BattleContext_New(BattleSystem *battleSys)
|
|||
BOOL BattleContext_Main(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
if (battleCtx->battleEndFlag == FALSE
|
||||
&& BattleSystem_ResultMask(battleSys)
|
||||
&& (BattleSystem_ResultMask(battleSys) & BATTLE_RESULT_TRY_FLEE_WAIT) == FALSE) {
|
||||
&& BattleSystem_GetResultMask(battleSys)
|
||||
&& (BattleSystem_GetResultMask(battleSys) & BATTLE_RESULT_TRY_FLEE_WAIT) == FALSE) {
|
||||
battleCtx->command = BATTLE_CONTROL_RESULT;
|
||||
}
|
||||
|
||||
|
|
@ -222,7 +223,7 @@ void BattleControllerPlayer_CheckMoveHit(BattleSystem *battleSys, BattleContext
|
|||
|
||||
static void BattleControllerPlayer_InitBattleMons(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
for (int i = 0; i < maxBattlers; i++) {
|
||||
BattleSystem_InitBattleMon(battleSys, battleCtx, i, battleCtx->selectedPartySlot[i]);
|
||||
}
|
||||
|
|
@ -269,7 +270,7 @@ static void BattleControllerPlayer_ShowBattleMon(BattleSystem *battleSys, Battle
|
|||
static void BattleControllerPlayer_InitCommandSelection(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int i; // this has to be declared up here to match
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
battleCtx->curCommandState[i] = 0;
|
||||
|
|
@ -311,8 +312,8 @@ static inline BOOL SingleControllerForSide(BattleContext *battleCtx, int battler
|
|||
|
||||
static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int battleType = BattleSystem_BattleType(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
int battleType = BattleSystem_GetBattleType(battleSys);
|
||||
int battlersDone = 0;
|
||||
BattleMessage msg;
|
||||
|
||||
|
|
@ -339,7 +340,7 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
}
|
||||
|
||||
// Don't let slow AI processing delay the player from picking their action for the turn
|
||||
if (Battler_BootState(BattleSystem_BattlerData(battleSys, i)) == BATTLER_BOOT_STATE_AI || battleCtx->totalTurns) {
|
||||
if (Battler_BootState(BattleSystem_GetBattlerData(battleSys, i)) == BATTLER_BOOT_STATE_AI || battleCtx->totalTurns) {
|
||||
BattleController_EmitSetCommandSelection(battleSys, battleCtx, i, battleCtx->selectedPartySlot[i]);
|
||||
battleCtx->curCommandState[i] = COMMAND_SELECTION_SELECT;
|
||||
} else {
|
||||
|
|
@ -351,7 +352,7 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
case COMMAND_SELECTION_SELECT2:
|
||||
int j;
|
||||
for (j = 0; j < maxBattlers; j++) {
|
||||
if (j == i || Battler_BootState(BattleSystem_BattlerData(battleSys, j)) != BATTLER_BOOT_STATE_AI) {
|
||||
if (j == i || Battler_BootState(BattleSystem_GetBattlerData(battleSys, j)) != BATTLER_BOOT_STATE_AI) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -434,7 +435,7 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
// Don't let the player select a move if they are out of PP on all moves
|
||||
battleCtx->turnFlags[i].struggling = TRUE;
|
||||
|
||||
if (BattleSystem_BattleStatus(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
if (BattleSystem_GetBattleStatusMask(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
battleCtx->curCommandState[i] = COMMAND_SELECTION_WAIT;
|
||||
} else {
|
||||
battleCtx->curCommandState[i] = COMMAND_SELECTION_CLEAR_TOUCH_SCREEN;
|
||||
|
|
@ -446,7 +447,7 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
battleCtx->moveSelected[i] = battleCtx->battleMons[i].moveEffectsData.encoredMove;
|
||||
battleCtx->battlerActions[i][BATTLE_ACTION_TEMP_VALUE] = 0;
|
||||
|
||||
if (BattleSystem_BattleStatus(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
if (BattleSystem_GetBattleStatusMask(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
battleCtx->curCommandState[i] = COMMAND_SELECTION_WAIT;
|
||||
} else {
|
||||
battleCtx->curCommandState[i] = COMMAND_SELECTION_CLEAR_TOUCH_SCREEN;
|
||||
|
|
@ -460,7 +461,7 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
break;
|
||||
|
||||
case PLAYER_INPUT_ITEM:
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_NO_ITEMS) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_NO_ITEMS) {
|
||||
msg.id = 593; // "Items can’t be used here."
|
||||
msg.tags = TAG_NONE;
|
||||
BattleController_EmitSetAlertMessage(battleSys, i, msg);
|
||||
|
|
@ -487,7 +488,7 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
if (battleType & BATTLE_TYPE_LINK) {
|
||||
BattleController_EmitStopGaugeAnimation(battleSys, i);
|
||||
battleCtx->curCommandState[i] = BATTLE_CONTROL_GET_BATTLE_MON;
|
||||
battleCtx->curCommandState[BattleSystem_Partner(battleSys, i)] = BATTLE_CONTROL_GET_BATTLE_MON;
|
||||
battleCtx->curCommandState[BattleSystem_GetPartner(battleSys, i)] = BATTLE_CONTROL_GET_BATTLE_MON;
|
||||
} else if ((battleType & BATTLE_TYPE_DOUBLES) && i == BATTLER_PLAYER_2) {
|
||||
BattleController_EmitStopGaugeAnimation(battleSys, i);
|
||||
battleCtx->curCommandState[BATTLER_PLAYER_1] = BATTLE_CONTROL_GET_BATTLE_MON;
|
||||
|
|
@ -513,9 +514,9 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
battleCtx->curCommandState[i] = COMMAND_SELECTION_RUN_SELECT_INIT;
|
||||
break;
|
||||
} else if (BattleSystem_CanUseMove(battleSys, battleCtx, i, battleCtx->ioBuffer[i][0] - 1, &msg) == FALSE) {
|
||||
if (BattleSystem_BattleStatus(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
if (BattleSystem_GetBattleStatusMask(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
BattleSystem_SetStopRecording(battleSys, 1);
|
||||
Battle_RecordingStopped(battleSys, BattleSystem_Context(battleSys));
|
||||
BattleSystem_IsRecordingStopped(battleSys, BattleSystem_GetBattleContext(battleSys));
|
||||
} else {
|
||||
BattleController_EmitSetAlertMessage(battleSys, i, msg);
|
||||
battleCtx->curCommandState[i] = COMMAND_SELECTION_ALERT_MESSAGE_WAIT;
|
||||
|
|
@ -572,12 +573,12 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
BOOL canSwitch = Battler_IsTrapped(battleSys, battleCtx, i);
|
||||
|
||||
// Check the partner's selection in a double battle
|
||||
if ((BattleSystem_BattlerSlot(battleSys, i) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2 || BattleSystem_BattlerSlot(battleSys, i) == BATTLER_TYPE_ENEMY_SIDE_SLOT_2)
|
||||
if ((BattleSystem_GetBattlerType(battleSys, i) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2 || BattleSystem_GetBattlerType(battleSys, i) == BATTLER_TYPE_ENEMY_SIDE_SLOT_2)
|
||||
&& (battleType == BATTLE_TYPE_TRAINER_DOUBLES
|
||||
|| battleType == BATTLE_TYPE_LINK_DOUBLES
|
||||
|| battleType == BATTLE_TYPE_FRONTIER_DOUBLES
|
||||
|| (battleType == BATTLE_TYPE_TAG_DOUBLES && BattleSystem_BattlerSlot(battleSys, i) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2))) {
|
||||
int partner = BattleSystem_Partner(battleSys, i);
|
||||
|| (battleType == BATTLE_TYPE_TAG_DOUBLES && BattleSystem_GetBattlerType(battleSys, i) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2))) {
|
||||
int partner = BattleSystem_GetPartner(battleSys, i);
|
||||
|
||||
if (battleCtx->battlerActions[partner][BATTLE_ACTION_PICK_COMMAND] == BATTLE_CONTROL_PARTY) {
|
||||
doublesSelection = battleCtx->battlerActions[partner][2];
|
||||
|
|
@ -604,9 +605,9 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
BattleController_EmitShowYesNoMenu(battleSys, battleCtx, i, 955, 0, NULL, NULL);
|
||||
battleCtx->curCommandState[i] = COMMAND_SELECTION_RUN_SELECT;
|
||||
} else if ((battleType & BATTLE_TYPE_TRAINER) && (battleType & BATTLE_TYPE_LINK) == FALSE) {
|
||||
if (BattleSystem_BattleStatus(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
if (BattleSystem_GetBattleStatusMask(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
BattleSystem_SetStopRecording(battleSys, 1);
|
||||
Battle_RecordingStopped(battleSys, BattleSystem_Context(battleSys));
|
||||
BattleSystem_IsRecordingStopped(battleSys, BattleSystem_GetBattleContext(battleSys));
|
||||
} else {
|
||||
msg.tags = 0;
|
||||
msg.id = 793;
|
||||
|
|
@ -616,9 +617,9 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
battleCtx->nextCommandState[i] = COMMAND_SELECTION_INIT;
|
||||
}
|
||||
} else if (Battler_IsTrappedMsg(battleSys, battleCtx, i, &msg)) {
|
||||
if (BattleSystem_BattleStatus(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
if (BattleSystem_GetBattleStatusMask(battleSys) & BATTLE_STATUS_RECORDING) {
|
||||
BattleSystem_SetStopRecording(battleSys, 1);
|
||||
Battle_RecordingStopped(battleSys, BattleSystem_Context(battleSys));
|
||||
BattleSystem_IsRecordingStopped(battleSys, BattleSystem_GetBattleContext(battleSys));
|
||||
} else {
|
||||
BattleController_EmitSetAlertMessage(battleSys, i, msg);
|
||||
battleCtx->curCommandState[i] = COMMAND_SELECTION_ALERT_MESSAGE_WAIT;
|
||||
|
|
@ -645,7 +646,7 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
if ((battleType & BATTLE_TYPE_DOUBLES)
|
||||
&& (battleType & BATTLE_TYPE_2vs2) == FALSE
|
||||
&& (battleCtx->curCommandState[i] == COMMAND_SELECTION_WAIT)) {
|
||||
battleCtx->curCommandState[BattleSystem_Partner(battleSys, i)] = COMMAND_SELECTION_WAIT;
|
||||
battleCtx->curCommandState[BattleSystem_GetPartner(battleSys, i)] = COMMAND_SELECTION_WAIT;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -653,7 +654,7 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
|
|||
BattleController_EmitStopGaugeAnimation(battleSys, i);
|
||||
|
||||
if (battleType == BATTLE_TYPE_LINK_DOUBLES) {
|
||||
if (battleCtx->curCommandState[BattleSystem_Partner(battleSys, i)] == COMMAND_SELECTION_END) {
|
||||
if (battleCtx->curCommandState[BattleSystem_GetPartner(battleSys, i)] == COMMAND_SELECTION_END) {
|
||||
BattleController_EmitLinkWaitMessage(battleSys, i);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -708,8 +709,8 @@ static void BattleControllerPlayer_CalcTurnOrder(BattleSystem *battleSys, Battle
|
|||
{
|
||||
int battler, i, j; // Must declare these here to match.
|
||||
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
int order = 0;
|
||||
|
||||
if (battleType & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) {
|
||||
|
|
@ -803,7 +804,7 @@ enum PreMoveActionState {
|
|||
static void BattleControllerPlayer_CheckPreMoveActions(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int state = STATE_PROCESSING;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
int battler;
|
||||
|
||||
do {
|
||||
|
|
@ -872,9 +873,9 @@ static void BattleControllerPlayer_CheckPreMoveActions(BattleSystem *battleSys,
|
|||
|
||||
static void BattleControllerPlayer_BranchActions(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
if (Battle_RecordingStopped(battleSys, battleCtx)) {
|
||||
if (BattleSystem_IsRecordingStopped(battleSys, battleCtx)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -932,7 +933,7 @@ static inline void StepFieldConditionCheck(BattleContext *battleCtx, int state)
|
|||
static void BattleControllerPlayer_CheckFieldConditions(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int state = STATE_PROCESSING;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
int side;
|
||||
|
||||
do {
|
||||
|
|
@ -1289,7 +1290,7 @@ enum MonCondCheckState {
|
|||
static void BattleControllerPlayer_CheckMonConditions(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
u8 state = STATE_PROCESSING;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
// Explicit `== TRUE` is needed to match on these.
|
||||
if (BattleControllerPlayer_AnyFainted(battleCtx, battleCtx->command, battleCtx->command, 1) == TRUE
|
||||
|
|
@ -1745,7 +1746,7 @@ enum SideCondCheckState {
|
|||
|
||||
static void BattleControllerPlayer_CheckSideConditions(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
if (BattleControllerPlayer_AnyFainted(battleCtx, battleCtx->command, battleCtx->command, 1) == TRUE) {
|
||||
return;
|
||||
|
|
@ -1767,7 +1768,7 @@ static void BattleControllerPlayer_CheckSideConditions(BattleSystem *battleSys,
|
|||
if (battleCtx->fieldConditions.futureSightTurns[battler]
|
||||
&& --battleCtx->fieldConditions.futureSightTurns[battler] == FALSE
|
||||
&& battleCtx->battleMons[battler].curHP) {
|
||||
battleCtx->sideConditionsMask[Battler_Side(battleSys, battler)] &= ~SIDE_CONDITION_FUTURE_SIGHT;
|
||||
battleCtx->sideConditionsMask[BattleSystem_GetBattlerSide(battleSys, battler)] &= ~SIDE_CONDITION_FUTURE_SIGHT;
|
||||
|
||||
battleCtx->msgBuffer.id = 475;
|
||||
battleCtx->msgBuffer.tags = TAG_NICKNAME_MOVE;
|
||||
|
|
@ -1909,7 +1910,7 @@ static void BattleControllerPlayer_ItemCommand(BattleSystem *battleSys, BattleCo
|
|||
|
||||
BattleItemUse *used = (BattleItemUse *)&battleCtx->battlerActions[battleCtx->attacker][BATTLE_ACTION_TEMP_VALUE];
|
||||
int nextSeq;
|
||||
if (Battler_Side(battleSys, battleCtx->attacker)) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battleCtx->attacker)) {
|
||||
switch (battleCtx->aiContext.usedItemType[battleCtx->attacker >> 1]) {
|
||||
case ITEM_AI_CATEGORY_FULL_RESTORE:
|
||||
nextSeq = subscript_use_full_restore;
|
||||
|
|
@ -1956,10 +1957,10 @@ static void BattleControllerPlayer_ItemCommand(BattleSystem *battleSys, BattleCo
|
|||
|
||||
case ITEM_BATTLE_CATEGORY_POKE_BALLS:
|
||||
nextSeq = subscript_throw_pokeball;
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_TRAINER) == FALSE
|
||||
&& (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) == FALSE) {
|
||||
Bag_TryRemoveItem(BattleSystem_Bag(battleSys), used->item, 1, HEAP_ID_BATTLE);
|
||||
Bag_SetLastBattleItemUsed(BattleSystem_BagCursor(battleSys), used->item, used->category);
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_TRAINER) == FALSE
|
||||
&& (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) == FALSE) {
|
||||
Bag_TryRemoveItem(BattleSystem_GetBag(battleSys), used->item, 1, HEAP_ID_BATTLE);
|
||||
Bag_SetLastBattleItemUsed(BattleSystem_GetBagCursor(battleSys), used->item, used->category);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
@ -1990,8 +1991,8 @@ static void BattleControllerPlayer_FleeCommand(BattleSystem *battleSys, BattleCo
|
|||
{
|
||||
battleCtx->attacker = battleCtx->battlerActionOrder[battleCtx->turnOrderCounter];
|
||||
|
||||
if (Battler_Side(battleSys, battleCtx->attacker)
|
||||
&& (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_LINK) == FALSE) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battleCtx->attacker)
|
||||
&& (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_LINK) == FALSE) {
|
||||
if (ATTACKING_MON.statusVolatile & (VOLATILE_CONDITION_BIND | VOLATILE_CONDITION_MEAN_LOOK)) {
|
||||
LOAD_SUBSEQ(subscript_enemy_escape_failed);
|
||||
battleCtx->scriptCursor = 0;
|
||||
|
|
@ -2028,8 +2029,8 @@ static void BattleControllerPlayer_SafariBallCommand(BattleSystem *battleSys, Ba
|
|||
battleCtx->commandNext = BATTLE_CONTROL_MOVE_END;
|
||||
battleCtx->msgItemTemp = ITEM_SAFARI_BALL;
|
||||
|
||||
int balls = BattleSystem_NumSafariBalls(battleSys) - 1;
|
||||
BattleSystem_SetSafariBalls(battleSys, balls);
|
||||
int balls = BattleSystem_GetNumSafariBalls(battleSys) - 1;
|
||||
BattleSystem_SetNumSafariBalls(battleSys, balls);
|
||||
BattleController_EmitRefreshHPGauge(battleSys, battleCtx, BATTLER_US);
|
||||
}
|
||||
|
||||
|
|
@ -2111,18 +2112,18 @@ static int BattleControllerPlayer_CheckObedience(BattleSystem *battleSys, Battle
|
|||
{
|
||||
int rand1, rand2; // must be defined up here to match
|
||||
u8 maxLevel = 0;
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
TrainerInfo *trInfo = BattleSystem_TrainerInfo(battleSys, 0);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
TrainerInfo *trInfo = BattleSystem_GetTrainerInfo(battleSys, 0);
|
||||
|
||||
// These separate sentinels do not match if chained into a single sentinel
|
||||
if (battleType & BATTLE_TYPE_NO_OBEDIENCE_CHECK) {
|
||||
return OBEY_CHECK_SUCCESS;
|
||||
}
|
||||
if (Battler_Side(battleSys, battleCtx->attacker)) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battleCtx->attacker)) {
|
||||
return OBEY_CHECK_SUCCESS;
|
||||
}
|
||||
if ((battleType & BATTLE_TYPE_AI)
|
||||
&& BattleSystem_BattlerSlot(battleSys, battleCtx->attacker) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2) {
|
||||
&& BattleSystem_GetBattlerType(battleSys, battleCtx->attacker) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2) {
|
||||
return OBEY_CHECK_SUCCESS;
|
||||
}
|
||||
if (BattleSystem_TrainerIsOT(battleSys, battleCtx) == TRUE) {
|
||||
|
|
@ -2865,7 +2866,7 @@ static inline int CalcMoveType(BattleContext *battleCtx, int attacker, int move)
|
|||
*/
|
||||
static int BattleControllerPlayer_CheckMoveHitAccuracy(BattleSystem *battleSys, BattleContext *battleCtx, int attacker, int defender, int move)
|
||||
{
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -3060,7 +3061,7 @@ static int BattleControllerPlayer_CheckMoveHitOverrides(BattleSystem *battleSys,
|
|||
static BOOL BattleControllerPlayer_MoveStolen(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int i, battler; // must declare up here to match
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
if (battleCtx->defender == BATTLER_NONE) {
|
||||
return FALSE;
|
||||
|
|
@ -3351,7 +3352,7 @@ static void BattleControllerPlayer_UpdateHP(BattleSystem *battleSys, BattleConte
|
|||
|
||||
GF_ASSERT(battleCtx->damage < 0);
|
||||
|
||||
if (Battler_Side(battleSys, battleCtx->attacker) == Battler_Side(battleSys, battleCtx->defender)) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battleCtx->attacker) == BattleSystem_GetBattlerSide(battleSys, battleCtx->defender)) {
|
||||
BattleController_EmitIncrementRecord(battleSys, battleCtx->attacker, 0, RECORD_ATTACKED_ALLY);
|
||||
}
|
||||
|
||||
|
|
@ -3641,7 +3642,7 @@ static void BattleControllerPlayer_AfterMoveEffects(BattleSystem *battleSys, Bat
|
|||
switch (battleCtx->afterMoveEffectState) {
|
||||
case AFTER_MOVE_EFFECT_TOGGLE_VANISH_FLAG:
|
||||
BOOL anyFlipped = FALSE;
|
||||
while (battleCtx->afterMoveEffectTemp < BattleSystem_MaxBattlers(battleSys)) {
|
||||
while (battleCtx->afterMoveEffectTemp < BattleSystem_GetMaxBattlers(battleSys)) {
|
||||
if ((battleCtx->battleMons[battleCtx->afterMoveEffectTemp].moveEffectsMask & MOVE_EFFECT_SEMI_INVULNERABLE) == FALSE
|
||||
&& (battleCtx->battleMons[battleCtx->afterMoveEffectTemp].moveEffectsTemp & MOVE_EFFECT_SEMI_INVULNERABLE)) {
|
||||
battleCtx->battleMons[battleCtx->afterMoveEffectTemp].moveEffectsTemp &= ~MOVE_EFFECT_SEMI_INVULNERABLE;
|
||||
|
|
@ -3733,7 +3734,7 @@ static void BattleControllerPlayer_AfterMoveEffects(BattleSystem *battleSys, Bat
|
|||
BOOL result = FALSE;
|
||||
int nextSeq;
|
||||
|
||||
while (battleCtx->afterMoveEffectTemp < BattleSystem_MaxBattlers(battleSys)) {
|
||||
while (battleCtx->afterMoveEffectTemp < BattleSystem_GetMaxBattlers(battleSys)) {
|
||||
battler = battleCtx->monSpeedOrder[battleCtx->afterMoveEffectTemp];
|
||||
|
||||
if (battleCtx->battlersSwitchingMask & FlagIndex(battler)) {
|
||||
|
|
@ -3839,17 +3840,17 @@ static void BattleControllerPlayer_LoopSpreadMoves(BattleSystem *battleSys, Batt
|
|||
|
||||
if (CURRENT_MOVE_DATA.range == RANGE_ADJACENT_OPPONENTS
|
||||
&& (battleCtx->battleStatusMask & SYSCTL_CHECK_LOOP_ONLY_ONCE) == FALSE
|
||||
&& battleCtx->battlerCounter < BattleSystem_MaxBattlers(battleSys)) {
|
||||
&& battleCtx->battlerCounter < BattleSystem_GetMaxBattlers(battleSys)) {
|
||||
battleCtx->multiHitCheckFlags = SYSCTL_HIT_MULTIPLE_TARGETS;
|
||||
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys); // unused, but must stay to match
|
||||
BattlerData *battlerData = BattleSystem_BattlerData(battleSys, battleCtx->attacker);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys); // unused, but must stay to match
|
||||
BattlerData *battlerData = BattleSystem_GetBattlerData(battleSys, battleCtx->attacker);
|
||||
u8 battlerType = Battler_Type(battlerData);
|
||||
|
||||
do {
|
||||
int battler = battleCtx->monSpeedOrder[battleCtx->battlerCounter++];
|
||||
if ((battleCtx->battlersSwitchingMask & FlagIndex(battler)) == FALSE && battleCtx->battleMons[battler].curHP) {
|
||||
battlerData = BattleSystem_BattlerData(battleSys, battler);
|
||||
battlerData = BattleSystem_GetBattlerData(battleSys, battler);
|
||||
|
||||
// Loop back to the start of the move if battlers are on opposite sides
|
||||
if (((battlerType & BATTLER_THEM) && (Battler_Type(battlerData) & BATTLER_THEM) == FALSE)
|
||||
|
|
@ -3860,14 +3861,14 @@ static void BattleControllerPlayer_LoopSpreadMoves(BattleSystem *battleSys, Batt
|
|||
break;
|
||||
}
|
||||
}
|
||||
} while (battleCtx->battlerCounter < BattleSystem_MaxBattlers(battleSys));
|
||||
} while (battleCtx->battlerCounter < BattleSystem_GetMaxBattlers(battleSys));
|
||||
|
||||
BattleController_EmitClearMessageBox(battleSys);
|
||||
} else if (CURRENT_MOVE_DATA.range == RANGE_ALL_ADJACENT
|
||||
&& (battleCtx->battleStatusMask & SYSCTL_CHECK_LOOP_ONLY_ONCE) == FALSE
|
||||
&& battleCtx->battlerCounter < BattleSystem_MaxBattlers(battleSys)) {
|
||||
&& battleCtx->battlerCounter < BattleSystem_GetMaxBattlers(battleSys)) {
|
||||
battleCtx->multiHitCheckFlags = SYSCTL_HIT_MULTIPLE_TARGETS;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys); // unused, but must stay to match.
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys); // unused, but must stay to match.
|
||||
|
||||
do {
|
||||
int battler = battleCtx->monSpeedOrder[battleCtx->battlerCounter++];
|
||||
|
|
@ -3879,7 +3880,7 @@ static void BattleControllerPlayer_LoopSpreadMoves(BattleSystem *battleSys, Batt
|
|||
battleCtx->command = BATTLE_CONTROL_BEFORE_MOVE;
|
||||
break;
|
||||
}
|
||||
} while (battleCtx->battlerCounter < BattleSystem_MaxBattlers(battleSys));
|
||||
} while (battleCtx->battlerCounter < BattleSystem_GetMaxBattlers(battleSys));
|
||||
|
||||
BattleController_EmitClearMessageBox(battleSys);
|
||||
} else {
|
||||
|
|
@ -3962,7 +3963,7 @@ static void BattleControllerPlayer_UpdateMoveBuffers(BattleSystem *battleSys, Ba
|
|||
|
||||
static void BattleControllerPlayer_MoveEnd(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_NO_MOVES) == FALSE) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_NO_MOVES) == FALSE) {
|
||||
if (BattleSystem_RecoverStatusByAbility(battleSys, battleCtx, battleCtx->attacker, FALSE) == TRUE
|
||||
|| (battleCtx->defender != BATTLER_NONE
|
||||
&& BattleSystem_RecoverStatusByAbility(battleSys, battleCtx, battleCtx->defender, FALSE) == TRUE)
|
||||
|
|
@ -4011,21 +4012,21 @@ static void BattleControllerPlayer_CheckAnyFainted(BattleSystem *battleSys, Batt
|
|||
|
||||
static void BattleControllerPlayer_HandleResult(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
if (BattleSystem_ResultMask(battleSys) & BATTLE_RESULT_TRY_FLEE) {
|
||||
if (BattleSystem_GetResultMask(battleSys) & BATTLE_RESULT_TRY_FLEE) {
|
||||
battleCtx->command = BATTLE_CONTROL_FIGHT_END;
|
||||
} else if (BattleSystem_ResultMask(battleSys) == BATTLE_RESULT_LOSE
|
||||
|| BattleSystem_ResultMask(battleSys) == BATTLE_RESULT_DRAW) {
|
||||
} else if (BattleSystem_GetResultMask(battleSys) == BATTLE_RESULT_LOSE
|
||||
|| BattleSystem_GetResultMask(battleSys) == BATTLE_RESULT_DRAW) {
|
||||
LOAD_SUBSEQ(subscript_battle_lost);
|
||||
battleCtx->command = BATTLE_CONTROL_EXEC_SCRIPT;
|
||||
battleCtx->commandNext = BATTLE_CONTROL_FIGHT_END;
|
||||
} else if (BattleSystem_ResultMask(battleSys) == BATTLE_RESULT_WIN) {
|
||||
} else if (BattleSystem_GetResultMask(battleSys) == BATTLE_RESULT_WIN) {
|
||||
LOAD_SUBSEQ(subscript_battle_won);
|
||||
battleCtx->command = BATTLE_CONTROL_EXEC_SCRIPT;
|
||||
battleCtx->commandNext = BATTLE_CONTROL_FIGHT_END;
|
||||
} else if (BattleSystem_ResultMask(battleSys) == BATTLE_RESULT_CAPTURED_MON) {
|
||||
} else if (BattleSystem_GetResultMask(battleSys) == BATTLE_RESULT_CAPTURED_MON) {
|
||||
battleCtx->command = BATTLE_CONTROL_EXEC_SCRIPT;
|
||||
battleCtx->commandNext = BATTLE_CONTROL_FIGHT_END;
|
||||
} else if (BattleSystem_ResultMask(battleSys) == BATTLE_RESULT_PLAYER_FLED) {
|
||||
} else if (BattleSystem_GetResultMask(battleSys) == BATTLE_RESULT_PLAYER_FLED) {
|
||||
battleCtx->command = BATTLE_CONTROL_FIGHT_END;
|
||||
}
|
||||
|
||||
|
|
@ -4041,10 +4042,10 @@ static void BattleControllerPlayer_ScreenWipe(BattleSystem *battleSys, BattleCon
|
|||
|
||||
static void BattleControllerPlayer_EndFight(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
if ((battleType & BATTLE_TYPE_LINK) == FALSE) {
|
||||
Party *playerParty = BattleSystem_Party(battleSys, BATTLER_US);
|
||||
Party *playerParty = BattleSystem_GetParty(battleSys, BATTLER_US);
|
||||
Pokemon_ApplyPokerus(playerParty);
|
||||
Pokemon_ValidatePokerus(playerParty);
|
||||
}
|
||||
|
|
@ -4072,15 +4073,15 @@ static BOOL BattleControllerPlayer_ReplaceFainted(BattleSystem *battleSys, Battl
|
|||
{
|
||||
BOOL result = FALSE;
|
||||
int i; // must be declared here to match
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
int retCommand = battleCtx->command;
|
||||
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
battleCtx->battlerStatusFlags[i] &= ~BATTLER_STATUS_SWITCHING;
|
||||
|
||||
if (((battleType & BATTLE_TYPE_DOUBLES) && (battleType & BATTLE_TYPE_2vs2_TAG) == FALSE)
|
||||
|| ((battleType & BATTLE_TYPE_TAG) && Battler_Side(battleSys, i) == FALSE)) {
|
||||
|| ((battleType & BATTLE_TYPE_TAG) && BattleSystem_GetBattlerSide(battleSys, i) == FALSE)) {
|
||||
// If both of this side's mons have been defeated, replace slot 1 first.
|
||||
if (battleCtx->battleMons[i].curHP == 0 && battleCtx->battleMons[i ^ 2].curHP == 0 && (i & 2)) {
|
||||
continue;
|
||||
|
|
@ -4091,8 +4092,8 @@ static BOOL BattleControllerPlayer_ReplaceFainted(BattleSystem *battleSys, Battl
|
|||
int curHP;
|
||||
int totalHP = 0;
|
||||
int monsAlive = 0;
|
||||
Party *party = BattleSystem_Party(battleSys, i);
|
||||
BattlerData *battlerData = BattleSystem_BattlerData(battleSys, i); // this has to go here, even though it's unused
|
||||
Party *party = BattleSystem_GetParty(battleSys, i);
|
||||
BattlerData *battlerData = BattleSystem_GetBattlerData(battleSys, i); // this has to go here, even though it's unused
|
||||
|
||||
// Check that there are still living mons in the party.
|
||||
for (j = 0; j < Party_GetCurrentCount(party); j++) {
|
||||
|
|
@ -4119,8 +4120,8 @@ static BOOL BattleControllerPlayer_ReplaceFainted(BattleSystem *battleSys, Battl
|
|||
} else if (battleCtx->battleMons[i].curHP == 0) {
|
||||
int j;
|
||||
int curHP = 0;
|
||||
Party *party = BattleSystem_Party(battleSys, i);
|
||||
BattlerData *battlerData = BattleSystem_BattlerData(battleSys, i);
|
||||
Party *party = BattleSystem_GetParty(battleSys, i);
|
||||
BattlerData *battlerData = BattleSystem_GetBattlerData(battleSys, i);
|
||||
|
||||
for (j = 0; j < Party_GetCurrentCount(party); j++) {
|
||||
Pokemon *mon = Party_GetPokemonBySlotIndex(party, j);
|
||||
|
|
@ -4144,7 +4145,7 @@ static BOOL BattleControllerPlayer_ReplaceFainted(BattleSystem *battleSys, Battl
|
|||
|
||||
if (battleCtx->command == BATTLE_CONTROL_EXEC_SCRIPT) {
|
||||
if ((battleType & BATTLE_TYPE_FORCED_SET_MODE) == FALSE
|
||||
&& BattleSystem_Ruleset(battleSys) == 0 // switch mode
|
||||
&& BattleSystem_GetBattleStyle(battleSys) == OPTIONS_BATTLE_STYLE_SHIFT
|
||||
&& ((battleCtx->battlerStatusFlags[0] & BATTLER_STATUS_SWITCHING) == FALSE
|
||||
|| (battleCtx->battlerStatusFlags[1] & BATTLER_STATUS_SWITCHING) == FALSE)
|
||||
&& BattleSystem_AnyReplacementMons(battleSys, battleCtx, BATTLER_US)) {
|
||||
|
|
@ -4182,20 +4183,20 @@ static BOOL BattleControllerPlayer_ReplaceFainted(BattleSystem *battleSys, Battl
|
|||
static BOOL BattleControllerPlayer_CheckBattleOver(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int i;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
u8 battleResult = BATTLE_IN_PROGRESS;
|
||||
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if ((battleType == BATTLE_TYPE_TRAINER_WITH_AI_PARTNER || battleType == BATTLE_TYPE_AI_PARTNER)
|
||||
&& Battler_Side(battleSys, i) == BATTLER_US) {
|
||||
&& BattleSystem_GetBattlerSide(battleSys, i) == BATTLER_US) {
|
||||
// If the player has no more usable Pokemon in a tag battle with an AI-controlled partner,
|
||||
// flag the battle as lost.
|
||||
if (BattleSystem_BattlerSlot(battleSys, i) == BATTLER_TYPE_PLAYER_SIDE_SLOT_1
|
||||
if (BattleSystem_GetBattlerType(battleSys, i) == BATTLER_TYPE_PLAYER_SIDE_SLOT_1
|
||||
&& battleCtx->battleMons[i].curHP == 0) {
|
||||
int totalPartyHP = 0;
|
||||
Party *party = BattleSystem_Party(battleSys, i);
|
||||
BattlerData *battlerData = BattleSystem_BattlerData(battleSys, i);
|
||||
Party *party = BattleSystem_GetParty(battleSys, i);
|
||||
BattlerData *battlerData = BattleSystem_GetBattlerData(battleSys, i);
|
||||
|
||||
for (int j = 0; j < Party_GetCurrentCount(party); j++) {
|
||||
Pokemon *mon = Party_GetPokemonBySlotIndex(party, j);
|
||||
|
|
@ -4209,12 +4210,12 @@ static BOOL BattleControllerPlayer_CheckBattleOver(BattleSystem *battleSys, Batt
|
|||
battleResult |= BATTLE_RESULT_LOSE;
|
||||
}
|
||||
}
|
||||
} else if ((battleType & BATTLE_TYPE_2vs2) || ((battleType & BATTLE_TYPE_TAG) && Battler_Side(battleSys, i))) {
|
||||
} else if ((battleType & BATTLE_TYPE_2vs2) || ((battleType & BATTLE_TYPE_TAG) && BattleSystem_GetBattlerSide(battleSys, i))) {
|
||||
if (battleCtx->battleMons[i].curHP == 0) {
|
||||
int totalPartyHP = 0;
|
||||
Party *party = BattleSystem_Party(battleSys, i);
|
||||
Party *partnerParty = BattleSystem_Party(battleSys, BattleSystem_Partner(battleSys, i));
|
||||
BattlerData *battlerData = BattleSystem_BattlerData(battleSys, i);
|
||||
Party *party = BattleSystem_GetParty(battleSys, i);
|
||||
Party *partnerParty = BattleSystem_GetParty(battleSys, BattleSystem_GetPartner(battleSys, i));
|
||||
BattlerData *battlerData = BattleSystem_GetBattlerData(battleSys, i);
|
||||
|
||||
for (int j = 0; j < Party_GetCurrentCount(party); j++) {
|
||||
Pokemon *mon = Party_GetPokemonBySlotIndex(party, j);
|
||||
|
|
@ -4242,8 +4243,8 @@ static BOOL BattleControllerPlayer_CheckBattleOver(BattleSystem *battleSys, Batt
|
|||
}
|
||||
} else if (battleCtx->battleMons[i].curHP == 0) {
|
||||
int totalPartyHP = 0;
|
||||
Party *party = BattleSystem_Party(battleSys, i);
|
||||
BattlerData *battlerData = BattleSystem_BattlerData(battleSys, i);
|
||||
Party *party = BattleSystem_GetParty(battleSys, i);
|
||||
BattlerData *battlerData = BattleSystem_GetBattlerData(battleSys, i);
|
||||
|
||||
for (int j = 0; j < Party_GetCurrentCount(party); j++) {
|
||||
Pokemon *mon = Party_GetPokemonBySlotIndex(party, j);
|
||||
|
|
@ -4321,7 +4322,7 @@ static BOOL BattleControllerPlayer_CheckBattleOver(BattleSystem *battleSys, Batt
|
|||
}
|
||||
|
||||
if (battleResult) {
|
||||
BattleSystem_SetResultFlag(battleSys, battleResult);
|
||||
BattleSystem_SetResultMask(battleSys, battleResult);
|
||||
}
|
||||
|
||||
return battleResult != 0;
|
||||
|
|
@ -4351,7 +4352,7 @@ static BOOL BattleControllerPlayer_MustSelectTarget(BattleSystem *battleSys, Bat
|
|||
|
||||
if (battleType & BATTLE_TYPE_DOUBLES) {
|
||||
if (*range == RANGE_ALLY) {
|
||||
if ((battleCtx->battlersSwitchingMask & FlagIndex(BattleSystem_Partner(battleSys, battler))) == FALSE) {
|
||||
if ((battleCtx->battlersSwitchingMask & FlagIndex(BattleSystem_GetPartner(battleSys, battler))) == FALSE) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -4380,7 +4381,7 @@ static BOOL BattleControllerPlayer_MustSelectTarget(BattleSystem *battleSys, Bat
|
|||
static void BattleControllerPlayer_ClearFlags(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int i;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
battleCtx->battleMons[i].statusVolatile &= (battleCtx->clearVolatileStatus[i] ^ 0xFFFFFFFF);
|
||||
|
|
@ -4665,7 +4666,7 @@ static BOOL BattleControllerPlayer_CheckExtraFlinch(BattleSystem *battleSys, Bat
|
|||
static BOOL BattleControllerPlayer_ToggleSemiInvulnMons(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
while (battleCtx->vanishedCheckTemp < BattleSystem_MaxBattlers(battleSys)) {
|
||||
while (battleCtx->vanishedCheckTemp < BattleSystem_GetMaxBattlers(battleSys)) {
|
||||
if ((battleCtx->battleMons[battleCtx->vanishedCheckTemp].moveEffectsMask & MOVE_EFFECT_SEMI_INVULNERABLE) == FALSE
|
||||
&& (battleCtx->battleMons[battleCtx->vanishedCheckTemp].moveEffectsTemp & MOVE_EFFECT_SEMI_INVULNERABLE)) {
|
||||
battleCtx->battleMons[battleCtx->vanishedCheckTemp].moveEffectsTemp &= ~MOVE_EFFECT_SEMI_INVULNERABLE;
|
||||
|
|
@ -4716,7 +4717,7 @@ enum AfterMoveHitState {
|
|||
static BOOL BattleControllerPlayer_TriggerAfterMoveHitEffects(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int machineState = STATE_PROCESSING;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys); // unused, but must remain to match
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys); // unused, but must remain to match
|
||||
int itemEffect = Battler_HeldItemEffect(battleCtx, battleCtx->attacker);
|
||||
int itemPower = Battler_HeldItemPower(battleCtx, battleCtx->attacker, 0);
|
||||
|
||||
|
|
@ -4796,7 +4797,7 @@ static BOOL BattleControllerPlayer_TriggerAfterMoveHitEffects(BattleSystem *batt
|
|||
*/
|
||||
static void BattleControllerPlayer_InitAI(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
MI_CpuClear32(&battleCtx->aiContext, sizeof(AIContext));
|
||||
|
||||
if ((battleType & BATTLE_TYPE_TRAINER) && (battleType & BATTLE_TYPE_NO_AI_ITEMS) == FALSE) {
|
||||
|
|
@ -4804,7 +4805,7 @@ static void BattleControllerPlayer_InitAI(BattleSystem *battleSys, BattleContext
|
|||
if (battler & BATTLER_THEM) {
|
||||
// Only enemy AI can use items
|
||||
for (int i = 0; i < MAX_TRAINER_ITEMS; i++) {
|
||||
u16 item = BattleSystem_TrainerItems(battleSys, battler, i);
|
||||
u16 item = BattleSystem_GetTrainerItem(battleSys, battler, i);
|
||||
if (item != ITEM_NONE) {
|
||||
battleCtx->aiContext.trainerItems[battler >> 1][battleCtx->aiContext.trainerItemCounts[battler >> 1]] = item;
|
||||
battleCtx->aiContext.trainerItemCounts[battler >> 1]++;
|
||||
|
|
@ -4820,7 +4821,7 @@ static void BattleControllerPlayer_InitAI(BattleSystem *battleSys, BattleContext
|
|||
static void BattleSystem_RecordCommand(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int battler;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
u8 recordedAction;
|
||||
|
||||
for (battler = 0; battler < maxBattlers; battler++) {
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
#include "struct_defs/struct_020127E8.h"
|
||||
|
||||
#include "battle/battle_display.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/move_display_info.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/ov16_0226DB7C.h"
|
||||
#include "battle/ov16_0226DE44.h"
|
||||
#include "battle/struct_ov16_02260C00.h"
|
||||
|
|
@ -1115,8 +1115,8 @@ void *ov16_022687C8(NARC *param0, NARC *param1, BattleSystem *battleSys, int par
|
|||
(void)0;
|
||||
}
|
||||
|
||||
v1 = BattleSystem_PaletteSys(battleSys);
|
||||
v2 = BattleSystem_Background(battleSys);
|
||||
v1 = BattleSystem_GetPaletteData(battleSys);
|
||||
v2 = BattleSystem_GetBackground(battleSys);
|
||||
|
||||
if (v2 >= NELEMS(Unk_ov16_022704E4)) {
|
||||
v2 = 0;
|
||||
|
|
@ -1135,7 +1135,7 @@ void *ov16_022687C8(NARC *param0, NARC *param1, BattleSystem *battleSys, int par
|
|||
for (i = 0; i < 7; i++) {
|
||||
v0->unk_3C[i] = Heap_Alloc(HEAP_ID_BATTLE, 0x800);
|
||||
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_FRONTIER) && (Unk_ov16_02270264[i] == 49)) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_FRONTIER) && (Unk_ov16_02270264[i] == 49)) {
|
||||
v6 = 170;
|
||||
} else {
|
||||
v6 = Unk_ov16_02270264[i];
|
||||
|
|
@ -1152,7 +1152,7 @@ void *ov16_022687C8(NARC *param0, NARC *param1, BattleSystem *battleSys, int par
|
|||
u16 *v7;
|
||||
int v8;
|
||||
|
||||
v8 = (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_FRONTIER) ? 340 : 242;
|
||||
v8 = (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_FRONTIER) ? 340 : 242;
|
||||
v0->unk_58 = Heap_Alloc(HEAP_ID_BATTLE, 0x200);
|
||||
|
||||
PaletteData_LoadBufferFromFileStart(v1, 7, v8, 5, 1, 0, 0);
|
||||
|
|
@ -1194,7 +1194,7 @@ void *ov16_022687C8(NARC *param0, NARC *param1, BattleSystem *battleSys, int par
|
|||
MI_CpuCopy16(v0->unk_58, v0->unk_5C, 0x20);
|
||||
MI_CpuCopy16(&v0->unk_58[7 * 16], &v0->unk_5C[16 * 1], 0x20);
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
v15 = 341;
|
||||
} else if (Unk_ov16_022704E4[v2].unk_02 != 0xffff) {
|
||||
v15 = Unk_ov16_022704E4[v2].unk_02;
|
||||
|
|
@ -1204,7 +1204,7 @@ void *ov16_022687C8(NARC *param0, NARC *param1, BattleSystem *battleSys, int par
|
|||
|
||||
v14 = Graphics_GetPlttData(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, v15, &v13, HEAP_ID_BATTLE);
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
MI_CpuCopy16(v13->pRawData, v0->unk_60, 0x40);
|
||||
} else {
|
||||
MI_CpuCopy16(v13->pRawData, v0->unk_60, 0x20);
|
||||
|
|
@ -1257,13 +1257,13 @@ void ov16_02268A88(UnkStruct_ov16_02268A14 *param0)
|
|||
|
||||
spriteSys = BattleSystem_GetSpriteSystem(param0->battleSys);
|
||||
spriteMan = BattleSystem_GetSpriteManager(param0->battleSys);
|
||||
v0 = BattleSystem_BGL(param0->battleSys);
|
||||
v3 = BattleSystem_PaletteSys(param0->battleSys);
|
||||
v0 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
v3 = BattleSystem_GetPaletteData(param0->battleSys);
|
||||
|
||||
{
|
||||
int v5;
|
||||
|
||||
if (BattleSystem_BattleType(param0->battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
if (BattleSystem_GetBattleType(param0->battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
v5 = 169;
|
||||
} else {
|
||||
v5 = 28;
|
||||
|
|
@ -1273,13 +1273,13 @@ void ov16_02268A88(UnkStruct_ov16_02268A14 *param0)
|
|||
}
|
||||
|
||||
TypeIcon_LoadAnim(spriteSys, spriteMan, 20017, 20017);
|
||||
TypeIcon_LoadPltt(BattleSystem_PaletteSys(param0->battleSys), PLTTBUF_SUB_OBJ, spriteSys, spriteMan, NNS_G2D_VRAM_TYPE_2DSUB, 20020);
|
||||
TypeIcon_LoadPltt(BattleSystem_GetPaletteData(param0->battleSys), PLTTBUF_SUB_OBJ, spriteSys, spriteMan, NNS_G2D_VRAM_TYPE_2DSUB, 20020);
|
||||
|
||||
for (i = 0; i < LEARNED_MOVES_MAX; i++) {
|
||||
TypeIcon_LoadChar(spriteSys, spriteMan, NNS_G2D_VRAM_TYPE_2DSUB, TYPE_NORMAL, 20025 + i);
|
||||
}
|
||||
|
||||
if (BattleSystem_BattleType(param0->battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
if (BattleSystem_GetBattleType(param0->battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
ov16_0226DE44(spriteSys, spriteMan, 5, v3, 20412, 20036, 20406, 20395);
|
||||
param0->unk_6C4.unk_00 = ov16_0226DEEC(spriteSys, spriteMan, HEAP_ID_BATTLE, 20412, 20036, 20406, 20395, 10, 0);
|
||||
}
|
||||
|
|
@ -1298,7 +1298,7 @@ void ov16_02268B8C(UnkStruct_ov16_02268A14 *param0)
|
|||
TypeIcon_UnloadPlttSrc(v2, 20020);
|
||||
TypeIcon_UnloadAnim(v2, 20017, 20017);
|
||||
|
||||
if (BattleSystem_BattleType(param0->battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
if (BattleSystem_GetBattleType(param0->battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
ov16_0226DF68(param0->unk_6C4.unk_00);
|
||||
ov16_0226DEC4(v2, 20412, 20036, 20406, 20395);
|
||||
}
|
||||
|
|
@ -1318,7 +1318,7 @@ void ov16_02268C04(NARC *param0, NARC *param1, UnkStruct_ov16_02268A14 *param2,
|
|||
|
||||
param2->unk_66E = 0;
|
||||
|
||||
v3 = BattleSystem_BGL(param2->battleSys);
|
||||
v3 = BattleSystem_GetBgConfig(param2->battleSys);
|
||||
v4 = BattleSystem_GetSpriteSystem(param2->battleSys);
|
||||
v5 = BattleSystem_GetSpriteManager(param2->battleSys);
|
||||
|
||||
|
|
@ -1334,7 +1334,7 @@ void ov16_02268C04(NARC *param0, NARC *param1, UnkStruct_ov16_02268A14 *param2,
|
|||
if (0) {
|
||||
int v6;
|
||||
|
||||
if (BattleSystem_BattleType(param2->battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
if (BattleSystem_GetBattleType(param2->battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
v6 = 169;
|
||||
} else {
|
||||
v6 = v0->unk_00;
|
||||
|
|
@ -1350,7 +1350,7 @@ void ov16_02268C04(NARC *param0, NARC *param1, UnkStruct_ov16_02268A14 *param2,
|
|||
}
|
||||
|
||||
if (1) {
|
||||
PaletteData_LoadBuffer(BattleSystem_PaletteSys(param2->battleSys), param2->unk_58, 1, 0, 0x200);
|
||||
PaletteData_LoadBuffer(BattleSystem_GetPaletteData(param2->battleSys), param2->unk_58, 1, 0, 0x200);
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
|
|
@ -1360,7 +1360,7 @@ void ov16_02268C04(NARC *param0, NARC *param1, UnkStruct_ov16_02268A14 *param2,
|
|||
}
|
||||
}
|
||||
|
||||
SpriteSystem_LoadPaletteBufferFromOpenNarc(BattleSystem_PaletteSys(param2->battleSys), 3, v4, v5, param1, 72, 0, 7, NNS_G2D_VRAM_TYPE_2DSUB, 20023);
|
||||
SpriteSystem_LoadPaletteBufferFromOpenNarc(BattleSystem_GetPaletteData(param2->battleSys), 3, v4, v5, param1, 72, 0, 7, NNS_G2D_VRAM_TYPE_2DSUB, 20023);
|
||||
param2->unk_66B = param3;
|
||||
|
||||
G2S_SetBlendAlpha(GX_BLEND_PLANEMASK_BG1, GX_BLEND_BGALL, 8, 12);
|
||||
|
|
@ -1409,7 +1409,7 @@ void ov16_02268D40(NARC *param0, UnkStruct_ov16_02268A14 *param1)
|
|||
{
|
||||
PaletteData *v3;
|
||||
|
||||
v3 = BattleSystem_PaletteSys(param1->battleSys);
|
||||
v3 = BattleSystem_GetPaletteData(param1->battleSys);
|
||||
ov16_0226DB7C(v1, v2, v3, 5, 20411, 20035, 20405, 20394);
|
||||
param1->unk_6B8 = ov16_0226DC24(v1, v2, HEAP_ID_BATTLE, 20411, 20035, 20405, 20394, 5, 0);
|
||||
}
|
||||
|
|
@ -1571,7 +1571,7 @@ void ov16_022691BC(UnkStruct_ov16_02268A14 *param0)
|
|||
Sprite_SetDrawFlag2(param0->unk_5BC[i]->sprite, 1);
|
||||
}
|
||||
|
||||
if (BattleSystem_BattleType(param0->battleSys) & BATTLE_TYPE_TRAINER) {
|
||||
if (BattleSystem_GetBattleType(param0->battleSys) & BATTLE_TYPE_TRAINER) {
|
||||
for (i = 0; i < 6; i++) {
|
||||
Sprite_SetDrawFlag2(param0->unk_5D4[i]->sprite, 1);
|
||||
}
|
||||
|
|
@ -1606,7 +1606,7 @@ int BattleSystem_MenuInput(UnkStruct_ov16_02268A14 *param0)
|
|||
|
||||
GF_ASSERT(v4->unk_18 != NULL);
|
||||
|
||||
if (BattleSystem_BattleType(param0->battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
if (BattleSystem_GetBattleType(param0->battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
v1 = ov16_0226CD18(param0);
|
||||
} else {
|
||||
v1 = TouchScreen_CheckRectanglePressed(v4->unk_14);
|
||||
|
|
@ -1719,7 +1719,7 @@ static void ov16_022694A8(SysTask *param0, void *param1)
|
|||
{
|
||||
UnkStruct_ov16_02268A14 *v0 = param1;
|
||||
int v1 = 0;
|
||||
BgConfig *v2 = BattleSystem_BGL(v0->battleSys);
|
||||
BgConfig *v2 = BattleSystem_GetBgConfig(v0->battleSys);
|
||||
v0->unk_6AC += v0->unk_6B0;
|
||||
|
||||
if (((v0->unk_6B0 <= 0) && (v0->unk_6AC <= v0->unk_6B4)) || ((v0->unk_6B0 > 0) && (v0->unk_6AC >= v0->unk_6B4))) {
|
||||
|
|
@ -1795,11 +1795,11 @@ static void ov16_02269668(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
|
||||
param0->unk_66A = v5;
|
||||
|
||||
if (BattleSystem_BattleType(param0->battleSys) & BATTLE_TYPE_SAFARI) {
|
||||
if (BattleSystem_GetBattleType(param0->battleSys) & BATTLE_TYPE_SAFARI) {
|
||||
v0 = MessageLoader_GetNewString(v4, 931);
|
||||
v1 = MessageLoader_GetNewString(v4, 932);
|
||||
v2 = MessageLoader_GetNewString(v4, 933);
|
||||
} else if (BattleSystem_BattleType(param0->battleSys) & BATTLE_TYPE_PAL_PARK) {
|
||||
} else if (BattleSystem_GetBattleType(param0->battleSys) & BATTLE_TYPE_PAL_PARK) {
|
||||
v0 = MessageLoader_GetNewString(v4, 1223);
|
||||
v1 = MessageLoader_GetNewString(v4, 932);
|
||||
v2 = MessageLoader_GetNewString(v4, 933);
|
||||
|
|
@ -1827,12 +1827,12 @@ static void ov16_02269668(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
String_Free(v2);
|
||||
String_Free(v3);
|
||||
|
||||
if ((BattleSystem_BattleType(param0->battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) == 0) {
|
||||
if ((BattleSystem_GetBattleType(param0->battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) == 0) {
|
||||
Pokemon *v7;
|
||||
ManagedSprite *v8;
|
||||
int v9, v10;
|
||||
|
||||
v7 = BattleSystem_PartyPokemon(param0->battleSys, v6->unk_01, v6->unk_02);
|
||||
v7 = BattleSystem_GetPartyPokemon(param0->battleSys, v6->unk_01, v6->unk_02);
|
||||
ov16_0226A698(param0);
|
||||
v8 = ov16_0226A7A4(param0, v7, v5, v6->unk_04, v6->unk_06, v6->unk_03);
|
||||
|
||||
|
|
@ -1865,7 +1865,7 @@ static void ov16_022698BC(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
{
|
||||
BgConfig *v1;
|
||||
|
||||
v1 = BattleSystem_BGL(param0->battleSys);
|
||||
v1 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
|
||||
Bg_FillTilemapRect(v1, 4, 0x6000 / 0x20 - 1, 0, 0x10, 32, 8, 17);
|
||||
Bg_ScheduleTilemapTransfer(v1, 5);
|
||||
|
|
@ -1893,7 +1893,7 @@ static void ov16_02269938(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
{
|
||||
BgConfig *v1;
|
||||
|
||||
v1 = BattleSystem_BGL(param0->battleSys);
|
||||
v1 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
|
||||
Bg_FillTilemapRect(v1, 4, 0x6000 / 0x20 - 1, 0, 0x10, 10, 8, 17);
|
||||
Bg_FillTilemapRect(v1, 4, 0x6000 / 0x20 - 1, 0x16, 0x10, 10, 8, 17);
|
||||
|
|
@ -1962,7 +1962,7 @@ static void ov16_022699AC(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
{
|
||||
BgConfig *v7;
|
||||
|
||||
v7 = BattleSystem_BGL(param0->battleSys);
|
||||
v7 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
|
||||
if (v0->moveIDs[0] == 0) {
|
||||
sub_020129D0(param0->unk_4CC[0].unk_00, 0);
|
||||
|
|
@ -2029,7 +2029,7 @@ static void ov16_02269DB0(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
StringTemplate *v5;
|
||||
UnkStruct_ov16_022623F0 *v6 = ¶m0->unk_1A.val4;
|
||||
v0 = BattleSystem_GetMessageLoader(param0->battleSys);
|
||||
v5 = BattleSystem_StringTemplate(param0->battleSys);
|
||||
v5 = BattleSystem_GetStringTemplate(param0->battleSys);
|
||||
v1 = MessageLoader_GetNewString(v0, 1186);
|
||||
v2 = MessageLoader_GetNewString(v0, 1187);
|
||||
v3 = String_Init(100, HEAP_ID_BATTLE);
|
||||
|
|
@ -2067,13 +2067,13 @@ static void ov16_02269E94(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
MI_CpuCopy32(v3->rawData, param0->unk_3C[6], 0x800);
|
||||
Heap_Free(v4);
|
||||
|
||||
v2 = BattleSystem_BGL(param0->battleSys);
|
||||
v2 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
Bg_LoadTilemapBuffer(v2, 4, param0->unk_3C[6], 0x800);
|
||||
Bg_ScheduleTilemapTransfer(v2, 4);
|
||||
}
|
||||
|
||||
{
|
||||
BgConfig *v5 = BattleSystem_BGL(param0->battleSys);
|
||||
BgConfig *v5 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
|
||||
MI_CpuClear32(param0->unk_3C[4], 0x800);
|
||||
Bg_LoadTilemapBuffer(v5, 5, param0->unk_3C[4], 0x800);
|
||||
|
|
@ -2091,7 +2091,7 @@ static void ov16_02269F68(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
StringTemplate *v5;
|
||||
UnkStruct_ov16_022623F0 *v6 = ¶m0->unk_1A.val4;
|
||||
v0 = BattleSystem_GetMessageLoader(param0->battleSys);
|
||||
v5 = BattleSystem_StringTemplate(param0->battleSys);
|
||||
v5 = BattleSystem_GetStringTemplate(param0->battleSys);
|
||||
v1 = MessageLoader_GetNewString(v0, 1217);
|
||||
v2 = MessageLoader_GetNewString(v0, 1218);
|
||||
v3 = String_Init(100, HEAP_ID_BATTLE);
|
||||
|
|
@ -2117,7 +2117,7 @@ static void ov16_0226A04C(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
StringTemplate *v5;
|
||||
UnkStruct_ov16_022623F0 *v6 = ¶m0->unk_1A.val4;
|
||||
v0 = BattleSystem_GetMessageLoader(param0->battleSys);
|
||||
v5 = BattleSystem_StringTemplate(param0->battleSys);
|
||||
v5 = BattleSystem_GetStringTemplate(param0->battleSys);
|
||||
v1 = MessageLoader_GetNewString(v0, 1215);
|
||||
v2 = MessageLoader_GetNewString(v0, 1216);
|
||||
v3 = String_Init(100, HEAP_ID_BATTLE);
|
||||
|
|
@ -2157,7 +2157,7 @@ static void ov16_0226A12C(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
param0->unk_66A = v0->unk_20;
|
||||
|
||||
v2 = BattleSystem_GetMessageLoader(param0->battleSys);
|
||||
v8 = BattleSystem_StringTemplate(param0->battleSys);
|
||||
v8 = BattleSystem_GetStringTemplate(param0->battleSys);
|
||||
|
||||
ov16_0226B20C(param0, v3, 0);
|
||||
ov16_0226A698(param0);
|
||||
|
|
@ -2179,7 +2179,7 @@ static void ov16_0226A12C(UnkStruct_ov16_02268A14 *param0, int param1, int param
|
|||
v5 = MessageLoader_GetNewString(v2, 964);
|
||||
}
|
||||
|
||||
v6 = BattleSystem_PartyPokemon(param0->battleSys, v12, v0->unk_00[v12].partySlot);
|
||||
v6 = BattleSystem_GetPartyPokemon(param0->battleSys, v12, v0->unk_00[v12].partySlot);
|
||||
v7 = Pokemon_GetBoxPokemon(v6);
|
||||
|
||||
StringTemplate_SetNickname(v8, 0, v7);
|
||||
|
|
@ -2415,7 +2415,7 @@ static int ov16_0226A528(UnkStruct_ov16_02268A14 *param0, int param1, int param2
|
|||
{
|
||||
BgConfig *v2;
|
||||
|
||||
v2 = BattleSystem_BGL(param0->battleSys);
|
||||
v2 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
Bg_FillTilemap(v2, 5, 0x6000 / 0x20 - 1);
|
||||
Bg_ScheduleTilemapTransfer(v2, 5);
|
||||
}
|
||||
|
|
@ -2461,7 +2461,7 @@ static void ov16_0226A698(UnkStruct_ov16_02268A14 *param0)
|
|||
|
||||
v0 = BattleSystem_GetSpriteSystem(param0->battleSys);
|
||||
v1 = BattleSystem_GetSpriteManager(param0->battleSys);
|
||||
v5 = BattleSystem_PaletteSys(param0->battleSys);
|
||||
v5 = BattleSystem_GetPaletteData(param0->battleSys);
|
||||
|
||||
SpriteSystem_LoadPaletteBuffer(v5, 3, v0, v1, 19, PokeIconPalettesFileIndex(), 0, 3, NNS_G2D_VRAM_TYPE_2DSUB, 20022);
|
||||
SpriteSystem_LoadCellResObj(v0, v1, 19, PokeIcon32KCellsFileIndex(), 0, 20021);
|
||||
|
|
@ -2637,7 +2637,7 @@ static void ov16_0226A98C(UnkStruct_ov16_02268A14 *param0, UnkStruct_ov16_0226A9
|
|||
GF_ASSERT(param1->unk_00 == NULL);
|
||||
|
||||
v6 = BattleSystem_GetSpriteManager(param0->battleSys);
|
||||
v5 = BattleSystem_BGL(param0->battleSys);
|
||||
v5 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
|
||||
if (param10 == NULL) {
|
||||
ov16_0226A95C(param2, param3, &v7, &v8);
|
||||
|
|
@ -2708,7 +2708,7 @@ static void ov16_0226AAF8(UnkStruct_ov16_02268A14 *param0)
|
|||
u8 v0[4], v1[4];
|
||||
int j, i;
|
||||
u16 *v4, *v5;
|
||||
BgConfig *v6 = BattleSystem_BGL(param0->battleSys);
|
||||
BgConfig *v6 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
v4 = Bg_GetTilemapBuffer(v6, 5);
|
||||
|
||||
ov16_0226B20C(param0, v0, 0);
|
||||
|
|
@ -2810,7 +2810,7 @@ void ov16_0226AC98(UnkStruct_ov16_02268A14 *param0, int param1, const MoveDispla
|
|||
v0 = ov16_0226ABD4(param0, param1);
|
||||
v3 = sub_0208C098(6);
|
||||
v9 = MessageLoader_GetNewString(v12, 938);
|
||||
v10 = BattleSystem_StringTemplate(param0->battleSys);
|
||||
v10 = BattleSystem_GetStringTemplate(param0->battleSys);
|
||||
v7 = String_Init((2 + 2 + 1 + 2) * 2 + 2, HEAP_ID_BATTLE);
|
||||
v8 = MessageLoader_GetNewString(v12, 937);
|
||||
|
||||
|
|
@ -2866,7 +2866,7 @@ static void ov16_0226AEA0(UnkStruct_ov16_02268A14 *param0, const String *param1,
|
|||
}
|
||||
|
||||
Window_Init(¶m3->unk_00);
|
||||
Window_AddToTopLeftCorner(BattleSystem_BGL(param0->battleSys), ¶m3->unk_00, v1, 16 / 8, 0, 0);
|
||||
Window_AddToTopLeftCorner(BattleSystem_GetBgConfig(param0->battleSys), ¶m3->unk_00, v1, 16 / 8, 0, 0);
|
||||
Text_AddPrinterWithParamsColorAndSpacing(¶m3->unk_00, param2, param1, 0, 0, TEXT_SPEED_NO_TRANSFER, param4, 0, 0, NULL);
|
||||
}
|
||||
|
||||
|
|
@ -2944,7 +2944,7 @@ static void ov16_0226B028(UnkStruct_ov16_02268A14 *param0)
|
|||
|
||||
static void LoadMoveSelectPlttSlot(UnkStruct_ov16_02268A14 *param0, enum PokemonType moveType, int moveSlot)
|
||||
{
|
||||
LoadMoveSelectPltt(BattleSystem_PaletteSys(param0->battleSys), moveType, 5, PLTTBUF_SUB_BG, PLTT_8 + moveSlot);
|
||||
LoadMoveSelectPltt(BattleSystem_GetPaletteData(param0->battleSys), moveType, 5, PLTTBUF_SUB_BG, PLTT_8 + moveSlot);
|
||||
}
|
||||
|
||||
static void ov16_0226B088(UnkStruct_ov16_02268A14 *param0, int param1)
|
||||
|
|
@ -2952,7 +2952,7 @@ static void ov16_0226B088(UnkStruct_ov16_02268A14 *param0, int param1)
|
|||
PaletteData *paletteSys;
|
||||
int i;
|
||||
|
||||
paletteSys = BattleSystem_PaletteSys(param0->battleSys);
|
||||
paletteSys = BattleSystem_GetPaletteData(param0->battleSys);
|
||||
|
||||
for (i = param1; i < 4; i++) {
|
||||
ov16_0226B31C(param0, &Unk_ov16_0227022C[i], &Unk_ov16_02270274[i], 3, 0);
|
||||
|
|
@ -2965,8 +2965,8 @@ static void ov16_0226B0DC(UnkStruct_ov16_02268A14 *param0, int param1)
|
|||
PaletteData *v0;
|
||||
int v1;
|
||||
const u8 v2[] = { 6, 0xc, 0xd, 5 };
|
||||
BgConfig *v3 = BattleSystem_BGL(param0->battleSys);
|
||||
v0 = BattleSystem_PaletteSys(param0->battleSys);
|
||||
BgConfig *v3 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
v0 = BattleSystem_GetPaletteData(param0->battleSys);
|
||||
|
||||
ov16_0226B31C(param0, &Unk_ov16_022701FC[param1], &Unk_ov16_022702C4[param1], 4, 0);
|
||||
|
||||
|
|
@ -3120,7 +3120,7 @@ static void inline_ov16_0226B318_1(SysTask *param0, void *param1)
|
|||
int v4, v5;
|
||||
|
||||
v1 = &v0->unk_6A0;
|
||||
v3 = BattleSystem_PaletteSys(v0->battleSys);
|
||||
v3 = BattleSystem_GetPaletteData(v0->battleSys);
|
||||
v5 = 0;
|
||||
|
||||
switch (v1->unk_08) {
|
||||
|
|
@ -3163,7 +3163,7 @@ static void inline_ov16_0226B314_1(SysTask *param0, void *param1)
|
|||
u8 v6[4];
|
||||
|
||||
v1 = &v0->unk_6A0;
|
||||
v3 = BattleSystem_PaletteSys(v0->battleSys);
|
||||
v3 = BattleSystem_GetPaletteData(v0->battleSys);
|
||||
v5 = 0;
|
||||
|
||||
switch (v1->unk_08) {
|
||||
|
|
@ -3209,7 +3209,7 @@ static void ov16_0226B31C(UnkStruct_ov16_02268A14 *param0, const s16 *param1, co
|
|||
u16 *v5, *v6;
|
||||
int v7;
|
||||
|
||||
v2 = BattleSystem_BGL(param0->battleSys);
|
||||
v2 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
v3 = Bg_GetTilemapBuffer(v2, 4);
|
||||
v5 = param0->unk_3C[param3];
|
||||
v7 = param1[param4];
|
||||
|
|
@ -3232,7 +3232,7 @@ static void ov16_0226B390(SysTask *param0, void *param1)
|
|||
BgConfig *v1;
|
||||
int v2, v3;
|
||||
|
||||
v1 = BattleSystem_BGL(v0->battleSys);
|
||||
v1 = BattleSystem_GetBgConfig(v0->battleSys);
|
||||
|
||||
switch (v0->unk_67C.unk_00) {
|
||||
case 0:
|
||||
|
|
@ -3287,7 +3287,7 @@ static void ov16_0226B4E0(SysTask *param0, void *param1)
|
|||
int v7, v8, v9;
|
||||
UnkStruct_ov16_02260C00 *v10;
|
||||
|
||||
v1 = BattleSystem_BGL(v0->battleSys);
|
||||
v1 = BattleSystem_GetBgConfig(v0->battleSys);
|
||||
v10 = &v0->unk_1A.val2;
|
||||
|
||||
switch (v0->unk_67C.unk_04_val3.unk_08) {
|
||||
|
|
@ -3413,7 +3413,7 @@ static void ov16_0226B780(SysTask *param0, void *param1)
|
|||
int i, v2, v3;
|
||||
u8 v4[4];
|
||||
|
||||
v1 = BattleSystem_BGL(v0->battleSys);
|
||||
v1 = BattleSystem_GetBgConfig(v0->battleSys);
|
||||
|
||||
switch (v0->unk_67C.unk_00) {
|
||||
case 0:
|
||||
|
|
@ -3517,7 +3517,7 @@ static TextColor ov16_0226B924(int param0, int param1)
|
|||
static void ov16_0226B988(SysTask *param0, void *param1)
|
||||
{
|
||||
UnkStruct_ov16_0226B988 *v0 = param1;
|
||||
BgConfig *v1 = BattleSystem_BGL(v0->unk_00->battleSys);
|
||||
BgConfig *v1 = BattleSystem_GetBgConfig(v0->unk_00->battleSys);
|
||||
|
||||
switch (v0->unk_13) {
|
||||
case 0:
|
||||
|
|
@ -3565,7 +3565,7 @@ static void ov16_0226BA88(SysTask *param0, void *param1)
|
|||
BgConfig *v1;
|
||||
s32 v2, v3, v4;
|
||||
|
||||
v1 = BattleSystem_BGL(v0->unk_00->battleSys);
|
||||
v1 = BattleSystem_GetBgConfig(v0->unk_00->battleSys);
|
||||
|
||||
if (v0->unk_12 == 4) {
|
||||
v4 = 255 - v0->unk_0C;
|
||||
|
|
@ -3629,14 +3629,14 @@ static void ov16_0226BB94(void *param0)
|
|||
v1 = GX_GetVCount();
|
||||
|
||||
if (v1 == (18 * 8)) {
|
||||
BgConfig *v3 = BattleSystem_BGL(v0->unk_00->battleSys);
|
||||
BgConfig *v3 = BattleSystem_GetBgConfig(v0->unk_00->battleSys);
|
||||
|
||||
Bg_SetOffset(v3, BG_LAYER_SUB_0, 0, 0);
|
||||
Bg_SetOffset(v3, BG_LAYER_SUB_0, 3, v0->unk_10);
|
||||
Bg_SetOffset(v3, BG_LAYER_SUB_1, 0, 0);
|
||||
Bg_SetOffset(v3, BG_LAYER_SUB_1, 3, v0->unk_10);
|
||||
} else if (v1 > 192) {
|
||||
BgConfig *v4 = BattleSystem_BGL(v0->unk_00->battleSys);
|
||||
BgConfig *v4 = BattleSystem_GetBgConfig(v0->unk_00->battleSys);
|
||||
|
||||
if (v0->unk_12 == 4) {
|
||||
v2 = 255 - v0->unk_0C;
|
||||
|
|
@ -3716,7 +3716,7 @@ static void ov16_0226BCE4(SysTask *param0, void *param1)
|
|||
PaletteData *v3;
|
||||
s16 v4;
|
||||
|
||||
v3 = BattleSystem_PaletteSys(v0->battleSys);
|
||||
v3 = BattleSystem_GetPaletteData(v0->battleSys);
|
||||
|
||||
if (PaletteData_GetSelectedBuffersMask(v3) != 0) {
|
||||
return;
|
||||
|
|
@ -3753,7 +3753,7 @@ static void ov16_0226BD74(SysTask *param0, void *param1)
|
|||
RenderControlFlags_ZeroSpeedUpBattle();
|
||||
RenderControlFlags_ZeroWaitBattle();
|
||||
|
||||
v1 = BattleSystem_PaletteSys(v0->battleSys);
|
||||
v1 = BattleSystem_GetPaletteData(v0->battleSys);
|
||||
|
||||
if (PaletteData_GetSelectedBuffersMask(v1) != 0) {
|
||||
return;
|
||||
|
|
@ -3764,7 +3764,7 @@ static void ov16_0226BD74(SysTask *param0, void *param1)
|
|||
|
||||
if (gSystem.touchHeld && ((v4 == 1) || (v5 == 1))) {
|
||||
if (memcmp(&v2[8], &v0->unk_5C[8], v3) == 0) {
|
||||
if (BattleSystem_BattleType(v0->battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
if (BattleSystem_GetBattleType(v0->battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
MI_CpuCopy16(&v0->unk_60[0], &v2[0], 0x20);
|
||||
MI_CpuCopy16(&v0->unk_60[16], &v2[7 * 16], 0x20);
|
||||
} else {
|
||||
|
|
@ -3773,7 +3773,7 @@ static void ov16_0226BD74(SysTask *param0, void *param1)
|
|||
}
|
||||
} else {
|
||||
if (memcmp(&v2[8], &v0->unk_60[8], v3) == 0) {
|
||||
if (BattleSystem_BattleType(v0->battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
if (BattleSystem_GetBattleType(v0->battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
MI_CpuCopy16(&v0->unk_5C[0], &v2[0], 0x20);
|
||||
MI_CpuCopy16(&v0->unk_5C[16], &v2[7 * 16], 0x20);
|
||||
} else {
|
||||
|
|
@ -3823,8 +3823,8 @@ static int BattleSystem_Cursor_Menu(UnkStruct_ov16_02268A14 *param0, BOOL cursor
|
|||
|
||||
cursor = ¶m0->cursor;
|
||||
v2 = &Unk_ov16_02270670[param0->unk_66B];
|
||||
v5 = BattleSystem_BattlerOfType(param0->battleSys, param0->unk_66A);
|
||||
v6 = ov16_02263B0C(BattleSystem_BattlerData(param0->battleSys, v5));
|
||||
v5 = BattleSystem_GetBattlerOfType(param0->battleSys, param0->unk_66A);
|
||||
v6 = ov16_02263B0C(BattleSystem_GetBattlerData(param0->battleSys, v5));
|
||||
|
||||
if (cursorHidden == TRUE) {
|
||||
cursor->x = v6->unk_00;
|
||||
|
|
@ -3893,10 +3893,10 @@ static void ov16_0226C0A0(UnkStruct_ov16_02268A14 *param0, int param1)
|
|||
UnkStruct_ov16_0226C378 *v0;
|
||||
int v1, j, i;
|
||||
|
||||
v1 = BattleSystem_BattlerOfType(param0->battleSys, param0->unk_66A);
|
||||
v1 = BattleSystem_GetBattlerOfType(param0->battleSys, param0->unk_66A);
|
||||
|
||||
if ((param1 != 3) || (param0->unk_6C1 == 0)) {
|
||||
v0 = ov16_02263B0C(BattleSystem_BattlerData(param0->battleSys, v1));
|
||||
v0 = ov16_02263B0C(BattleSystem_GetBattlerData(param0->battleSys, v1));
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
for (j = 0; j < 3; j++) {
|
||||
|
|
@ -3956,7 +3956,7 @@ static int BattleSystem_Cursor_Moves(UnkStruct_ov16_02268A14 *param0, BOOL curso
|
|||
int v3, i;
|
||||
u8 v5[3][2];
|
||||
UnkStruct_ov16_02260C00 *v6;
|
||||
UnkStruct_ov16_0226C378 *v7 = ov16_02263B0C(BattleSystem_BattlerData(param0->battleSys, BattleSystem_BattlerOfType(param0->battleSys, param0->unk_66A)));
|
||||
UnkStruct_ov16_0226C378 *v7 = ov16_02263B0C(BattleSystem_GetBattlerData(param0->battleSys, BattleSystem_GetBattlerOfType(param0->battleSys, param0->unk_66A)));
|
||||
cursor = ¶m0->cursor;
|
||||
v2 = &Unk_ov16_02270670[param0->unk_66B];
|
||||
v6 = ¶m0->unk_1A.val2;
|
||||
|
|
@ -4013,8 +4013,8 @@ static void ov16_0226C378(UnkStruct_ov16_02268A14 *param0, int param1)
|
|||
return;
|
||||
}
|
||||
|
||||
v1 = BattleSystem_BattlerOfType(param0->battleSys, param0->unk_66A);
|
||||
v0 = ov16_02263B0C(BattleSystem_BattlerData(param0->battleSys, v1));
|
||||
v1 = BattleSystem_GetBattlerOfType(param0->battleSys, param0->unk_66A);
|
||||
v0 = ov16_02263B0C(BattleSystem_GetBattlerData(param0->battleSys, v1));
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
for (j = 0; j < 2; j++) {
|
||||
|
|
@ -4042,7 +4042,7 @@ static int BattleSystem_Cursor_Battler(UnkStruct_ov16_02268A14 *param0, BOOL cur
|
|||
int v23, v24, v25, v26;
|
||||
int v27, v28;
|
||||
int v29;
|
||||
UnkStruct_ov16_0226C378 *v30 = ov16_02263B0C(BattleSystem_BattlerData(param0->battleSys, BattleSystem_BattlerOfType(param0->battleSys, param0->unk_66A)));
|
||||
UnkStruct_ov16_0226C378 *v30 = ov16_02263B0C(BattleSystem_GetBattlerData(param0->battleSys, BattleSystem_GetBattlerOfType(param0->battleSys, param0->unk_66A)));
|
||||
cursor = ¶m0->cursor;
|
||||
v2 = &Unk_ov16_02270670[param0->unk_66B];
|
||||
|
||||
|
|
@ -4291,8 +4291,8 @@ static void ov16_0226C9B8(UnkStruct_ov16_02268A14 *param0, int param1)
|
|||
return;
|
||||
}
|
||||
|
||||
v1 = BattleSystem_BattlerOfType(param0->battleSys, param0->unk_66A);
|
||||
v0 = ov16_02263B0C(BattleSystem_BattlerData(param0->battleSys, v1));
|
||||
v1 = BattleSystem_GetBattlerOfType(param0->battleSys, param0->unk_66A);
|
||||
v0 = ov16_02263B0C(BattleSystem_GetBattlerData(param0->battleSys, v1));
|
||||
|
||||
v0->unk_06 = param0->unk_66C;
|
||||
|
||||
|
|
@ -4491,10 +4491,10 @@ static int ov16_0226CD18(UnkStruct_ov16_02268A14 *param0)
|
|||
|
||||
v0 = BattleSystem_GetSpriteSystem(param0->battleSys);
|
||||
v1 = BattleSystem_GetSpriteManager(param0->battleSys);
|
||||
v2 = BattleSystem_PaletteSys(param0->battleSys);
|
||||
v2 = BattleSystem_GetPaletteData(param0->battleSys);
|
||||
v3 = 0xffffffff;
|
||||
|
||||
if (ov16_0223F228(param0->battleSys) == 0) {
|
||||
if (BattleSystem_GetCatchingTutorialLowHP(param0->battleSys) == 0) {
|
||||
GF_ASSERT(param0->unk_6C4.unk_04 < NELEMS(Unk_ov16_0227020C));
|
||||
v3 = Unk_ov16_0227020C[param0->unk_6C4.unk_04](param0);
|
||||
} else {
|
||||
|
|
@ -4578,8 +4578,8 @@ static int ov16_0226CE34(UnkStruct_ov16_02268A14 *param0)
|
|||
|
||||
void ov16_0226CEB0(UnkStruct_ov16_02268A14 *param0, int param1)
|
||||
{
|
||||
BgConfig *v0 = BattleSystem_BGL(param0->battleSys);
|
||||
PaletteData *v1 = BattleSystem_PaletteSys(param0->battleSys);
|
||||
BgConfig *v0 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
PaletteData *v1 = BattleSystem_GetPaletteData(param0->battleSys);
|
||||
|
||||
GF_ASSERT(param0->unk_66B == 18);
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -11,9 +11,9 @@
|
|||
#include "battle/battle_cursor.h"
|
||||
#include "battle/battle_display.h"
|
||||
#include "battle/battle_message.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/healthbar.h"
|
||||
#include "battle/message_defs.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/ov16_02264798.h"
|
||||
#include "battle/party_gauge.h"
|
||||
#include "battle/struct_ov16_0223C2C0.h"
|
||||
|
|
@ -134,11 +134,11 @@ void ov16_0225C038(BattleSystem *battleSys, BattlerData *param1, int param2, int
|
|||
BallThrow v0;
|
||||
s16 v1, v2;
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((param1->battlerType & 0x1) && ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_TRAINER) == FALSE)) {
|
||||
if ((param1->battlerType & 0x1) && ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_TRAINER) == FALSE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ void ov16_0225C038(BattleSystem *battleSys, BattlerData *param1, int param2, int
|
|||
v0.target = param1->battler;
|
||||
v0.ballID = param2;
|
||||
v0.cellActorSys = BattleSystem_GetSpriteSystem(battleSys);
|
||||
v0.paletteSys = BattleSystem_PaletteSys(battleSys);
|
||||
v0.paletteSys = BattleSystem_GetPaletteData(battleSys);
|
||||
v0.surface = 0;
|
||||
v0.bgPrio = 1;
|
||||
|
||||
|
|
@ -263,7 +263,7 @@ static void ov16_0225C13C(BattleSystem *battleSys, BattlerData *param1)
|
|||
{
|
||||
UISetupMessage *message = (UISetupMessage *)¶m1->data[0];
|
||||
|
||||
ov16_0223F4F4(battleSys, message->unk_04);
|
||||
BattleSystem_SetSeedDTO(battleSys, message->unk_04);
|
||||
ov16_0225CBB8(battleSys, param1);
|
||||
BattleController_EmitClearCommand(battleSys, param1->battler, 1);
|
||||
ZeroDataBuffer(param1);
|
||||
|
|
@ -580,7 +580,7 @@ static void ov16_0225C47C(BattleSystem *battleSys, BattlerData *param1)
|
|||
{
|
||||
UpdatePartyMonMessage *message = (UpdatePartyMonMessage *)¶m1->data[0];
|
||||
int v1;
|
||||
Pokemon *v2 = BattleSystem_PartyPokemon(battleSys, param1->battler, message->partySlot);
|
||||
Pokemon *v2 = BattleSystem_GetPartyPokemon(battleSys, param1->battler, message->partySlot);
|
||||
|
||||
if ((message->statusVolatile & 0x200000) == 0) {
|
||||
for (v1 = 0; v1 < LEARNED_MOVES_MAX; v1++) {
|
||||
|
|
@ -616,7 +616,7 @@ static void ov16_0225C558(BattleSystem *battleSys, BattlerData *param1)
|
|||
u32 battleType;
|
||||
UnkStruct_ov16_02268A14 *v1;
|
||||
|
||||
battleType = BattleSystem_BattleType(battleSys);
|
||||
battleType = BattleSystem_GetBattleType(battleSys);
|
||||
v1 = ov16_0223E02C(battleSys);
|
||||
|
||||
if (param1->bootState == 0x0) {
|
||||
|
|
@ -643,10 +643,10 @@ static void ov16_0225C5E0(BattleSystem *battleSys, BattlerData *param1)
|
|||
Pokemon *v1;
|
||||
int v2, v3, v4;
|
||||
u32 v5 = 0;
|
||||
v3 = BattleSystem_PartyCount(battleSys, param1->battler);
|
||||
v3 = BattleSystem_GetPartyCount(battleSys, param1->battler);
|
||||
|
||||
for (v2 = 0; v2 < v3; v2++) {
|
||||
v1 = BattleSystem_PartyPokemon(battleSys, param1->battler, v2);
|
||||
v1 = BattleSystem_GetPartyPokemon(battleSys, param1->battler, v2);
|
||||
|
||||
if (message->ability == 104) {
|
||||
v4 = ABILITY_NONE;
|
||||
|
|
@ -699,13 +699,13 @@ static void ov16_0225C684(BattleSystem *battleSys, BattlerData *param1)
|
|||
*v2 = v1;
|
||||
|
||||
PokemonSprite_ScheduleReloadFromNARC(param1->unk_20);
|
||||
CharacterSprite_LoadPokemonSprite(v2->narcID, v2->character, HEAP_ID_BATTLE, ov16_0223F2B8(ov16_0223E0C8(battleSys), param1->battler), message->personality, FALSE, v4, v2->spindaSpots);
|
||||
CharacterSprite_LoadPokemonSprite(v2->narcID, v2->character, HEAP_ID_BATTLE, PokemonSpriteData_GetTiles(BattleSystem_GetPokemonSpriteData(battleSys), param1->battler), message->personality, FALSE, v4, v2->spindaSpots);
|
||||
|
||||
PokemonSpriteData_SetNarcID(ov16_0223E0C8(battleSys), param1->battler, v2->narcID);
|
||||
PokemonSpriteData_SetPalette(ov16_0223E0C8(battleSys), param1->battler, v2->palette);
|
||||
PokemonSpriteData_SetNarcID(BattleSystem_GetPokemonSpriteData(battleSys), param1->battler, v2->narcID);
|
||||
PokemonSpriteData_SetPalette(BattleSystem_GetPokemonSpriteData(battleSys), param1->battler, v2->palette);
|
||||
|
||||
v3 = LoadPokemonSpriteYOffset(message->species, message->gender, v4, message->formNum, message->personality);
|
||||
PokemonSpriteData_SetYOffset(ov16_0223E0C8(battleSys), param1->battler, v3);
|
||||
PokemonSpriteData_SetYOffset(BattleSystem_GetPokemonSpriteData(battleSys), param1->battler, v3);
|
||||
|
||||
v3 = ov12_022384CC(param1->battlerType, 1) + v3;
|
||||
PokemonSprite_SetAttribute(param1->unk_20, MON_SPRITE_Y_CENTER, v3);
|
||||
|
|
@ -741,10 +741,10 @@ static void ov16_0225C79C(BattleSystem *battleSys, BattlerData *param1)
|
|||
NARC_dtor(v3);
|
||||
NARC_dtor(v4);
|
||||
|
||||
v1 = BattleSystem_Partner(battleSys, param1->battler);
|
||||
v1 = BattleSystem_GetPartner(battleSys, param1->battler);
|
||||
|
||||
if (v1 != param1->battler) {
|
||||
v2 = ov16_0223F35C(battleSys, v1);
|
||||
v2 = BattleSystem_GetHealthbar(battleSys, v1);
|
||||
ov16_0226846C(v2);
|
||||
}
|
||||
|
||||
|
|
@ -778,7 +778,7 @@ static void ov16_0225C868(BattleSystem *battleSys, BattlerData *param1)
|
|||
{
|
||||
PartyGaugeData *v0 = (PartyGaugeData *)¶m1->data[0];
|
||||
|
||||
if (Battler_Side(battleSys, param1->battler)) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, param1->battler)) {
|
||||
BattleDisplay_ShowPartyGauge(battleSys, param1, v0);
|
||||
} else {
|
||||
BattleController_EmitClearCommand(battleSys, param1->battler, 50);
|
||||
|
|
@ -791,7 +791,7 @@ static void ov16_0225C8A4(BattleSystem *battleSys, BattlerData *param1)
|
|||
{
|
||||
PartyGaugeData *v0 = (PartyGaugeData *)¶m1->data[0];
|
||||
|
||||
if (Battler_Side(battleSys, param1->battler)) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, param1->battler)) {
|
||||
BattleDisplay_HidePartyGauge(battleSys, param1, v0);
|
||||
} else {
|
||||
BattleController_EmitClearCommand(battleSys, param1->battler, 51);
|
||||
|
|
@ -804,7 +804,7 @@ static void ov16_0225C8E0(BattleSystem *battleSys, BattlerData *param1)
|
|||
{
|
||||
SpriteSystem *v0 = BattleSystem_GetSpriteSystem(battleSys);
|
||||
SpriteManager *v1 = BattleSystem_GetSpriteManager(battleSys);
|
||||
PaletteData *v2 = BattleSystem_PaletteSys(battleSys);
|
||||
PaletteData *v2 = BattleSystem_GetPaletteData(battleSys);
|
||||
|
||||
PartyGauge_LoadGraphics(v0, v1, v2);
|
||||
BattleController_EmitClearCommand(battleSys, param1->battler, 52);
|
||||
|
|
@ -928,17 +928,17 @@ static void ov16_0225CA74(BattleSystem *battleSys, BattlerData *param1)
|
|||
|
||||
ov16_0223F638(battleSys, message->unk_02, message->unk_08);
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
BattleSystem_SetResultFlag(battleSys, message->resultMask);
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_FRONTIER) {
|
||||
BattleSystem_SetResultMask(battleSys, message->resultMask);
|
||||
} else {
|
||||
for (v4 = 0; v4 < BattleSystem_MaxBattlers(battleSys); v4++) {
|
||||
v1 = BattleSystem_Party(battleSys, v4);
|
||||
for (v4 = 0; v4 < BattleSystem_GetMaxBattlers(battleSys); v4++) {
|
||||
v1 = BattleSystem_GetParty(battleSys, v4);
|
||||
|
||||
for (v3 = 0; v3 < Party_GetCurrentCount(v1); v3++) {
|
||||
v2 = Party_GetPokemonBySlotIndex(v1, v3);
|
||||
|
||||
if ((Pokemon_GetValue(v2, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v2, MON_DATA_IS_EGG, NULL) == 0)) {
|
||||
if (Battler_Side(battleSys, v4)) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, v4)) {
|
||||
v6 += Pokemon_GetValue(v2, MON_DATA_HP, NULL);
|
||||
} else {
|
||||
v5 += Pokemon_GetValue(v2, MON_DATA_HP, NULL);
|
||||
|
|
@ -948,11 +948,11 @@ static void ov16_0225CA74(BattleSystem *battleSys, BattlerData *param1)
|
|||
}
|
||||
|
||||
if ((v5 == 0) && (v6 == 0)) {
|
||||
BattleSystem_SetResultFlag(battleSys, 0x3);
|
||||
BattleSystem_SetResultMask(battleSys, 0x3);
|
||||
} else if (v5 == 0) {
|
||||
BattleSystem_SetResultFlag(battleSys, 0x2);
|
||||
BattleSystem_SetResultMask(battleSys, 0x2);
|
||||
} else {
|
||||
BattleSystem_SetResultFlag(battleSys, 0x1);
|
||||
BattleSystem_SetResultMask(battleSys, 0x1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -962,7 +962,7 @@ static void ov16_0225CA74(BattleSystem *battleSys, BattlerData *param1)
|
|||
|
||||
static void ov16_0225CB80(BattleSystem *battleSys, BattlerData *param1)
|
||||
{
|
||||
Window *v0 = BattleSystem_Window(battleSys, 0);
|
||||
Window *v0 = BattleSystem_GetWindow(battleSys, 0);
|
||||
|
||||
Window_FillTilemap(v0, 0xff);
|
||||
Window_LoadTiles(v0);
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
#include "battle/battle_display.h"
|
||||
#include "battle/battle_message.h"
|
||||
#include "battle/battle_mon.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/common.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/struct_ov16_0225BFFC_decl.h"
|
||||
|
||||
#include "charcode_util.h"
|
||||
|
|
@ -69,7 +69,7 @@ static const Fraction sStatStageBoosts[];
|
|||
|
||||
void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int partySlot)
|
||||
{
|
||||
Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, partySlot);
|
||||
Pokemon *mon = BattleSystem_GetPartyPokemon(battleSys, battler, partySlot);
|
||||
|
||||
battleCtx->battleMons[battler].species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL);
|
||||
battleCtx->battleMons[battler].attack = Pokemon_GetValue(mon, MON_DATA_ATK, NULL);
|
||||
|
|
@ -116,7 +116,7 @@ void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCt
|
|||
battleCtx->battleMons[battler].gender = Pokemon_GetGender(mon);
|
||||
battleCtx->battleMons[battler].isShiny = Pokemon_IsShiny(mon);
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_NO_ABILITIES) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_NO_ABILITIES) {
|
||||
battleCtx->battleMons[battler].ability = ABILITY_NONE;
|
||||
battleCtx->battleMons[battler].status = MON_CONDITION_NONE;
|
||||
battleCtx->battleMons[battler].heldItem = ITEM_NONE;
|
||||
|
|
@ -126,7 +126,7 @@ void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCt
|
|||
battleCtx->battleMons[battler].heldItem = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL);
|
||||
}
|
||||
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_NO_ABILITIES) && Battler_Side(battleSys, battler) == BATTLER_US) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_NO_ABILITIES) && BattleSystem_GetBattlerSide(battleSys, battler) == BATTLER_US) {
|
||||
battleCtx->battleMons[battler].formNum = 0;
|
||||
} else {
|
||||
battleCtx->battleMons[battler].formNum = Pokemon_GetValue(mon, MON_DATA_FORM, NULL);
|
||||
|
|
@ -157,7 +157,7 @@ void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCt
|
|||
battleCtx->battleMons[battler].timesDamaged = 0;
|
||||
battleCtx->battleMons[battler].trainerMessageFlags = 0;
|
||||
|
||||
int side = Battler_Side(battleSys, battler);
|
||||
int side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
if (battleCtx->sideConditions[side].knockedOffItemsMask & FlagIndex(battleCtx->selectedPartySlot[battler])) {
|
||||
battleCtx->battleMons[battler].heldItem = ITEM_NONE;
|
||||
battleCtx->battleMons[battler].moveEffectsData.canUnburden = FALSE;
|
||||
|
|
@ -168,7 +168,7 @@ void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCt
|
|||
|
||||
void BattleSystem_ReloadPokemon(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int partySlot)
|
||||
{
|
||||
Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, partySlot);
|
||||
Pokemon *mon = BattleSystem_GetPartyPokemon(battleSys, battler, partySlot);
|
||||
|
||||
battleCtx->battleMons[battler].attack = Pokemon_GetValue(mon, MON_DATA_ATK, NULL);
|
||||
battleCtx->battleMons[battler].defense = Pokemon_GetValue(mon, MON_DATA_DEF, NULL);
|
||||
|
|
@ -1271,7 +1271,7 @@ u8 BattleSystem_CompareBattlerSpeed(BattleSystem *battleSys, BattleContext *batt
|
|||
battler1Speed *= 2;
|
||||
}
|
||||
|
||||
if (battleCtx->sideConditionsMask[Battler_Side(battleSys, battler1)] & SIDE_CONDITION_TAILWIND) {
|
||||
if (battleCtx->sideConditionsMask[BattleSystem_GetBattlerSide(battleSys, battler1)] & SIDE_CONDITION_TAILWIND) {
|
||||
battler1Speed *= 2;
|
||||
}
|
||||
|
||||
|
|
@ -1337,7 +1337,7 @@ u8 BattleSystem_CompareBattlerSpeed(BattleSystem *battleSys, BattleContext *batt
|
|||
battler2Speed *= 2;
|
||||
}
|
||||
|
||||
if (battleCtx->sideConditionsMask[Battler_Side(battleSys, battler2)] & SIDE_CONDITION_TAILWIND) {
|
||||
if (battleCtx->sideConditionsMask[BattleSystem_GetBattlerSide(battleSys, battler2)] & SIDE_CONDITION_TAILWIND) {
|
||||
battler2Speed *= 2;
|
||||
}
|
||||
|
||||
|
|
@ -1461,7 +1461,7 @@ void BattleSystem_ClearSideExpGain(BattleContext *battleCtx, int battler)
|
|||
void BattleSystem_FlagBattlerExpGain(BattleSystem *battleSys, BattleContext *battleCtx, int battler)
|
||||
{
|
||||
int side = 0;
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
while (side <= 2) {
|
||||
if ((battleCtx->battlersSwitchingMask & FlagIndex(side)) == FALSE
|
||||
|
|
@ -1609,8 +1609,8 @@ int BattleSystem_Defender(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
}
|
||||
|
||||
if (range == RANGE_ADJACENT_OPPONENTS) { // e.g., Acid, Blizzard
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
BattlerData *battlerData = BattleSystem_BattlerData(battleSys, attacker);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
BattlerData *battlerData = BattleSystem_GetBattlerData(battleSys, attacker);
|
||||
u8 attackerType = Battler_Type(battlerData);
|
||||
|
||||
// Assign the first possible living target based on speed order
|
||||
|
|
@ -1619,7 +1619,7 @@ int BattleSystem_Defender(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
|
||||
// Check that this battler is an enemy of the attacker
|
||||
if (battleCtx->battleMons[battler].curHP != 0) {
|
||||
battlerData = BattleSystem_BattlerData(battleSys, battler);
|
||||
battlerData = BattleSystem_GetBattlerData(battleSys, battler);
|
||||
if (((attackerType & BATTLER_TYPE_SOLO_ENEMY) && (Battler_Type(battlerData) & BATTLER_TYPE_SOLO_ENEMY) == FALSE)
|
||||
|| ((attackerType & BATTLER_TYPE_SOLO_ENEMY) == FALSE) && (Battler_Type(battlerData) & BATTLER_TYPE_SOLO_ENEMY)) {
|
||||
defender = battler;
|
||||
|
|
@ -1632,7 +1632,7 @@ int BattleSystem_Defender(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
battleCtx->battlerCounter++;
|
||||
}
|
||||
} else if (range == RANGE_ALL_ADJACENT) { // e.g., Earthquake, Surf
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
// Assign the first possible living target based on speed order
|
||||
for (battleCtx->battlerCounter = 0; battleCtx->battlerCounter < maxBattlers; battleCtx->battlerCounter++) {
|
||||
|
|
@ -1649,9 +1649,9 @@ int BattleSystem_Defender(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
battleCtx->battlerCounter++;
|
||||
}
|
||||
} else if (range == RANGE_USER_OR_ALLY && randomize == TRUE) { // e.g., Acupressure
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_DOUBLES)
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_DOUBLES)
|
||||
&& BattleSystem_RandNext(battleSys) % 2 == 0) {
|
||||
defender = BattleSystem_Partner(battleSys, attacker);
|
||||
defender = BattleSystem_GetPartner(battleSys, attacker);
|
||||
if (battleCtx->battleMons[defender].curHP == 0) {
|
||||
defender = attacker;
|
||||
}
|
||||
|
|
@ -1668,13 +1668,13 @@ int BattleSystem_Defender(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
|| range == RANGE_FIELD) { // e.g., Sunny Day
|
||||
defender = attacker;
|
||||
} else if (range == RANGE_ALLY) { // e.g., Helping Hand
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
defender = BattleSystem_Partner(battleSys, attacker);
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
defender = BattleSystem_GetPartner(battleSys, attacker);
|
||||
} else {
|
||||
defender = attacker;
|
||||
}
|
||||
} else if (range == RANGE_USER_OR_ALLY) { // e.g., Acupressure
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
defender = battleCtx->battlerActions[attacker][BATTLE_ACTION_CHOOSE_TARGET];
|
||||
if (battleCtx->battleMons[defender].curHP == 0) {
|
||||
defender = attacker;
|
||||
|
|
@ -1684,11 +1684,11 @@ int BattleSystem_Defender(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
}
|
||||
} else if (range == RANGE_RANDOM_OPPONENT || randomize == TRUE) { // e.g., Outrage, Thrash, any other reason the move should be randomly targeted
|
||||
int opponents[2];
|
||||
int battleType = BattleSystem_BattleType(battleSys);
|
||||
int enemySide = Battler_Side(battleSys, attacker) ^ 1;
|
||||
int battleType = BattleSystem_GetBattleType(battleSys);
|
||||
int enemySide = BattleSystem_GetBattlerSide(battleSys, attacker) ^ 1;
|
||||
|
||||
opponents[0] = BattleSystem_EnemyInSlot(battleSys, attacker, ENEMY_IN_SLOT_RIGHT);
|
||||
opponents[1] = BattleSystem_EnemyInSlot(battleSys, attacker, ENEMY_IN_SLOT_LEFT);
|
||||
opponents[0] = BattleSystem_GetEnemyInSlot(battleSys, attacker, ENEMY_IN_SLOT_RIGHT);
|
||||
opponents[1] = BattleSystem_GetEnemyInSlot(battleSys, attacker, ENEMY_IN_SLOT_LEFT);
|
||||
|
||||
if (battleType & BATTLE_TYPE_DOUBLES) {
|
||||
if (battleCtx->sideConditions[enemySide].followMe
|
||||
|
|
@ -1707,9 +1707,9 @@ int BattleSystem_Defender(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
defender = attacker ^ 1;
|
||||
}
|
||||
} else { // the usual single-target moves, e.g., Flamethrower, Thunderbolt
|
||||
int enemySide = Battler_Side(battleSys, attacker) ^ 1;
|
||||
int enemySide = BattleSystem_GetBattlerSide(battleSys, attacker) ^ 1;
|
||||
int target = battleCtx->battlerActions[attacker][BATTLE_ACTION_CHOOSE_TARGET];
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
if (battleCtx->sideConditions[enemySide].followMe
|
||||
&& battleCtx->battleMons[battleCtx->sideConditions[enemySide].followMeUser].curHP) {
|
||||
|
|
@ -1739,7 +1739,7 @@ void BattleSystem_CheckRedirectionAbilities(BattleSystem *battleSys, BattleConte
|
|||
return;
|
||||
}
|
||||
|
||||
int defSide = Battler_Side(battleSys, attacker) ^ 1;
|
||||
int defSide = BattleSystem_GetBattlerSide(battleSys, attacker) ^ 1;
|
||||
if (battleCtx->sideConditions[defSide].followMe && FOLLOW_ME_MON(defSide).curHP) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -1749,7 +1749,7 @@ void BattleSystem_CheckRedirectionAbilities(BattleSystem *battleSys, BattleConte
|
|||
moveType = MOVE_DATA(move).type;
|
||||
}
|
||||
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
if (moveType == TYPE_ELECTRIC
|
||||
&& (MOVE_DATA(move).range == RANGE_SINGLE_TARGET || MOVE_DATA(move).range == RANGE_RANDOM_OPPONENT)
|
||||
&& (battleCtx->battleStatusMask & SYSCTL_FIRST_OF_MULTI_TURN) == FALSE
|
||||
|
|
@ -1872,7 +1872,7 @@ enum CheckTrainerMessageState {
|
|||
|
||||
BOOL BattleSystem_CheckTrainerMessage(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int battleType = BattleSystem_BattleType(battleSys);
|
||||
int battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
if (battleType & BATTLE_TYPE_NO_TRAINER_MESSAGES) {
|
||||
return FALSE;
|
||||
|
|
@ -1886,7 +1886,7 @@ BOOL BattleSystem_CheckTrainerMessage(BattleSystem *battleSys, BattleContext *ba
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
int trID = Battler_TrainerID(battleSys, BATTLER_THEM);
|
||||
int trID = Battler_GetTrainerID(battleSys, BATTLER_THEM);
|
||||
int state = CHECK_TRMSG_START;
|
||||
|
||||
do {
|
||||
|
|
@ -1917,7 +1917,7 @@ BOOL BattleSystem_CheckTrainerMessage(BattleSystem *battleSys, BattleContext *ba
|
|||
|
||||
case CHECK_TRMSG_LAST_BATTLER:
|
||||
if ((battleCtx->battleMons[BATTLER_THEM].trainerMessageFlags & TRMSG_LAST_BATTLER_FLAG) == FALSE) {
|
||||
Party *party = BattleSystem_Party(battleSys, BATTLER_THEM);
|
||||
Party *party = BattleSystem_GetParty(battleSys, BATTLER_THEM);
|
||||
int alive = 0;
|
||||
|
||||
for (int i = 0; i < Party_GetCurrentCount(party); i++) {
|
||||
|
|
@ -1940,7 +1940,7 @@ BOOL BattleSystem_CheckTrainerMessage(BattleSystem *battleSys, BattleContext *ba
|
|||
|
||||
case CHECK_TRMSG_LAST_BATTLER_HALF_HP:
|
||||
if ((battleCtx->battleMons[BATTLER_THEM].trainerMessageFlags & TRMSG_LAST_BATTLER_HALF_HP_FLAG) == FALSE) {
|
||||
Party *party = BattleSystem_Party(battleSys, BATTLER_THEM);
|
||||
Party *party = BattleSystem_GetParty(battleSys, BATTLER_THEM);
|
||||
int alive = 0;
|
||||
|
||||
for (int i = 0; i < Party_GetCurrentCount(party); i++) {
|
||||
|
|
@ -2027,7 +2027,7 @@ void BattleContext_InitCounters(BattleSystem *battleSys, BattleContext *battleCt
|
|||
battleCtx->prizeMoneyMul = 1;
|
||||
battleCtx->meFirstTurnOrder = 1;
|
||||
|
||||
int battleType = BattleSystem_BattleType(battleSys);
|
||||
int battleType = BattleSystem_GetBattleType(battleSys);
|
||||
if ((battleType & BATTLE_TYPE_DOUBLES) == FALSE) {
|
||||
battleCtx->battlersSwitchingMask |= FlagIndex(BATTLER_PLAYER_2);
|
||||
battleCtx->battlersSwitchingMask |= FlagIndex(BATTLER_ENEMY_2);
|
||||
|
|
@ -2046,8 +2046,8 @@ void BattleSystem_UpdateAfterSwitch(BattleSystem *battleSys, BattleContext *batt
|
|||
MoveEffectsData moveEffects;
|
||||
|
||||
moveEffects = battleCtx->battleMons[battler].moveEffectsData;
|
||||
maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
battleType = BattleSystem_BattleType(battleSys);
|
||||
maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
// Forcefully end the battler's turn after the replacement
|
||||
battleCtx->battlerActions[battler][BATTLE_ACTION_PICK_COMMAND] = BATTLE_CONTROL_MOVE_END;
|
||||
|
|
@ -2141,7 +2141,7 @@ void BattleSystem_UpdateAfterSwitch(BattleSystem *battleSys, BattleContext *batt
|
|||
}
|
||||
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if (i != battler && Battler_Side(battleSys, i) != Battler_Side(battleSys, battler)) {
|
||||
if (i != battler && BattleSystem_GetBattlerSide(battleSys, i) != BattleSystem_GetBattlerSide(battleSys, battler)) {
|
||||
battleCtx->moveCopied[i] = MOVE_NONE;
|
||||
}
|
||||
|
||||
|
|
@ -2155,7 +2155,7 @@ void BattleSystem_UpdateAfterSwitch(BattleSystem *battleSys, BattleContext *batt
|
|||
|
||||
void BattleSystem_CleanupFaintedMon(BattleSystem *battleSys, BattleContext *battleCtx, int battler)
|
||||
{
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
int i;
|
||||
|
||||
for (i = BATTLE_STAT_HP; i < BATTLE_STAT_MAX; i++) {
|
||||
|
|
@ -2213,7 +2213,7 @@ void BattleSystem_CleanupFaintedMon(BattleSystem *battleSys, BattleContext *batt
|
|||
battleCtx->fieldConditionsMask &= (FlagIndex(battler) << FIELD_CONDITION_UPROAR_SHIFT) ^ 0xFFFFFFFF;
|
||||
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if (i != battler && Battler_Side(battleSys, i) != Battler_Side(battleSys, battler)) {
|
||||
if (i != battler && BattleSystem_GetBattlerSide(battleSys, i) != BattleSystem_GetBattlerSide(battleSys, battler)) {
|
||||
battleCtx->moveCopied[i] = MOVE_NONE;
|
||||
}
|
||||
battleCtx->moveCopiedHit[i][battler] = 0;
|
||||
|
|
@ -2825,7 +2825,7 @@ BOOL BattleContext_MoveFailed(BattleContext *battleCtx, int battler)
|
|||
u8 BattleSystem_CountAliveBattlers(BattleSystem *battleSys, BattleContext *battleCtx, BOOL sameSide, int defender)
|
||||
{
|
||||
u8 count = 0;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
// no clue why they used a switch statement for this, but changing it to an if-else doesn't match
|
||||
switch (sameSide) {
|
||||
|
|
@ -2839,7 +2839,7 @@ u8 BattleSystem_CountAliveBattlers(BattleSystem *battleSys, BattleContext *battl
|
|||
|
||||
case TRUE:
|
||||
for (int i = 0; i < maxBattlers; i++) {
|
||||
if (Battler_Side(battleSys, i) == Battler_Side(battleSys, defender)
|
||||
if (BattleSystem_GetBattlerSide(battleSys, i) == BattleSystem_GetBattlerSide(battleSys, defender)
|
||||
&& battleCtx->battleMons[i].curHP) {
|
||||
count++;
|
||||
}
|
||||
|
|
@ -2871,12 +2871,12 @@ int BattleSystem_CountAbility(BattleSystem *battleSys, BattleContext *battleCtx,
|
|||
{
|
||||
int result = 0;
|
||||
int i;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
switch (mode) {
|
||||
case COUNT_ALL_BATTLERS_OUR_SIDE:
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if (Battler_Side(battleSys, i) == Battler_Side(battleSys, battler)
|
||||
if (BattleSystem_GetBattlerSide(battleSys, i) == BattleSystem_GetBattlerSide(battleSys, battler)
|
||||
&& Battler_Ability(battleCtx, i) == ability) {
|
||||
result++;
|
||||
}
|
||||
|
|
@ -2885,7 +2885,7 @@ int BattleSystem_CountAbility(BattleSystem *battleSys, BattleContext *battleCtx,
|
|||
|
||||
case COUNT_ALIVE_BATTLERS_OUR_SIDE:
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if (Battler_Side(battleSys, i) == Battler_Side(battleSys, battler)
|
||||
if (BattleSystem_GetBattlerSide(battleSys, i) == BattleSystem_GetBattlerSide(battleSys, battler)
|
||||
&& battleCtx->battleMons[i].curHP
|
||||
&& Battler_Ability(battleCtx, i) == ability) {
|
||||
result++;
|
||||
|
|
@ -2895,7 +2895,7 @@ int BattleSystem_CountAbility(BattleSystem *battleSys, BattleContext *battleCtx,
|
|||
|
||||
case COUNT_ALL_BATTLERS_THEIR_SIDE:
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if (Battler_Side(battleSys, i) != Battler_Side(battleSys, battler)
|
||||
if (BattleSystem_GetBattlerSide(battleSys, i) != BattleSystem_GetBattlerSide(battleSys, battler)
|
||||
&& Battler_Ability(battleCtx, i) == ability) {
|
||||
result++;
|
||||
}
|
||||
|
|
@ -2904,7 +2904,7 @@ int BattleSystem_CountAbility(BattleSystem *battleSys, BattleContext *battleCtx,
|
|||
|
||||
case COUNT_ALIVE_BATTLERS_THEIR_SIDE:
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if (Battler_Side(battleSys, i) != Battler_Side(battleSys, battler)
|
||||
if (BattleSystem_GetBattlerSide(battleSys, i) != BattleSystem_GetBattlerSide(battleSys, battler)
|
||||
&& battleCtx->battleMons[i].curHP
|
||||
&& Battler_Ability(battleCtx, i) == ability) {
|
||||
result++;
|
||||
|
|
@ -2914,7 +2914,7 @@ int BattleSystem_CountAbility(BattleSystem *battleSys, BattleContext *battleCtx,
|
|||
|
||||
case COUNT_ALIVE_BATTLERS_THEIR_SIDE_FLAG:
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if (Battler_Side(battleSys, i) != Battler_Side(battleSys, battler)
|
||||
if (BattleSystem_GetBattlerSide(battleSys, i) != BattleSystem_GetBattlerSide(battleSys, battler)
|
||||
&& battleCtx->battleMons[i].curHP
|
||||
&& Battler_Ability(battleCtx, i) == ability) {
|
||||
result |= FlagIndex(i);
|
||||
|
|
@ -3053,7 +3053,7 @@ BOOL Move_IsGhostCurse(BattleContext *battleCtx, u16 move, int battler)
|
|||
BOOL BattleSystem_CanStealItem(BattleSystem *battleSys, BattleContext *battleCtx, int battler)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
int side = Battler_Side(battleSys, battler);
|
||||
int side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
|
||||
if (battleCtx->battleMons[battler].heldItem
|
||||
&& (battleCtx->sideConditions[side].knockedOffItemsMask & FlagIndex(battleCtx->selectedPartySlot[battler])) == FALSE
|
||||
|
|
@ -3135,13 +3135,13 @@ BOOL BattleSystem_AnyReplacementMons(BattleSystem *battleSys, BattleContext *bat
|
|||
u32 battleType;
|
||||
|
||||
result = FALSE;
|
||||
battleType = BattleSystem_BattleType(battleSys);
|
||||
party = BattleSystem_Party(battleSys, battler);
|
||||
partySize = BattleSystem_PartyCount(battleSys, battler);
|
||||
battleType = BattleSystem_GetBattleType(battleSys);
|
||||
party = BattleSystem_GetParty(battleSys, battler);
|
||||
partySize = BattleSystem_GetPartyCount(battleSys, battler);
|
||||
|
||||
if ((battleType & BATTLE_TYPE_2vs2)
|
||||
|| ((battleType & BATTLE_TYPE_TAG)
|
||||
&& (BattleSystem_BattlerSlot(battleSys, battler) & BATTLER_THEM))) {
|
||||
&& (BattleSystem_GetBattlerType(battleSys, battler) & BATTLER_THEM))) {
|
||||
// have to copy these 4 identical assignments across each branch to match
|
||||
start = 0;
|
||||
end = partySize;
|
||||
|
|
@ -3153,7 +3153,7 @@ BOOL BattleSystem_AnyReplacementMons(BattleSystem *battleSys, BattleContext *bat
|
|||
end = partySize;
|
||||
neededAliveMons = 1;
|
||||
selectedSlot1 = battleCtx->selectedPartySlot[battler];
|
||||
selectedSlot2 = battleCtx->selectedPartySlot[BattleSystem_Partner(battleSys, battler)];
|
||||
selectedSlot2 = battleCtx->selectedPartySlot[BattleSystem_GetPartner(battleSys, battler)];
|
||||
} else {
|
||||
start = 0;
|
||||
end = partySize;
|
||||
|
|
@ -3186,7 +3186,7 @@ BOOL Battler_IsTrappedMsg(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
int maxBattlers;
|
||||
u8 side;
|
||||
int itemEffect;
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
itemEffect = Battler_HeldItemEffect(battleCtx, battler);
|
||||
|
||||
if (itemEffect == HOLD_EFFECT_FLEE
|
||||
|
|
@ -3195,8 +3195,8 @@ BOOL Battler_IsTrappedMsg(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
side = Battler_Side(battleSys, battler);
|
||||
maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
if ((tmp = BattleSystem_CountAbility(battleSys, battleCtx, COUNT_ALIVE_BATTLERS_EXCEPT_ME, battler, ABILITY_SHADOW_TAG))
|
||||
&& Battler_Ability(battleCtx, battler) != ABILITY_SHADOW_TAG) {
|
||||
|
|
@ -3268,7 +3268,7 @@ BOOL Battler_IsTrappedMsg(BattleSystem *battleSys, BattleContext *battleCtx, int
|
|||
|
||||
BOOL Battler_CanEscape(BattleSystem *battleSys, BattleContext *battleCtx, int battler)
|
||||
{
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
int itemEffect = Battler_HeldItemEffect(battleCtx, battler);
|
||||
BOOL result = FALSE;
|
||||
|
||||
|
|
@ -3318,11 +3318,11 @@ BOOL Move_Imprisoned(BattleSystem *battleSys, BattleContext *battleCtx, int batt
|
|||
// must declare C89-style to match
|
||||
int i, maxBattlers, side, j;
|
||||
BOOL result = FALSE;
|
||||
maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
side = Battler_Side(battleSys, battler);
|
||||
maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
if (side != Battler_Side(battleSys, i)
|
||||
if (side != BattleSystem_GetBattlerSide(battleSys, i)
|
||||
&& (battleCtx->battleMons[i].moveEffectsMask & MOVE_EFFECT_IMPRISON)) {
|
||||
for (j = 0; j < LEARNED_MOVES_MAX; j++) {
|
||||
if (move == battleCtx->battleMons[i].moves[j]) {
|
||||
|
|
@ -3342,7 +3342,7 @@ BOOL Move_Imprisoned(BattleSystem *battleSys, BattleContext *battleCtx, int batt
|
|||
BOOL BattleSystem_AnyBattlersWithMoveEffect(BattleSystem *battleSys, BattleContext *battleCtx, int effectMask)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
for (int i = 0; i < maxBattlers; i++) {
|
||||
if (battleCtx->battleMons[i].moveEffectsMask & effectMask) {
|
||||
|
|
@ -3363,7 +3363,7 @@ void BattleSystem_SetupLoop(BattleSystem *battleSys, BattleContext *battleCtx)
|
|||
|
||||
void BattleSystem_SortMonSpeedOrder(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
for (int i = 0; i < maxBattlers; i++) {
|
||||
battleCtx->monSpeedOrder[i] = i;
|
||||
|
|
@ -3653,7 +3653,7 @@ int BattleSystem_TriggerEffectOnSwitch(BattleSystem *battleSys, BattleContext *b
|
|||
int subscript;
|
||||
int result;
|
||||
int battler;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
subscript = NULL;
|
||||
result = SWITCH_IN_CHECK_RESULT_CONTINUE;
|
||||
|
||||
|
|
@ -3661,7 +3661,7 @@ int BattleSystem_TriggerEffectOnSwitch(BattleSystem *battleSys, BattleContext *b
|
|||
switch (battleCtx->switchInCheckState) {
|
||||
case SWITCH_IN_CHECK_STATE_FIELD_WEATHER:
|
||||
if (battleCtx->fieldWeatherChecked == FALSE) {
|
||||
switch (BattleSystem_FieldWeather(battleSys)) {
|
||||
switch (BattleSystem_GetFieldWeather(battleSys)) {
|
||||
case OVERWORLD_WEATHER_RAINING:
|
||||
case OVERWORLD_WEATHER_HEAVY_RAIN:
|
||||
case OVERWORLD_WEATHER_THUNDERSTORM:
|
||||
|
|
@ -3712,8 +3712,8 @@ int BattleSystem_TriggerEffectOnSwitch(BattleSystem *battleSys, BattleContext *b
|
|||
case SWITCH_IN_CHECK_STATE_TRACE:
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
battler = battleCtx->monSpeedOrder[i];
|
||||
int defender1 = BattleSystem_EnemyInSlot(battleSys, battler, ENEMY_IN_SLOT_RIGHT);
|
||||
int defender2 = BattleSystem_EnemyInSlot(battleSys, battler, ENEMY_IN_SLOT_LEFT);
|
||||
int defender1 = BattleSystem_GetEnemyInSlot(battleSys, battler, ENEMY_IN_SLOT_RIGHT);
|
||||
int defender2 = BattleSystem_GetEnemyInSlot(battleSys, battler, ENEMY_IN_SLOT_LEFT);
|
||||
|
||||
battleCtx->msgDefender = ChooseTraceTarget(battleSys, battleCtx, defender1, defender2);
|
||||
|
||||
|
|
@ -3823,7 +3823,7 @@ int BattleSystem_TriggerEffectOnSwitch(BattleSystem *battleSys, BattleContext *b
|
|||
int sumDef = 0, sumSpDef = 0;
|
||||
|
||||
for (j = 0; j < maxBattlers; j++) {
|
||||
if (Battler_Side(battleSys, battler) != Battler_Side(battleSys, j)
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battler) != BattleSystem_GetBattlerSide(battleSys, j)
|
||||
&& (battleCtx->battleMons[j].statusVolatile & VOLATILE_CONDITION_SUBSTITUTE) == FALSE
|
||||
&& battleCtx->battleMons[j].curHP) {
|
||||
sumDef += battleCtx->battleMons[j].defense
|
||||
|
|
@ -3872,7 +3872,7 @@ int BattleSystem_TriggerEffectOnSwitch(BattleSystem *battleSys, BattleContext *b
|
|||
battleCtx->battleMons[battler].anticipationAnnounced = TRUE;
|
||||
|
||||
for (j = 0; j < maxBattlers; j++) {
|
||||
if (Battler_Side(battleSys, battler) != Battler_Side(battleSys, j) && battleCtx->battleMons[j].curHP) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battler) != BattleSystem_GetBattlerSide(battleSys, j) && battleCtx->battleMons[j].curHP) {
|
||||
for (k = 0; k < LEARNED_MOVES_MAX; k++) {
|
||||
move = battleCtx->battleMons[j].moves[k];
|
||||
|
||||
|
|
@ -3927,7 +3927,7 @@ int BattleSystem_TriggerEffectOnSwitch(BattleSystem *battleSys, BattleContext *b
|
|||
sumEnemyHP = 0;
|
||||
|
||||
for (j = 0; j < maxBattlers; j++) {
|
||||
if (Battler_Side(battleSys, battler) != Battler_Side(battleSys, j)
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battler) != BattleSystem_GetBattlerSide(battleSys, j)
|
||||
&& battleCtx->battleMons[j].curHP) {
|
||||
sumEnemyHP += battleCtx->battleMons[j].curHP;
|
||||
|
||||
|
|
@ -4001,10 +4001,10 @@ int BattleSystem_TriggerEffectOnSwitch(BattleSystem *battleSys, BattleContext *b
|
|||
&& Battler_Ability(battleCtx, battler) == ABILITY_FRISK) {
|
||||
battleCtx->battleMons[battler].friskAnnounced = TRUE;
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
int enemies[] = {
|
||||
BattleSystem_EnemyInSlot(battleSys, battler, ENEMY_IN_SLOT_RIGHT),
|
||||
BattleSystem_EnemyInSlot(battleSys, battler, ENEMY_IN_SLOT_LEFT),
|
||||
BattleSystem_GetEnemyInSlot(battleSys, battler, ENEMY_IN_SLOT_RIGHT),
|
||||
BattleSystem_GetEnemyInSlot(battleSys, battler, ENEMY_IN_SLOT_LEFT),
|
||||
};
|
||||
|
||||
if (battleCtx->battleMons[enemies[0]].curHP
|
||||
|
|
@ -4177,12 +4177,12 @@ int BattleSystem_TriggerEffectOnSwitch(BattleSystem *battleSys, BattleContext *b
|
|||
int BattleSystem_RandomOpponent(BattleSystem *battleSys, BattleContext *battleCtx, int attacker)
|
||||
{
|
||||
int opponents[2];
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
int chosen;
|
||||
if (battleType & BATTLE_TYPE_DOUBLES) {
|
||||
opponents[0] = BattleSystem_EnemyInSlot(battleSys, attacker, ENEMY_IN_SLOT_RIGHT);
|
||||
opponents[1] = BattleSystem_EnemyInSlot(battleSys, attacker, ENEMY_IN_SLOT_LEFT);
|
||||
opponents[0] = BattleSystem_GetEnemyInSlot(battleSys, attacker, ENEMY_IN_SLOT_RIGHT);
|
||||
opponents[1] = BattleSystem_GetEnemyInSlot(battleSys, attacker, ENEMY_IN_SLOT_LEFT);
|
||||
|
||||
int rnd = BattleSystem_RandNext(battleSys) & 1;
|
||||
chosen = opponents[rnd];
|
||||
|
|
@ -5381,7 +5381,7 @@ BOOL BattleSystem_TriggerHeldItemOnHit(BattleSystem *battleSys, BattleContext *b
|
|||
|
||||
int itemEffect = Battler_HeldItemEffect(battleCtx, battleCtx->defender);
|
||||
int itemPower = Battler_HeldItemPower(battleCtx, battleCtx->defender, 0);
|
||||
int side = Battler_Side(battleSys, battleCtx->attacker);
|
||||
int side = BattleSystem_GetBattlerSide(battleSys, battleCtx->attacker);
|
||||
|
||||
switch (itemEffect) {
|
||||
case HOLD_EFFECT_DMG_USER_CONTACT_XFR:
|
||||
|
|
@ -6237,12 +6237,12 @@ BOOL Battler_CanPickCommand(BattleContext *battleSys, int battler)
|
|||
|
||||
void BattleSystem_SetPokemonCatchData(BattleSystem *battleSys, BattleContext *battleCtx, Pokemon *mon)
|
||||
{
|
||||
TrainerInfo *trInfo = BattleSystem_TrainerInfo(battleSys, BATTLER_US);
|
||||
int mapHeader = BattleSystem_MapHeader(battleSys);
|
||||
int terrain = BattleSystem_Terrain(battleSys);
|
||||
TrainerInfo *trInfo = BattleSystem_GetTrainerInfo(battleSys, BATTLER_US);
|
||||
int mapHeader = BattleSystem_GetMapHeader(battleSys);
|
||||
int terrain = BattleSystem_GetTerrain(battleSys);
|
||||
|
||||
int ball;
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_PAL_PARK) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_PAL_PARK) {
|
||||
ball = Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL);
|
||||
} else {
|
||||
ball = battleCtx->msgItemTemp;
|
||||
|
|
@ -6269,7 +6269,7 @@ BOOL Battler_SubstituteWasHit(BattleContext *battleCtx, int battler)
|
|||
|
||||
BOOL BattleSystem_TrainerIsOT(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
TrainerInfo *trInfo = BattleSystem_TrainerInfo(battleSys, BATTLER_US);
|
||||
TrainerInfo *trInfo = BattleSystem_GetTrainerInfo(battleSys, BATTLER_US);
|
||||
u32 trID = TrainerInfo_ID(trInfo);
|
||||
u32 trGender = TrainerInfo_Gender(trInfo);
|
||||
const charcode_t *trName = TrainerInfo_Name(trInfo);
|
||||
|
|
@ -6285,7 +6285,7 @@ BOOL BattleSystem_TrainerIsOT(BattleSystem *battleSys, BattleContext *battleCtx)
|
|||
|
||||
BOOL BattleSystem_PokemonIsOT(BattleSystem *battleSys, Pokemon *mon)
|
||||
{
|
||||
TrainerInfo *trInfo = BattleSystem_TrainerInfo(battleSys, BATTLER_US);
|
||||
TrainerInfo *trInfo = BattleSystem_GetTrainerInfo(battleSys, BATTLER_US);
|
||||
u32 trID = TrainerInfo_ID(trInfo);
|
||||
u32 trGender = TrainerInfo_Gender(trInfo);
|
||||
const charcode_t *trName = TrainerInfo_Name(trInfo);
|
||||
|
|
@ -6308,7 +6308,7 @@ BOOL BattleSystem_TriggerFormChange(BattleSystem *battleSys, BattleContext *batt
|
|||
int arceusForm;
|
||||
BOOL result = FALSE;
|
||||
|
||||
for (i = 0; i < BattleSystem_MaxBattlers(battleSys); i++) {
|
||||
for (i = 0; i < BattleSystem_GetMaxBattlers(battleSys); i++) {
|
||||
battleCtx->msgBattlerTemp = battleCtx->monSpeedOrder[i];
|
||||
|
||||
if (battleCtx->battleMons[battleCtx->msgBattlerTemp].species == SPECIES_CASTFORM
|
||||
|
|
@ -6413,19 +6413,19 @@ BOOL BattleSystem_TriggerFormChange(BattleSystem *battleSys, BattleContext *batt
|
|||
&& battleCtx->battleMons[battleCtx->msgBattlerTemp].curHP
|
||||
&& battleCtx->battleMons[battleCtx->msgBattlerTemp].formNum == GIRATINA_FORM_ORIGIN
|
||||
&& ((battleCtx->battleMons[battleCtx->msgBattlerTemp].statusVolatile & VOLATILE_CONDITION_TRANSFORM)
|
||||
|| ((BattleSystem_BattleStatus(battleSys) & BATTLE_STATUS_DISTORTION) == FALSE
|
||||
|| ((BattleSystem_GetBattleStatusMask(battleSys) & BATTLE_STATUS_DISTORTION) == FALSE
|
||||
&& battleCtx->battleMons[battleCtx->msgBattlerTemp].heldItem != ITEM_GRISEOUS_ORB))) {
|
||||
if (battleCtx->battleMons[battleCtx->msgBattlerTemp].statusVolatile & VOLATILE_CONDITION_TRANSFORM) {
|
||||
Pokemon *mon = Pokemon_New(HEAP_ID_BATTLE);
|
||||
|
||||
int target;
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
target = battleCtx->battlerActions[battleCtx->msgBattlerTemp][BATTLE_ACTION_CHOOSE_TARGET];
|
||||
} else {
|
||||
target = battleCtx->msgBattlerTemp ^ 1;
|
||||
}
|
||||
|
||||
Pokemon_Copy(BattleSystem_PartyPokemon(battleSys, target, battleCtx->selectedPartySlot[target]), mon);
|
||||
Pokemon_Copy(BattleSystem_GetPartyPokemon(battleSys, target, battleCtx->selectedPartySlot[target]), mon);
|
||||
|
||||
// Don't copy the Griseous Orb
|
||||
int tmp = ITEM_NONE;
|
||||
|
|
@ -6464,7 +6464,7 @@ BOOL BattleSystem_TriggerFormChange(BattleSystem *battleSys, BattleContext *batt
|
|||
|
||||
void BattleSystem_InitPartyOrder(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
for (int i = 0; i < BattleSystem_MaxBattlers(battleSys); i++) {
|
||||
for (int i = 0; i < BattleSystem_GetMaxBattlers(battleSys); i++) {
|
||||
for (int j = 0; j < MAX_PARTY_SIZE; j++) {
|
||||
battleCtx->partyOrder[i][j] = j;
|
||||
}
|
||||
|
|
@ -6479,12 +6479,12 @@ void BattleSystem_SwitchSlots(BattleSystem *battleSys, BattleContext *battleCtx,
|
|||
int i;
|
||||
int tmp;
|
||||
int targetSlot;
|
||||
u32 battleType = BattleSystem_BattleType(battleSys);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
if (((battleType & BATTLE_TYPE_DOUBLES) && (battleType & BATTLE_TYPE_2vs2_TAG) == FALSE)
|
||||
|| ((battleType & BATTLE_TYPE_TAG) && (BattleSystem_BattlerSlot(battleSys, battler) & BATTLER_TYPE_SOLO_ENEMY) == FALSE)) {
|
||||
if (BattleSystem_BattlerSlot(battleSys, battler) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2
|
||||
|| BattleSystem_BattlerSlot(battleSys, battler) == BATTLER_TYPE_ENEMY_SIDE_SLOT_2) {
|
||||
|| ((battleType & BATTLE_TYPE_TAG) && (BattleSystem_GetBattlerType(battleSys, battler) & BATTLER_TYPE_SOLO_ENEMY) == FALSE)) {
|
||||
if (BattleSystem_GetBattlerType(battleSys, battler) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2
|
||||
|| BattleSystem_GetBattlerType(battleSys, battler) == BATTLER_TYPE_ENEMY_SIDE_SLOT_2) {
|
||||
targetSlot = 1;
|
||||
} else {
|
||||
targetSlot = 0;
|
||||
|
|
@ -6667,7 +6667,7 @@ int BattleSystem_CalcMoveDamage(BattleSystem *battleSys,
|
|||
defenderParams.heldItemEffect = BattleSystem_GetItemData(battleCtx, itemTmp, ITEM_PARAM_HOLD_EFFECT);
|
||||
defenderParams.heldItemPower = BattleSystem_GetItemData(battleCtx, itemTmp, ITEM_PARAM_HOLD_EFFECT_PARAM);
|
||||
|
||||
battleType = BattleSystem_BattleType(battleSys);
|
||||
battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
// Assign power; prefer the input power (used by variable-power moves, e.g. Gyro Ball)
|
||||
if (inPower == 0) {
|
||||
|
|
@ -7262,10 +7262,10 @@ s32 BattleSystem_GetItemData(BattleContext *battleCtx, u16 item, enum ItemDataPa
|
|||
int BattleSystem_SideToBattler(BattleSystem *battleSys, BattleContext *battleCtx, int side)
|
||||
{
|
||||
int battler;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
for (battler = 0; battler < maxBattlers; battler++) {
|
||||
if (Battler_Side(battleSys, battler) == side) {
|
||||
if (BattleSystem_GetBattlerSide(battleSys, battler) == side) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -7278,7 +7278,7 @@ void BattleSystem_SortMonActionOrder(BattleSystem *battleSys, BattleContext *bat
|
|||
int i, j;
|
||||
int battler1, battler2;
|
||||
int ignoreQuickClaw;
|
||||
int maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
int maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
for (i = 0; i < maxBattlers - 1; i++) {
|
||||
for (j = i + 1; j < maxBattlers; j++) {
|
||||
|
|
@ -7340,7 +7340,7 @@ BOOL BattleSystem_TriggerHeldItemOnPivotMove(BattleSystem *battleSys, BattleCont
|
|||
int attackerItemPower = Battler_HeldItemPower(battleCtx, battleCtx->attacker, ITEM_POWER_CHECK_ALL);
|
||||
int defenderItemEffect = Battler_HeldItemEffect(battleCtx, battleCtx->defender);
|
||||
int defenderItemPower = Battler_HeldItemPower(battleCtx, battleCtx->defender, ITEM_POWER_CHECK_ALL);
|
||||
int attackingSide = Battler_Side(battleSys, battleCtx->attacker);
|
||||
int attackingSide = BattleSystem_GetBattlerSide(battleSys, battleCtx->attacker);
|
||||
|
||||
if (attackerItemEffect == HOLD_EFFECT_HP_RESTORE_ON_DMG
|
||||
&& (battleCtx->battleStatusMask & SYSCTL_MOVE_HIT)
|
||||
|
|
@ -7396,9 +7396,9 @@ void BattleSystem_DecPPForPressure(BattleContext *battleCtx, int attacker, int d
|
|||
}
|
||||
}
|
||||
|
||||
BOOL Battle_RecordingStopped(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
BOOL BattleSystem_IsRecordingStopped(BattleSystem *battleSys, BattleContext *battleCtx)
|
||||
{
|
||||
if (BattleSystem_RecordingStopped(battleSys)) {
|
||||
if (BattleSystem_GetRecordingStopped(battleSys)) {
|
||||
battleCtx->command = BATTLE_CONTROL_SCREEN_WIPE;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -7411,11 +7411,11 @@ int BattleContext_Get(BattleSystem *battleSys, BattleContext *battleCtx, enum Ba
|
|||
int side;
|
||||
switch (paramID) {
|
||||
case BATTLECTX_SIDE_CONDITIONS_MASK:
|
||||
side = Battler_Side(battleSys, battler);
|
||||
side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
return battleCtx->sideConditionsMask[side];
|
||||
|
||||
case BATTLECTX_SIDE_MIST_TURNS:
|
||||
side = Battler_Side(battleSys, battler);
|
||||
side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
return battleCtx->sideConditions[side].mistTurns;
|
||||
|
||||
case BATTLECTX_SELECTED_PARTY_SLOT:
|
||||
|
|
@ -7467,12 +7467,12 @@ void BattleContext_Set(BattleSystem *battleSys, BattleContext *battleCtx, enum B
|
|||
int side;
|
||||
switch (paramID) {
|
||||
case BATTLECTX_SIDE_CONDITIONS_MASK:
|
||||
side = Battler_Side(battleSys, battler);
|
||||
side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
battleCtx->sideConditionsMask[side] = val;
|
||||
break;
|
||||
|
||||
case BATTLECTX_SIDE_MIST_TURNS:
|
||||
side = Battler_Side(battleSys, battler);
|
||||
side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
battleCtx->sideConditions[side].mistTurns = val;
|
||||
break;
|
||||
|
||||
|
|
@ -7936,18 +7936,18 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler)
|
|||
u32 moveStatusFlags;
|
||||
int partySize;
|
||||
Pokemon *mon;
|
||||
BattleContext *battleCtx = BattleSystem_Context(battleSys);
|
||||
BattleContext *battleCtx = BattleSystem_GetBattleContext(battleSys);
|
||||
|
||||
slot1 = battler;
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_TAG)
|
||||
|| (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_TAG)
|
||||
|| (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
slot2 = slot1;
|
||||
} else {
|
||||
slot2 = BattleSystem_Partner(battleSys, battler);
|
||||
slot2 = BattleSystem_GetPartner(battleSys, battler);
|
||||
}
|
||||
|
||||
defender = BattleSystem_RandomOpponent(battleSys, battleCtx, battler);
|
||||
partySize = BattleSystem_PartyCount(battleSys, battler);
|
||||
partySize = BattleSystem_GetPartyCount(battleSys, battler);
|
||||
battlersDisregarded = 0;
|
||||
|
||||
// Stage 1: Loop through all the party slots and find the one with the most favorable
|
||||
|
|
@ -7961,7 +7961,7 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler)
|
|||
picked = 6;
|
||||
|
||||
for (i = 0; i < partySize; i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL);
|
||||
|
||||
if (monSpecies != SPECIES_NONE
|
||||
|
|
@ -7991,7 +7991,7 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler)
|
|||
|
||||
if (picked != 6) {
|
||||
// Determine if this mon has any super-effective moves against the defender
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, picked);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, picked);
|
||||
|
||||
for (i = 0; i < LEARNED_MOVES_MAX; i++) {
|
||||
move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL);
|
||||
|
|
@ -8036,7 +8036,7 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler)
|
|||
// which just fainted. Choose the Pokemon with the highest such score, breaking ties by
|
||||
// party-order.
|
||||
for (i = 0; i < partySize; i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL);
|
||||
|
||||
if (monSpecies != SPECIES_NONE
|
||||
|
|
@ -8054,7 +8054,7 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler)
|
|||
score = BattleSystem_CalcMoveDamage(battleSys,
|
||||
battleCtx,
|
||||
move,
|
||||
battleCtx->sideConditionsMask[Battler_Side(battleSys, defender)],
|
||||
battleCtx->sideConditionsMask[BattleSystem_GetBattlerSide(battleSys, defender)],
|
||||
battleCtx->fieldConditionsMask,
|
||||
0,
|
||||
0,
|
||||
|
|
@ -8090,7 +8090,7 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler)
|
|||
|
||||
int BattleAI_SwitchedSlot(BattleSystem *battleSys, int battler)
|
||||
{
|
||||
BattleContext *battleCtx = BattleSystem_Context(battleSys);
|
||||
BattleContext *battleCtx = BattleSystem_GetBattleContext(battleSys);
|
||||
return battleCtx->aiSwitchedPartySlot[battler];
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
2324
src/battle/battle_system.c
Normal file
2324
src/battle/battle_system.c
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -7,7 +7,7 @@
|
|||
#include "constants/graphics.h"
|
||||
#include "constants/heap.h"
|
||||
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/struct_ov16_022674C4.h"
|
||||
|
||||
#include "assert.h"
|
||||
|
|
@ -677,7 +677,7 @@ void Healthbar_DrawInfo(Healthbar *healthbar, u32 hp, u32 flags)
|
|||
break;
|
||||
}
|
||||
|
||||
if (BattleSystem_BattleType(healthbar->battleSys) & BATTLE_TYPE_TRAINER) {
|
||||
if (BattleSystem_GetBattleType(healthbar->battleSys) & BATTLE_TYPE_TRAINER) {
|
||||
// Never show the pokeball icon on an enemy trainer's healthbar
|
||||
flags &= ~HEALTHBAR_INFO_CAUGHT_SPECIES;
|
||||
}
|
||||
|
|
@ -814,7 +814,7 @@ void ov16_022672C4(Healthbar *param0)
|
|||
NARC *v4 = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, HEAP_ID_BATTLE);
|
||||
v1 = BattleSystem_GetSpriteSystem(param0->battleSys);
|
||||
v2 = BattleSystem_GetSpriteManager(param0->battleSys);
|
||||
v3 = BattleSystem_PaletteSys(param0->battleSys);
|
||||
v3 = BattleSystem_GetPaletteData(param0->battleSys);
|
||||
v0 = Healthbar_SpriteTemplate(param0->type);
|
||||
|
||||
Healthbar_LoadResources(v1, v2, v4, v3, param0->type);
|
||||
|
|
@ -959,7 +959,7 @@ void ov16_0226757C(Healthbar *param0)
|
|||
Healthbar_EnableArrow(param0, 1);
|
||||
}
|
||||
|
||||
if ((BattleSystem_BattleType(param0->battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) == 0) {
|
||||
if ((BattleSystem_GetBattleType(param0->battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) == 0) {
|
||||
ov16_02268470(param0);
|
||||
}
|
||||
}
|
||||
|
|
@ -1001,7 +1001,7 @@ static void Healthbar_EnableArrow(Healthbar *battleSys, BOOL enable)
|
|||
}
|
||||
|
||||
// Safari battles don't get an arrow.
|
||||
if ((BattleSystem_BattleType(battleSys->battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK))
|
||||
if ((BattleSystem_GetBattleType(battleSys->battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK))
|
||||
&& enable == TRUE) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -1153,14 +1153,14 @@ static void Healthbar_DrawBattlerName(Healthbar *healthbar)
|
|||
BoxPokemon *boxMon;
|
||||
StringTemplate *strFormatter;
|
||||
|
||||
bgl = BattleSystem_BGL(healthbar->battleSys);
|
||||
bgl = BattleSystem_GetBgConfig(healthbar->battleSys);
|
||||
msgLoader = BattleSystem_GetMessageLoader(healthbar->battleSys);
|
||||
strFormatter = BattleSystem_StringTemplate(healthbar->battleSys);
|
||||
strFormatter = BattleSystem_GetStringTemplate(healthbar->battleSys);
|
||||
|
||||
nickname = String_Init(MON_NAME_LEN + 12, HEAP_ID_BATTLE); // TODO: not sure why there is a +12 here
|
||||
template = MessageLoader_GetNewString(msgLoader, BattleStrings_Text_00964);
|
||||
|
||||
mon = BattleSystem_PartyPokemon(healthbar->battleSys, healthbar->battler, healthbar->selectedPartySlot);
|
||||
mon = BattleSystem_GetPartyPokemon(healthbar->battleSys, healthbar->battler, healthbar->selectedPartySlot);
|
||||
boxMon = Pokemon_GetBoxPokemon(mon);
|
||||
|
||||
StringTemplate_SetNickname(strFormatter, 0, boxMon);
|
||||
|
|
@ -1239,7 +1239,7 @@ static void Healthbar_DrawLevelNumber(Healthbar *param0)
|
|||
v1 = Heap_Alloc(HEAP_ID_BATTLE, v3 * 2);
|
||||
|
||||
MI_CpuFill8(v0, 0xf | (0xf << 4), v3);
|
||||
FontSpecialChars_DrawBattleScreenText(ov16_0223E054(param0->battleSys), param0->unk_48, 3, 0, v0);
|
||||
FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsLevel(param0->battleSys), param0->unk_48, 3, 0, v0);
|
||||
|
||||
{
|
||||
void *v7;
|
||||
|
|
@ -1282,7 +1282,7 @@ static void Healthbar_DrawCurrentHP(Healthbar *param0, u32 param1)
|
|||
v0 = Heap_Alloc(HEAP_ID_BATTLE, 3 * 0x20);
|
||||
|
||||
MI_CpuFill8(v0, 0xf | (0xf << 4), 3 * 0x20);
|
||||
FontSpecialChars_DrawBattleScreenText(ov16_0223E04C(param0->battleSys), param1, 3, 1, v0);
|
||||
FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsHP(param0->battleSys), param1, 3, 1, v0);
|
||||
|
||||
{
|
||||
void *v2;
|
||||
|
|
@ -1307,7 +1307,7 @@ static void Healthbar_DrawMaxHP(Healthbar *param0)
|
|||
v0 = Heap_Alloc(HEAP_ID_BATTLE, 3 * 0x20);
|
||||
|
||||
MI_CpuFill8(v0, 0xf | (0xf << 4), 3 * 0x20);
|
||||
FontSpecialChars_DrawBattleScreenText(ov16_0223E04C(param0->battleSys), param0->maxHP, 3, 0, v0);
|
||||
FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsHP(param0->battleSys), param0->maxHP, 3, 0, v0);
|
||||
|
||||
{
|
||||
void *v2;
|
||||
|
|
@ -1368,7 +1368,7 @@ static void Healthbar_DrawBallCount(Healthbar *param0, u32 param1)
|
|||
MessageLoader *v4;
|
||||
String *v5;
|
||||
|
||||
v0 = BattleSystem_BGL(param0->battleSys);
|
||||
v0 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
v4 = BattleSystem_GetMessageLoader(param0->battleSys);
|
||||
|
||||
if (param1 & (1 << 10)) {
|
||||
|
|
@ -1412,9 +1412,9 @@ static void Healthbar_DrawBallsLeftMessage(Healthbar *param0, u32 param1)
|
|||
String *v5, *v6;
|
||||
StringTemplate *v7;
|
||||
|
||||
v0 = BattleSystem_BGL(param0->battleSys);
|
||||
v0 = BattleSystem_GetBgConfig(param0->battleSys);
|
||||
v4 = BattleSystem_GetMessageLoader(param0->battleSys);
|
||||
v7 = BattleSystem_StringTemplate(param0->battleSys);
|
||||
v7 = BattleSystem_GetStringTemplate(param0->battleSys);
|
||||
v5 = String_Init(30, HEAP_ID_BATTLE);
|
||||
|
||||
if (param1 & (1 << 10)) {
|
||||
|
|
@ -1839,7 +1839,7 @@ static void ov16_02268380(SysTask *param0, void *param1)
|
|||
PaletteData *v3;
|
||||
|
||||
v1 = BattleSystem_GetSpriteManager(v0->unk_00->battleSys);
|
||||
v3 = BattleSystem_PaletteSys(v0->unk_00->battleSys);
|
||||
v3 = BattleSystem_GetPaletteData(v0->unk_00->battleSys);
|
||||
|
||||
switch (v0->unk_08) {
|
||||
case 0:
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#include "battle/battle_display.h"
|
||||
#include "battle/battle_io_command.h"
|
||||
#include "battle/battle_lib.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/ov16_02268520.h"
|
||||
#include "battle/ov16_0226E148.h"
|
||||
#include "battle/struct_ov16_0223C2C0.h"
|
||||
|
|
@ -282,7 +282,7 @@ BOOL Battle_Main(ApplicationManager *appMan, int *param1)
|
|||
void ov16_0223B384(BattleSystem *battleSys)
|
||||
{
|
||||
ov16_02268A14(battleSys->unk_198);
|
||||
ov16_022687A0(battleSys->unk_04);
|
||||
ov16_022687A0(battleSys->bgConfig);
|
||||
|
||||
battleSys->unk_23FB_2 = 1;
|
||||
|
||||
|
|
@ -304,7 +304,7 @@ void ov16_0223B3E4(BattleSystem *battleSys)
|
|||
ov16_02268A14(battleSys->unk_198);
|
||||
Window_Remove(&battleSys->windows[0]);
|
||||
|
||||
ov16_0223C288(battleSys->unk_04);
|
||||
ov16_0223C288(battleSys->bgConfig);
|
||||
ov16_0223C2BC(battleSys);
|
||||
|
||||
SpriteSystem_FreeResourcesAndManager(battleSys->spriteSys, battleSys->spriteMan);
|
||||
|
|
@ -331,14 +331,14 @@ void ov16_0223B430(BattleSystem *battleSys)
|
|||
|
||||
v0 = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, HEAP_ID_BATTLE);
|
||||
v1 = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, HEAP_ID_BATTLE);
|
||||
battleSys->unk_198 = ov16_022687C8(v0, v1, battleSys, BattleSystem_GetTrainerGender(battleSys, ov16_0223F6E4(battleSys)), battleSys->unk_1BC);
|
||||
battleSys->unk_198 = ov16_022687C8(v0, v1, battleSys, BattleSystem_GetTrainerGender(battleSys, BattleSystem_GetNetworkID(battleSys)), battleSys->subscreenCursorOn);
|
||||
|
||||
Font_InitManager(FONT_SUBSCREEN, HEAP_ID_BATTLE);
|
||||
|
||||
battleSys->unk_23FB_1 = 1;
|
||||
|
||||
{
|
||||
ov16_02268744(battleSys->unk_04);
|
||||
ov16_02268744(battleSys->bgConfig);
|
||||
}
|
||||
|
||||
GXLayers_EngineBToggleLayers(GX_PLANEMASK_OBJ, 1);
|
||||
|
|
@ -357,9 +357,9 @@ void ov16_0223B53C(BattleSystem *battleSys)
|
|||
Window_Remove(&battleSys->windows[0]);
|
||||
GXLayers_EngineAToggleLayers(GX_PLANEMASK_BG0, 0);
|
||||
GXLayers_EngineAToggleLayers(GX_PLANEMASK_BG1, 0);
|
||||
Bg_FreeTilemapBuffer(battleSys->unk_04, BG_LAYER_MAIN_1);
|
||||
Bg_FreeTilemapBuffer(battleSys->unk_04, BG_LAYER_MAIN_2);
|
||||
Bg_FreeTilemapBuffer(battleSys->unk_04, BG_LAYER_MAIN_3);
|
||||
Bg_FreeTilemapBuffer(battleSys->bgConfig, BG_LAYER_MAIN_1);
|
||||
Bg_FreeTilemapBuffer(battleSys->bgConfig, BG_LAYER_MAIN_2);
|
||||
Bg_FreeTilemapBuffer(battleSys->bgConfig, BG_LAYER_MAIN_3);
|
||||
ov16_0223F3EC(battleSys);
|
||||
}
|
||||
|
||||
|
|
@ -415,12 +415,12 @@ void ov16_0223B578(BattleSystem *battleSys)
|
|||
},
|
||||
};
|
||||
|
||||
Bg_InitFromTemplate(battleSys->unk_04, BG_LAYER_MAIN_1, &v0[0], 0);
|
||||
Bg_ClearTilemap(battleSys->unk_04, BG_LAYER_MAIN_1);
|
||||
Bg_InitFromTemplate(battleSys->unk_04, BG_LAYER_MAIN_2, &v0[1], 0);
|
||||
Bg_ClearTilemap(battleSys->unk_04, BG_LAYER_MAIN_2);
|
||||
Bg_InitFromTemplate(battleSys->unk_04, BG_LAYER_MAIN_3, &v0[2], 0);
|
||||
Bg_ClearTilemap(battleSys->unk_04, BG_LAYER_MAIN_3);
|
||||
Bg_InitFromTemplate(battleSys->bgConfig, BG_LAYER_MAIN_1, &v0[0], 0);
|
||||
Bg_ClearTilemap(battleSys->bgConfig, BG_LAYER_MAIN_1);
|
||||
Bg_InitFromTemplate(battleSys->bgConfig, BG_LAYER_MAIN_2, &v0[1], 0);
|
||||
Bg_ClearTilemap(battleSys->bgConfig, BG_LAYER_MAIN_2);
|
||||
Bg_InitFromTemplate(battleSys->bgConfig, BG_LAYER_MAIN_3, &v0[2], 0);
|
||||
Bg_ClearTilemap(battleSys->bgConfig, BG_LAYER_MAIN_3);
|
||||
|
||||
G2_SetBG0Priority(1);
|
||||
GXLayers_EngineAToggleLayers(GX_PLANEMASK_BG0, 1);
|
||||
|
|
@ -429,14 +429,14 @@ void ov16_0223B578(BattleSystem *battleSys)
|
|||
{
|
||||
int v1;
|
||||
|
||||
v1 = ov16_0223EDE0(battleSys);
|
||||
v1 = BattleSystem_GetOptionsFrame(battleSys);
|
||||
|
||||
ReplaceTransparentTiles(battleSys->unk_04, 1, 1, 10, v1, 5);
|
||||
Graphics_LoadTilesToBgLayer(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, 3 + battleSys->background, battleSys->unk_04, 3, 0, 0, 1, HEAP_ID_BATTLE);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 7, 172 + (battleSys->background * 3) + ov16_0223EC04(battleSys), 5, 0, 0, 0);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 38, GetMessageBoxPaletteNARCMember(v1), 5, 0, 0x20, 10 * 0x10);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, 14, 7, 5, 0, 0x20, 0xb * 0x10);
|
||||
Graphics_LoadTilemapToBgLayer(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, 2, battleSys->unk_04, 3, 0, 0, 1, HEAP_ID_BATTLE);
|
||||
ReplaceTransparentTiles(battleSys->bgConfig, 1, 1, 10, v1, 5);
|
||||
Graphics_LoadTilesToBgLayer(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, 3 + battleSys->background, battleSys->bgConfig, 3, 0, 0, 1, HEAP_ID_BATTLE);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteData, 7, 172 + (battleSys->background * 3) + BattleSystem_GetBackgroundTimeOffset(battleSys), 5, 0, 0, 0);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteData, 38, GetMessageBoxPaletteNARCMember(v1), 5, 0, 0x20, 10 * 0x10);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteData, 14, 7, 5, 0, 0x20, 0xb * 0x10);
|
||||
Graphics_LoadTilemapToBgLayer(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, 2, battleSys->bgConfig, 3, 0, 0, 1, HEAP_ID_BATTLE);
|
||||
}
|
||||
|
||||
{
|
||||
|
|
@ -454,7 +454,7 @@ void ov16_0223B578(BattleSystem *battleSys)
|
|||
|
||||
battleSys->unk_23FB_1 = 1;
|
||||
|
||||
Window_Add(battleSys->unk_04, battleSys->windows, 1, 0x2, 0x13, 27, 4, 0xb, (18 + 12) + 1);
|
||||
Window_Add(battleSys->bgConfig, battleSys->windows, 1, 0x2, 0x13, 27, 4, 0xb, (18 + 12) + 1);
|
||||
Window_FillTilemap(battleSys->windows, 0xff);
|
||||
Window_DrawMessageBoxWithScrollCursor(&battleSys->windows[0], 0, 1, 10);
|
||||
|
||||
|
|
@ -516,27 +516,23 @@ static void ov16_0223B790(ApplicationManager *appMan)
|
|||
MI_CpuFill16((void *)GetHardwareMainBgPaletteAddress(), 0x0, GetHardwareMainBgPaletteSize());
|
||||
MI_CpuFill16((void *)GetHardwareSubBgPaletteAddress(), 0x0, GetHardwareSubBgPaletteSize());
|
||||
|
||||
battleSys->unk_00 = ov16_0223CD7C();
|
||||
battleSys->pipelineBuffers = ov16_0223CD7C();
|
||||
|
||||
DisableHBlank();
|
||||
Font_InitManager(FONT_SUBSCREEN, HEAP_ID_BATTLE);
|
||||
|
||||
if (battleSys->battleType & BATTLE_TYPE_SAFARI) {
|
||||
battleSys->unk_1A4 = FontSpecialChars_Init(0xe, 2, 0xf, HEAP_ID_BATTLE);
|
||||
} else {
|
||||
battleSys->unk_1A4 = FontSpecialChars_Init(0xe, 2, 0xf, HEAP_ID_BATTLE);
|
||||
}
|
||||
battleSys->specialCharsHP = FontSpecialChars_Init(14, 2, 15, HEAP_ID_BATTLE);
|
||||
|
||||
battleSys->unk_1A8 = battleSys->unk_1A4;
|
||||
battleSys->paletteSys = PaletteData_New(HEAP_ID_BATTLE);
|
||||
battleSys->specialCharsLevel = battleSys->specialCharsHP;
|
||||
battleSys->paletteData = PaletteData_New(HEAP_ID_BATTLE);
|
||||
|
||||
PaletteData_SetAutoTransparent(battleSys->paletteSys, 1);
|
||||
PaletteData_AllocBuffer(battleSys->paletteSys, 0, 0x200, HEAP_ID_BATTLE);
|
||||
PaletteData_AllocBuffer(battleSys->paletteSys, 1, 0x200, HEAP_ID_BATTLE);
|
||||
PaletteData_AllocBuffer(battleSys->paletteSys, 2, ((16 - 2) * 16) * sizeof(u16), HEAP_ID_BATTLE);
|
||||
PaletteData_AllocBuffer(battleSys->paletteSys, 3, 0x200, HEAP_ID_BATTLE);
|
||||
PaletteData_SetAutoTransparent(battleSys->paletteData, 1);
|
||||
PaletteData_AllocBuffer(battleSys->paletteData, 0, 0x200, HEAP_ID_BATTLE);
|
||||
PaletteData_AllocBuffer(battleSys->paletteData, 1, 0x200, HEAP_ID_BATTLE);
|
||||
PaletteData_AllocBuffer(battleSys->paletteData, 2, ((16 - 2) * 16) * sizeof(u16), HEAP_ID_BATTLE);
|
||||
PaletteData_AllocBuffer(battleSys->paletteData, 3, 0x200, HEAP_ID_BATTLE);
|
||||
|
||||
battleSys->unk_04 = BgConfig_New(HEAP_ID_BATTLE);
|
||||
battleSys->bgConfig = BgConfig_New(HEAP_ID_BATTLE);
|
||||
battleSys->windows = Window_New(HEAP_ID_BATTLE, 3);
|
||||
|
||||
for (idx = 0; idx < 4; idx++) {
|
||||
|
|
@ -549,15 +545,15 @@ static void ov16_0223B790(ApplicationManager *appMan)
|
|||
NARC *v6 = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, HEAP_ID_BATTLE);
|
||||
NARC *v7 = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, HEAP_ID_BATTLE);
|
||||
|
||||
battleSys->unk_198 = ov16_022687C8(v6, v7, battleSys, BattleSystem_GetTrainerGender(battleSys, ov16_0223F6E4(battleSys)), battleSys->unk_1BC);
|
||||
battleSys->unk_198 = ov16_022687C8(v6, v7, battleSys, BattleSystem_GetTrainerGender(battleSys, BattleSystem_GetNetworkID(battleSys)), battleSys->subscreenCursorOn);
|
||||
|
||||
NARC_dtor(v6);
|
||||
NARC_dtor(v7);
|
||||
}
|
||||
|
||||
ov16_0223C004(battleSys, battleSys->unk_04);
|
||||
ov16_0223C004(battleSys, battleSys->bgConfig);
|
||||
|
||||
Window_Add(battleSys->unk_04, &battleSys->windows[0], 1, 2, 0x13, 27, 4, 11, (18 + 12) + 1);
|
||||
Window_Add(battleSys->bgConfig, &battleSys->windows[0], 1, 2, 0x13, 27, 4, 11, (18 + 12) + 1);
|
||||
Window_FillTilemap(&battleSys->windows[0], 0xff);
|
||||
Window_DrawMessageBoxWithScrollCursor(&battleSys->windows[0], 0, 1, 10);
|
||||
|
||||
|
|
@ -589,57 +585,57 @@ static void ov16_0223B790(ApplicationManager *appMan)
|
|||
NARC_dtor(v9);
|
||||
}
|
||||
|
||||
battleSys->unk_88 = PokemonSpriteManager_New(HEAP_ID_BATTLE);
|
||||
PokemonSpriteManager_SetPlttBaseAddrAndSize(battleSys->unk_88, 0, 0x20 * 6);
|
||||
battleSys->monSpriteMan = PokemonSpriteManager_New(HEAP_ID_BATTLE);
|
||||
PokemonSpriteManager_SetPlttBaseAddrAndSize(battleSys->monSpriteMan, 0, 0x20 * 6);
|
||||
|
||||
ov16_0223F36C(battleSys);
|
||||
ov16_0223CE28();
|
||||
|
||||
battleSys->unk_8C = BattleAnimSystem_New(HEAP_ID_BATTLE);
|
||||
battleSys->battleAnimSys = BattleAnimSystem_New(HEAP_ID_BATTLE);
|
||||
|
||||
ov16_0223C210(battleSys);
|
||||
|
||||
EnableTouchPad();
|
||||
InitializeTouchPad(4);
|
||||
|
||||
battleSys->unk_0C = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_BATTLE_STRINGS, HEAP_ID_BATTLE);
|
||||
battleSys->unk_10 = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MOVES_USED_IN_BATTLE, HEAP_ID_BATTLE);
|
||||
battleSys->msgLoader = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_BATTLE_STRINGS, HEAP_ID_BATTLE);
|
||||
battleSys->attackMsgLoader = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MOVES_USED_IN_BATTLE, HEAP_ID_BATTLE);
|
||||
battleSys->strFormatter = StringTemplate_Default(HEAP_ID_BATTLE);
|
||||
battleSys->msgBuffer = String_Init(2 * 160, HEAP_ID_BATTLE);
|
||||
|
||||
MI_CpuCopy16(PaletteData_GetUnfadedBuffer(battleSys->paletteSys, 0), &battleSys->unk_2224[0], 0x20 * 7);
|
||||
MI_CpuCopy16(PaletteData_GetUnfadedBuffer(battleSys->paletteSys, 2), &battleSys->unk_2304[0], 0x20 * 7);
|
||||
MI_CpuCopy16(PaletteData_GetUnfadedBuffer(battleSys->paletteData, 0), &battleSys->unk_2224[0], 0x20 * 7);
|
||||
MI_CpuCopy16(PaletteData_GetUnfadedBuffer(battleSys->paletteData, 2), &battleSys->unk_2304[0], 0x20 * 7);
|
||||
|
||||
{
|
||||
int v10;
|
||||
v10 = ov16_0223EC04(battleSys);
|
||||
v10 = BattleSystem_GetBackgroundTimeOffset(battleSys);
|
||||
|
||||
PaletteData_FillBufferRange(battleSys->paletteSys, 0, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0, 112);
|
||||
PaletteData_FillBufferRange(battleSys->paletteSys, 0, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0xc * 16, 0xc * 16 + 4 * 16);
|
||||
PaletteData_FillBufferRange(battleSys->paletteSys, 2, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0, ((16 - 2) * 16) - 1);
|
||||
PaletteData_FillBufferRange(battleSys->paletteData, 0, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0, 112);
|
||||
PaletteData_FillBufferRange(battleSys->paletteData, 0, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0xc * 16, 0xc * 16 + 4 * 16);
|
||||
PaletteData_FillBufferRange(battleSys->paletteData, 2, 2, Unk_ov16_0226E44C[battleSys->background][v10], 0, ((16 - 2) * 16) - 1);
|
||||
}
|
||||
|
||||
PaletteData_FillBufferRange(battleSys->paletteSys, 0, 0, 0x0, 0xa * 16, 0xa * 16 + 2 * 16);
|
||||
PaletteData_FillBufferRange(battleSys->paletteSys, 1, 0, 0x0, 0, 255);
|
||||
PaletteData_FillBufferRange(battleSys->paletteSys, 3, 0, 0xffff, 0, 255);
|
||||
PaletteData_FillBufferRange(battleSys->paletteData, 0, 0, 0x0, 0xa * 16, 0xa * 16 + 2 * 16);
|
||||
PaletteData_FillBufferRange(battleSys->paletteData, 1, 0, 0x0, 0, 255);
|
||||
PaletteData_FillBufferRange(battleSys->paletteData, 3, 0, 0xffff, 0, 255);
|
||||
|
||||
battleSys->unk_1AC = sub_0201567C(battleSys->paletteSys, 0, 0xb, HEAP_ID_BATTLE);
|
||||
battleSys->unk_1AC = sub_0201567C(battleSys->paletteData, 0, 0xb, HEAP_ID_BATTLE);
|
||||
sub_02015738(battleSys->unk_1AC, 1);
|
||||
|
||||
battleSys->unk_1C = SysTask_Start(ov16_0223CF48, battleSys, 60000);
|
||||
battleSys->unk_20 = SysTask_Start(ov16_0223CF8C, battleSys, 50000);
|
||||
battleSys->unk_24 = SysTask_ExecuteOnVBlank(ov16_0223D0C4, battleSys, 1200);
|
||||
battleSys->unk_2434 = -51;
|
||||
battleSys->task_1C = SysTask_Start(ov16_0223CF48, battleSys, 60000);
|
||||
battleSys->task_20 = SysTask_Start(ov16_0223CF8C, battleSys, 50000);
|
||||
battleSys->task_24 = SysTask_ExecuteOnVBlank(ov16_0223D0C4, battleSys, 1200);
|
||||
battleSys->yOffset = -51;
|
||||
|
||||
ov16_0223DD4C(battleSys);
|
||||
BagCursor_ResetBattle(BattleSystem_BagCursor(battleSys));
|
||||
BagCursor_ResetBattle(BattleSystem_GetBagCursor(battleSys));
|
||||
|
||||
battleSys->monAnimMan = PokemonAnimManager_New(HEAP_ID_BATTLE, 4, FALSE);
|
||||
battleSys->cellTransferState = CellTransfer_New(4, HEAP_ID_BATTLE);
|
||||
|
||||
if (battleSys->battleStatusMask & BATTLE_STATUS_RECORDING) {
|
||||
for (idx = 0; idx < 4; idx++) {
|
||||
battleSys->unk_247C[idx] = v1->unk_194[idx];
|
||||
battleSys->recordedChatter[idx] = v1->unk_194[idx];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -659,7 +655,7 @@ static int ov16_0223BBD0(ApplicationManager *appMan)
|
|||
}
|
||||
} else {
|
||||
if (battleSys->unk_23F8) {
|
||||
battleSys->unk_23FA = BattleContext_Main(battleSys, battleSys->battleCtx);
|
||||
battleSys->commandIsEndWait = BattleContext_Main(battleSys, battleSys->battleCtx);
|
||||
BattleController_TryRecvLocalMessage(battleSys, 1);
|
||||
}
|
||||
|
||||
|
|
@ -668,9 +664,9 @@ static int ov16_0223BBD0(ApplicationManager *appMan)
|
|||
BattleController_TryRecvLocalMessage(battleSys, 0);
|
||||
}
|
||||
|
||||
if (battleSys->unk_23FA == 0) {
|
||||
if (battleSys->commandIsEndWait == 0) {
|
||||
if (battleSys->unk_23F8) {
|
||||
battleSys->unk_23FA = BattleContext_Main(battleSys, battleSys->battleCtx);
|
||||
battleSys->commandIsEndWait = BattleContext_Main(battleSys, battleSys->battleCtx);
|
||||
BattleController_TryRecvLocalMessage(battleSys, 1);
|
||||
}
|
||||
|
||||
|
|
@ -681,122 +677,122 @@ static int ov16_0223BBD0(ApplicationManager *appMan)
|
|||
}
|
||||
}
|
||||
|
||||
return battleSys->unk_23FA;
|
||||
return battleSys->commandIsEndWait;
|
||||
}
|
||||
|
||||
static void ov16_0223BCB4(ApplicationManager *appMan)
|
||||
{
|
||||
BattleSystem *battleSystem = ApplicationManager_Data(appMan);
|
||||
BattleSystem *battleSys = ApplicationManager_Data(appMan);
|
||||
FieldBattleDTO *v1 = ApplicationManager_Args(appMan);
|
||||
int battlerId;
|
||||
|
||||
v1->seed = battleSystem->unk_2448;
|
||||
v1->battleStatusMask = battleSystem->battleStatusMask;
|
||||
v1->seed = battleSys->seedDTO;
|
||||
v1->battleStatusMask = battleSys->battleStatusMask;
|
||||
|
||||
if ((battleSystem->battleStatusMask & BATTLE_STATUS_RECORDING) == 0) {
|
||||
if ((battleSys->battleStatusMask & BATTLE_STATUS_RECORDING) == 0) {
|
||||
sub_0202F8AC(v1);
|
||||
}
|
||||
|
||||
if (battleSystem->overlayFlags != 0) {
|
||||
BattleSystem_LoadFightOverlay(battleSystem, 0);
|
||||
if (battleSys->overlayFlags != 0) {
|
||||
BattleSystem_LoadFightOverlay(battleSys, 0);
|
||||
}
|
||||
|
||||
SetScreenColorBrightness(DS_SCREEN_MAIN, COLOR_BLACK);
|
||||
SetScreenColorBrightness(DS_SCREEN_SUB, COLOR_BLACK);
|
||||
BattleSystem_SetBurmyForm(battleSystem);
|
||||
BattleSystem_SetBurmyForm(battleSys);
|
||||
|
||||
if (battleSystem->resultMask != 0x4) {
|
||||
ov16_0223EF68(battleSystem, Party_GetPokemonBySlotIndex(battleSystem->parties[1], 0));
|
||||
if (battleSys->resultMask != 0x4) {
|
||||
BattleSystem_InitCaptureAttempt(battleSys, Party_GetPokemonBySlotIndex(battleSys->parties[1], 0));
|
||||
}
|
||||
|
||||
for (battlerId = 0; battlerId < MAX_BATTLERS; battlerId++) {
|
||||
Party_Copy(battleSystem->parties[battlerId], v1->parties[battlerId]);
|
||||
Heap_Free(battleSystem->parties[battlerId]);
|
||||
TrainerInfo_Copy(battleSystem->trainerInfo[battlerId], v1->trainerInfo[battlerId]);
|
||||
Heap_Free(battleSystem->trainerInfo[battlerId]);
|
||||
Party_Copy(battleSys->parties[battlerId], v1->parties[battlerId]);
|
||||
Heap_Free(battleSys->parties[battlerId]);
|
||||
TrainerInfo_Copy(battleSys->trainerInfo[battlerId], v1->trainerInfo[battlerId]);
|
||||
Heap_Free(battleSys->trainerInfo[battlerId]);
|
||||
}
|
||||
|
||||
sub_02015760(battleSystem->unk_1AC);
|
||||
Bag_Copy(battleSystem->bag, v1->bag);
|
||||
Heap_Free(battleSystem->bag);
|
||||
Pokedex_Copy(battleSystem->pokedex, v1->pokedex);
|
||||
Heap_Free(battleSystem->pokedex);
|
||||
v1->pcBoxes = battleSystem->pcBoxes;
|
||||
v1->bagCursor = battleSystem->bagCursor;
|
||||
v1->subscreenCursorOn = battleSystem->unk_1BC;
|
||||
v1->poketch = battleSystem->poketch;
|
||||
v1->captureAttempt = battleSystem->captureAttempt;
|
||||
v1->countSafariBalls = battleSystem->safariBalls;
|
||||
v1->resultMask = battleSystem->resultMask & (0xc0 ^ 0xff);
|
||||
v1->caughtBattlerIdx = battleSystem->caughtBattlerIdx;
|
||||
v1->leveledUpMonsMask = BattleContext_Get(battleSystem, battleSystem->battleCtx, 4, NULL);
|
||||
v1->battleRecords.totalTurns += BattleContext_Get(battleSystem, battleSystem->battleCtx, 3, NULL);
|
||||
v1->battleRecords.totalFainted += (BattleContext_Get(battleSystem, battleSystem->battleCtx, 6, 0) + BattleContext_Get(battleSystem, battleSystem->battleCtx, 6, 2));
|
||||
v1->battleRecords.totalDamage += (BattleContext_Get(battleSystem, battleSystem->battleCtx, 7, 0) + BattleContext_Get(battleSystem, battleSystem->battleCtx, 7, 2));
|
||||
v1->totalTurnsElapsed = BattleContext_Get(battleSystem, battleSystem->battleCtx, 3, NULL);
|
||||
v1->unk_19C = battleSystem->recordingStopped;
|
||||
sub_02015760(battleSys->unk_1AC);
|
||||
Bag_Copy(battleSys->bag, v1->bag);
|
||||
Heap_Free(battleSys->bag);
|
||||
Pokedex_Copy(battleSys->pokedex, v1->pokedex);
|
||||
Heap_Free(battleSys->pokedex);
|
||||
v1->pcBoxes = battleSys->pcBoxes;
|
||||
v1->bagCursor = battleSys->bagCursor;
|
||||
v1->subscreenCursorOn = battleSys->subscreenCursorOn;
|
||||
v1->poketch = battleSys->poketch;
|
||||
v1->captureAttempt = battleSys->captureAttempt;
|
||||
v1->countSafariBalls = battleSys->safariBalls;
|
||||
v1->resultMask = battleSys->resultMask & (0xc0 ^ 0xff);
|
||||
v1->caughtBattlerIdx = battleSys->caughtBattlerIdx;
|
||||
v1->leveledUpMonsMask = BattleContext_Get(battleSys, battleSys->battleCtx, 4, NULL);
|
||||
v1->battleRecords.totalTurns += BattleContext_Get(battleSys, battleSys->battleCtx, 3, NULL);
|
||||
v1->battleRecords.totalFainted += (BattleContext_Get(battleSys, battleSys->battleCtx, 6, 0) + BattleContext_Get(battleSys, battleSys->battleCtx, 6, 2));
|
||||
v1->battleRecords.totalDamage += (BattleContext_Get(battleSys, battleSys->battleCtx, 7, 0) + BattleContext_Get(battleSys, battleSys->battleCtx, 7, 2));
|
||||
v1->totalTurnsElapsed = BattleContext_Get(battleSys, battleSys->battleCtx, 3, NULL);
|
||||
v1->unk_19C = battleSys->recordingStopped;
|
||||
|
||||
for (battlerId = 0; battlerId < 4; battlerId++) {
|
||||
Heap_Free(battleSystem->pokemonSpriteDataArray[battlerId].tiles);
|
||||
Heap_Free(battleSys->pokemonSpriteDataArray[battlerId].tiles);
|
||||
}
|
||||
|
||||
Heap_Free(battleSystem->msgBuffer);
|
||||
PaletteData_FreeBuffer(battleSystem->paletteSys, 0);
|
||||
PaletteData_FreeBuffer(battleSystem->paletteSys, 1);
|
||||
PaletteData_FreeBuffer(battleSystem->paletteSys, 2);
|
||||
PaletteData_FreeBuffer(battleSystem->paletteSys, 3);
|
||||
PaletteData_Free(battleSystem->paletteSys);
|
||||
MessageLoader_Free(battleSystem->unk_0C);
|
||||
MessageLoader_Free(battleSystem->unk_10);
|
||||
StringTemplate_Free(battleSystem->strFormatter);
|
||||
PokemonAnimManager_Free(battleSystem->monAnimMan);
|
||||
Heap_Free(battleSys->msgBuffer);
|
||||
PaletteData_FreeBuffer(battleSys->paletteData, 0);
|
||||
PaletteData_FreeBuffer(battleSys->paletteData, 1);
|
||||
PaletteData_FreeBuffer(battleSys->paletteData, 2);
|
||||
PaletteData_FreeBuffer(battleSys->paletteData, 3);
|
||||
PaletteData_Free(battleSys->paletteData);
|
||||
MessageLoader_Free(battleSys->msgLoader);
|
||||
MessageLoader_Free(battleSys->attackMsgLoader);
|
||||
StringTemplate_Free(battleSys->strFormatter);
|
||||
PokemonAnimManager_Free(battleSys->monAnimMan);
|
||||
ParticleSystem_FreeAll();
|
||||
|
||||
BattleAnimSystem_Delete(battleSystem->unk_8C);
|
||||
BattleContext_Free(battleSystem->battleCtx);
|
||||
BattleAnimSystem_Delete(battleSys->battleAnimSys);
|
||||
BattleContext_Free(battleSys->battleCtx);
|
||||
|
||||
for (battlerId = 0; battlerId < battleSystem->maxBattlers; battlerId++) {
|
||||
ov16_0225C104(battleSystem, battleSystem->battlers[battlerId], battleSystem->unk_23F9);
|
||||
for (battlerId = 0; battlerId < battleSys->maxBattlers; battlerId++) {
|
||||
ov16_0225C104(battleSys, battleSys->battlers[battlerId], battleSys->unk_23F9);
|
||||
}
|
||||
|
||||
PokemonSpriteManager_Free(battleSystem->unk_88);
|
||||
PokemonSpriteManager_Free(battleSys->monSpriteMan);
|
||||
|
||||
if (battleSystem->unk_23F9 != 2) {
|
||||
ov16_0223B3E4(battleSystem);
|
||||
if (battleSys->unk_23F9 != 2) {
|
||||
ov16_0223B3E4(battleSys);
|
||||
}
|
||||
|
||||
RenderControlFlags_SetCanABSpeedUpPrint(FALSE);
|
||||
RenderControlFlags_SetAutoScrollFlags(AUTO_SCROLL_DISABLED);
|
||||
RenderControlFlags_SetSpeedUpOnTouch(FALSE);
|
||||
Windows_Delete(battleSystem->windows, 3);
|
||||
Heap_Free(battleSystem->unk_04);
|
||||
Heap_Free(battleSystem->unk_21C);
|
||||
Heap_Free(battleSystem->unk_220);
|
||||
FontSpecialChars_Free(battleSystem->unk_1A4);
|
||||
Windows_Delete(battleSys->windows, 3);
|
||||
Heap_Free(battleSys->bgConfig);
|
||||
Heap_Free(battleSys->unk_21C);
|
||||
Heap_Free(battleSys->unk_220);
|
||||
FontSpecialChars_Free(battleSys->specialCharsHP);
|
||||
Font_Free(FONT_SUBSCREEN);
|
||||
SysTask_Done(battleSystem->unk_1C);
|
||||
SysTask_Done(battleSystem->unk_20);
|
||||
SysTask_Done(battleSys->task_1C);
|
||||
SysTask_Done(battleSys->task_20);
|
||||
DisableTouchPad();
|
||||
|
||||
ov16_0223CE20(battleSystem->unk_00);
|
||||
ov16_0223CE20(battleSys->pipelineBuffers);
|
||||
|
||||
LCRNG_SetSeed(battleSystem->unk_2430);
|
||||
LCRNG_SetSeed(battleSys->seedLCRNG);
|
||||
|
||||
if (ov16_0223F450(battleSystem)) {
|
||||
if (BattleSystem_GetRedHPSoundFlag(battleSys)) {
|
||||
Sound_StopEffect(1796, 0);
|
||||
}
|
||||
|
||||
CellTransfer_Free(battleSystem->cellTransferState);
|
||||
CellTransfer_Free(battleSys->cellTransferState);
|
||||
|
||||
if (BattleSystem_RecordingStopped(battleSystem)) {
|
||||
if (BattleSystem_GetRecordingStopped(battleSys)) {
|
||||
Sound_SetMasterVolume(SOUND_VOLUME_MAX);
|
||||
}
|
||||
|
||||
if (battleSystem->playbackStopButton) {
|
||||
ov16_0226E174(battleSystem->playbackStopButton);
|
||||
if (battleSys->playbackStopButton) {
|
||||
ov16_0226E174(battleSys->playbackStopButton);
|
||||
}
|
||||
|
||||
Heap_Free(battleSystem);
|
||||
Heap_Free(battleSys);
|
||||
Overlay_UnloadByID(FS_OVERLAY_ID(overlay11));
|
||||
Overlay_UnloadByID(FS_OVERLAY_ID(battle_anim));
|
||||
|
||||
|
|
@ -912,13 +908,13 @@ static void ov16_0223C004(BattleSystem *battleSys, BgConfig *param1)
|
|||
{
|
||||
int v3;
|
||||
|
||||
v3 = ov16_0223EDE0(battleSys);
|
||||
v3 = BattleSystem_GetOptionsFrame(battleSys);
|
||||
|
||||
ReplaceTransparentTiles(param1, 1, 1, 10, v3, 5);
|
||||
Graphics_LoadTilesToBgLayer(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, 3 + battleSys->background, param1, 3, 0, 0, 1, HEAP_ID_BATTLE);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, 172 + (battleSys->background * 3) + ov16_0223EC04(battleSys), 5, 0, 0, 0);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, NARC_INDEX_GRAPHIC__PL_WINFRAME, GetMessageBoxPaletteNARCMember(v3), 5, 0, 0x20, 10 * 0x10);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteSys, NARC_INDEX_GRAPHIC__PL_FONT, 7, 5, 0, 0x20, 0xb * 0x10);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteData, NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, 172 + (battleSys->background * 3) + BattleSystem_GetBackgroundTimeOffset(battleSys), 5, 0, 0, 0);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteData, NARC_INDEX_GRAPHIC__PL_WINFRAME, GetMessageBoxPaletteNARCMember(v3), 5, 0, 0x20, 10 * 0x10);
|
||||
PaletteData_LoadBufferFromFileStart(battleSys->paletteData, NARC_INDEX_GRAPHIC__PL_FONT, 7, 5, 0, 0x20, 0xb * 0x10);
|
||||
Graphics_LoadTilemapToBgLayer(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, 2, param1, 3, 0, 0, 1, HEAP_ID_BATTLE);
|
||||
}
|
||||
|
||||
|
|
@ -943,16 +939,16 @@ static void ov16_0223C210(BattleSystem *battleSys)
|
|||
BattleContext *v3;
|
||||
Pokemon *v4;
|
||||
|
||||
v0 = BattleSystem_Terrain(battleSys);
|
||||
v0 = BattleSystem_GetTerrain(battleSys);
|
||||
|
||||
ov16_022686CC(&battleSys->unk_17C[0], battleSys, 0, v0);
|
||||
ov16_022686CC(&battleSys->unk_17C[1], battleSys, 1, v0);
|
||||
|
||||
v3 = BattleSystem_Context(battleSys);
|
||||
v3 = BattleSystem_GetBattleContext(battleSys);
|
||||
|
||||
for (v1 = 0; v1 < battleSys->maxBattlers; v1++) {
|
||||
v2 = BattleContext_Get(battleSys, v3, 2, v1);
|
||||
v4 = BattleSystem_PartyPokemon(battleSys, v1, v2);
|
||||
v4 = BattleSystem_GetPartyPokemon(battleSys, v1, v2);
|
||||
ov16_0225C038(battleSys, battleSys->battlers[v1], Pokemon_GetValue(v4, MON_DATA_POKEBALL, NULL), v2);
|
||||
}
|
||||
|
||||
|
|
@ -1052,18 +1048,18 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
|
|||
for (i = 0; i < 4; i++) {
|
||||
battleSys->trainerInfo[i] = TrainerInfo_New(HEAP_ID_BATTLE);
|
||||
TrainerInfo_Copy(dto->trainerInfo[i], battleSys->trainerInfo[i]);
|
||||
battleSys->unk_78[i] = dto->chatotCries[i];
|
||||
battleSys->chatotCries[i] = dto->chatotCries[i];
|
||||
}
|
||||
|
||||
battleSys->unk_2442 = dto->networkID;
|
||||
battleSys->networkID = dto->networkID;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
battleSys->unk_2464[i] = dto->unk_178[i];
|
||||
}
|
||||
|
||||
battleSys->unk_2430 = LCRNG_GetSeed();
|
||||
battleSys->unk_2444 = dto->seed;
|
||||
battleSys->unk_2448 = dto->seed;
|
||||
battleSys->seedLCRNG = LCRNG_GetSeed();
|
||||
battleSys->seedRandNext = dto->seed;
|
||||
battleSys->seedDTO = dto->seed;
|
||||
battleSys->battleStatusMask = dto->battleStatusMask;
|
||||
battleSys->bag = Bag_New(HEAP_ID_BATTLE);
|
||||
|
||||
|
|
@ -1075,7 +1071,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
|
|||
battleSys->options = dto->options;
|
||||
battleSys->palPad = dto->palPad;
|
||||
battleSys->bagCursor = dto->bagCursor;
|
||||
battleSys->unk_1BC = dto->subscreenCursorOn;
|
||||
battleSys->subscreenCursorOn = dto->subscreenCursorOn;
|
||||
battleSys->poketch = dto->poketch;
|
||||
battleSys->mapEvolutionMethod = dto->mapEvolutionMethod;
|
||||
battleSys->captureAttempt = dto->captureAttempt;
|
||||
|
|
@ -1084,8 +1080,8 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
|
|||
battleSys->background = dto->background;
|
||||
battleSys->mapHeader = dto->mapLabelTextID;
|
||||
battleSys->time = dto->timeOfDay;
|
||||
battleSys->unk_2418 = dto->rulesetMask;
|
||||
battleSys->unk_2424 = dto->visitedContestHall;
|
||||
battleSys->rulesetMask = dto->rulesetMask;
|
||||
battleSys->visitedContestHall = dto->visitedContestHall;
|
||||
battleSys->metBebe = dto->metBebe;
|
||||
battleSys->fieldWeather = dto->fieldWeather;
|
||||
battleSys->records = dto->records;
|
||||
|
|
@ -1118,7 +1114,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
|
|||
if (battleSys->battleType & BATTLE_TYPE_LINK) {
|
||||
sub_0207A6DC(battleSys);
|
||||
{
|
||||
u8 v6 = ov16_0223F6E4(battleSys);
|
||||
u8 v6 = BattleSystem_GetNetworkID(battleSys);
|
||||
int v7;
|
||||
|
||||
ov16_0223DD90(battleSys, dto);
|
||||
|
|
@ -1252,8 +1248,8 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
|
|||
}
|
||||
|
||||
for (i = 0; i < battleSys->maxBattlers; i++) {
|
||||
for (v1 = 0; v1 < BattleSystem_PartyCount(battleSys, i); v1++) {
|
||||
v3 = BattleSystem_PartyPokemon(battleSys, i, v1);
|
||||
for (v1 = 0; v1 < BattleSystem_GetPartyCount(battleSys, i); v1++) {
|
||||
v3 = BattleSystem_GetPartyPokemon(battleSys, i, v1);
|
||||
|
||||
if (i == 2) {
|
||||
if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL)) && (v8 != v1)) {
|
||||
|
|
@ -1457,16 +1453,16 @@ static void ov16_0223CE28(void)
|
|||
|
||||
static void ov16_0223CE68(void *param0)
|
||||
{
|
||||
BattleSystem *v0 = param0;
|
||||
BattleSystem *battleSys = param0;
|
||||
|
||||
if (v0->unk_23FB_0) {
|
||||
v0->unk_23FB_0 = 0;
|
||||
if (battleSys->unk_23FB_0) {
|
||||
battleSys->unk_23FB_0 = 0;
|
||||
G2_BlendNone();
|
||||
G2S_BlendNone();
|
||||
}
|
||||
|
||||
if (v0->unk_23FB_1) {
|
||||
v0->unk_23FB_1 = 0;
|
||||
if (battleSys->unk_23FB_1) {
|
||||
battleSys->unk_23FB_1 = 0;
|
||||
{
|
||||
GXBanks v1 = {
|
||||
GX_VRAM_BG_128_A,
|
||||
|
|
@ -1485,8 +1481,8 @@ static void ov16_0223CE68(void *param0)
|
|||
}
|
||||
}
|
||||
|
||||
if (v0->unk_23FB_2) {
|
||||
v0->unk_23FB_2 = 0;
|
||||
if (battleSys->unk_23FB_2) {
|
||||
battleSys->unk_23FB_2 = 0;
|
||||
{
|
||||
GXBanks v2 = {
|
||||
GX_VRAM_BG_128_A,
|
||||
|
|
@ -1505,11 +1501,11 @@ static void ov16_0223CE68(void *param0)
|
|||
}
|
||||
}
|
||||
|
||||
PokemonSpriteManager_UpdateCharAndPltt(v0->unk_88);
|
||||
PokemonSpriteManager_UpdateCharAndPltt(battleSys->monSpriteMan);
|
||||
VramTransfer_Process();
|
||||
SpriteSystem_TransferOam();
|
||||
PaletteData_CommitFadedBuffers(v0->paletteSys);
|
||||
Bg_RunScheduledUpdates(v0->unk_04);
|
||||
PaletteData_CommitFadedBuffers(battleSys->paletteData);
|
||||
Bg_RunScheduledUpdates(battleSys->bgConfig);
|
||||
|
||||
OS_SetIrqCheckFlag(OS_IE_V_BLANK);
|
||||
}
|
||||
|
|
@ -1527,17 +1523,17 @@ static void ov16_0223CF1C(void *param0)
|
|||
|
||||
static void ov16_0223CF48(SysTask *param0, void *param1)
|
||||
{
|
||||
BattleSystem *v0 = param1;
|
||||
BattleSystem *battleSys = param1;
|
||||
|
||||
sub_02038A1C(5, v0->unk_04);
|
||||
sub_02038A1C(5, battleSys->bgConfig);
|
||||
|
||||
if ((v0->unk_23F9 == 0) || (v0->unk_23F9 == 3)) {
|
||||
if (v0->unk_23F9 == 0) {
|
||||
if ((battleSys->unk_23F9 == 0) || (battleSys->unk_23F9 == 3)) {
|
||||
if (battleSys->unk_23F9 == 0) {
|
||||
ParticleHelper_DrawParticleSystems();
|
||||
}
|
||||
|
||||
PokemonSpriteManager_DrawSprites(v0->unk_88);
|
||||
SpriteSystem_DrawSprites(v0->spriteMan);
|
||||
PokemonSpriteManager_DrawSprites(battleSys->monSpriteMan);
|
||||
SpriteSystem_DrawSprites(battleSys->spriteMan);
|
||||
SpriteSystem_UpdateTransfer();
|
||||
G3_RequestSwapBuffers(GX_SORTMODE_MANUAL, GX_BUFFERMODE_Z);
|
||||
}
|
||||
|
|
@ -1545,7 +1541,7 @@ static void ov16_0223CF48(SysTask *param0, void *param1)
|
|||
|
||||
static void ov16_0223CF8C(SysTask *param0, void *param1)
|
||||
{
|
||||
BattleSystem *v0 = param1;
|
||||
BattleSystem *battleSys = param1;
|
||||
BattlerData *v1;
|
||||
Healthbar *v2;
|
||||
int v3;
|
||||
|
|
@ -1554,28 +1550,28 @@ static void ov16_0223CF8C(SysTask *param0, void *param1)
|
|||
int v6;
|
||||
int v7;
|
||||
|
||||
v4 = BattleSystem_MaxBattlers(v0);
|
||||
v4 = BattleSystem_GetMaxBattlers(battleSys);
|
||||
v5 = 0;
|
||||
v6 = ov16_0223F450(v0);
|
||||
v6 = BattleSystem_GetRedHPSoundFlag(battleSys);
|
||||
|
||||
if (BattleSystem_BattleType(v0) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (v6 & 2) {
|
||||
if (v6 & 1) {
|
||||
Sound_StopEffect(1796, 0);
|
||||
BattleSystem_SetRedHPSoundFlag(v0, 2);
|
||||
BattleSystem_SetRedHPSoundFlag(battleSys, 2);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
for (v3 = 0; v3 < v4; v3++) {
|
||||
v1 = BattleSystem_BattlerData(v0, v3);
|
||||
v1 = BattleSystem_GetBattlerData(battleSys, v3);
|
||||
|
||||
if (((Battler_BootState(v1) == 0x0) && ((BattleSystem_BattleStatus(v0) & 0x10) == 0)) || ((Battler_Side(v0, v3) == 0) && (BattleSystem_BattleStatus(v0) & 0x10))) {
|
||||
v2 = ov16_02263B08(v1);
|
||||
if (((Battler_BootState(v1) == 0x0) && ((BattleSystem_GetBattleStatusMask(battleSys) & 0x10) == 0)) || ((BattleSystem_GetBattlerSide(battleSys, v3) == 0) && (BattleSystem_GetBattleStatusMask(battleSys) & 0x10))) {
|
||||
v2 = BattlerData_GetHealthbar(v1);
|
||||
|
||||
if (v2 != NULL) {
|
||||
if (HealthBar_Color(v2->curHP, v2->maxHP, 8 * 6) == 1) {
|
||||
|
|
@ -1585,24 +1581,24 @@ static void ov16_0223CF8C(SysTask *param0, void *param1)
|
|||
}
|
||||
}
|
||||
|
||||
if ((v5) && (ov16_0223F450(v0) == 0)) {
|
||||
if ((v5) && (BattleSystem_GetRedHPSoundFlag(battleSys) == 0)) {
|
||||
Sound_PlayEffect(SEQ_SE_DP_HINSI);
|
||||
BattleSystem_SetRedHPSoundFlag(v0, 1);
|
||||
ov16_0223F48C(v0, 4);
|
||||
} else if ((v5 == 0) && (ov16_0223F450(v0))) {
|
||||
BattleSystem_SetRedHPSoundFlag(battleSys, 1);
|
||||
BattleSystem_SetRedHPSoundEffectDelay(battleSys, 4);
|
||||
} else if ((v5 == 0) && (BattleSystem_GetRedHPSoundFlag(battleSys))) {
|
||||
Sound_StopEffect(1796, 0);
|
||||
BattleSystem_SetRedHPSoundFlag(v0, 0);
|
||||
BattleSystem_SetRedHPSoundFlag(battleSys, 0);
|
||||
}
|
||||
|
||||
if (ov16_0223F450(v0)) {
|
||||
v7 = ov16_0223F47C(v0);
|
||||
if (BattleSystem_GetRedHPSoundFlag(battleSys)) {
|
||||
v7 = BattleSystem_GetRedHPSoundEffectDelay(battleSys);
|
||||
|
||||
if (Sound_IsEffectPlaying(1796) == 0) {
|
||||
if (--v7 == 0) {
|
||||
Sound_PlayEffect(SEQ_SE_DP_HINSI);
|
||||
ov16_0223F48C(v0, 4);
|
||||
BattleSystem_SetRedHPSoundEffectDelay(battleSys, 4);
|
||||
} else {
|
||||
ov16_0223F48C(v0, v7);
|
||||
BattleSystem_SetRedHPSoundEffectDelay(battleSys, v7);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1610,12 +1606,12 @@ static void ov16_0223CF8C(SysTask *param0, void *param1)
|
|||
|
||||
static void ov16_0223D0C4(SysTask *param0, void *param1)
|
||||
{
|
||||
BattleSystem *v0 = param1;
|
||||
BattleSystem *battleSys = param1;
|
||||
|
||||
v0->unk_2434 += 3;
|
||||
Bg_SetOffset(v0->unk_04, BG_LAYER_MAIN_1, 3, v0->unk_2434);
|
||||
battleSys->yOffset += 3;
|
||||
Bg_SetOffset(battleSys->bgConfig, BG_LAYER_MAIN_1, BG_OFFSET_UPDATE_SET_Y, battleSys->yOffset);
|
||||
|
||||
if (v0->unk_2434 == 0) {
|
||||
if (battleSys->yOffset == 0) {
|
||||
SysTask_Done(param0);
|
||||
}
|
||||
}
|
||||
|
|
@ -2010,11 +2006,11 @@ static BOOL ov16_0223D800(ApplicationManager *appMan)
|
|||
case 0:
|
||||
case 3:
|
||||
battleSys->unk_1C0->unk_04[0] = battleSys->parties[v2];
|
||||
battleSys->unk_1C0->unk_04[2] = battleSys->parties[BattleSystem_Partner(battleSys, v2)];
|
||||
battleSys->unk_1C0->unk_04[2] = battleSys->parties[BattleSystem_GetPartner(battleSys, v2)];
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
battleSys->unk_1C0->unk_04[0] = battleSys->parties[BattleSystem_Partner(battleSys, v2)];
|
||||
battleSys->unk_1C0->unk_04[0] = battleSys->parties[BattleSystem_GetPartner(battleSys, v2)];
|
||||
battleSys->unk_1C0->unk_04[2] = battleSys->parties[v2];
|
||||
break;
|
||||
}
|
||||
|
|
@ -2041,16 +2037,16 @@ static BOOL ov16_0223D800(ApplicationManager *appMan)
|
|||
static BOOL ov16_0223D944(ApplicationManager *appMan)
|
||||
{
|
||||
int v0;
|
||||
BattleSystem *v1 = ApplicationManager_Data(appMan);
|
||||
BattleSystem *battleSys = ApplicationManager_Data(appMan);
|
||||
|
||||
if (v1->unk_1C0->unk_2B) {
|
||||
if (battleSys->unk_1C0->unk_2B) {
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
if (v1->unk_1C0->unk_14[v0] != NULL) {
|
||||
Heap_Free(v1->unk_1C0->unk_14[v0]);
|
||||
if (battleSys->unk_1C0->unk_14[v0] != NULL) {
|
||||
Heap_Free(battleSys->unk_1C0->unk_14[v0]);
|
||||
}
|
||||
}
|
||||
|
||||
Heap_Free(v1->unk_1C0);
|
||||
Heap_Free(battleSys->unk_1C0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -2101,16 +2097,16 @@ static BOOL ov16_0223D98C(ApplicationManager *appMan)
|
|||
static BOOL ov16_0223DAD4(ApplicationManager *appMan)
|
||||
{
|
||||
int v0;
|
||||
BattleSystem *v1 = ApplicationManager_Data(appMan);
|
||||
BattleSystem *battleSys = ApplicationManager_Data(appMan);
|
||||
|
||||
if (v1->unk_1C0->unk_2B) {
|
||||
if (battleSys->unk_1C0->unk_2B) {
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
if (v1->unk_1C0->unk_14[v0] != NULL) {
|
||||
Heap_Free(v1->unk_1C0->unk_14[v0]);
|
||||
if (battleSys->unk_1C0->unk_14[v0] != NULL) {
|
||||
Heap_Free(battleSys->unk_1C0->unk_14[v0]);
|
||||
}
|
||||
}
|
||||
|
||||
Heap_Free(v1->unk_1C0);
|
||||
Heap_Free(battleSys->unk_1C0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#include "struct_decls/battle_system.h"
|
||||
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/struct_ov16_0225BFFC_decl.h"
|
||||
#include "battle/struct_ov16_0225BFFC_t.h"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ void ov16_02264798(BattlerData *param0, BattleSystem *battleSys)
|
|||
return;
|
||||
}
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#include "struct_decls/battle_system.h"
|
||||
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/struct_ov16_02268520.h"
|
||||
|
||||
#include "narc.h"
|
||||
|
|
@ -178,7 +178,7 @@ void ov16_02268520(UnkStruct_ov16_02268520 *param0)
|
|||
NARC *v10 = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, HEAP_ID_BATTLE);
|
||||
v0 = BattleSystem_GetSpriteSystem(param0->unk_04);
|
||||
v1 = BattleSystem_GetSpriteManager(param0->unk_04);
|
||||
v9 = ov16_0223EC04(param0->unk_04);
|
||||
v9 = BattleSystem_GetBackgroundTimeOffset(param0->unk_04);
|
||||
v2 = &Unk_ov16_022700CC[param0->unk_08];
|
||||
|
||||
if (param0->unk_08 == 0) {
|
||||
|
|
@ -198,8 +198,8 @@ void ov16_02268520(UnkStruct_ov16_02268520 *param0)
|
|||
}
|
||||
|
||||
SpriteSystem_LoadCharResObjFromOpenNarc(v0, v1, v10, v3, TRUE, NNS_G2D_VRAM_TYPE_2DMAIN, v4);
|
||||
SpriteSystem_LoadPaletteBufferFromOpenNarc(BattleSystem_PaletteSys(param0->unk_04), PLTTBUF_MAIN_OBJ, v0, v1, v10, Unk_ov16_02270134[param0->unk_09][v9], FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 20009);
|
||||
PaletteData_LoadBufferFromFileStart(BattleSystem_PaletteSys(param0->unk_04), NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, Unk_ov16_02270134[param0->unk_09][v9], 5, PLTTBUF_MAIN_BG, 0x20, 0x7 * 0x10);
|
||||
SpriteSystem_LoadPaletteBufferFromOpenNarc(BattleSystem_GetPaletteData(param0->unk_04), PLTTBUF_MAIN_OBJ, v0, v1, v10, Unk_ov16_02270134[param0->unk_09][v9], FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 20009);
|
||||
PaletteData_LoadBufferFromFileStart(BattleSystem_GetPaletteData(param0->unk_04), NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, Unk_ov16_02270134[param0->unk_09][v9], 5, PLTTBUF_MAIN_BG, 0x20, 0x7 * 0x10);
|
||||
SpriteSystem_LoadCellResObjFromOpenNarc(v0, v1, v10, v5, TRUE, v6);
|
||||
SpriteSystem_LoadAnimResObjFromOpenNarc(v0, v1, v10, v7, TRUE, v8);
|
||||
NARC_dtor(v10);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
#include "battle/battle_cursor.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/struct_ov16_02268A14_decl.h"
|
||||
|
||||
#include "heap.h"
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
#include "sys_task_manager.h"
|
||||
|
||||
typedef struct {
|
||||
BattleSystem *unk_00;
|
||||
BattleSystem *battleSys;
|
||||
s16 unk_04;
|
||||
s16 unk_06;
|
||||
} UnkStruct_ov16_0226E148;
|
||||
|
|
@ -31,7 +31,7 @@ SysTask *ov16_0226E148(BattleSystem *battleSys)
|
|||
v0 = Heap_Alloc(HEAP_ID_BATTLE, sizeof(UnkStruct_ov16_0226E148));
|
||||
MI_CpuClear8(v0, sizeof(UnkStruct_ov16_0226E148));
|
||||
|
||||
v0->unk_00 = battleSys;
|
||||
v0->battleSys = battleSys;
|
||||
v1 = SysTask_Start(ov16_0226E188, v0, 1000);
|
||||
|
||||
return v1;
|
||||
|
|
@ -48,7 +48,7 @@ void ov16_0226E174(SysTask *param0)
|
|||
static void ov16_0226E188(SysTask *param0, void *param1)
|
||||
{
|
||||
UnkStruct_ov16_0226E148 *v0 = param1;
|
||||
UnkStruct_ov16_02268A14 *v1 = ov16_0223E02C(v0->unk_00);
|
||||
UnkStruct_ov16_02268A14 *v1 = ov16_0223E02C(v0->battleSys);
|
||||
|
||||
switch (v0->unk_04) {
|
||||
case 0:
|
||||
|
|
@ -72,7 +72,7 @@ static void ov16_0226E188(SysTask *param0, void *param1)
|
|||
}
|
||||
break;
|
||||
case 2:
|
||||
if (ov16_0223F7A4(v0->unk_00) == 1) {
|
||||
if (ov16_0223F7A4(v0->battleSys) == 1) {
|
||||
if (BattleSystem_MenuInput(v1) == 1) {
|
||||
Sound_PlayEffect(SEQ_SE_DP_DECIDE);
|
||||
v0->unk_04++;
|
||||
|
|
@ -83,7 +83,7 @@ static void ov16_0226E188(SysTask *param0, void *param1)
|
|||
v0->unk_06++;
|
||||
|
||||
if (v0->unk_06 > 8) {
|
||||
BattleSystem_SetStopRecording(v0->unk_00, 0);
|
||||
BattleSystem_SetStopRecording(v0->battleSys, 0);
|
||||
v0->unk_04++;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
#include "constants/heap.h"
|
||||
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/message_defs.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
|
||||
#include "assert.h"
|
||||
#include "enums.h"
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@
|
|||
#include "battle/battle_context.h"
|
||||
#include "battle/battle_controller_player.h"
|
||||
#include "battle/battle_lib.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/common.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/trainer_ai.h"
|
||||
#include "pch/global_pch.h"
|
||||
|
||||
|
|
@ -567,7 +567,7 @@ static u8 TrainerAI_MainDoubles(BattleSystem *battleSys, BattleContext *battleCt
|
|||
|
||||
// Override targets as needed
|
||||
if (AI_CONTEXT.moveTable[move].range == RANGE_USER_OR_ALLY
|
||||
&& Battler_Side(battleSys, AI_CONTEXT.selectedTarget[AI_CONTEXT.attacker]) == 0) {
|
||||
&& BattleSystem_GetBattlerSide(battleSys, AI_CONTEXT.selectedTarget[AI_CONTEXT.attacker]) == 0) {
|
||||
AI_CONTEXT.selectedTarget[AI_CONTEXT.attacker] = AI_CONTEXT.attacker;
|
||||
}
|
||||
|
||||
|
|
@ -844,7 +844,7 @@ static void AICmd_IfSideCondition(BattleSystem *battleSys, BattleContext *battle
|
|||
u32 mask = AIScript_Read(battleCtx);
|
||||
int jump = AIScript_Read(battleCtx);
|
||||
u8 battler = AIScript_Battler(battleCtx, inBattler);
|
||||
u8 side = Battler_Side(battleSys, battler);
|
||||
u8 side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
|
||||
if (battleCtx->sideConditionsMask[side] & mask) {
|
||||
AIScript_Iter(battleCtx, jump);
|
||||
|
|
@ -859,7 +859,7 @@ static void AICmd_IfNotSideCondition(BattleSystem *battleSys, BattleContext *bat
|
|||
u32 mask = AIScript_Read(battleCtx);
|
||||
int jump = AIScript_Read(battleCtx);
|
||||
u8 battler = AIScript_Battler(battleCtx, inBattler);
|
||||
u8 side = Battler_Side(battleSys, battler);
|
||||
u8 side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
|
||||
if ((battleCtx->sideConditionsMask[side] & mask) == FALSE) {
|
||||
AIScript_Iter(battleCtx, jump);
|
||||
|
|
@ -1070,22 +1070,22 @@ static void AICmd_LoadTypeFrom(BattleSystem *battleSys, BattleContext *battleCtx
|
|||
break;
|
||||
|
||||
case LOAD_ATTACKER_PARTNER_TYPE_1:
|
||||
partner = BattleSystem_Partner(battleSys, AI_CONTEXT.attacker);
|
||||
partner = BattleSystem_GetPartner(battleSys, AI_CONTEXT.attacker);
|
||||
AI_CONTEXT.calcTemp = BattleMon_Get(battleCtx, partner, BATTLEMON_TYPE_1, NULL);
|
||||
break;
|
||||
|
||||
case LOAD_DEFENDER_PARTNER_TYPE_1:
|
||||
partner = BattleSystem_Partner(battleSys, AI_CONTEXT.defender);
|
||||
partner = BattleSystem_GetPartner(battleSys, AI_CONTEXT.defender);
|
||||
AI_CONTEXT.calcTemp = BattleMon_Get(battleCtx, partner, BATTLEMON_TYPE_1, NULL);
|
||||
break;
|
||||
|
||||
case LOAD_ATTACKER_PARTNER_TYPE_2:
|
||||
partner = BattleSystem_Partner(battleSys, AI_CONTEXT.attacker);
|
||||
partner = BattleSystem_GetPartner(battleSys, AI_CONTEXT.attacker);
|
||||
AI_CONTEXT.calcTemp = BattleMon_Get(battleCtx, partner, BATTLEMON_TYPE_2, NULL);
|
||||
break;
|
||||
|
||||
case LOAD_DEFENDER_PARTNER_TYPE_2:
|
||||
partner = BattleSystem_Partner(battleSys, AI_CONTEXT.defender);
|
||||
partner = BattleSystem_GetPartner(battleSys, AI_CONTEXT.defender);
|
||||
AI_CONTEXT.calcTemp = BattleMon_Get(battleCtx, partner, BATTLEMON_TYPE_1, NULL);
|
||||
break;
|
||||
|
||||
|
|
@ -1239,17 +1239,17 @@ static void AICmd_CountAlivePartyBattlers(BattleSystem *battleSys, BattleContext
|
|||
AI_CONTEXT.calcTemp = 0;
|
||||
|
||||
u8 battler = AIScript_Battler(battleCtx, inBattler);
|
||||
Party *party = BattleSystem_Party(battleSys, battler);
|
||||
Party *party = BattleSystem_GetParty(battleSys, battler);
|
||||
u8 battlerSlot, partnerSlot;
|
||||
|
||||
if (battleSys->battleType & BATTLE_TYPE_DOUBLES) {
|
||||
battlerSlot = battleCtx->selectedPartySlot[battler];
|
||||
partnerSlot = battleCtx->selectedPartySlot[BattleSystem_Partner(battleSys, battler)];
|
||||
partnerSlot = battleCtx->selectedPartySlot[BattleSystem_GetPartner(battleSys, battler)];
|
||||
} else {
|
||||
battlerSlot = partnerSlot = battleCtx->selectedPartySlot[battler];
|
||||
}
|
||||
|
||||
for (int i = 0; i < BattleSystem_PartyCount(battleSys, battler); i++) {
|
||||
for (int i = 0; i < BattleSystem_GetPartyCount(battleSys, battler); i++) {
|
||||
Pokemon *mon = Party_GetPokemonBySlotIndex(party, i);
|
||||
|
||||
if (i != battlerSlot
|
||||
|
|
@ -1465,13 +1465,13 @@ static void AICmd_IfPartyMemberStatus(BattleSystem *battleSys, BattleContext *ba
|
|||
u8 slot1, slot2;
|
||||
if (battleSys->battleType & BATTLE_TYPE_DOUBLES) {
|
||||
slot1 = battleCtx->selectedPartySlot[battler];
|
||||
slot2 = battleCtx->selectedPartySlot[BattleSystem_Partner(battleSys, battler)];
|
||||
slot2 = battleCtx->selectedPartySlot[BattleSystem_GetPartner(battleSys, battler)];
|
||||
} else {
|
||||
slot1 = slot2 = battleCtx->selectedPartySlot[battler];
|
||||
}
|
||||
|
||||
party = BattleSystem_Party(battleSys, battler);
|
||||
for (int i = 0; i < BattleSystem_PartyCount(battleSys, battler); i++) {
|
||||
party = BattleSystem_GetParty(battleSys, battler);
|
||||
for (int i = 0; i < BattleSystem_GetPartyCount(battleSys, battler); i++) {
|
||||
Pokemon *mon = Party_GetPokemonBySlotIndex(party, i);
|
||||
|
||||
if (i != slot1 && i != slot2
|
||||
|
|
@ -1498,13 +1498,13 @@ static void AICmd_IfPartyMemberNotStatus(BattleSystem *battleSys, BattleContext
|
|||
u8 slot1, slot2;
|
||||
if (battleSys->battleType & BATTLE_TYPE_DOUBLES) {
|
||||
slot1 = battleCtx->selectedPartySlot[battler];
|
||||
slot2 = battleCtx->selectedPartySlot[BattleSystem_Partner(battleSys, battler)];
|
||||
slot2 = battleCtx->selectedPartySlot[BattleSystem_GetPartner(battleSys, battler)];
|
||||
} else {
|
||||
slot1 = slot2 = battleCtx->selectedPartySlot[battler];
|
||||
}
|
||||
|
||||
party = BattleSystem_Party(battleSys, battler);
|
||||
for (int i = 0; i < BattleSystem_PartyCount(battleSys, battler); i++) {
|
||||
party = BattleSystem_GetParty(battleSys, battler);
|
||||
for (int i = 0; i < BattleSystem_GetPartyCount(battleSys, battler); i++) {
|
||||
Pokemon *mon = Party_GetPokemonBySlotIndex(party, i);
|
||||
|
||||
if (i != slot1 && i != slot2
|
||||
|
|
@ -2059,7 +2059,7 @@ static void AICmd_LoadSpikesLayers(BattleSystem *battleSys, BattleContext *battl
|
|||
int inBattler = AIScript_Read(battleCtx);
|
||||
u32 sideCondition = AIScript_Read(battleCtx);
|
||||
u8 battler = AIScript_Battler(battleCtx, inBattler);
|
||||
u8 side = Battler_Side(battleSys, battler);
|
||||
u8 side = BattleSystem_GetBattlerSide(battleSys, battler);
|
||||
|
||||
switch (sideCondition) {
|
||||
case SIDE_CONDITION_SPIKES:
|
||||
|
|
@ -2080,8 +2080,8 @@ static void AICmd_IfAnyPartyMemberIsWounded(BattleSystem *battleSys, BattleConte
|
|||
int jump = AIScript_Read(battleCtx);
|
||||
u8 battler = AIScript_Battler(battleCtx, inBattler);
|
||||
|
||||
for (int i = 0; i < BattleSystem_PartyCount(battleSys, battler); i++) {
|
||||
Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
for (int i = 0; i < BattleSystem_GetPartyCount(battleSys, battler); i++) {
|
||||
Pokemon *mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (i != battleCtx->selectedPartySlot[battler]
|
||||
&& Pokemon_GetValue(mon, MON_DATA_HP, NULL) != Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL)) {
|
||||
|
|
@ -2100,8 +2100,8 @@ static void AICmd_IfAnyPartyMemberUsedPP(BattleSystem *battleSys, BattleContext
|
|||
u8 battler = AIScript_Battler(battleCtx, inBattler);
|
||||
int moveSlot; // must be declared outside of the loop to match
|
||||
|
||||
for (int partySlot = 0; partySlot < BattleSystem_PartyCount(battleSys, battler); partySlot++) {
|
||||
Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, partySlot);
|
||||
for (int partySlot = 0; partySlot < BattleSystem_GetPartyCount(battleSys, battler); partySlot++) {
|
||||
Pokemon *mon = BattleSystem_GetPartyPokemon(battleSys, battler, partySlot);
|
||||
|
||||
if (partySlot != battleCtx->selectedPartySlot[battler]) {
|
||||
for (moveSlot = 0; moveSlot < LEARNED_MOVES_MAX; moveSlot++) {
|
||||
|
|
@ -2174,7 +2174,7 @@ static void AICmd_LoadBattlerSpeedRank(BattleSystem *battleSys, BattleContext *b
|
|||
|
||||
inBattler = AIScript_Read(battleCtx);
|
||||
battler = AIScript_Battler(battleCtx, inBattler);
|
||||
maxBattlers = BattleSystem_MaxBattlers(battleSys);
|
||||
maxBattlers = BattleSystem_GetMaxBattlers(battleSys);
|
||||
|
||||
for (i = 0; i < maxBattlers; i++) {
|
||||
speedOrder[i] = i;
|
||||
|
|
@ -2245,9 +2245,9 @@ static void AICmd_IfPartyMemberDealsMoreDamage(BattleSystem *battleSys, BattleCo
|
|||
battleCtx->battleMons[battler].moveEffectsData.embargoTurns,
|
||||
varyDamage);
|
||||
|
||||
for (i = 0; i < BattleSystem_PartyCount(battleSys, battler); i++) {
|
||||
for (i = 0; i < BattleSystem_GetPartyCount(battleSys, battler); i++) {
|
||||
if (i != battleCtx->selectedPartySlot[battler]) {
|
||||
partyMon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
partyMon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (Pokemon_GetValue(partyMon, MON_DATA_HP, NULL) != 0
|
||||
&& Pokemon_GetValue(partyMon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE
|
||||
|
|
@ -2518,7 +2518,7 @@ static void AICmd_CheckIfHighestDamageWithPartner(BattleSystem *battleSys, Battl
|
|||
varyDamage);
|
||||
|
||||
// Update to the partner for the next iteration
|
||||
battler = BattleSystem_Partner(battleSys, AI_CONTEXT.attacker);
|
||||
battler = BattleSystem_GetPartner(battleSys, AI_CONTEXT.attacker);
|
||||
|
||||
if (j == 0) {
|
||||
moveDamage = damageVals[AI_CONTEXT.moveSlot];
|
||||
|
|
@ -2982,7 +2982,7 @@ static s32 TrainerAI_CalcDamage(BattleSystem *battleSys, BattleContext *battleCt
|
|||
u32 effectivenessFlags;
|
||||
s32 damage;
|
||||
|
||||
defendingSide = Battler_Side(battleSys, AI_CONTEXT.defender);
|
||||
defendingSide = BattleSystem_GetBattlerSide(battleSys, AI_CONTEXT.defender);
|
||||
damage = 0;
|
||||
power = 0;
|
||||
type = 0;
|
||||
|
|
@ -3398,7 +3398,7 @@ static BOOL AI_CannotDamageWonderGuard(BattleSystem *battleSys, BattleContext *b
|
|||
u32 effectiveness;
|
||||
Pokemon *mon;
|
||||
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -3419,8 +3419,8 @@ static BOOL AI_CannotDamageWonderGuard(BattleSystem *battleSys, BattleContext *b
|
|||
}
|
||||
|
||||
// If we don't, check if any of our party members have a super-effective move
|
||||
for (i = 0; i < BattleSystem_PartyCount(battleSys, battler); i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
for (i = 0; i < BattleSystem_GetPartyCount(battleSys, battler); i++) {
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0
|
||||
&& Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE
|
||||
|
|
@ -3478,7 +3478,7 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt
|
|||
Pokemon *mon;
|
||||
|
||||
// "Player" consts here refer to the AI's perspective.
|
||||
if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
if (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_DOUBLES) {
|
||||
defender1 = BATTLER_PLAYER_1;
|
||||
defender2 = BATTLER_PLAYER_2;
|
||||
} else {
|
||||
|
|
@ -3522,21 +3522,21 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt
|
|||
}
|
||||
|
||||
aiSlot1 = battler;
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_TAG) || (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_TAG) || (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
aiSlot2 = aiSlot1;
|
||||
} else {
|
||||
aiSlot2 = BattleSystem_Partner(battleSys, battler);
|
||||
aiSlot2 = BattleSystem_GetPartner(battleSys, battler);
|
||||
}
|
||||
|
||||
start = 0;
|
||||
end = BattleSystem_PartyCount(battleSys, battler);
|
||||
end = BattleSystem_GetPartyCount(battleSys, battler);
|
||||
|
||||
// For each of the AI's active party Pokemon on the bench, check if any of them have a
|
||||
// damaging move which is super-effective against either of the player's active Pokemon
|
||||
// on the battlefield. If any such Pokemon on the bench exists, switch to it 66% of
|
||||
// the time.
|
||||
for (i = start; i < end; i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0
|
||||
&& Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE
|
||||
|
|
@ -3595,7 +3595,7 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt
|
|||
// Pokemon on the battlefield. If any such Pokemon on the bench exists, switch to it
|
||||
// 50% of the time.
|
||||
for (i = start; i < end; i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0
|
||||
&& Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE
|
||||
|
|
@ -3675,8 +3675,8 @@ static BOOL AI_HasSuperEffectiveMove(BattleSystem *battleSys, BattleContext *bat
|
|||
|
||||
// Look at the slot directly across from us on the opposite side. i.e.,
|
||||
// AI slot 1 looks at player slot 1, AI slot 2 looks at player slot 2
|
||||
oppositeSlot = BattleSystem_BattlerSlot(battleSys, battler) ^ 1;
|
||||
defender = BattleSystem_BattlerOfType(battleSys, oppositeSlot);
|
||||
oppositeSlot = BattleSystem_GetBattlerType(battleSys, battler) ^ 1;
|
||||
defender = BattleSystem_GetBattlerOfType(battleSys, oppositeSlot);
|
||||
|
||||
if ((battleCtx->battlersSwitchingMask & FlagIndex(defender)) == FALSE) {
|
||||
// Check if the player's battler is weak to any of our moves
|
||||
|
|
@ -3701,10 +3701,10 @@ static BOOL AI_HasSuperEffectiveMove(BattleSystem *battleSys, BattleContext *bat
|
|||
}
|
||||
|
||||
// Check the defender's partner the same way as above.
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_DOUBLES) == FALSE) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_DOUBLES) == FALSE) {
|
||||
return FALSE;
|
||||
}
|
||||
defender = BattleSystem_Partner(battleSys, defender);
|
||||
defender = BattleSystem_GetPartner(battleSys, defender);
|
||||
|
||||
if ((battleCtx->battlersSwitchingMask & FlagIndex(defender)) == FALSE) {
|
||||
for (i = 0; i < LEARNED_MOVES_MAX; i++) {
|
||||
|
|
@ -3786,19 +3786,19 @@ static BOOL AI_HasAbsorbAbilityInParty(BattleSystem *battleSys, BattleContext *b
|
|||
}
|
||||
|
||||
aiSlot1 = battler;
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_TAG) || (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_TAG) || (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
aiSlot2 = aiSlot1;
|
||||
} else {
|
||||
aiSlot2 = BattleSystem_Partner(battleSys, battler);
|
||||
aiSlot2 = BattleSystem_GetPartner(battleSys, battler);
|
||||
}
|
||||
|
||||
start = 0;
|
||||
end = BattleSystem_PartyCount(battleSys, battler);
|
||||
end = BattleSystem_GetPartyCount(battleSys, battler);
|
||||
|
||||
// Check each Pokemon on the bench for one which has an ability that absorbs
|
||||
// the last move that was used.
|
||||
for (i = start; i < end; i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0
|
||||
&& Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE
|
||||
|
|
@ -3851,17 +3851,17 @@ static BOOL AI_HasPartyMemberWithSuperEffectiveMove(BattleSystem *battleSys, Bat
|
|||
}
|
||||
|
||||
aiSlot1 = battler;
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_TAG) || (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_TAG) || (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
aiSlot2 = aiSlot1;
|
||||
} else {
|
||||
aiSlot2 = BattleSystem_Partner(battleSys, battler);
|
||||
aiSlot2 = BattleSystem_GetPartner(battleSys, battler);
|
||||
}
|
||||
|
||||
start = 0;
|
||||
end = BattleSystem_PartyCount(battleSys, battler);
|
||||
end = BattleSystem_GetPartyCount(battleSys, battler);
|
||||
|
||||
for (i = start; i < end; i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0
|
||||
&& Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE
|
||||
|
|
@ -4021,17 +4021,17 @@ static BOOL TrainerAI_ShouldSwitch(BattleSystem *battleSys, BattleContext *battl
|
|||
|
||||
alivePartyMons = 0;
|
||||
aiSlot1 = battler;
|
||||
if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_TAG) || (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
if ((BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_TAG) || (BattleSystem_GetBattleType(battleSys) & BATTLE_TYPE_2vs2)) {
|
||||
aiSlot2 = aiSlot1;
|
||||
} else {
|
||||
aiSlot2 = BattleSystem_Partner(battleSys, battler);
|
||||
aiSlot2 = BattleSystem_GetPartner(battleSys, battler);
|
||||
}
|
||||
|
||||
// Check for living party members (obviously, do not try to switch if there are none).
|
||||
start = 0;
|
||||
end = BattleSystem_PartyCount(battleSys, battler);
|
||||
end = BattleSystem_GetPartyCount(battleSys, battler);
|
||||
for (i = start; i < end; i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0
|
||||
&& Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE
|
||||
|
|
@ -4102,9 +4102,9 @@ int TrainerAI_PickCommand(BattleSystem *battleSys, int battler)
|
|||
int end;
|
||||
Pokemon *mon;
|
||||
BattleContext *battleCtx = battleSys->battleCtx;
|
||||
battleType = BattleSystem_BattleType(battleSys);
|
||||
battleType = BattleSystem_GetBattleType(battleSys);
|
||||
|
||||
if ((battleType & BATTLE_TYPE_TRAINER) || Battler_Side(battleSys, battler) == BATTLE_SIDE_PLAYER) {
|
||||
if ((battleType & BATTLE_TYPE_TRAINER) || BattleSystem_GetBattlerSide(battleSys, battler) == BATTLE_SIDE_PLAYER) {
|
||||
if (TrainerAI_ShouldSwitch(battleSys, battleCtx, battler)) {
|
||||
// If this is a switch which should use the post-KO switch logic, then do so.
|
||||
// If there is no valid battler, pick the first one in party order.
|
||||
|
|
@ -4114,12 +4114,12 @@ int TrainerAI_PickCommand(BattleSystem *battleSys, int battler)
|
|||
if ((battleType & BATTLE_TYPE_TAG) || (battleType & BATTLE_TYPE_2vs2)) {
|
||||
battler2 = battler1;
|
||||
} else {
|
||||
battler2 = BattleSystem_Partner(battleSys, battler);
|
||||
battler2 = BattleSystem_GetPartner(battleSys, battler);
|
||||
}
|
||||
|
||||
end = BattleSystem_PartyCount(battleSys, battler);
|
||||
end = BattleSystem_GetPartyCount(battleSys, battler);
|
||||
for (i = 0; i < end; i++) {
|
||||
mon = BattleSystem_PartyPokemon(battleSys, battler, i);
|
||||
mon = BattleSystem_GetPartyPokemon(battleSys, battler, i);
|
||||
|
||||
if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0
|
||||
&& i != battleCtx->selectedPartySlot[battler1]
|
||||
|
|
@ -4175,7 +4175,7 @@ static BOOL TrainerAI_ShouldUseItem(BattleSystem *battleSys, int battler)
|
|||
|
||||
// Don't let the AI partners ever use items in battle against trainers.
|
||||
if ((battleSys->battleType & BATTLE_TYPE_TRAINER_WITH_AI_PARTNER) == BATTLE_TYPE_TRAINER_WITH_AI_PARTNER
|
||||
&& BattleSystem_BattlerSlot(battleSys, battler) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2) {
|
||||
&& BattleSystem_GetBattlerType(battleSys, battler) == BATTLER_TYPE_PLAYER_SIDE_SLOT_2) {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
@ -4184,7 +4184,7 @@ static BOOL TrainerAI_ShouldUseItem(BattleSystem *battleSys, int battler)
|
|||
return result;
|
||||
}
|
||||
|
||||
party = BattleSystem_Party(battleSys, battler);
|
||||
party = BattleSystem_GetParty(battleSys, battler);
|
||||
for (i = 0; i < Party_GetCurrentCount(party); i++) {
|
||||
mon = Party_GetPokemonBySlotIndex(party, i);
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
#include "battle/battle_anim_battler_context.h"
|
||||
#include "battle/battle_background_reference.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/pokemon_sprite_data.h"
|
||||
#include "battle/struct_ov16_02265BBC.h"
|
||||
#include "battle_anim/battle_anim_helpers.h"
|
||||
|
|
@ -3937,12 +3937,12 @@ UnkStruct_ov12_02223764 *ov12_022234F8(BattleSystem *battleSys, enum HeapID heap
|
|||
v2->unk_04 = param2;
|
||||
v2->unk_08.unk_00 = BattleSystem_GetSpriteSystem(battleSys);
|
||||
v2->unk_08.unk_04 = BattleSystem_GetSpriteManager(battleSys);
|
||||
v2->unk_08.unk_08 = BattleSystem_PaletteSys(battleSys);
|
||||
v2->unk_08.unk_08 = BattleSystem_GetPaletteData(battleSys);
|
||||
|
||||
{
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
v2->unk_24[v0] = NULL;
|
||||
v2->pokemonSpriteDataArray[v0] = ov16_0223F2AC(battleSys, v0);
|
||||
v2->pokemonSpriteDataArray[v0] = BattleSystem_GetPokemonSpriteDataByIndex(battleSys, v0);
|
||||
}
|
||||
|
||||
ov16_0223F87C(battleSys, &(v2->unk_44[0]));
|
||||
|
|
@ -4080,21 +4080,21 @@ UnkStruct_ov12_02223764 *ov12_02223764(BattleSystem *battleSys, enum HeapID heap
|
|||
return ov12_022234F8(battleSys, heapID, 0xFF);
|
||||
}
|
||||
|
||||
void ov12_02223770(UnkStruct_ov12_02223764 *battleSys)
|
||||
void ov12_02223770(UnkStruct_ov12_02223764 *param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
if (battleSys->unk_24[v0] == NULL) {
|
||||
if (param0->unk_24[v0] == NULL) {
|
||||
continue;
|
||||
}
|
||||
|
||||
SpriteManager_UnloadCharObjById(battleSys->unk_08.unk_04, battleSys->unk_14[v0]);
|
||||
SpriteManager_UnloadPlttObjById(battleSys->unk_08.unk_04, battleSys->unk_14[v0]);
|
||||
Sprite_DeleteAndFreeResources(battleSys->unk_24[v0]);
|
||||
SpriteManager_UnloadCharObjById(param0->unk_08.unk_04, param0->unk_14[v0]);
|
||||
SpriteManager_UnloadPlttObjById(param0->unk_08.unk_04, param0->unk_14[v0]);
|
||||
Sprite_DeleteAndFreeResources(param0->unk_24[v0]);
|
||||
}
|
||||
|
||||
Heap_Free(battleSys);
|
||||
Heap_Free(param0);
|
||||
}
|
||||
|
||||
void ov12_022237A4(UnkStruct_ov12_02223764 *param0, int param1)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include "struct_decls/pc_boxes_decl.h"
|
||||
|
||||
#include "battle/battle_lib.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/ov16_0226DE44.h"
|
||||
#include "battle_sub_menus/battle_bag_buttons.h"
|
||||
#include "battle_sub_menus/battle_bag_sprites.h"
|
||||
|
|
@ -131,11 +131,11 @@ void BattleBagTask_Start(BattleBagContext *context)
|
|||
memset(battleBagTask, 0, sizeof(BattleBag));
|
||||
|
||||
battleBagTask->context = context;
|
||||
battleBagTask->background = BattleSystem_BGL(context->battleSystem);
|
||||
battleBagTask->palette = BattleSystem_PaletteSys(context->battleSystem);
|
||||
battleBagTask->background = BattleSystem_GetBgConfig(context->battleSys);
|
||||
battleBagTask->palette = BattleSystem_GetPaletteData(context->battleSys);
|
||||
battleBagTask->currentState = TASK_STATE_INITIALIZE;
|
||||
|
||||
BagCursor *cursor = BattleSystem_BagCursor(context->battleSystem);
|
||||
BagCursor *cursor = BattleSystem_GetBagCursor(context->battleSys);
|
||||
|
||||
for (u8 i = 0; i < BATTLE_POCKET_MAX; i++) {
|
||||
BagCursor_GetBattleCategoryPosition(cursor, i, &battleBagTask->context->pocketCurrentPagePositions[i], &battleBagTask->context->pocketCurrentPages[i]);
|
||||
|
|
@ -146,7 +146,7 @@ void BattleBagTask_Start(BattleBagContext *context)
|
|||
|
||||
BattleBag_CanUseLastUsedItem(battleBagTask);
|
||||
|
||||
if (BattleSystem_BattleType(battleBagTask->context->battleSystem) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
if (BattleSystem_GetBattleType(battleBagTask->context->battleSys) & BATTLE_TYPE_CATCH_TUTORIAL) {
|
||||
battleBagTask->context->isInCatchTutorial = TRUE;
|
||||
}
|
||||
}
|
||||
|
|
@ -219,7 +219,7 @@ static u8 BattleBagTask_Initialize(BattleBag *battleBag)
|
|||
InitializeMessageLoader(battleBag);
|
||||
Font_InitManager(FONT_SUBSCREEN, battleBag->context->heapID);
|
||||
|
||||
battleBag->currentBattlePocket = (u8)BagCursor_GetBattleCurrentCategory(BattleSystem_BagCursor(battleBag->context->battleSystem));
|
||||
battleBag->currentBattlePocket = (u8)BagCursor_GetBattleCurrentCategory(BattleSystem_GetBagCursor(battleBag->context->battleSys));
|
||||
|
||||
BattleBag_Init(battleBag);
|
||||
BattleBagButtons_InitializeButtons(battleBag, battleBag->currentScreen);
|
||||
|
|
@ -413,7 +413,7 @@ static u8 TryUseItem(BattleBag *battleBag)
|
|||
u32 itemBattleUse = Item_LoadParam(context->selectedBattleBagItem, ITEM_PARAM_BATTLE_USE_FUNC, context->heapID);
|
||||
|
||||
if (context->embargoRemainingTurns != 0 && context->selectedBattleBagItem != ITEM_GUARD_SPEC && itemBattleUse != 3) {
|
||||
Pokemon *mon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, partySlot);
|
||||
Pokemon *mon = BattleSystem_GetPartyPokemon(context->battleSys, context->battler, partySlot);
|
||||
String *string = MessageLoader_GetNewString(battleBag->messageLoader, BattleBag_Text_EmbargoBlockingItemUse);
|
||||
|
||||
StringTemplate_SetNickname(battleBag->stringTemplate, 0, Pokemon_GetBoxPokemon(mon));
|
||||
|
|
@ -427,12 +427,12 @@ static u8 TryUseItem(BattleBag *battleBag)
|
|||
return TASK_STATE_AWAITING_TEXT_FINISH;
|
||||
}
|
||||
|
||||
if (BattleSystem_UseBagItem(context->battleSystem, context->battler, partySlot, 0, context->selectedBattleBagItem) == TRUE) {
|
||||
UseBagItem(context->battleSystem, context->selectedBattleBagItem, battleBag->currentBattlePocket, context->heapID);
|
||||
if (BattleSystem_UseBagItem(context->battleSys, context->battler, partySlot, 0, context->selectedBattleBagItem) == TRUE) {
|
||||
UseBagItem(context->battleSys, context->selectedBattleBagItem, battleBag->currentBattlePocket, context->heapID);
|
||||
return TASK_STATE_EXIT;
|
||||
} else if (itemBattleUse == 3) {
|
||||
if (!(BattleSystem_BattleType(context->battleSystem) & BATTLE_TYPE_TRAINER)) {
|
||||
UseBagItem(context->battleSystem, context->selectedBattleBagItem, battleBag->currentBattlePocket, context->heapID);
|
||||
if (!(BattleSystem_GetBattleType(context->battleSys) & BATTLE_TYPE_TRAINER)) {
|
||||
UseBagItem(context->battleSys, context->selectedBattleBagItem, battleBag->currentBattlePocket, context->heapID);
|
||||
return TASK_STATE_EXIT;
|
||||
} else {
|
||||
MessageLoader *messageLoader = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS, context->heapID);
|
||||
|
|
@ -473,8 +473,8 @@ static u8 TryUseItem(BattleBag *battleBag)
|
|||
return TASK_STATE_AWAITING_TEXT_FINISH;
|
||||
}
|
||||
|
||||
Party *party = BattleSystem_Party(context->battleSystem, context->battler);
|
||||
PCBoxes *pcBoxes = BattleSystem_PCBoxes(context->battleSystem);
|
||||
Party *party = BattleSystem_GetParty(context->battleSys, context->battler);
|
||||
PCBoxes *pcBoxes = BattleSystem_GetPCBoxes(context->battleSys);
|
||||
|
||||
if (Party_GetCurrentCount(party) == MAX_PARTY_SIZE && PCBoxes_FirstEmptyBox(pcBoxes) == MAX_PC_BOXES) {
|
||||
MessageLoader_GetString(battleBag->messageLoader, BattleBag_Text_CantUseBallNoRoomLeft, battleBag->string);
|
||||
|
|
@ -561,7 +561,7 @@ static BOOL BattleBagTask_FinishTask(SysTask *task, BattleBag *battleBag)
|
|||
Font_Free(FONT_SUBSCREEN);
|
||||
|
||||
if (battleBag->context->selectedBattleBagItem != ITEM_NONE) {
|
||||
BagCursor *cursor = BattleSystem_BagCursor(battleBag->context->battleSystem);
|
||||
BagCursor *cursor = BattleSystem_GetBagCursor(battleBag->context->battleSys);
|
||||
|
||||
for (u8 i = 0; i < BATTLE_POCKET_MAX; i++) {
|
||||
BagCursor_SetBattleCategoryPosition(cursor, i, battleBag->context->pocketCurrentPagePositions[i], battleBag->context->pocketCurrentPages[i]);
|
||||
|
|
@ -737,7 +737,7 @@ static void LoadGraphicsData(BattleBag *battleBag)
|
|||
PaletteData_LoadBufferFromFileStart(battleBag->palette, NARC_INDEX_BATTLE__GRAPHIC__B_BAG_GRA, 3, battleBag->context->heapID, PLTTBUF_SUB_BG, PALETTE_SIZE_BYTES * 12, 0);
|
||||
PaletteData_LoadBufferFromFileStart(battleBag->palette, NARC_INDEX_GRAPHIC__PL_FONT, 7, battleBag->context->heapID, PLTTBUF_SUB_BG, PALETTE_SIZE_BYTES, 240);
|
||||
|
||||
int optionsFrame = ov16_0223EDE0(battleBag->context->battleSystem);
|
||||
int optionsFrame = BattleSystem_GetOptionsFrame(battleBag->context->battleSys);
|
||||
Graphics_LoadTilesToBgLayer(NARC_INDEX_GRAPHIC__PL_WINFRAME, GetMessageBoxTilesNARCMember(optionsFrame), battleBag->background, BG_LAYER_SUB_0, 1024 - SCROLLING_MESSAGE_BOX_TILE_COUNT, 0, FALSE, battleBag->context->heapID);
|
||||
PaletteData_LoadBufferFromFileStart(battleBag->palette, NARC_INDEX_GRAPHIC__PL_WINFRAME, GetMessageBoxPaletteNARCMember(optionsFrame), battleBag->context->heapID, PLTTBUF_SUB_BG, PALETTE_SIZE_BYTES, 224);
|
||||
}
|
||||
|
|
@ -813,11 +813,11 @@ static int CheckTouchRectIsPressed(BattleBag *battleBag, const TouchScreenRect *
|
|||
|
||||
int BattleBagTask_GetSelectedPartySlot(BattleBag *battleBag)
|
||||
{
|
||||
return BattleContext_Get(battleBag->context->battleSystem, BattleSystem_Context(battleBag->context->battleSystem), BATTLECTX_SELECTED_PARTY_SLOT, battleBag->context->battler);
|
||||
return BattleContext_Get(battleBag->context->battleSys, BattleSystem_GetBattleContext(battleBag->context->battleSys), BATTLECTX_SELECTED_PARTY_SLOT, battleBag->context->battler);
|
||||
}
|
||||
|
||||
static void UseBagItem(BattleSystem *battleSys, u16 item, u16 category, enum HeapID heapID)
|
||||
{
|
||||
Bag_TryRemoveItem(BattleSystem_Bag(battleSys), item, 1, heapID);
|
||||
Bag_SetLastBattleItemUsed(BattleSystem_BagCursor(battleSys), item, category);
|
||||
Bag_TryRemoveItem(BattleSystem_GetBag(battleSys), item, 1, heapID);
|
||||
Bag_SetLastBattleItemUsed(BattleSystem_GetBagCursor(battleSys), item, category);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include "battle_sub_menus/battle_bag_sprites.h"
|
||||
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/ov16_0226DB7C.h"
|
||||
#include "battle/ov16_0226DE44.h"
|
||||
#include "battle/struct_ov16_0226DC24_decl.h"
|
||||
|
|
@ -96,7 +96,7 @@ void BattleBagSprites_InitializeSprites(BattleBag *battleBag)
|
|||
static void InitializeSpriteManager(BattleBag *battleBag)
|
||||
{
|
||||
SpriteResourceCapacities capacities = { .asArray[SPRITE_RESOURCE_CHAR] = SPRITE_MANAGER_CHAR_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_PLTT] = SPRITE_MANAGER_PLTT_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_CELL] = SPRITE_MANAGER_CELL_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_ANIM] = SPRITE_MANAGER_ANIM_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_MULTI_CELL] = SPRITE_MANAGER_MULTI_CELL_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_MULTI_ANIM] = SPRITE_MANAGER_MULTI_ANIM_RESOURCE_CAPACITY };
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSys);
|
||||
|
||||
battleBag->spriteManager = SpriteManager_New(spriteSystem);
|
||||
|
||||
|
|
@ -107,7 +107,7 @@ static void InitializeSpriteManager(BattleBag *battleBag)
|
|||
static void LoadSpriteData(BattleBag *battleBag)
|
||||
{
|
||||
NARC *narc = NARC_ctor(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, battleBag->context->heapID);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSys);
|
||||
|
||||
for (u32 i = 0; i < NUM_BATTLE_BAG_SPRITES; i++) {
|
||||
SpriteSystem_LoadCharResObjFromOpenNarc(spriteSystem, battleBag->spriteManager, narc, Item_FileID(ITEM_MASTER_BALL, ITEM_FILE_TYPE_ICON), FALSE, NNS_G2D_VRAM_TYPE_2DSUB, POCKET_SLOT_1_RESOURCE_ID + i);
|
||||
|
|
@ -121,7 +121,7 @@ static void LoadSpriteData(BattleBag *battleBag)
|
|||
|
||||
static void LoadItemIcon(BattleBag *battleBag, u16 item, u32 resourceID)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSys);
|
||||
SpriteSystem_ReplaceCharResObj(spriteSystem, battleBag->spriteManager, NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(item, ITEM_FILE_TYPE_ICON), FALSE, resourceID);
|
||||
}
|
||||
|
||||
|
|
@ -132,7 +132,7 @@ static void LoadItemPaletteData(BattleBag *battleBag, u16 item, u16 slotIndex, u
|
|||
|
||||
static ManagedSprite *CreateSprite(BattleBag *battleBag, u32 spriteIndex)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSys);
|
||||
SpriteTemplate template;
|
||||
|
||||
template.x = 0;
|
||||
|
|
@ -161,7 +161,7 @@ static void InitializeSprites(BattleBag *battleBag)
|
|||
|
||||
void BattleBagSprites_CleanupSprites(BattleBag *battleBag)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSys);
|
||||
|
||||
for (u32 i = 0; i < NUM_BATTLE_BAG_SPRITES; i++) {
|
||||
Sprite_DeleteAndFreeResources(battleBag->sprites[i]);
|
||||
|
|
@ -232,7 +232,7 @@ static void DrawSelectedItem(BattleBag *battleBag)
|
|||
|
||||
static void InitializeCursor(BattleBag *battleBag)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSys);
|
||||
UnkStruct_ov16_0226DC24 *cursorSprites;
|
||||
|
||||
ov16_0226DB7C(spriteSystem, battleBag->spriteManager, battleBag->palette, battleBag->context->heapID, CURSOR_CHAR_RESOURCE_ID, CURSOR_PLTT_RESOURCE_ID, CURSOR_CELL_RESOURCE_ID, CURSOR_ANIM_RESOURCE_ID);
|
||||
|
|
@ -457,7 +457,7 @@ void BattleBagSprites_DisableCursor(BattleBag *battleBag)
|
|||
|
||||
static void InitializeCatchTutorialCursor(BattleBag *battleBag)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleBag->context->battleSys);
|
||||
|
||||
ov16_0226DE44(spriteSystem, battleBag->spriteManager, battleBag->context->heapID, battleBag->palette, CATCH_TUTORIAL_CURSOR_CHAR_RESOURCE_ID, CATCH_TUTORIAL_CURSOR_PLTT_RESOURCE_ID, CATCH_TUTORIAL_CURSOR_CELL_RESOURCE_ID, CATCH_TUTORIAL_CURSOR_ANIM_RESOURCE_ID);
|
||||
battleBag->catchTutorialCursor = ov16_0226DEEC(spriteSystem, battleBag->spriteManager, battleBag->context->heapID, CATCH_TUTORIAL_CURSOR_CHAR_RESOURCE_ID, CATCH_TUTORIAL_CURSOR_PLTT_RESOURCE_ID, CATCH_TUTORIAL_CURSOR_CELL_RESOURCE_ID, CATCH_TUTORIAL_CURSOR_ANIM_RESOURCE_ID, 0, 0);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#include "constants/graphics.h"
|
||||
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle_sub_menus/battle_bag.h"
|
||||
|
||||
#include "bg_window.h"
|
||||
|
|
@ -641,5 +641,5 @@ void BattleBagText_DisplayMessage(BattleBag *battleBag)
|
|||
void BattleBagText_PrintToMessageBox(BattleBag *battleBag)
|
||||
{
|
||||
RenderControlFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
battleBag->textPrinterID = Text_AddPrinterWithParams(&battleBag->messageBoxWindow, FONT_MESSAGE, battleBag->string, 0, 0, BattleSystem_TextSpeed(battleBag->context->battleSystem), NULL);
|
||||
battleBag->textPrinterID = Text_AddPrinterWithParams(&battleBag->messageBoxWindow, FONT_MESSAGE, battleBag->string, 0, 0, BattleSystem_GetTextSpeed(battleBag->context->battleSys), NULL);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include "struct_decls/battle_system.h"
|
||||
|
||||
#include "applications/pokemon_summary_screen/main.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle_sub_menus/battle_party.h"
|
||||
#include "battle_sub_menus/battle_party_buttons.h"
|
||||
#include "battle_sub_menus/battle_party_sprites.h"
|
||||
|
|
@ -239,12 +239,12 @@ void BattlePartyTask_Start(BattlePartyContext *context)
|
|||
memset(battleParty, 0, sizeof(BattleParty));
|
||||
|
||||
battleParty->context = context;
|
||||
battleParty->background = BattleSystem_BGL(context->battleSystem);
|
||||
battleParty->palette = BattleSystem_PaletteSys(context->battleSystem);
|
||||
battleParty->background = BattleSystem_GetBgConfig(context->battleSys);
|
||||
battleParty->palette = BattleSystem_GetPaletteData(context->battleSys);
|
||||
battleParty->currentState = TASK_STATE_INITIALIZE;
|
||||
battleParty->partySlotLearningMove = context->selectedPartyIndex;
|
||||
battleParty->hasVisitedContestHall = ov16_0223F1F8(context->battleSystem);
|
||||
battleParty->battlerSlot = BattleSystem_BattlerSlot(context->battleSystem, context->battler);
|
||||
battleParty->hasVisitedContestHall = BattleSystem_GetVisistedContestHall(context->battleSys);
|
||||
battleParty->battlerSlot = BattleSystem_GetBattlerType(context->battleSys, context->battler);
|
||||
}
|
||||
|
||||
static void BattlePartyTask_Tick(SysTask *task, void *taskParam)
|
||||
|
|
@ -438,13 +438,13 @@ static u8 PartyUseItemScreen(BattleParty *battleParty)
|
|||
return TASK_STATE_SCREEN_TRANSITION;
|
||||
}
|
||||
|
||||
if (BattleSystem_UseBagItem(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex], 0, context->selectedBattleBagItem) == TRUE) {
|
||||
if (BattleSystem_UseBagItem(context->battleSys, context->battler, context->pokemonPartySlots[context->selectedPartyIndex], 0, context->selectedBattleBagItem) == TRUE) {
|
||||
if (Item_LoadParam(context->selectedBattleBagItem, ITEM_PARAM_PP_RESTORE_ALL, context->heapID) != FALSE) {
|
||||
battleParty->queuedState = TASK_STATE_SETUP_RESTORE_MOVE_PP_SCREEN;
|
||||
} else {
|
||||
if (BattlePartyTask_CheckCanPartySlotBeSelected(battleParty, context->selectedPartyIndex) == PARTY_SLOT_SELECTABLE_IN_BATTLE && Item_LoadParam(context->selectedBattleBagItem, ITEM_PARAM_REVIVE, context->heapID) == FALSE) {
|
||||
UseBagItem(context->battleSystem, context->selectedBattleBagItem, context->selectedBattleBagPocket, context->heapID);
|
||||
battleParty->partyPokemon[context->selectedPartyIndex].mon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
UseBagItem(context->battleSys, context->selectedBattleBagItem, context->selectedBattleBagPocket, context->heapID);
|
||||
battleParty->partyPokemon[context->selectedPartyIndex].mon = BattleSystem_GetPartyPokemon(context->battleSys, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
context->currentDamage = Pokemon_GetValue(battleParty->partyPokemon[context->selectedPartyIndex].mon, MON_DATA_HP, NULL);
|
||||
context->currentDamage -= battleParty->partyPokemon[context->selectedPartyIndex].curHP;
|
||||
battleParty->queuedState = TASK_STATE_EXIT;
|
||||
|
|
@ -780,7 +780,7 @@ static u8 BattlePartyTask_RestoreMovePPScreen(BattleParty *battleParty)
|
|||
Sound_PlayEffect(SEQ_SE_DP_DECIDE);
|
||||
BattlePartyButtons_PressButton(battleParty, BATTLE_RESTORE_MOVE_PP_SCREEN_BUTTON_OFFSET + restoreMovePPScreenButtonPressed);
|
||||
|
||||
if (BattleSystem_UseBagItem(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex], restoreMovePPScreenButtonPressed, context->selectedBattleBagItem) == TRUE) {
|
||||
if (BattleSystem_UseBagItem(context->battleSys, context->battler, context->pokemonPartySlots[context->selectedPartyIndex], restoreMovePPScreenButtonPressed, context->selectedBattleBagItem) == TRUE) {
|
||||
battleParty->useItemState = BATTLE_PARTY_USE_ALL_MOVE_PP_RESTORATION_ITEM_STATE_INTIALISING;
|
||||
battleParty->queuedState = TASK_STATE_USE_RESTORATION_ITEM;
|
||||
return TASK_STATE_SCREEN_TRANSITION;
|
||||
|
|
@ -927,7 +927,7 @@ static u8 BattlePartyTask_UseRestorationItem(BattleParty *battleParty)
|
|||
|
||||
switch (battleParty->useItemState) {
|
||||
case BATTLE_PARTY_USE_RESTORATION_ITEM_STATE_INITIALISING:
|
||||
battleParty->partyPokemon[context->selectedPartyIndex].mon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
battleParty->partyPokemon[context->selectedPartyIndex].mon = BattleSystem_GetPartyPokemon(context->battleSys, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
BattlePartyText_PrintUseItemEffect(battleParty);
|
||||
|
||||
if (battleParty->currentScreen == BATTLE_PARTY_SCREEN_RESTORE_MOVE_PP) {
|
||||
|
|
@ -966,7 +966,7 @@ static u8 BattlePartyTask_UseRestorationItem(BattleParty *battleParty)
|
|||
battleParty->useItemState = BATTLE_PARTY_USE_RESTORATION_ITEM_STATE_FINISHING;
|
||||
break;
|
||||
case BATTLE_PARTY_USE_RESTORATION_ITEM_STATE_FINISHING:
|
||||
UseBagItem(context->battleSystem, context->selectedBattleBagItem, context->selectedBattleBagPocket, context->heapID);
|
||||
UseBagItem(context->battleSys, context->selectedBattleBagItem, context->selectedBattleBagPocket, context->heapID);
|
||||
BattlePartyText_DisplayErrorMessage(battleParty);
|
||||
battleParty->queuedState = TASK_STATE_EXIT;
|
||||
return TASK_STATE_AWAITING_TEXT_FINISH;
|
||||
|
|
@ -990,7 +990,7 @@ static u8 BattlePartyTask_UseAllMovePPRestorationItem(BattleParty *battleParty)
|
|||
|
||||
switch (battleParty->useItemState) {
|
||||
case BATTLE_PARTY_USE_ALL_MOVE_PP_RESTORATION_ITEM_STATE_INTIALISING:
|
||||
battleParty->partyPokemon[context->selectedPartyIndex].mon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
battleParty->partyPokemon[context->selectedPartyIndex].mon = BattleSystem_GetPartyPokemon(context->battleSys, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
|
||||
for (u32 i = 0; i < LEARNED_MOVES_MAX; i++) {
|
||||
if (battleParty->partyPokemon[context->selectedPartyIndex].moves[i].move == MOVE_NONE) {
|
||||
|
|
@ -1026,7 +1026,7 @@ static u8 BattlePartyTask_UseAllMovePPRestorationItem(BattleParty *battleParty)
|
|||
}
|
||||
} break;
|
||||
case BATTLE_PARTY_USE_ALL_MOVE_PP_RESTORATION_ITEM_STATE_FINISHING:
|
||||
UseBagItem(context->battleSystem, context->selectedBattleBagItem, context->selectedBattleBagPocket, context->heapID);
|
||||
UseBagItem(context->battleSys, context->selectedBattleBagItem, context->selectedBattleBagPocket, context->heapID);
|
||||
BattlePartyText_DisplayErrorMessage(battleParty);
|
||||
battleParty->queuedState = TASK_STATE_EXIT;
|
||||
return TASK_STATE_AWAITING_TEXT_FINISH;
|
||||
|
|
@ -1195,7 +1195,7 @@ static void LoadGraphicsData(BattleParty *battleParty)
|
|||
PaletteData_LoadBufferFromFileStart(battleParty->palette, NARC_INDEX_GRAPHIC__PL_FONT, 6, battleParty->context->heapID, PLTTBUF_SUB_BG, PALETTE_SIZE_BYTES, 208);
|
||||
PaletteData_LoadBufferFromFileStart(battleParty->palette, NARC_INDEX_GRAPHIC__PL_FONT, 7, battleParty->context->heapID, PLTTBUF_SUB_BG, PALETTE_SIZE_BYTES, 240);
|
||||
|
||||
int optionsFrame = ov16_0223EDE0(battleParty->context->battleSystem);
|
||||
int optionsFrame = BattleSystem_GetOptionsFrame(battleParty->context->battleSys);
|
||||
|
||||
Graphics_LoadTilesToBgLayer(NARC_INDEX_GRAPHIC__PL_WINFRAME, GetMessageBoxTilesNARCMember(optionsFrame), battleParty->background, BG_LAYER_SUB_0, 1, 0, FALSE, battleParty->context->heapID);
|
||||
PaletteData_LoadBufferFromFileStart(battleParty->palette, NARC_INDEX_GRAPHIC__PL_WINFRAME, GetMessageBoxPaletteNARCMember(optionsFrame), battleParty->context->heapID, PLTTBUF_SUB_BG, PALETTE_SIZE_BYTES, 224);
|
||||
|
|
@ -1622,8 +1622,8 @@ static BOOL CheckCanSwitchPokemon(BattleParty *battleParty)
|
|||
if (BattlePartyTask_CheckIfSwitchingWithPartnersPokemon(battleParty, battleParty->context->selectedPartyIndex) == TRUE) {
|
||||
String *string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_CantSwitchWithPartnersPokemon);
|
||||
|
||||
int trainerSlot = BattleSystem_Partner(battleParty->context->battleSystem, battleParty->context->battler);
|
||||
StringTemplate_SetTrainerNameBattle(battleParty->stringTemplate, 0, BattleSystem_GetTrainer(battleParty->context->battleSystem, trainerSlot));
|
||||
int trainerSlot = BattleSystem_GetPartner(battleParty->context->battleSys, battleParty->context->battler);
|
||||
StringTemplate_SetTrainerNameBattle(battleParty->stringTemplate, 0, BattleSystem_GetTrainer(battleParty->context->battleSys, trainerSlot));
|
||||
StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string);
|
||||
String_Free(string);
|
||||
return FALSE;
|
||||
|
|
@ -1680,7 +1680,7 @@ static u8 CheckSelectedPokemonIsEgg(BattleParty *battleParty)
|
|||
|
||||
BOOL BattlePartyTask_CheckIfPartnerBattle(BattleParty *battleParty)
|
||||
{
|
||||
u32 battleType = BattleSystem_BattleType(battleParty->context->battleSystem);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleParty->context->battleSys);
|
||||
|
||||
if (battleType != BATTLE_TYPE_AI_PARTNER
|
||||
&& battleType != (BATTLE_TYPE_TRAINER_DOUBLES | BATTLE_TYPE_2vs2 | BATTLE_TYPE_AI)
|
||||
|
|
@ -1693,7 +1693,7 @@ BOOL BattlePartyTask_CheckIfPartnerBattle(BattleParty *battleParty)
|
|||
|
||||
BOOL BattlePartyTask_CheckIf2V2Battle(BattleParty *battleParty)
|
||||
{
|
||||
u32 battleType = BattleSystem_BattleType(battleParty->context->battleSystem);
|
||||
u32 battleType = BattleSystem_GetBattleType(battleParty->context->battleSys);
|
||||
|
||||
if (battleType != BATTLE_TYPE_AI_PARTNER
|
||||
&& battleType != (BATTLE_TYPE_TRAINER_DOUBLES | BATTLE_TYPE_2vs2 | BATTLE_TYPE_AI)
|
||||
|
|
@ -1751,8 +1751,8 @@ static void ClearMoveContestStats(BattleParty *battleParty)
|
|||
static void UseBagItem(BattleSystem *battleSys, u16 item, u16 category, enum HeapID heapID)
|
||||
{
|
||||
if (item != ITEM_BLUE_FLUTE && item != ITEM_RED_FLUTE && item != ITEM_YELLOW_FLUTE) {
|
||||
Bag_TryRemoveItem(BattleSystem_Bag(battleSys), item, 1, heapID);
|
||||
Bag_TryRemoveItem(BattleSystem_GetBag(battleSys), item, 1, heapID);
|
||||
}
|
||||
|
||||
Bag_SetLastBattleItemUsed(BattleSystem_BagCursor(battleSys), item, category);
|
||||
Bag_SetLastBattleItemUsed(BattleSystem_GetBagCursor(battleSys), item, category);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#include "applications/party_menu/main.h"
|
||||
#include "applications/pokemon_summary_screen/main.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/ov16_0226DB7C.h"
|
||||
#include "battle/struct_ov16_0226DC24_decl.h"
|
||||
#include "battle_sub_menus/battle_party.h"
|
||||
|
|
@ -302,7 +302,7 @@ void BattlePartySprites_InitializeSprites(BattleParty *battleParty)
|
|||
static void InitializeSpriteManager(BattleParty *battleParty)
|
||||
{
|
||||
SpriteResourceCapacities capacities = { .asArray[SPRITE_RESOURCE_CHAR] = SPRITE_MANAGER_CHAR_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_PLTT] = SPRITE_MANAGER_PLTT_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_CELL] = SPRITE_MANAGER_CELL_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_ANIM] = SPRITE_MANAGER_ANIM_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_MULTI_CELL] = SPRITE_MANAGER_MULTI_CELL_RESOURCE_CAPACITY, .asArray[SPRITE_RESOURCE_MULTI_ANIM] = SPRITE_MANAGER_MULTI_ANIM_RESOURCE_CAPACITY };
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
|
||||
battleParty->spriteManager = SpriteManager_New(spriteSystem);
|
||||
|
||||
|
|
@ -313,7 +313,7 @@ static void InitializeSpriteManager(BattleParty *battleParty)
|
|||
static void LoadPartyPokemonSpriteData(BattleParty *battleParty)
|
||||
{
|
||||
NARC *narc = NARC_ctor(NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, battleParty->context->heapID);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
|
||||
SpriteSystem_LoadPaletteBufferFromOpenNarc(battleParty->palette, PLTTBUF_SUB_OBJ, spriteSystem, battleParty->spriteManager, narc, PokeIconPalettesFileIndex(), FALSE, 3, NNS_G2D_VRAM_TYPE_2DSUB, PARTY_POKEMON_PLTT_RESOURCE_ID);
|
||||
SpriteSystem_LoadCellResObjFromOpenNarc(spriteSystem, battleParty->spriteManager, narc, PokeIcon32KCellsFileIndex(), FALSE, PARTY_POKEMON_CELL_RESOURCE_ID);
|
||||
|
|
@ -332,7 +332,7 @@ static void LoadPartyPokemonSpriteData(BattleParty *battleParty)
|
|||
|
||||
static void LoadSummaryStatusesSpriteData(BattleParty *battleParty)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
NARC *narc = NARC_ctor(NARC_INDEX_GRAPHIC__PL_PST_GRA, battleParty->context->heapID);
|
||||
|
||||
SpriteSystem_LoadPaletteBufferFromOpenNarc(battleParty->palette, PLTTBUF_SUB_OBJ, spriteSystem, battleParty->spriteManager, narc, PokemonSummaryScreen_StatusIconPltt(), FALSE, 1, NNS_G2D_VRAM_TYPE_2DSUB, SUMMARY_STATUSES_PLTT_RESOURCE_ID);
|
||||
|
|
@ -344,7 +344,7 @@ static void LoadSummaryStatusesSpriteData(BattleParty *battleParty)
|
|||
|
||||
static void LoadTypesAndMovesSpriteData(BattleParty *battleParty)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
|
||||
TypeIcon_LoadPltt(battleParty->palette, PLTTBUF_SUB_OBJ, spriteSystem, battleParty->spriteManager, NNS_G2D_VRAM_TYPE_2DSUB, MOVE_TYPES_PLTT_RESOURCE_ID);
|
||||
TypeIcon_LoadAnim(spriteSystem, battleParty->spriteManager, MOVE_TYPES_CELL_RESOURCE_ID, MOVE_TYPES_ANIM_RESOURCE_ID);
|
||||
|
|
@ -359,7 +359,7 @@ static void LoadTypesAndMovesSpriteData(BattleParty *battleParty)
|
|||
static void LoadHeldMailSpriteData(BattleParty *battleParty)
|
||||
{
|
||||
NARC *narc = NARC_ctor(NARC_INDEX_GRAPHIC__PL_PLIST_GRA, battleParty->context->heapID);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
|
||||
SpriteSystem_LoadPaletteBufferFromOpenNarc(battleParty->palette, PLTTBUF_SUB_OBJ, spriteSystem, battleParty->spriteManager, narc, sub_02081934(), FALSE, 1, NNS_G2D_VRAM_TYPE_2DSUB, HELD_MAIL_PLTT_RESOURCE_ID);
|
||||
SpriteSystem_LoadCellResObjFromOpenNarc(spriteSystem, battleParty->spriteManager, narc, sub_02081938(), FALSE, HELD_MAIL_CELL_RESOURCE_ID);
|
||||
|
|
@ -370,7 +370,7 @@ static void LoadHeldMailSpriteData(BattleParty *battleParty)
|
|||
|
||||
static void LoadContestStatsSpriteData(BattleParty *battleParty)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
|
||||
SpriteSystem_LoadPaletteBuffer(battleParty->palette, PLTTBUF_SUB_OBJ, spriteSystem, battleParty->spriteManager, NARC_INDEX_BATTLE__GRAPHIC__PL_B_PLIST_GRA, 27, FALSE, 1, NNS_G2D_VRAM_TYPE_2DSUB, CONTEST_STATS_PLTT_RESOURCE_ID);
|
||||
SpriteSystem_LoadCellResObj(spriteSystem, battleParty->spriteManager, NARC_INDEX_BATTLE__GRAPHIC__PL_B_PLIST_GRA, 25, FALSE, CONTEST_STATS_CELL_RESOURCE_ID);
|
||||
|
|
@ -380,7 +380,7 @@ static void LoadContestStatsSpriteData(BattleParty *battleParty)
|
|||
|
||||
static ManagedSprite *CreateSprite(BattleParty *battleParty, u32 spriteIndex)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
SpriteTemplate template;
|
||||
|
||||
template.x = 0;
|
||||
|
|
@ -411,7 +411,7 @@ static void InitializeSprites(BattleParty *battleParty)
|
|||
|
||||
void BattlePartySprites_CleanupSprites(BattleParty *battleParty)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
|
||||
for (u32 i = 0; i < NUM_BATTLE_PARTY_SPRITES; i++) {
|
||||
Sprite_DeleteAndFreeResources(battleParty->sprites[i]);
|
||||
|
|
@ -440,7 +440,7 @@ static void InitializePartyPokemonSprites(BattleParty *battleParty)
|
|||
|
||||
static void InitializeTypeIcon(BattleParty *battleParty, ManagedSprite *sprite, u32 resourceID, u8 type)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
|
||||
SpriteSystem_ReplaceCharResObj(spriteSystem, battleParty->spriteManager, TypeIcon_GetNARC(), TypeIcon_GetChar(type), TRUE, resourceID);
|
||||
ManagedSprite_SetExplicitPalette(sprite, TypeIcon_GetPltt(type) + 4);
|
||||
|
|
@ -448,7 +448,7 @@ static void InitializeTypeIcon(BattleParty *battleParty, ManagedSprite *sprite,
|
|||
|
||||
static void InitializeMoveClassIcon(BattleParty *battleParty, ManagedSprite *sprite, enum MoveClass moveClass)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
|
||||
SpriteSystem_ReplaceCharResObj(spriteSystem, battleParty->spriteManager, CategoryIcon_GetNARC(), CategoryIcon_GetChar(moveClass), TRUE, MOVE_CLASSES_CHAR_RESOURCE_ID);
|
||||
ManagedSprite_SetExplicitPalette(sprite, CategoryIcon_GetPltt(moveClass) + 4);
|
||||
|
|
@ -804,7 +804,7 @@ static void DrawContestStatSprites(BattleParty *battleParty)
|
|||
|
||||
static void InitializeCursor(BattleParty *battleParty)
|
||||
{
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSystem);
|
||||
SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(battleParty->context->battleSys);
|
||||
UnkStruct_ov16_0226DC24 *cursorSprites;
|
||||
|
||||
ov16_0226DB7C(spriteSystem, battleParty->spriteManager, battleParty->palette, battleParty->context->heapID, CURSOR_CHAR_RESOURCE_ID, CURSOR_PLTT_RESOURCE_ID, CURSOR_CELL_RESOURCE_ID, CURSOR_ANIM_RESOURCE_ID);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include "constants/graphics.h"
|
||||
|
||||
#include "applications/pokemon_summary_screen/main.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle_sub_menus/battle_party.h"
|
||||
|
||||
#include "bg_window.h"
|
||||
|
|
@ -2274,7 +2274,7 @@ void BattlePartyText_DisplayErrorMessage(BattleParty *battleParty)
|
|||
void BattlePartyText_PrintToErrorMessageBox(BattleParty *battleParty)
|
||||
{
|
||||
RenderControlFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
battleParty->textPrinterID = Text_AddPrinterWithParams(&battleParty->messageBoxWindows[BATTLE_PARTY_MESSAGE_BOX_ERROR], FONT_MESSAGE, battleParty->string, 0, 0, BattleSystem_TextSpeed(battleParty->context->battleSystem), NULL);
|
||||
battleParty->textPrinterID = Text_AddPrinterWithParams(&battleParty->messageBoxWindows[BATTLE_PARTY_MESSAGE_BOX_ERROR], FONT_MESSAGE, battleParty->string, 0, 0, BattleSystem_GetTextSpeed(battleParty->context->battleSys), NULL);
|
||||
}
|
||||
|
||||
void BattlePartyText_PrintUseItemEffect(BattleParty *battleParty)
|
||||
|
|
@ -2285,7 +2285,7 @@ void BattlePartyText_PrintUseItemEffect(BattleParty *battleParty)
|
|||
u16 newHP;
|
||||
u8 healedStatusEffectFlags;
|
||||
|
||||
mon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
mon = BattleSystem_GetPartyPokemon(context->battleSys, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
newHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL);
|
||||
healedStatusEffectFlags = 0;
|
||||
|
||||
|
|
@ -2378,7 +2378,7 @@ void BattlePartyText_PrintUseItemEffect(BattleParty *battleParty)
|
|||
void BattlePartyText_PrintEmbargoPreventingItemUse(BattleParty *battleParty)
|
||||
{
|
||||
BattlePartyContext *context = battleParty->context;
|
||||
Pokemon *mon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
Pokemon *mon = BattleSystem_GetPartyPokemon(context->battleSys, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]);
|
||||
String *string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_EmbargoPreventsItemUse);
|
||||
|
||||
StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(mon));
|
||||
|
|
|
|||
|
|
@ -523,7 +523,7 @@ pokeplatinum_c = files(
|
|||
'battle_sub_menus/battle_sub_menu_cursor.c',
|
||||
'battle/trainer_ai/trainer_ai.c',
|
||||
'battle/ov16_0223B140.c',
|
||||
'battle/ov16_0223DF00.c',
|
||||
'battle/battle_system.c',
|
||||
'battle/battle_script.c',
|
||||
'battle/battle_controller_player.c',
|
||||
'battle/battle_lib.c',
|
||||
|
|
|
|||
|
|
@ -1579,7 +1579,7 @@ void PokemonSprite_DrawSpindaSpots(u8 *rawCharData, u32 personality, BOOL isAnim
|
|||
static u16 PokemonSprite_LCRNGNext(u32 *seed)
|
||||
{
|
||||
*seed = *seed * LCRNG_MULTIPLIER + LCRNG_INCREMENT;
|
||||
return (u16)(*seed / 65536L);
|
||||
return (u16)(*seed / LCRNG_DIVISOR);
|
||||
}
|
||||
|
||||
void PokemonSprite_DecryptPt(u8 *rawCharData)
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
#include "struct_defs/trainer.h"
|
||||
|
||||
#include "battle/battle_controller.h"
|
||||
#include "battle/battle_system.h"
|
||||
#include "battle/message_defs.h"
|
||||
#include "battle/ov16_0223DF00.h"
|
||||
|
||||
#include "charcode_util.h"
|
||||
#include "communication_system.h"
|
||||
|
|
@ -94,13 +94,13 @@ static const CommCmdTable Unk_020F099C[] = {
|
|||
void sub_0207A6DC(void *param0)
|
||||
{
|
||||
int v0 = sizeof(Unk_020F099C) / sizeof(CommCmdTable);
|
||||
BattleSystem *v1;
|
||||
BattleSystem *battleSys;
|
||||
UnkStruct_0207ACB4 *v2;
|
||||
UnkStruct_0207AD40 *v3;
|
||||
|
||||
v1 = (BattleSystem *)param0;
|
||||
battleSys = (BattleSystem *)param0;
|
||||
|
||||
if (BattleSystem_BattleStatus(v1) & 0x10) {
|
||||
if (BattleSystem_GetBattleStatusMask(battleSys) & 0x10) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -109,13 +109,13 @@ void sub_0207A6DC(void *param0)
|
|||
|
||||
CommCmd_Init(Unk_020F099C, v0, param0);
|
||||
|
||||
v2->unk_00 = v1;
|
||||
v2->battleSys = battleSys;
|
||||
v2->unk_04 = 0;
|
||||
v3->unk_00 = v1;
|
||||
v3->battleSys = battleSys;
|
||||
v3->unk_04 = 0;
|
||||
|
||||
ov16_0223F320(v1, &v2->unk_04);
|
||||
ov16_0223F32C(v1, &v3->unk_04);
|
||||
ov16_0223F320(battleSys, &v2->unk_04);
|
||||
ov16_0223F32C(battleSys, &v3->unk_04);
|
||||
|
||||
SysTask_Start(sub_0207ACB4, v2, 0);
|
||||
SysTask_Start(sub_0207AD40, v3, 0);
|
||||
|
|
@ -236,9 +236,9 @@ void sub_0207A81C(BattleSystem *battleSys, int param1, int param2, void *param3,
|
|||
u16 *v5;
|
||||
|
||||
info = (BattleMessageInfo *)Heap_Alloc(HEAP_ID_BATTLE, sizeof(BattleMessageInfo));
|
||||
v3 = ov16_0223E06C(battleSys);
|
||||
v4 = ov16_0223E08C(battleSys);
|
||||
v5 = ov16_0223E098(battleSys);
|
||||
v3 = BattleSystem_GetServerMessage(battleSys);
|
||||
v4 = BattleSystem_GetServerWriteIndex(battleSys);
|
||||
v5 = BattleSystem_GetServerEndIndex(battleSys);
|
||||
|
||||
if (v4[0] + sizeof(BattleMessageInfo) + param4 + 1 > 0x1000) {
|
||||
v5[0] = v4[0];
|
||||
|
|
@ -268,12 +268,12 @@ void sub_0207A81C(BattleSystem *battleSys, int param1, int param2, void *param3,
|
|||
|
||||
static void sub_0207A8A8(int param0, int param1, void *param2, void *param3)
|
||||
{
|
||||
BattleSystem *v0 = (BattleSystem *)param3;
|
||||
BattleSystem *battleSys = (BattleSystem *)param3;
|
||||
int v1;
|
||||
u8 *v2 = (u8 *)param2;
|
||||
u8 *v3 = ov16_0223E074(v0);
|
||||
u16 *v4 = ov16_0223E0B0(v0);
|
||||
u16 *v5 = ov16_0223E0BC(v0);
|
||||
u8 *v3 = BattleSystem_GetClientMessage(battleSys);
|
||||
u16 *v4 = BattleSystem_GetClientWriteIndex(battleSys);
|
||||
u16 *v5 = BattleSystem_GetClientEndIndex(battleSys);
|
||||
|
||||
if (v4[0] + param1 + 1 > 0x1000) {
|
||||
v5[0] = v4[0];
|
||||
|
|
@ -569,10 +569,10 @@ void sub_0207ACB4(SysTask *param0, void *param1)
|
|||
u16 *v4;
|
||||
int v5;
|
||||
|
||||
v1 = ov16_0223E06C(v0->unk_00);
|
||||
v2 = ov16_0223E080(v0->unk_00);
|
||||
v3 = ov16_0223E08C(v0->unk_00);
|
||||
v4 = ov16_0223E098(v0->unk_00);
|
||||
v1 = BattleSystem_GetServerMessage(v0->battleSys);
|
||||
v2 = BattleSystem_GetServerReadIndex(v0->battleSys);
|
||||
v3 = BattleSystem_GetServerWriteIndex(v0->battleSys);
|
||||
v4 = BattleSystem_GetServerEndIndex(v0->battleSys);
|
||||
|
||||
switch (v0->unk_04) {
|
||||
case 0:
|
||||
|
|
@ -612,10 +612,10 @@ void sub_0207AD40(SysTask *param0, void *param1)
|
|||
u16 *v4;
|
||||
int v5;
|
||||
|
||||
v1 = ov16_0223E074(v0->unk_00);
|
||||
v2 = ov16_0223E0A4(v0->unk_00);
|
||||
v3 = ov16_0223E0B0(v0->unk_00);
|
||||
v4 = ov16_0223E0BC(v0->unk_00);
|
||||
v1 = BattleSystem_GetClientMessage(v0->battleSys);
|
||||
v2 = BattleSystem_GetClientReadIndex(v0->battleSys);
|
||||
v3 = BattleSystem_GetClientWriteIndex(v0->battleSys);
|
||||
v4 = BattleSystem_GetClientEndIndex(v0->battleSys);
|
||||
|
||||
switch (v0->unk_04) {
|
||||
case 0:
|
||||
|
|
@ -628,7 +628,7 @@ void sub_0207AD40(SysTask *param0, void *param1)
|
|||
v4[0] = 0;
|
||||
}
|
||||
|
||||
if (BattleController_RecvCommMessage(v0->unk_00, (void *)&v1[v2[0]]) == 1) {
|
||||
if (BattleController_RecvCommMessage(v0->battleSys, (void *)&v1[v2[0]]) == 1) {
|
||||
v5 = sizeof(BattleMessageInfo) + (v1[v2[0] + 2] | (v1[v2[0] + 3] << 8));
|
||||
v2[0] += v5;
|
||||
}
|
||||
|
|
@ -643,11 +643,11 @@ void sub_0207AD40(SysTask *param0, void *param1)
|
|||
|
||||
static void sub_0207ADB4(int param0, int param1, void *param2, void *param3)
|
||||
{
|
||||
BattleSystem *v0 = (BattleSystem *)param3;
|
||||
BattleSystem *battleSys = (BattleSystem *)param3;
|
||||
|
||||
ov16_0223F338(v0, 255);
|
||||
ov16_0223F344(v0, 255);
|
||||
ov16_0223F350(v0, 1);
|
||||
ov16_0223F338(battleSys, 255);
|
||||
ov16_0223F344(battleSys, 255);
|
||||
BattleSystem_SetCommandIsEndWait(battleSys, 1);
|
||||
}
|
||||
|
||||
static void PalPad_CreateNetworkObject(TrainerInfo *trainerInfo, PalPad *source, PalPad *destination)
|
||||
|
|
|
|||
|
|
@ -1660,7 +1660,7 @@ u16 sub_02094EA0(u32 param0, u32 *param1)
|
|||
u32 v0 = ARNG_Next(param0);
|
||||
*param1 = v0;
|
||||
|
||||
return v0 / 65536L;
|
||||
return v0 / LCRNG_DIVISOR;
|
||||
}
|
||||
|
||||
static void sub_02094EB4(UnkStruct_02095C48 *param0, int param1, UnkStruct_ov6_02248DD8 *param2)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user