Start documenting battle commands (#964)
Some checks are pending
build / build (push) Waiting to run

This commit is contained in:
Viperio 2026-03-18 04:49:51 +01:00 committed by GitHub
parent 2e67bda541
commit 92fffdc5d9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
51 changed files with 3657 additions and 3932 deletions

View File

@ -2,69 +2,69 @@
#define POKEPLATINUM_BATTLE_BATTLE_CONTROLLER_H
#include "struct_decls/battle_system.h"
#include "struct_defs/move_animation.h"
#include "battle/battle_context.h"
#include "battle/battle_message.h"
#include "battle/struct_ov16_0224DDA8.h"
#include "battle/struct_ov16_02265BBC.h"
void BattleController_TryRecvLocalMessage(BattleSystem *battleSys, int recipient);
void BattleController_EmitSetupBattleUI(BattleSystem *battleSys, int battlerId);
void BattleController_EmitSetEncounter(BattleSystem *battleSys, int battlerId);
void BattleController_EmitShowEncounter(BattleSystem *battleSys, int battlerId);
void BattleController_EmitShowPokemon(BattleSystem *battleSys, int battlerId, int capturedBall, int param3);
void BattleController_EmitReturnPokemon(BattleSystem *battleSys, BattleContext *battleCtx, int battlerId);
void BattleController_EmitOpenCaptureBall(BattleSystem *battleSys, int battlerId, int ball);
void BattleController_EmitDeletePokemon(BattleSystem *battleSys, int battlerId);
void BattleController_EmitSetTrainerEncounter(BattleSystem *battleSys, int battlerId);
void BattleController_EmitThrowTrainerBall(BattleSystem *battleSys, int battlerId, int ballTypeIn);
void BattleController_EmitSlideTrainerOut(BattleSystem *battleSys, int battlerId);
void BattleController_EmitSlideTrainerIn(BattleSystem *battleSys, int battlerId, int posIn);
void BattleController_EmitSetupBattleUI(BattleSystem *battleSys, int battler);
void BattleController_EmitSetEncounter(BattleSystem *battleSys, int battler);
void BattleController_EmitShowEncounter(BattleSystem *battleSys, int battler);
void BattleController_EmitShowPokemon(BattleSystem *battleSys, int battler, int capturedBall, int param3);
void BattleController_EmitReturnPokemon(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitOpenCaptureBall(BattleSystem *battleSys, int battler, int ball);
void BattleController_EmitDeletePokemon(BattleSystem *battleSys, int battler);
void BattleController_EmitSetTrainerEncounter(BattleSystem *battleSys, int battler);
void BattleController_EmitThrowTrainerBall(BattleSystem *battleSys, int battler, int ballTypeIn);
void BattleController_EmitSlideTrainerOut(BattleSystem *battleSys, int battler);
void BattleController_EmitSlideTrainerIn(BattleSystem *battleSys, int battler, int posIn);
void BattleController_EmitSlideHealthbarIn(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int delay);
void BattleController_EmitSlideHealthbarOut(BattleSystem *battleSys, int battler);
void BattleController_EmitSetCommandSelection(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int partySlot);
void ov16_022656D4(BattleSystem *battleSys, int battlerId, int command);
void ov16_022656D4(BattleSystem *battleSys, int battler, int command);
void BattleController_EmitShowMoveSelectMenu(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void ov16_02265790(BattleSystem *battleSys, int battlerId, int command);
void ov16_02265790(BattleSystem *battleSys, int battler, int command);
void BattleCommand_EmitShowTargetSelectMenu(BattleSystem *battleSys, BattleContext *battleCtx, int range, int battler);
void ov16_022658CC(BattleSystem *battleSys, int battlerId, int command);
void ov16_022658CC(BattleSystem *battleSys, int battler, int command);
void BattleController_EmitShowBagMenu(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void ov16_02265A70(BattleSystem *battleSys, int battlerId, BattleItemUse message);
void BattleController_EmitShowPartyMenu(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int listMode, int canSwitch, int doubles);
void ov16_02265B10(BattleSystem *battleSys, int battlerId, int command);
void BattleController_EmitShowYesNoMenu(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int promptMsg, int yesnoType, int move, int nickname);
void ov16_02265A70(BattleSystem *battleSys, int battler, BattleItemUse message);
void BattleController_EmitShowPartyMenu(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int listMode, int canSwitch, int doublesSelection);
void ov16_02265B10(BattleSystem *battleSys, int battler, int command);
void BattleController_EmitShowYesNoMenu(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int promptMsg, int yesNoType, int move, int nickname);
void BattleController_EmitPrintAttackMessage(BattleSystem *battleSys, BattleContext *battleCtx);
void BattleController_EmitPrintMessage(BattleSystem *battleSys, BattleContext *battleCtx, BattleMessage *battleMsg);
void BattleController_EmitPlayMoveAnimation(BattleSystem *battleSys, BattleContext *battleCtx, u16 param2);
void BattleController_EmitPlayMoveAnimationA2D(BattleSystem *battleSys, BattleContext *battleCtx, u16 param2, int attacker, int defender);
void BattleController_EmitFlickerBattlerSprite(BattleSystem *battleSys, int battlerId, u32 unused);
void BattleController_EmitFlickerBattlerSprite(BattleSystem *battleSys, int battler, u32 unused);
void BattleController_EmitUpdateHPGauge(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitUpdateExpGauge(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int curExp);
void BattleController_EmitPlayFaintingSequence(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitPlaySound(BattleSystem *battleSys, BattleContext *battleCtx, int sdatID, int battler);
void BattleController_EmitFadeOut(BattleSystem *battleSys, BattleContext *battleCtx);
void BattleController_EmitToggleVanish(BattleSystem *battleSys, int battlerId, int toggle);
void BattleController_EmitSetStatusIcon(BattleSystem *battleSys, int battlerId, int status);
void BattleController_EmitTrainerMessage(BattleSystem *battleSys, int battlerId, int msg);
void BattleController_EmitToggleVanish(BattleSystem *battleSys, int battler, int toggle);
void BattleController_EmitSetStatusIcon(BattleSystem *battleSys, int battler, int status);
void BattleController_EmitTrainerMessage(BattleSystem *battleSys, int battler, int msg);
void BattleController_EmitPlayStatusEffect(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int param3);
void BattleController_EmitPlayStatusEffectAToD(BattleSystem *battleSys, BattleContext *battleCtx, int attacker, int defender, int param4);
void BattleController_EmitRecallMessage(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int partySlot);
void BattleController_EmitSendOutMessage(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int partySlot);
void BattleController_EmitBattleStartMessage(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitLeadMonMessage(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitPlayLevelUpAnimation(BattleSystem *battleSys, int battlerId);
void BattleController_EmitPlayLevelUpAnimation(BattleSystem *battleSys, int battler);
void BattleController_EmitSetAlertMessage(BattleSystem *battleSys, int battler, BattleMessage msg);
void ov16_022661B0(BattleSystem *battleSys, int battlerId);
void ov16_022661B0(BattleSystem *battleSys, int battler);
void BattleController_EmitRefreshHPGauge(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitUpdatePartyMon(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void ov16_02266460(BattleSystem *battleSys, int battlerId);
void ov16_02266460(BattleSystem *battleSys, int battler);
void BattleController_EmitStopGaugeAnimation(BattleSystem *battleSys, int battler);
void BattleController_EmitRefreshPartyStatus(BattleSystem *battleSys, BattleContext *battleCtx, int battler, int move);
void BattleController_EmitForgetMove(BattleSystem *battleSys, int battlerId, int move, int slot);
void BattleController_EmitSetMosaic(BattleSystem *battleSys, int battlerId, int param2, int wait);
void BattleController_EmitChangeWeatherForm(BattleSystem *battleSys, int battlerId);
void BattleController_EmitUpdateBG(BattleSystem *battleSys, int battlerId);
void BattleController_EmitClearTouchScreen(BattleSystem *battleSys, int battlerId);
void BattleController_EmitForgetMove(BattleSystem *battleSys, int battler, int move, int slot);
void BattleController_EmitSetMosaic(BattleSystem *battleSys, int battler, int param2, int wait);
void BattleController_EmitChangeWeatherForm(BattleSystem *battleSys, int battler);
void BattleController_EmitUpdateBG(BattleSystem *battleSys, int battler);
void BattleController_EmitClearTouchScreen(BattleSystem *battleSys, int battler);
/**
* @brief Push a command to the I/O queue to show the party gauge at the start of a battle for a
@ -113,20 +113,20 @@ void BattleController_EmitLoadPartyGaugeGraphics(BattleSystem *battleSys);
* @param battleSys
*/
void BattleController_EmitFreePartyGaugeGraphics(BattleSystem *battleSys);
void BattleController_EmitIncrementRecord(BattleSystem *battleSys, int battlerId, int battlerType, int record);
void BattleController_EmitLinkWaitMessage(BattleSystem *battleSys, int battler);
void BattleController_EmitIncrementRecord(BattleSystem *battleSys, int battler, int battlerType, int record);
void BattleController_EmitPrintLinkWaitMessage(BattleSystem *battleSys, int battler);
void BattleController_EmitRestoreSprite(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitSpriteToOAM(BattleSystem *battleSys, int battlerId);
void BattleController_EmitOAMToSprite(BattleSystem *battleSys, int battlerId);
void BattleController_EmitSpriteToOAM(BattleSystem *battleSys, int battler);
void BattleController_EmitOAMToSprite(BattleSystem *battleSys, int battler);
void BattleController_EmitResultMessage(BattleSystem *battleSys);
void BattleController_EmitEscapeMessage(BattleSystem *battleSys, BattleContext *battleCtx);
void BattleController_EmitForfeitMessage(BattleSystem *battleSys);
void BattleController_EmitRefreshSprite(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitPlayMoveHitSoundEffect(BattleSystem *battleSys, BattleContext *battleCtx, int battler);
void BattleController_EmitPlayMusic(BattleSystem *battleSys, int battlerId, int bgmID);
void BattleController_EmitPlayMusic(BattleSystem *battleSys, int battler, int bgmID);
void BattleController_EmitSubmitResult(BattleSystem *battleSys);
void BattleController_EmitClearMessageBox(BattleSystem *battleSys);
void BattleController_EmitClearCommand(BattleSystem *battleSys, int battlerId, int command);
void BattleController_EmitClearCommand(BattleSystem *battleSys, int battler, int command);
BOOL BattleController_RecvCommMessage(BattleSystem *battleSys, void *data);
void BattleController_SetMoveAnimation(BattleSystem *battleSys, BattleContext *battleCtx, MoveAnimation *animation, int param3, int param4, int attacker, int defender, u16 move);

View File

@ -1,27 +1,27 @@
#ifndef POKEPLATINUM_OV16_0225CBB8_H
#define POKEPLATINUM_OV16_0225CBB8_H
#ifndef POKEPLATINUM_BATTLE_BATTLE_DISPLAY_H
#define POKEPLATINUM_BATTLE_BATTLE_DISPLAY_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "struct_defs/move_animation.h"
#include "battle/battle_message.h"
#include "battle/healthbar.h"
#include "battle/message_defs.h"
#include "battle/struct_ov16_02265BBC.h"
#include "battle/struct_ov16_0226C378.h"
#include "pokemon_sprite.h"
void ov16_0225CBB8(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225CBDC(BattleSystem *battleSys, BattlerData *battlerData, MonEncounterMessage *message);
void ov16_0225CE1C(BattleSystem *battleSys, BattlerData *battlerData, MonShowMessage *message);
void ov16_0225CF70(BattleSystem *battleSys, BattlerData *battlerData, MonShowMessage *message);
void ov16_0225D118(BattleSystem *battleSys, BattlerData *battlerData, MonReturnMessage *message);
void ov16_0225D1C4(BattleSystem *battleSys, BattlerData *battlerData, CaptureOpenBallMessage *message);
void ov16_0225D228(BattleSystem *battleSys, BattlerData *battlerData, TrainerEncounterMessage *message);
void ov16_0225D360(BattleSystem *battleSys, BattlerData *battlerData, TrainerThrowBallMessage *message);
void ov16_0225D3CC(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225D414(BattleSystem *battleSys, BattlerData *battlerData, TrainerSlideInMessage *message);
void BattleDisplay_InitTaskSetEncounter(BattleSystem *battleSys, BattlerData *battlerData, MonEncounterMessage *message);
void BattleDisplay_InitTaskShowEncounter(BattleSystem *battleSys, BattlerData *battlerData, MonShowMessage *message);
void BattleDisplay_InitTaskShowPokemon(BattleSystem *battleSys, BattlerData *battlerData, MonShowMessage *message);
void BattleDisplay_InitTaskReturnPokemon(BattleSystem *battleSys, BattlerData *battlerData, MonReturnMessage *message);
void BattleDisplay_InitTaskOpenCaptureBall(BattleSystem *battleSys, BattlerData *battlerData, OpenCaptureBallMessage *message);
void BattleDisplay_InitTaskSetTrainerEncounter(BattleSystem *battleSys, BattlerData *battlerData, TrainerEncounterMessage *message);
void BattleDisplay_InitTaskThrowTrainerBall(BattleSystem *battleSys, BattlerData *battlerData, TrainerThrowBallMessage *message);
void BattleDisplay_InitTaskSlideTrainerOut(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_InitTaskSlideTrainerIn(BattleSystem *battleSys, BattlerData *battlerData, TrainerSlideInMessage *message);
/**
* @brief Slide the healthbar into the screen.
@ -30,7 +30,7 @@ void ov16_0225D414(BattleSystem *battleSys, BattlerData *battlerData, TrainerSli
* @param battlerData
* @param healthbarData
*/
void BattleDisplay_SlideHealthbarIn(BattleSystem *battleSys, BattlerData *battlerData, HealthbarData *healthbarData);
void BattleDisplay_InitTaskSlideHealthbarIn(BattleSystem *battleSys, BattlerData *battlerData, HealthbarData *healthbarData);
/**
* @brief Slide the healthbar out of the screen.
@ -38,14 +38,14 @@ void BattleDisplay_SlideHealthbarIn(BattleSystem *battleSys, BattlerData *battle
* @param battleSys
* @param battlerData
*/
void BattleDisplay_SlideHealthbarOut(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225D5B8(BattleSystem *battleSys, BattlerData *battlerData, CommandSetMessage *message);
void ov16_0225D698(BattleSystem *battleSys, BattlerData *battlerData, MoveSelectMenuMessage *message);
void ov16_0225D708(BattleSystem *battleSys, BattlerData *battlerData, TargetSelectMenuMessage *message);
void ov16_0225D794(BattleSystem *battleSys, BattlerData *battlerData, BagMenuMessage *message);
void ov16_0225D840(BattleSystem *battleSys, BattlerData *battlerData, PartyMenuMessage *message);
void ov16_0225D8AC(BattleSystem *battleSys, BattlerData *battlerData, YesNoMenuMessage *message);
void ov16_0225D8F0(BattleSystem *battleSys, BattlerData *battlerData, AttackMsgMessage *message);
void BattleDisplay_InitTaskSlideHealthbarOut(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_InitTaskSetCommandSelection(BattleSystem *battleSys, BattlerData *battlerData, CommandSetMessage *message);
void BattleDisplay_InitTaskShowMoveSelectMenu(BattleSystem *battleSys, BattlerData *battlerData, MoveSelectMenuMessage *message);
void BattleDisplay_InitTaskShowTargetSelectMenu(BattleSystem *battleSys, BattlerData *battlerData, TargetSelectMenuMessage *message);
void BattleDisplay_InitTaskShowBagMenu(BattleSystem *battleSys, BattlerData *battlerData, BagMenuMessage *message);
void BattleDisplay_InitTaskShowPartyMenu(BattleSystem *battleSys, BattlerData *battlerData, PartyMenuMessage *message);
void BattleDisplay_InitTaskShowYesNoMenu(BattleSystem *battleSys, BattlerData *battlerData, YesNoMenuMessage *message);
void BattleDisplay_PrintAttackMessage(BattleSystem *battleSys, BattlerData *battlerData, AttackMsgMessage *message);
/**
* @brief Print a message to the screen.
@ -55,25 +55,25 @@ void ov16_0225D8F0(BattleSystem *battleSys, BattlerData *battlerData, AttackMsgM
* @param battleMsg
*/
void BattleDisplay_PrintMessage(BattleSystem *battleSys, BattlerData *battlerData, BattleMessage *battleMsg);
void ov16_0225D9A8(BattleSystem *battleSys, BattlerData *battlerData, MoveAnimation *moveAnimation);
void ov16_0225DA44(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225DA74(BattleSystem *battleSys, BattlerData *battlerData, HPGaugeUpdateMessage *message);
void ov16_0225DB00(BattleSystem *battleSys, BattlerData *battlerData, ExpGaugeUpdateMessage *message);
void ov16_0225DB74(BattleSystem *battleSys, BattlerData *battlerData, FaintingSequenceMessage *message);
void ov16_0225DC4C(BattleSystem *battleSys, BattlerData *battlerData, PlaySoundMessage *message);
void ov16_0225DC7C(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225DCB0(BattleSystem *battleSys, BattlerData *battlerData, ToggleVanishMessage *message);
void ov16_0225DD44(BattleSystem *battleSys, BattlerData *battlerData, SetStatusIconMessage *message);
void ov16_0225DD7C(BattleSystem *battleSys, BattlerData *battlerData, TrainerMsgMessage *message);
void ov16_0225DDD8(BattleSystem *battleSys, BattlerData *battlerData, RecallMsgMessage *message);
void ov16_0225DE30(BattleSystem *battleSys, BattlerData *battlerData, SendOutMsgMessage *message);
void ov16_0225DE88(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225DEDC(BattleSystem *battleSys, BattlerData *battlerData, LeadMonMsgMessage *message);
void ov16_0225DF34(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225DF6C(BattleSystem *battleSys, BattlerData *battlerData, AlertMsgMessage *message);
void ov16_0225E008(BattleSystem *battleSys, BattlerData *battlerData, RefreshHPGaugeMessage *message);
void ov16_0225E0BC(BattleSystem *battleSys, BattlerData *battlerData, ForgetMoveMessage *message);
void ov16_0225E0F4(BattleSystem *battleSys, BattlerData *battlerData, MosaicSetMessage *message);
void BattleDisplay_InitTaskSetMoveAnimation(BattleSystem *battleSys, BattlerData *battlerData, MoveAnimation *moveAnim);
void BattleDisplay_InitTaskFlickerBattler(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_InitTaskUpdateHPGauge(BattleSystem *battleSys, BattlerData *battlerData, HPGaugeUpdateMessage *message);
void BattleDisplay_InitTaskUpdateExpGauge(BattleSystem *battleSys, BattlerData *battlerData, ExpGaugeUpdateMessage *message);
void BattleDisplay_InitTaskPlayFaintingSequence(BattleSystem *battleSys, BattlerData *battlerData, FaintingSequenceMessage *message);
void BattleDisplay_PlaySound(BattleSystem *battleSys, BattlerData *battlerData, PlaySoundMessage *message);
void BattleDisplay_InitTaskFadeOut(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_InitTaskToggleVanish(BattleSystem *battleSys, BattlerData *battlerData, ToggleVanishMessage *message);
void BattleDisplay_SetStatusIcon(BattleSystem *battleSys, BattlerData *battlerData, SetStatusIconMessage *message);
void BattleDisplay_PrintTrainerMessage(BattleSystem *battleSys, BattlerData *battlerData, TrainerMsgMessage *message);
void BattleDisplay_PrintRecallMessage(BattleSystem *battleSys, BattlerData *battlerData, RecallMsgMessage *message);
void BattleDisplay_PrintSendOutMessage(BattleSystem *battleSys, BattlerData *battlerData, SendOutMsgMessage *message);
void BattleDisplay_PrintBattleStartMessage(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_PrintLeadMonMessage(BattleSystem *battleSys, BattlerData *battlerData, LeadMonMsgMessage *message);
void BattleDisplay_InitTaskPlayLevelUpAnimation(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_SetAlertMessage(BattleSystem *battleSys, BattlerData *battlerData, AlertMsgMessage *message);
void BattleDisplay_RefreshHPGauge(BattleSystem *battleSys, BattlerData *battlerData, RefreshHPGaugeMessage *message);
void BattleDisplay_InitTaskForgetMove(BattleSystem *battleSys, BattlerData *battlerData, ForgetMoveMessage *message);
void BattleDisplay_InitTaskSetMosaic(BattleSystem *battleSys, BattlerData *battlerData, MosaicSetMessage *message);
/**
* @brief Show the start-of-battle party gauge.
@ -82,7 +82,7 @@ void ov16_0225E0F4(BattleSystem *battleSys, BattlerData *battlerData, MosaicSetM
* @param battlerData
* @param partyGauge
*/
void BattleDisplay_ShowBattleStartPartyGauge(BattleSystem *battleSys, BattlerData *battlerData, PartyGaugeData *partyGauge);
void BattleDisplay_InitTaskShowBattleStartPartyGauge(BattleSystem *battleSys, BattlerData *battlerData, PartyGaugeData *partyGauge);
/**
* @brief Hide the start-of-battle party gauge.
@ -91,7 +91,7 @@ void BattleDisplay_ShowBattleStartPartyGauge(BattleSystem *battleSys, BattlerDat
* @param battlerData
* @param partyGauge
*/
void BattleDisplay_HideBattleStartPartyGauge(BattleSystem *battleSys, BattlerData *battlerData, PartyGaugeData *partyGauge);
void BattleDisplay_InitTaskHideBattleStartPartyGauge(BattleSystem *battleSys, BattlerData *battlerData, PartyGaugeData *partyGauge);
/**
* @brief Show the mid-battle party gauge.
@ -100,7 +100,7 @@ void BattleDisplay_HideBattleStartPartyGauge(BattleSystem *battleSys, BattlerDat
* @param battlerData
* @param partyGauge
*/
void BattleDisplay_ShowPartyGauge(BattleSystem *battleSys, BattlerData *battlerData, PartyGaugeData *partyGauge);
void BattleDisplay_InitTaskShowPartyGauge(BattleSystem *battleSys, BattlerData *battlerData, PartyGaugeData *partyGauge);
/**
* @brief Hide the mid-battle party gauge.
@ -109,18 +109,18 @@ void BattleDisplay_ShowPartyGauge(BattleSystem *battleSys, BattlerData *battlerD
* @param battlerData
* @param partyGauge
*/
void BattleDisplay_HidePartyGauge(BattleSystem *battleSys, BattlerData *battlerData, PartyGaugeData *partyGauge);
void ov16_0225E23C(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225E294(BattleSystem *battleSys, BattlerData *battlerData, MoveAnimation *moveAnimation);
void ov16_0225E2C8(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225E300(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225E338(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225E38C(BattleSystem *battleSys, BattlerData *battlerData, EscapeMsgMessage *message);
void ov16_0225E3E0(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225E434(BattleSystem *battleSys, BattlerData *battlerData, MoveAnimation *moveAnimation);
void ov16_0225E468(BattleSystem *battleSys, BattlerData *battlerData, MoveHitSoundMessage *message);
void ov16_0225E4C8(BattleSystem *battleSys, BattlerData *battlerData, MusicPlayMessage *message);
void ov16_02263730(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_InitTaskHidePartyGauge(BattleSystem *battleSys, BattlerData *battlerData, PartyGaugeData *partyGauge);
void BattleDisplay_PrintLinkWaitMessage(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_RestoreSprite(BattleSystem *battleSys, BattlerData *battlerData, MoveAnimation *moveAnim);
void BattleDisplay_InitTaskSpriteToOAM(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_InitTaskOAMToSprite(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_PrintResultMessage(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_PrintEscapeMessage(BattleSystem *battleSys, BattlerData *battlerData, EscapeMsgMessage *message);
void BattleDisplay_PrintForfeitMessage(BattleSystem *battleSys, BattlerData *battlerData);
void BattleDisplay_RefreshSprite(BattleSystem *battleSys, BattlerData *battlerData, MoveAnimation *moveAnim);
void BattleDisplay_FlyMoveHitSoundEffect(BattleSystem *battleSys, BattlerData *battlerData, MoveHitSoundMessage *message);
void BattleDisplay_PlayMusic(BattleSystem *battleSys, BattlerData *battlerData, MusicPlayMessage *message);
void BattlerData_SetTaskFuncs(BattleSystem *battleSys, BattlerData *battlerData);
u8 BattlerData_GetBattlerType(BattlerData *battlerData);
u8 BattlerData_GetBootState(BattlerData *battlerData);
PokemonSprite *BattlerData_GetPokemonSprite(BattlerData *battlerData);
@ -129,4 +129,4 @@ UnkStruct_ov16_0226C378 *ov16_02263B0C(BattlerData *battlerData);
void ov16_02263B10(BattlerData *battlerData);
void ov16_02263B20(BattlerData *battlerData, int param1);
#endif // POKEPLATINUM_OV16_0225CBB8_H
#endif // POKEPLATINUM_BATTLE_BATTLE_DISPLAY_H

View File

@ -1,5 +1,5 @@
#ifndef POKEPLATINUM_OV16_0225BFFC_H
#define POKEPLATINUM_OV16_0225BFFC_H
#ifndef POKEPLATINUM_BATTLE_BATTLE_IO_COMMAND_H
#define POKEPLATINUM_BATTLE_BATTLE_IO_COMMAND_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
@ -7,8 +7,8 @@
#include "battle/struct_ov16_0223C2C0.h"
BattlerData *ov16_0225BFFC(BattleSystem *battleSys, UnkStruct_ov16_0223C2C0 *param1);
void ov16_0225C038(BattleSystem *battleSys, BattlerData *battlerData, int param2, int param3);
void ov16_0225C038(BattleSystem *battleSys, BattlerData *battlerData, int ballID, int param3);
void ov16_0225C0DC(BattleSystem *battleSys, BattlerData *battlerData);
void ov16_0225C104(BattleSystem *battleSys, BattlerData *battlerData, int param2);
#endif // POKEPLATINUM_OV16_0225BFFC_H
#endif // POKEPLATINUM_BATTLE_BATTLE_IO_COMMAND_H

View File

@ -271,7 +271,7 @@ BOOL ov16_0223F7A4(BattleSystem *battleSys);
void BattleSystem_ShowStopPlaybackButton(BattleSystem *battleSys);
u8 BattleSystem_GetRecordedChatter(BattleSystem *battleSys, int battler);
void ov16_0223F858(BattleSystem *battleSys, u8 *param1);
void ov16_0223F87C(BattleSystem *battleSys, u8 *param1);
void BattleSystem_SetBattlerTypes(BattleSystem *battleSys, u8 *battlerTypes);
void ov16_0223F8AC(BattleSystem *battleSys, PokemonSprite **monSprites);
void BattleSystem_SetGaugePriority(BattleSystem *battleSys, int param1);

View File

@ -43,7 +43,7 @@ typedef struct BattleMessageInfo {
typedef struct UISetupMessage {
int command;
u32 unk_04;
u32 seed;
} UISetupMessage;
typedef struct MonEncounterMessage {
@ -79,7 +79,7 @@ typedef struct MonShowMessage {
u16 nickname[MON_NAME_LEN + 1];
u8 padding_46[2];
int partnerPartySlot;
int notSubstitute;
int isSubstitute;
u16 battleMonSpecies[MAX_BATTLERS];
u8 battleMonGenders[MAX_BATTLERS];
u8 battleMonIsShiny[MAX_BATTLERS];
@ -91,7 +91,7 @@ typedef struct MonReturnMessage {
u8 command;
u8 yOffset;
u16 capturedBall;
int notSubstitute;
int isSubstitute;
u16 battleMonSpecies[MAX_BATTLERS];
u8 battleMonGenders[MAX_BATTLERS];
u8 battleMonIsShiny[MAX_BATTLERS];
@ -99,11 +99,11 @@ typedef struct MonReturnMessage {
u32 battleMonPersonalities[MAX_BATTLERS];
} MonReturnMessage;
typedef struct CaptureOpenBallMessage {
typedef struct OpenCaptureBallMessage {
u8 command;
u8 yOffset;
u16 ball;
} CaptureOpenBallMessage;
} OpenCaptureBallMessage;
typedef struct TrainerEncounterMessage {
u8 command;
@ -135,7 +135,7 @@ typedef struct CommandSetMessage {
s16 curHP;
u16 maxHP;
u8 ballStatusBattler;
u8 unk_29;
u8 switchingOrCanPickCommandMask;
u16 padding_2A;
} CommandSetMessage;
@ -157,7 +157,7 @@ typedef struct TargetSelectMenuMessage {
typedef struct BagMenuMessage {
u8 command;
u8 unk_01;
u8 hasTwoOpponents;
u8 semiInvulnerable;
u8 substitute;
u8 partySlots[MAX_BATTLERS];
@ -169,7 +169,7 @@ typedef struct PartyMenuMessage {
u8 command;
u8 battler;
u8 listMode;
u8 doubles;
u8 doublesSelection;
u8 selectedPartySlot[MAX_BATTLERS];
u8 partyOrder[MAX_BATTLERS][MAX_PARTY_SIZE];
int canSwitch;
@ -179,7 +179,7 @@ typedef struct PartyMenuMessage {
typedef struct YesNoMenuMessage {
u8 command;
u8 yesnoType;
u8 yesNoType;
u16 promptMsg;
int move;
int nickname;
@ -217,8 +217,8 @@ typedef struct FaintingSequenceMessage {
u16 species;
u32 personality;
u8 form;
u8 notSubstitute;
u8 notTransformed;
u8 isSubstitute;
u8 isTransformed;
u8 unk_0B;
u16 monSpecies[MAX_BATTLERS];
u8 monGenders[MAX_BATTLERS];
@ -236,7 +236,7 @@ typedef struct PlaySoundMessage {
typedef struct ToggleVanishMessage {
u8 command;
u8 toggle;
u8 notSubstitute;
u8 isSubstitute;
u8 padding_03;
u16 species[MAX_BATTLERS];
u8 gender[MAX_BATTLERS];
@ -328,7 +328,7 @@ typedef struct ForgetMoveMessage {
typedef struct MosaicSetMessage {
u8 command;
u8 unk_01;
u8 intensity;
u8 wait;
u8 padding_03;
} MosaicSetMessage;

View File

@ -1,20 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D1C4_H
#define POKEPLATINUM_STRUCT_OV16_0225D1C4_H
#include "struct_decls/battle_system.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
PokemonSprite *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
u8 unk_0C;
u8 unk_0D;
u16 unk_0E;
} UnkStruct_ov16_0225D1C4;
#endif // POKEPLATINUM_STRUCT_OV16_0225D1C4_H

View File

@ -1,20 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D360_H
#define POKEPLATINUM_STRUCT_OV16_0225D360_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
int unk_0C;
int unk_10;
int unk_14;
int unk_18;
} UnkStruct_ov16_0225D360;
#endif // POKEPLATINUM_STRUCT_OV16_0225D360_H

View File

@ -1,17 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D3CC_H
#define POKEPLATINUM_STRUCT_OV16_0225D3CC_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
int unk_0C;
} UnkStruct_ov16_0225D3CC;
#endif // POKEPLATINUM_STRUCT_OV16_0225D3CC_H

View File

@ -1,29 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D5B8_H
#define POKEPLATINUM_STRUCT_OV16_0225D5B8_H
#include "struct_decls/battle_system.h"
typedef struct {
BattleSystem *battleSys;
void *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
s8 unk_0B;
int unk_0C;
u8 unk_10[2][6];
u8 unk_1C[6];
u8 unk_22;
u8 unk_23;
u16 unk_24[4];
u8 unk_2C[4];
u8 unk_30[4];
u8 unk_34;
u8 unk_35;
s16 unk_36;
u16 unk_38;
u8 unk_3A;
u8 unk_3B;
} UnkStruct_ov16_0225D5B8;
#endif // POKEPLATINUM_STRUCT_OV16_0225D5B8_H

View File

@ -1,22 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D698_H
#define POKEPLATINUM_STRUCT_OV16_0225D698_H
#include "struct_decls/battle_system.h"
typedef struct {
BattleSystem *battleSys;
void *unk_04;
int unk_08;
u16 unk_0C[4];
u8 unk_14[4];
u8 unk_18[4];
u8 unk_1C;
u8 unk_1D;
u8 unk_1E;
u8 unk_1F;
u8 unk_20;
u8 unk_21;
u16 unk_22;
} UnkStruct_ov16_0225D698;
#endif // POKEPLATINUM_STRUCT_OV16_0225D698_H

View File

@ -1,22 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D708_H
#define POKEPLATINUM_STRUCT_OV16_0225D708_H
#include "struct_decls/battle_system.h"
#include "battle/struct_ov16_0225C29C_sub1.h"
typedef struct {
BattleSystem *battleSys;
void *unk_04;
int unk_08;
u8 unk_0C;
u8 unk_0D;
u8 unk_0E;
u8 unk_0F;
UnkStruct_ov16_0225C29C_sub1 unk_10[4];
u16 unk_30;
u8 unk_32;
u8 unk_33;
} UnkStruct_ov16_0225D708;
#endif // POKEPLATINUM_STRUCT_OV16_0225D708_H

View File

@ -1,26 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D794_H
#define POKEPLATINUM_STRUCT_OV16_0225D794_H
#include "battle/struct_ov16_0225D840.h"
#include "battle_sub_menus/battle_bag.h"
typedef struct {
BattleSystem *battleSys;
BattleBagContext *unk_04;
UnkStruct_ov16_0225D840 *unk_08;
u8 unk_0C;
u8 unk_0D;
u8 unk_0E;
u8 unk_0F;
u8 unk_10;
u8 unk_11;
u16 unk_12;
u8 unk_14;
u8 unk_15;
u8 unk_16;
u8 unk_17;
u8 unk_18[4][6];
u8 unk_30[4];
} UnkStruct_ov16_0225D794;
#endif // POKEPLATINUM_STRUCT_OV16_0225D794_H

View File

@ -1,23 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D840_H
#define POKEPLATINUM_STRUCT_OV16_0225D840_H
#include "battle_sub_menus/battle_party.h"
typedef struct {
BattleSystem *battleSys;
BattlePartyContext *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
u8 unk_0C[4];
int unk_10;
u16 unk_14;
u8 unk_16;
u8 unk_17;
u8 unk_18;
u8 unk_19[3];
u8 unk_1C[4][6];
} UnkStruct_ov16_0225D840;
#endif // POKEPLATINUM_STRUCT_OV16_0225D840_H

View File

@ -1,20 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D8AC_H
#define POKEPLATINUM_STRUCT_OV16_0225D8AC_H
#include "struct_decls/battle_system.h"
typedef struct {
BattleSystem *battleSys;
void *unk_04;
int unk_08;
u8 unk_0C;
u8 unk_0D;
u8 unk_0E;
u8 unk_0F;
int unk_10;
int unk_14;
u16 unk_18;
u16 unk_1A;
} UnkStruct_ov16_0225D8AC;
#endif // POKEPLATINUM_STRUCT_OV16_0225D8AC_H

View File

@ -1,26 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225D9A8_H
#define POKEPLATINUM_STRUCT_OV16_0225D9A8_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "battle/struct_ov16_02265BBC.h"
#include "battle_anim/battle_anim_system.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
PokemonSprite *unk_08;
BattleAnimSystem *unk_0C;
MoveAnimation unk_10;
u8 unk_68;
u8 unk_69;
u8 unk_6A;
u8 unk_6B;
u8 unk_6C;
u8 unk_6D[3];
} UnkStruct_ov16_0225D9A8;
#endif // POKEPLATINUM_STRUCT_OV16_0225D9A8_H

View File

@ -1,17 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225DA44_H
#define POKEPLATINUM_STRUCT_OV16_0225DA44_H
#include "struct_decls/battle_system.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
PokemonSprite *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
} UnkStruct_ov16_0225DA44;
#endif // POKEPLATINUM_STRUCT_OV16_0225DA44_H

View File

@ -1,28 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225DB74_H
#define POKEPLATINUM_STRUCT_OV16_0225DB74_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "battle/struct_ov16_02265BBC.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
PokemonSprite *unk_08;
MoveAnimation unk_0C;
u8 unk_64;
u8 unk_65;
u8 unk_66;
u8 unk_67;
u16 unk_68;
u8 unk_6A;
u8 unk_6B;
u32 unk_6C;
u16 unk_70;
u16 unk_72;
} UnkStruct_ov16_0225DB74;
#endif // POKEPLATINUM_STRUCT_OV16_0225DB74_H

View File

@ -1,14 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225DC7C_H
#define POKEPLATINUM_STRUCT_OV16_0225DC7C_H
#include "struct_decls/battle_system.h"
typedef struct {
BattleSystem *battleSys;
u8 unk_04;
u8 unk_05;
u8 unk_06;
u8 unk_07;
} UnkStruct_ov16_0225DC7C;
#endif // POKEPLATINUM_STRUCT_OV16_0225DC7C_H

View File

@ -1,20 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225DCB0_H
#define POKEPLATINUM_STRUCT_OV16_0225DCB0_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "battle/struct_ov16_02265BBC.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
MoveAnimation unk_08;
u8 unk_60;
u8 unk_61;
u8 unk_62;
u8 unk_63;
int unk_64;
} UnkStruct_ov16_0225DCB0;
#endif // POKEPLATINUM_STRUCT_OV16_0225DCB0_H

View File

@ -1,15 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225DF34_H
#define POKEPLATINUM_STRUCT_OV16_0225DF34_H
#include "struct_decls/battle_system.h"
typedef struct {
BattleSystem *battleSys;
void *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
} UnkStruct_ov16_0225DF34;
#endif // POKEPLATINUM_STRUCT_OV16_0225DF34_H

View File

@ -1,16 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225DF6C_H
#define POKEPLATINUM_STRUCT_OV16_0225DF6C_H
#include "struct_decls/battle_system.h"
typedef struct {
BattleSystem *battleSys;
u8 unk_04;
u8 unk_05;
u8 unk_06;
u8 unk_07;
u8 unk_08;
u8 unk_09[3];
} UnkStruct_ov16_0225DF6C;
#endif // POKEPLATINUM_STRUCT_OV16_0225DF6C_H

View File

@ -1,18 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225E0BC_H
#define POKEPLATINUM_STRUCT_OV16_0225E0BC_H
#include "battle_sub_menus/battle_party.h"
typedef struct {
BattleSystem *battleSys;
BattlePartyContext *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
u16 unk_0C;
u8 unk_0E;
u8 unk_0F;
} UnkStruct_ov16_0225E0BC;
#endif // POKEPLATINUM_STRUCT_OV16_0225E0BC_H

View File

@ -1,20 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225E0F4_H
#define POKEPLATINUM_STRUCT_OV16_0225E0F4_H
#include "struct_decls/battle_system.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
PokemonSprite *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
u8 unk_0C;
u8 unk_0D;
u16 unk_0E;
} UnkStruct_ov16_0225E0F4;
#endif // POKEPLATINUM_STRUCT_OV16_0225E0F4_H

View File

@ -1,19 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225E2C8_H
#define POKEPLATINUM_STRUCT_OV16_0225E2C8_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
PokemonSprite *unk_08;
u8 unk_0C;
u8 unk_0D;
u8 unk_0E;
u8 unk_0F[1];
} UnkStruct_ov16_0225E2C8;
#endif // POKEPLATINUM_STRUCT_OV16_0225E2C8_H

View File

@ -1,19 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225E300_H
#define POKEPLATINUM_STRUCT_OV16_0225E300_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
PokemonSprite *unk_08;
u8 unk_0C;
u8 unk_0D;
u8 unk_0E;
u8 unk_0F[1];
} UnkStruct_ov16_0225E300;
#endif // POKEPLATINUM_STRUCT_OV16_0225E300_H

View File

@ -1,31 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225E4E8_H
#define POKEPLATINUM_STRUCT_OV16_0225E4E8_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "battle/struct_ov16_02268520.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
PokemonSprite *unk_08;
UnkStruct_ov16_02268520 *unk_0C;
u8 unk_10;
u8 unk_11;
u8 unk_12;
u8 unk_13;
s16 unk_14;
u16 unk_16;
int unk_18;
int unk_1C;
int unk_20;
int unk_24;
int unk_28;
u8 unk_2C;
u8 unk_2D[3];
} UnkStruct_ov16_0225E4E8;
#endif // POKEPLATINUM_STRUCT_OV16_0225E4E8_H

View File

@ -1,43 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225EA80_H
#define POKEPLATINUM_STRUCT_OV16_0225EA80_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "battle/struct_ov16_02265BBC.h"
#include "battle_anim/battle_anim_system.h"
#include "battle_anim/struct_ball_rotation_decl.h"
#include "battle_anim/struct_ov12_02223764.h"
#include "battle_anim/struct_ov12_02235FE0_decl.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
UnkStruct_ov12_02235FE0 *unk_08;
BallRotation *unk_0C;
UnkStruct_ov12_02223764 *unk_10;
PokemonSpriteTemplate unk_14;
BattleAnimSystem *unk_24;
MoveAnimation unk_28;
u8 unk_80;
u8 unk_81;
u8 unk_82;
u8 unk_83;
u8 unk_84;
u8 unk_85;
u16 unk_86;
int unk_88;
u8 unk_8C;
u8 unk_8D;
u16 unk_8E;
s8 unk_90;
s8 unk_91;
u8 unk_92;
u8 unk_93;
u16 unk_94;
u8 unk_96;
u8 unk_97;
int unk_98;
} UnkStruct_ov16_0225EA80;
#endif // POKEPLATINUM_STRUCT_OV16_0225EA80_H

View File

@ -1,28 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_0225F764_H
#define POKEPLATINUM_STRUCT_OV16_0225F764_H
#include "struct_decls/battle_system.h"
#include "struct_defs/battler_data.h"
#include "battle/struct_ov16_02265BBC.h"
#include "battle_anim/struct_ball_rotation_decl.h"
#include "pokemon_sprite.h"
typedef struct {
BattleSystem *battleSys;
BattlerData *battlerData;
PokemonSprite *unk_08;
BallRotation *unk_0C;
MoveAnimation unk_10;
u8 unk_68;
u8 unk_69;
u8 unk_6A;
u8 unk_6B;
u8 unk_6C;
u8 unk_6D;
u16 unk_6E;
int unk_70;
} UnkStruct_ov16_0225F764;
#endif // POKEPLATINUM_STRUCT_OV16_0225F764_H

View File

@ -1,19 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_02260384_H
#define POKEPLATINUM_STRUCT_OV16_02260384_H
#include "struct_decls/battle_system.h"
#include "sprite_system.h"
typedef struct {
BattleSystem *battleSys;
ManagedSprite *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
s16 unk_0C;
u16 unk_0E;
} UnkStruct_ov16_02260384;
#endif // POKEPLATINUM_STRUCT_OV16_02260384_H

View File

@ -1,26 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_02264650_1_H
#define POKEPLATINUM_STRUCT_OV16_02264650_1_H
#include "struct_decls/battle_system.h"
#include "battle/struct_ov16_02268520.h"
#include "sprite_system.h"
typedef struct {
BattleSystem *battleSys;
UnkStruct_ov16_02268520 *unk_04;
ManagedSprite *unk_08;
u8 unk_0C;
u8 unk_0D;
u8 unk_0E;
u8 unk_0F;
s16 unk_10;
u16 unk_12_0 : 1;
u16 unk_12_1 : 15;
int unk_14;
int unk_18;
int unk_1C;
} UnkStruct_ov16_02264650_1;
#endif // POKEPLATINUM_STRUCT_OV16_02264650_1_H

View File

@ -1,29 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV16_02265BBC_H
#define POKEPLATINUM_STRUCT_OV16_02265BBC_H
typedef struct {
u8 command;
u8 unk_01;
u16 move;
s32 damage;
u16 power;
u16 effectChance;
u16 friendship;
u16 isSubstitute : 1;
u16 transformed : 1;
u16 : 14;
u32 fieldConditions;
u16 attacker;
u16 defender;
u16 species[4];
u8 genders[4];
u8 isShiny[4];
u8 formNums[4];
u32 personalities[4];
u32 moveEffectMasks[4];
int unk_4C;
int unk_50;
int terrain;
} MoveAnimation;
#endif // POKEPLATINUM_STRUCT_OV16_02265BBC_H

View File

@ -4,9 +4,9 @@
#include "constants/battle.h"
#include "struct_decls/battle_system.h"
#include "struct_defs/move_animation.h"
#include "battle/battle_anim_battler_context.h"
#include "battle/struct_ov16_02265BBC.h"
#include "battle_anim/struct_ov12_02223764.h"
#include "battle_anim/struct_ov12_022380DC.h"
@ -119,7 +119,7 @@ typedef struct BattleAnimContext {
ChatotCry *chatotCry;
u8 *bgTiles;
u16 *bgPaletteBuffer;
BOOL transformed; // Flag for if transform is currently active
BOOL isTransformed;
} BattleAnimContext;
typedef struct CustomBgScrollContext CustomBgScrollContext;

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_CONST_OV12_0223B0B8_H
#define POKEPLATINUM_CONST_OV12_0223B0B8_H
extern const s16 Unk_ov12_0223B0B8[][3];
#endif // POKEPLATINUM_CONST_OV12_0223B0B8_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_CONST_OV12_0223B0DC_H
#define POKEPLATINUM_CONST_OV12_0223B0DC_H
extern const s16 Unk_ov12_0223B0DC[][3];
#endif // POKEPLATINUM_CONST_OV12_0223B0DC_H

View File

@ -3,6 +3,9 @@
#include "battle_anim/struct_ov12_022380DC.h"
extern const s16 gEncounterCoords[][3];
extern const s16 gSlideTrainerInCoords[][3];
void ov12_022380BC(UnkStruct_ov12_022380DC *param0, enum HeapID heapID);
void ov12_022380CC(UnkStruct_ov12_022380DC *param0, enum HeapID heapID);
void ov12_022382BC(UnkStruct_ov12_022380DC *param0, enum HeapID heapID);

View File

@ -33,7 +33,7 @@ enum BattleCommand {
BATTLE_COMMAND_FADE_OUT,
BATTLE_COMMAND_TOGGLE_VANISH,
BATTLE_COMMAND_SET_STATUS_ICON, // 30
BATTLE_COMMAND_TRAINER_MESSAGE,
BATTLE_COMMAND_PRINT_TRAINER_MESSAGE,
BATTLE_COMMAND_PRINT_RECALL_MESSAGE,
BATTLE_COMMAND_PRINT_SEND_OUT_MESSAGE,
BATTLE_COMMAND_PRINT_BATTLE_START_MESSAGE,
@ -57,13 +57,13 @@ enum BattleCommand {
BATTLE_COMMAND_LOAD_PARTY_GAUGE_GRAPHICS,
BATTLE_COMMAND_FREE_PARTY_GAUGE_GRAPHICS,
BATTLE_COMMAND_INCREMENT_RECORD,
BATTLE_COMMAND_LINK_WAIT_MESSAGE,
BATTLE_COMMAND_PRINT_LINK_WAIT_MESSAGE,
BATTLE_COMMAND_RESTORE_SPRITE,
BATTLE_COMMAND_SPRITE_TO_OAM,
BATTLE_COMMAND_OAM_TO_SPRITE,
BATTLE_COMMAND_RESULT_MESSAGE,
BATTLE_COMMAND_ESCAPE_MESSAGE, // 60
BATTLE_COMMAND_FORFEIT_MESSAGE,
BATTLE_COMMAND_PRINT_RESULT_MESSAGE,
BATTLE_COMMAND_PRINT_ESCAPE_MESSAGE, // 60
BATTLE_COMMAND_PRINT_FORFEIT_MESSAGE,
BATTLE_COMMAND_REFRESH_SPRITE,
BATTLE_COMMAND_FLY_MOVE_HIT_SOUND_EFFECT,
BATTLE_COMMAND_PLAY_MUSIC,

View File

@ -498,7 +498,7 @@ u8 BoxPokemon_SpriteYOffset(BoxPokemon *boxMon, u8 face, BOOL preferDP);
*/
u8 LoadPokemonSpriteYOffset(u16 species, u8 gender, u8 face, u8 form, u32 personality);
void sub_0207697C(PokemonSpriteTemplate *param0, u16 param1);
ManagedSprite *sub_02076994(SpriteSystem *param0, SpriteManager *param1, PaletteData *param2, int param3, int param4, int param5, int param6, int param7, enum HeapID heapID);
ManagedSprite *SpriteSystem_NewManagedSpriteTrainer(SpriteSystem *spriteSys, SpriteManager *spriteMan, PaletteData *paletteData, int x, int y, int trainerType, int face, int battlerType, enum HeapID heapID);
void sub_02076AAC(int param0, int param1, UnkStruct_ov5_021DE5D0 *param2);
/**
@ -810,7 +810,7 @@ void PlayCryWithParams(ChatotCry *chatotCry, enum PokemonCryMod cryMod, u16 spec
*
* @param chatotCry Chatot cry data from the save block. Only used
* if the Pokemon itself is Chatot.
* @param crymod Modification to apply to the Pokemon's cry.
* @param cryMod Modification to apply to the Pokemon's cry.
* @param species
* @param form
* @param pan
@ -819,7 +819,7 @@ void PlayCryWithParams(ChatotCry *chatotCry, enum PokemonCryMod cryMod, u16 spec
* @param heapID
* @param delay Number of frames until playback will begin.
*/
void Species_PlayDelayedCry(ChatotCry *chatotCry, enum PokemonCryMod crymod, u16 species, int form, int pan, int volume, int forceDefaultChatot, enum HeapID heapID, u8 delay);
void Species_PlayDelayedCry(ChatotCry *chatotCry, enum PokemonCryMod cryMod, u16 species, int form, int pan, int volume, int forceDefaultChatot, enum HeapID heapID, u8 delay);
BOOL Pokemon_PlayCry(Pokemon *mon);
void Pokemon_SetCatchData(Pokemon *mon, TrainerInfo *trainerInfo, int monPokeball, int metLocation, int metTerrain, enum HeapID heapID);
void Pokemon_UpdateAfterCatch(Pokemon *mon, TrainerInfo *param1, int monPokeball, int param3, int param4, int param5);

View File

@ -13,12 +13,12 @@
#include "sys_task_manager.h"
typedef struct BattlerDataSysTaskFuncs {
SysTaskFunc func_00;
SysTaskFunc func_04;
SysTaskFunc func_08;
SysTaskFunc func_0C;
SysTaskFunc func_10;
SysTaskFunc func_14;
SysTaskFunc setCommandSelection;
SysTaskFunc showMoveSelectMenu;
SysTaskFunc showTargetSelectMenu;
SysTaskFunc showBagMenu;
SysTaskFunc showPartyMenu;
SysTaskFunc showYesNoMenu;
} BattlerDataSysTaskFuncs;
#define DATA_BUF_SIZE 256

View File

@ -0,0 +1,31 @@
#ifndef POKEPLATINUM_STRUCT_MOVE_ANIMATION_H
#define POKEPLATINUM_STRUCT_MOVE_ANIMATION_H
#include "constants/battle.h"
typedef struct MoveAnimation {
u8 command;
u8 unk_01;
u16 move;
s32 damage;
u16 power;
u16 effectChance;
u16 friendship;
u16 isSubstitute : 1;
u16 isTransformed : 1;
u16 : 14;
u32 fieldConditions;
u16 attacker;
u16 defender;
u16 species[MAX_BATTLERS];
u8 genders[MAX_BATTLERS];
u8 isShiny[MAX_BATTLERS];
u8 formNums[MAX_BATTLERS];
u32 personalities[MAX_BATTLERS];
u32 moveEffectMasks[MAX_BATTLERS];
int unk_4C;
int unk_50;
int terrain;
} MoveAnimation;
#endif // POKEPLATINUM_STRUCT_MOVE_ANIMATION_H

File diff suppressed because it is too large Load Diff

View File

@ -655,10 +655,10 @@ static void BattleControllerPlayer_CommandSelectionInput(BattleSystem *battleSys
if (battleType == BATTLE_TYPE_LINK_DOUBLES) {
if (battleCtx->curCommandState[BattleSystem_GetPartner(battleSys, i)] == COMMAND_SELECTION_END) {
BattleController_EmitLinkWaitMessage(battleSys, i);
BattleController_EmitPrintLinkWaitMessage(battleSys, i);
}
} else {
BattleController_EmitLinkWaitMessage(battleSys, i);
BattleController_EmitPrintLinkWaitMessage(battleSys, i);
}
battleCtx->curCommandState[i] = COMMAND_SELECTION_END;

View File

@ -2162,7 +2162,7 @@ static void ov16_0226A12C(UnkStruct_ov16_02268A14 *param0, int param1, int param
ov16_0226B20C(param0, v3, 0);
ov16_0226A698(param0);
ov16_0226AAF8(param0);
ov16_0223F87C(param0->battleSys, v10);
BattleSystem_SetBattlerTypes(param0->battleSys, v10);
ov16_0223F858(param0->battleSys, v11);
v4 = String_Init(12 + 2 + (5 * 2), HEAP_ID_BATTLE);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2621,10 +2621,10 @@ static BOOL BtlCmd_ShowParty(BattleSystem *battleSys, BattleContext *battleCtx)
if ((switchingMask & FlagIndex(battler)) == FALSE
&& (switchingMask & FlagIndex(partner)) == FALSE) {
switchingMask |= FlagIndex(battler);
BattleController_EmitLinkWaitMessage(battleSys, battler);
BattleController_EmitPrintLinkWaitMessage(battleSys, battler);
}
} else if ((switchingMask & FlagIndex(battler)) == FALSE) {
BattleController_EmitLinkWaitMessage(battleSys, battler);
BattleController_EmitPrintLinkWaitMessage(battleSys, battler);
}
}
@ -2669,7 +2669,7 @@ static BOOL BtlCmd_WaitMonSelection(BattleSystem *battleSys, BattleContext *batt
if ((battleCtx->battleStatusMask2 & (FlagIndex(battler) << SYSCTL_LINK_WAITING_SHIFT)) == FALSE) {
battleCtx->battleStatusMask2 |= (FlagIndex(battler) << SYSCTL_LINK_WAITING_SHIFT);
BattleController_EmitLinkWaitMessage(battleSys, battler);
BattleController_EmitPrintLinkWaitMessage(battleSys, battler);
}
}
}

View File

@ -1489,16 +1489,16 @@ void ov16_0223F858(BattleSystem *battleSys, u8 *param1)
}
}
void ov16_0223F87C(BattleSystem *battleSys, u8 *param1)
void BattleSystem_SetBattlerTypes(BattleSystem *battleSys, u8 *battlerTypes)
{
int battler;
for (battler = 0; battler < MAX_BATTLERS; battler++) {
param1[battler] = 0xFF;
battlerTypes[battler] = 0xFF;
}
for (battler = 0; battler < battleSys->maxBattlers; battler++) {
param1[battler] = BattlerData_GetBattlerType(battleSys->battlers[battler]);
battlerTypes[battler] = BattlerData_GetBattlerType(battleSys->battlers[battler]);
}
}

View File

@ -1129,7 +1129,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
battleSys->maxBattlers = i;
for (i = 0; i < 4; i++) {
ov16_02263730(battleSys, battleSys->battlers[i]);
BattlerData_SetTaskFuncs(battleSys, battleSys->battlers[i]);
Party_Copy(dto->parties[i], battleSys->parties[i]);
}
@ -1156,7 +1156,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
battleSys->maxBattlers = i;
for (i = 0; i < 4; i++) {
ov16_02263730(battleSys, battleSys->battlers[i]);
BattlerData_SetTaskFuncs(battleSys, battleSys->battlers[i]);
Party_Copy(dto->parties[i], battleSys->parties[i]);
}
@ -1178,7 +1178,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E264[v6][i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
BattlerData_SetTaskFuncs(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = i;
@ -1209,7 +1209,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E260[v6][i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
BattlerData_SetTaskFuncs(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = i;
@ -1238,7 +1238,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E560[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
BattlerData_SetTaskFuncs(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = i;
@ -1276,7 +1276,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E560[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
BattlerData_SetTaskFuncs(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = i;
@ -1304,7 +1304,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E560[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
BattlerData_SetTaskFuncs(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = i;
@ -1338,7 +1338,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto)
v2.unk_00 = i;
v2.unk_01 = Unk_ov16_0226E25C[i];
battleSys->battlers[i] = ov16_0225BFFC(battleSys, &v2);
ov16_02263730(battleSys, battleSys->battlers[i]);
BattlerData_SetTaskFuncs(battleSys, battleSys->battlers[i]);
}
battleSys->maxBattlers = i;
@ -1570,7 +1570,7 @@ static void ov16_0223CF8C(SysTask *param0, void *param1)
for (v3 = 0; v3 < v4; v3++) {
battlerData = BattleSystem_GetBattlerData(battleSys, v3);
if (((BattlerData_GetBootState(battlerData) == 0x0) && ((BattleSystem_GetBattleStatusMask(battleSys) & 0x10) == 0)) || ((BattleSystem_GetBattlerSide(battleSys, v3) == 0) && (BattleSystem_GetBattleStatusMask(battleSys) & 0x10))) {
if (((BattlerData_GetBootState(battlerData) == BATTLER_BOOT_STATE_NORMAL) && ((BattleSystem_GetBattleStatusMask(battleSys) & 0x10) == 0)) || ((BattleSystem_GetBattlerSide(battleSys, v3) == 0) && (BattleSystem_GetBattleStatusMask(battleSys) & 0x10))) {
healthbar = BattlerData_GetHealthbar(battlerData);
if (healthbar != NULL) {

View File

@ -12,12 +12,12 @@
#include "struct_decls/battle_system.h"
#include "struct_defs/chatot_cry.h"
#include "struct_defs/move_animation.h"
#include "battle/battle_anim_battler_context.h"
#include "battle/battle_background_reference.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"
#include "battle_anim/battle_anim_util.h"
#include "battle_anim/battle_particle_util.h"
@ -438,7 +438,7 @@ BOOL BattleAnimSystem_StartMove(BattleAnimSystem *system, MoveAnimation *param1,
system->context->terrain = param1->terrain;
system->context->attacker = param1->attacker;
system->context->defender = param1->defender;
system->context->transformed = param1->transformed;
system->context->isTransformed = param1->isTransformed;
system->context->spriteSystem = battlerContext->spriteSystem;
GF_ASSERT(battlerContext->spriteSystem != NULL);
@ -3610,7 +3610,7 @@ static void BattleAnimScriptCmd_PlayPokemonCry(BattleAnimSystem *system)
form,
pan,
volume,
system->context->transformed,
system->context->isTransformed,
system->heapID);
}
@ -3945,7 +3945,7 @@ UnkStruct_ov12_02223764 *ov12_022234F8(BattleSystem *battleSys, enum HeapID heap
v2->pokemonSpriteDataArray[v0] = BattleSystem_GetPokemonSpriteDataByIndex(battleSys, v0);
}
ov16_0223F87C(battleSys, &(v2->unk_44[0]));
BattleSystem_SetBattlerTypes(battleSys, &(v2->unk_44[0]));
ov16_0223F8AC(battleSys, &(v2->unk_48[0]));
}

View File

@ -4,8 +4,6 @@
#include <string.h>
#include "battle_anim/const_ov12_0223B0A0.h"
#include "battle_anim/const_ov12_0223B0B8.h"
#include "battle_anim/const_ov12_0223B0DC.h"
#include "battle_anim/struct_ov12_022380DC.h"
#include "character_sprite.h"
@ -15,7 +13,7 @@
static void ov12_022380DC(UnkStruct_ov12_022380DC *param0, int param1, int param2, enum HeapID heapID);
const s16 Unk_ov12_0223B0B8[][3] = {
const s16 gEncounterCoords[][3] = {
{ 0x150, 0x70, 0xFFFFFFFFFFFFFE00 },
{ 0xFFFFFFFFFFFFFFB0, 0x32, 0xFFFFFFFFFFFFFD80 },
{ 0x13C, 0x70, 0xFFFFFFFFFFFFFE00 },
@ -33,7 +31,7 @@ const s16 Unk_ov12_0223B0A0[][2] = {
{ 0xB0, 0xE0 }
};
const s16 Unk_ov12_0223B0DC[][3] = {
const s16 gSlideTrainerInCoords[][3] = {
{ 0xFFFFFFFFFFFFFFB0, 0x70, 0xFFFFFFFFFFFFFE00 },
{ 0x150, 0x32, 0xFFFFFFFFFFFFFE00 },
{ 0xFFFFFFFFFFFFFFB0, 0x70, 0xFFFFFFFFFFFFFE00 },
@ -210,6 +208,6 @@ s16 ov12_022384CC(int param0, int param1)
if (param1 == 0) {
return Unk_ov12_0223B0A0[param0][0];
} else {
return Unk_ov12_0223B0B8[param0][param1];
return gEncounterCoords[param0][param1];
}
}

View File

@ -3,8 +3,9 @@
#include <nitro.h>
#include <string.h>
#include "struct_defs/move_animation.h"
#include "battle/battle_anim_battler_context.h"
#include "battle/struct_ov16_02265BBC.h"
#include "battle_anim/battle_anim_system.h"
#include "overlay017/ov17_0223F7E4.h"
#include "overlay017/ov17_022413D8.h"

View File

@ -3381,17 +3381,17 @@ void sub_0207697C(PokemonSpriteTemplate *param0, u16 param1)
param0->personality = 0;
}
static const SpriteTemplate Unk_020F05E4 = {
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
NNS_G2D_VRAM_TYPE_2DMAIN,
{ 0x4E2F, 0x4E2A, 0x4E27, 0x4E27, 0xffffffff, 0xffffffff },
0x2,
0x1
static const SpriteTemplate sSpriteTemplateTrainer = {
.x = 0,
.y = 0,
.z = 0,
.animIdx = 0,
.priority = 0,
.plttIdx = 0,
.vramType = NNS_G2D_VRAM_TYPE_2DMAIN,
.resources = { 0x4E2F, 0x4E2A, 0x4E27, 0x4E27, 0xffffffff, 0xffffffff },
.bgPriority = 2,
.vramTransfer = TRUE,
};
static const int Unk_020F0588[] = {
@ -3403,46 +3403,46 @@ static const int Unk_020F0588[] = {
0x1
};
ManagedSprite *sub_02076994(SpriteSystem *param0, SpriteManager *param1, PaletteData *param2, int param3, int param4, int param5, int param6, int param7, enum HeapID heapID)
ManagedSprite *SpriteSystem_NewManagedSpriteTrainer(SpriteSystem *spriteSys, SpriteManager *spriteMan, PaletteData *paletteData, int x, int y, int trainerClass, int face, int battlerType, enum HeapID heapID)
{
SpriteTemplate v0;
ManagedSprite *v1;
SpriteTemplate spriteTemplate;
ManagedSprite *managedSprite;
NARC *narc;
UnkStruct_ov5_021DE5D0 v3;
int v4 = 1;
sub_02076AAC(param5, param6, &v3);
sub_02076AAC(trainerClass, face, &v3);
// TODO enum values?
if (param5 == 102) {
if (trainerClass == 102) {
v4 = 2;
}
narc = NARC_ctor(v3.narcID, heapID);
SpriteSystem_LoadCharResObjFromOpenNarc(param0, param1, narc, v3.unk_04, FALSE, NNS_G2D_VRAM_TYPE_2DMAIN, 20015 + param7);
SpriteSystem_LoadPaletteBufferFromOpenNarc(param2, PLTTBUF_MAIN_OBJ, param0, param1, narc, v3.unk_08, FALSE, v4, NNS_G2D_VRAM_TYPE_2DMAIN, 20010 + param7);
SpriteSystem_LoadCellResObjFromOpenNarc(param0, param1, narc, v3.unk_0C, FALSE, 20007 + param7);
SpriteSystem_LoadAnimResObjFromOpenNarc(param0, param1, narc, v3.unk_10, FALSE, 20007 + param7);
SpriteSystem_LoadCharResObjFromOpenNarc(spriteSys, spriteMan, narc, v3.unk_04, FALSE, NNS_G2D_VRAM_TYPE_2DMAIN, 20015 + battlerType);
SpriteSystem_LoadPaletteBufferFromOpenNarc(paletteData, PLTTBUF_MAIN_OBJ, spriteSys, spriteMan, narc, v3.unk_08, FALSE, v4, NNS_G2D_VRAM_TYPE_2DMAIN, 20010 + battlerType);
SpriteSystem_LoadCellResObjFromOpenNarc(spriteSys, spriteMan, narc, v3.unk_0C, FALSE, 20007 + battlerType);
SpriteSystem_LoadAnimResObjFromOpenNarc(spriteSys, spriteMan, narc, v3.unk_10, FALSE, 20007 + battlerType);
NARC_dtor(narc);
v0 = Unk_020F05E4;
spriteTemplate = sSpriteTemplateTrainer;
// TODO enum values?
v0.resources[0] = 20015 + param7;
v0.resources[1] = 20010 + param7;
v0.resources[2] = 20007 + param7;
v0.resources[3] = 20007 + param7;
v0.priority = Unk_020F0588[param7];
spriteTemplate.resources[0] = 20015 + battlerType;
spriteTemplate.resources[1] = 20010 + battlerType;
spriteTemplate.resources[2] = 20007 + battlerType;
spriteTemplate.resources[3] = 20007 + battlerType;
spriteTemplate.priority = Unk_020F0588[battlerType];
v1 = SpriteSystem_NewSprite(param0, param1, &v0);
managedSprite = SpriteSystem_NewSprite(spriteSys, spriteMan, &spriteTemplate);
Sprite_SetExplicitPaletteOffsetAutoAdjust(v1->sprite, 0);
ManagedSprite_SetPositionXY(v1, param3, param4);
ManagedSprite_TickFrame(v1);
ManagedSprite_SetAnimateFlag(v1, 1);
Sprite_SetExplicitPaletteOffsetAutoAdjust(managedSprite->sprite, 0);
ManagedSprite_SetPositionXY(managedSprite, x, y);
ManagedSprite_TickFrame(managedSprite);
ManagedSprite_SetAnimateFlag(managedSprite, TRUE);
return v1;
return managedSprite;
}
void sub_02076AAC(int param0, int param1, UnkStruct_ov5_021DE5D0 *param2)