diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2021-03-15 14:27:50 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2021-03-15 14:27:50 -0400 |
commit | 2f4f63afdb6a7b77a8161f0cd42ae64cc5f1515c (patch) | |
tree | c1e9b848a7f6832a4f206075c33a2d66376208af /include | |
parent | 67cdab24f8539aaacc1919b67764aae26ef7922f (diff) |
Document old man batttle controller
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 47 | ||||
-rw-r--r-- | include/battle_anim.h | 3 | ||||
-rw-r--r-- | include/battle_controllers.h | 35 | ||||
-rw-r--r-- | include/battle_gfx_sfx_util.h | 6 | ||||
-rw-r--r-- | include/battle_main.h | 2 | ||||
-rw-r--r-- | include/battle_message.h | 6 | ||||
-rw-r--r-- | include/link.h | 4 | ||||
-rw-r--r-- | include/party_menu.h | 6 | ||||
-rw-r--r-- | include/reshow_battle_screen.h | 2 | ||||
-rw-r--r-- | include/strings.h | 4 |
10 files changed, 64 insertions, 51 deletions
diff --git a/include/battle.h b/include/battle.h index d8d96c859..74a72b332 100644 --- a/include/battle.h +++ b/include/battle.h @@ -370,15 +370,15 @@ struct BattleStruct { u8 turnEffectsTracker; u8 turnEffectsBattlerId; - u8 filler2; + u8 filler2; // unused u8 turnCountersTracker; u8 wrappedMove[MAX_BATTLERS_COUNT * 2]; // Leftover from Ruby's ewram access. u8 moveTarget[MAX_BATTLERS_COUNT]; u8 expGetterMonId; - u8 field_11; + u8 field_11; // unuused u8 wildVictorySong; u8 dynamicMoveType; - u8 wrappedBy[4]; + u8 wrappedBy[MAX_BATTLERS_COUNT]; u16 assistPossibleMoves[PARTY_SIZE * MAX_MON_MOVES]; // 6 mons, each of them knowing 4 moves u8 focusPunchBattlerId; u8 battlerPreventingSwitchout; @@ -387,17 +387,17 @@ struct BattleStruct u8 switchInAbilitiesCounter; u8 faintedActionsState; u8 faintedActionsBattlerId; - u8 field_4F; + // balign 2 u16 expValue; - u8 field_52; + u8 scriptPartyIdx; // for printing the nickname u8 sentInPokes; bool8 selectionScriptFinished[MAX_BATTLERS_COUNT]; - u8 field_58[4]; + u8 battlerPartyIndexes[MAX_BATTLERS_COUNT]; u8 monToSwitchIntoId[MAX_BATTLERS_COUNT]; - u8 field_60[4][3]; + u8 battlerPartyOrders[MAX_BATTLERS_COUNT][3]; u8 runTries; - u8 caughtMonNick[11]; - u8 field_78; + u8 caughtMonNick[POKEMON_NAME_LENGTH + 1]; + u8 field_78; // unused u8 safariGoNearCounter; u8 safariPkblThrowCounter; u8 safariEscapeFactor; @@ -407,21 +407,18 @@ struct BattleStruct u8 formToChangeInto; u8 chosenMovePositions[MAX_BATTLERS_COUNT]; u8 stateIdAfterSelScript[MAX_BATTLERS_COUNT]; - u8 field_88; - u8 field_89; - u8 field_8A; - u8 field_8B; - u8 field_8C; - u8 field_8D; + u8 field_88; // unused + u8 field_89; // unused + u8 field_8A; // unused + u8 playerPartyIdx; + u8 field_8C; // unused + u8 field_8D; // unused u8 stringMoveType; u8 expGetterBattlerId; - u8 field_90; - u8 field_91; + u8 field_90; // unused + u8 absentBattlerFlags; u8 AI_monToSwitchIntoId[2]; - u8 field_94; - u8 field_95; - u8 field_96; - u8 field_97; + u8 simulatedInputState[4]; // used by Oak/Old Man/Pokedude controllers u8 lastTakenMove[MAX_BATTLERS_COUNT * 2 * 2]; // ask gamefreak why they declared it that way u16 hpOnSwitchout[2]; u8 abilityPreventingSwitchout; @@ -544,7 +541,7 @@ struct BattleAnimationInfo u8 field_6; u8 field_7; u8 ballThrowCaseId; - u8 field_9_x1 : 1; + u8 healthboxSlideInStarted : 1; u8 field_9_x2 : 1; u8 field_9_x1C : 3; u8 field_9_x20 : 1; @@ -566,7 +563,7 @@ struct BattleHealthboxInfo u8 statusAnimActive : 1; // x10 u8 animFromTableActive : 1; // x20 u8 specialAnimActive : 1; //x40 - u8 flag_x80 : 1; + u8 triedShinyMonAnim : 1; u8 field_1_x1 : 1; u8 field_1_x1E : 5; u8 field_1_x40 : 1; @@ -578,7 +575,7 @@ struct BattleHealthboxInfo u8 matrixNum; u8 shadowSpriteId; u8 field_8; - u8 field_9; + u8 introEndDelay; u8 field_A; u8 field_B; }; @@ -696,7 +693,7 @@ extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT]; extern u8 gCurrentActionFuncId; extern u8 gCurrMovePos; extern u8 gChosenMovePos; -extern u8 gUnknown_3004FFC[MAX_BATTLERS_COUNT]; +extern u8 gBattleControllerData[MAX_BATTLERS_COUNT]; extern u8 gBattlerStatusSummaryTaskId[MAX_BATTLERS_COUNT]; extern u16 gDynamicBasePower; extern u16 gLastLandedMoves[MAX_BATTLERS_COUNT]; diff --git a/include/battle_anim.h b/include/battle_anim.h index 05cba4e34..ddfeb9bcd 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -445,6 +445,9 @@ void AnimTask_GetFrustrationPowerLevel(u8 taskId); void sub_80767F0(void); u8 GetBattlerSpriteSubpriority(u8 battlerId); u8 GetBattlerSpriteBGPriority(u8 battlerId); + +// Returns 2 if player left or opp right +// Returns 1 if player right or opp left u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); u8 sub_80768D0(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); void DestroySpriteAndFreeResources_(struct Sprite *sprite); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 89164b009..89e8b64da 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -235,14 +235,14 @@ void BtlController_EmitCmd55(u8 bufferId, u8 arg1); void nullsub_13(void); void SetControllerToPlayer(void); void PlayerHandleGetRawMonData(void); -void sub_80335F8(struct Sprite *sprite); +void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite); void SetCB2ToReshowScreenAfterMenu(void); void SetCB2ToReshowScreenAfterMenu2(void); -void c3_0802FDF4(u8 taskId); +void Task_PlayerController_RestoreBgmAfterCry(u8 taskId); void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); void ActionSelectionDestroyCursorAt(u8 cursorPos); void InitMoveSelectionsVarsAndStrings(void); -void sub_802F6A8(void); +void SetBattleEndCallbacks(void); void MoveSelectionCreateCursorAt(u8 cursorPos, u8 arg1); void MoveSelectionDestroyCursorAt(u8 cursorPos); void HandleInputChooseMove(void); @@ -260,14 +260,27 @@ void InitPokedudePartyAndOpponent(void); // oak and old man controller void SetControllerToOakOrOldMan(void); -bool8 sub_80EB2E0(u8); -void sub_80EB2F4(u8); -void sub_80E8570(void); -void sub_80E85C0(void); -void sub_80E8598(void); -void sub_80E7988(void); -void sub_80EB30C(void); -void sub_80EB524(void); + +// These flags are set to signal that the indicated message +// was already emitted + +// Inflicting damage is key +#define FIRST_BATTLE_MSG_FLAG_INFLICT_DMG 0x1 +// Lowering stats is advantageous +#define FIRST_BATTLE_MSG_FLAG_STAT_CHG 0x2 +// Keep an eye on your HP +#define FIRST_BATTLE_MSG_FLAG_HP_RESTORE 0x4 +// +#define FIRST_BATTLE_MSG_FLAG_PARTY_MENU 0x8 + +bool8 BtlCtrl_OakOldMan_TestState2Flag(u8 mask); +void BtlCtrl_OakOldMan_SetState2Flag(u8 mask); +void PrintOakText_InflictingDamageIsKey(void); +void PrintOakText_HowDisappointing(void); +void PrintOakText_OakNoRunningFromATrainer(void); +void OakOldManHandleInputChooseMove(void); +void BtlCtrl_DrawVoiceoverMessageFrame(void); +void BtlCtrl_RemoveVoiceoverMessageFrame(void); // link opponent controller void SetControllerToLinkOpponent(void); diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index 6c2ffa11b..d22a47164 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -3,8 +3,8 @@ void AllocateBattleSpritesData(void); void FreeBattleSpritesData(void); -void sub_8033E3C(struct Sprite *sprite); -void sub_8033EEC(struct Sprite *sprite); +void SpriteCB_WaitForBattlerBallReleaseAnim(struct Sprite *sprite); +void SpriteCB_TrainerSlideIn(struct Sprite *sprite); void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId, u16 argument); void InitAndLaunchSpecialAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId); @@ -31,7 +31,7 @@ void ClearBehindSubstituteBit(u8 battlerId); void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId); void BattleStopLowHpSound(void); void HandleBattleLowHpMusicChange(void); -void sub_8035450(u8 affineMode); +void SetBattlerSpriteAffineMode(u8 affineMode); void LoadAndCreateEnemyShadowSprites(void); void SpriteCB_SetInvisible(struct Sprite *sprite); void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species); diff --git a/include/battle_main.h b/include/battle_main.h index 201000a69..e980bde70 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -77,7 +77,7 @@ void SpriteCb_ShowAsMoveTarget(struct Sprite *sprite); void SpriteCb_HideAsMoveTarget(struct Sprite *sprite); void SpriteCB_AllyMon(struct Sprite *sprite); void sub_8012100(struct Sprite *sprite); -void sub_8012110(struct Sprite *sprite); +void SpriteCB_FaintSlideAnim(struct Sprite *sprite); void DoBounceEffect(u8 battler, u8 which, s8 delta, s8 amplitude); void EndBounceEffect(u8 battler, u8 which); void SpriteCB_PlayerThrowInit(struct Sprite *sprite); diff --git a/include/battle_message.h b/include/battle_message.h index 5a16a4250..04c5b1839 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -199,7 +199,7 @@ struct BattleMsgData u16 lastItem; u8 lastAbility; u8 scrActive; - u8 unk1605E; + u8 bakScriptPartyIdx; u8 hpScale; u8 itemEffectBattler; u8 moveType; @@ -213,8 +213,8 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst); void BattleHandleAddTextPrinter(const u8* text, u8 arg1); void SetPpNumbersPaletteInMoveSelection(void); u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); -void BattlePutTextOnWindow(const u8* text, u8 arg1); -bool8 sub_80D89B0(u16); +void BattlePutTextOnWindow(const u8* text, u8 windowId_flags); +bool8 BattleStringShouldBeColored(u16); extern struct BattleMsgData *gBattleMsgDataPtr; diff --git a/include/link.h b/include/link.h index 6329c197b..b4749164b 100644 --- a/include/link.h +++ b/include/link.h @@ -251,14 +251,14 @@ void sub_800E0E8(void); bool8 sub_800A520(void); bool8 sub_8010500(void); void sub_800DFB4(u8, u8); -void PrepareSendLinkCmd2FFE_or_RfuCmd6600(void); +void SetLinkStandbyCallback(void); void SetWirelessCommType1(void); void sub_8009734(void); void sub_800A620(void); void LinkRfu_DestroyIdleTask(void); u8 sub_800ABAC(void); u8 sub_800ABBC(void); -void Link_TryStartSend5FFF(void); +void SetCloseLinkCallback(void); void OpenLink(void); bool8 IsLinkMaster(void); void CheckShouldAdvanceLinkState(void); diff --git a/include/party_menu.h b/include/party_menu.h index a1b85e059..69f25e319 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -72,9 +72,9 @@ void ChooseMonForTradingBoard(u8 menuType, MainCallback callback); void ChooseMonForMoveTutor(void); void ChooseMonForWirelessMinigame(void); void OpenPartyMenuInTutorialBattle(u8 partyAction); -void OpenPartyMenuInBattle(void); -void ChooseMonForInBattleItem(void); -void sub_81279E0(void); +void Pokedude_OpenPartyMenuInBattle(void); +void Pokedude_ChooseMonForInBattleItem(void); +void EnterPartyFromItemMenuInBattle(void); void BufferBattlePartyCurrentOrder(void); void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId); void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2); diff --git a/include/reshow_battle_screen.h b/include/reshow_battle_screen.h index cc20eed96..5587d50e5 100644 --- a/include/reshow_battle_screen.h +++ b/include/reshow_battle_screen.h @@ -3,7 +3,7 @@ #include "global.h" -void nullsub_44(void); +void ReshowBattleScreenDummy(void); void ReshowBattleScreenAfterMenu(void); #endif // GUARD_RESHOW_BATTLE_SCREEN_H diff --git a/include/strings.h b/include/strings.h index 28dcec66b..b4783c3c4 100644 --- a/include/strings.h +++ b/include/strings.h @@ -338,12 +338,12 @@ extern const u8 gText_SwitchedPkmnItem[]; extern const u8 gText_BagFullCouldNotRemoveItem[]; extern const u8 gText_PkmnCantParticipate[]; extern const u8 gText_CancelParticipation[]; -extern const u8 gUnknown_8417494[]; +extern const u8 gText_OakThisIsListOfPokemon[]; extern const u8 gMenuText_Confirm[]; extern const u8 gText_MaleSymbol[]; extern const u8 gText_FemaleSymbol[]; extern const u8 gText_Slash[]; -extern const u8 gUnknown_8417457[]; +extern const u8 gText_OakImportantToGetToKnowPokemonThroughly[]; extern const u8 gText_PkmnNotHolding[]; extern const u8 gText_PCMailboxFull[]; extern const u8 gText_MailSentToPC[]; |