diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-08-05 08:15:58 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-08-05 08:15:58 +0800 |
commit | b9d547a02f615b991713158bb7068ce0d7169088 (patch) | |
tree | b09fb1c380e86fa9c2ba181dd669eead85f556b9 /include | |
parent | 5568895b043dc37e95be0e99787541d78a7c6fee (diff) |
ported battle_controller_player from pokeem and matched several new functions
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 8 | ||||
-rw-r--r-- | include/battle_anim.h | 4 | ||||
-rw-r--r-- | include/battle_controllers.h | 13 | ||||
-rw-r--r-- | include/battle_main.h (renamed from include/battle_2.h) | 61 | ||||
-rw-r--r-- | include/battle_script_commands.h | 1 | ||||
-rw-r--r-- | include/data2.h | 2 | ||||
-rw-r--r-- | include/link.h | 4 | ||||
-rw-r--r-- | include/party_menu.h | 5 | ||||
-rw-r--r-- | include/pokemon.h | 2 | ||||
-rw-r--r-- | include/pokemon_special_anim.h | 9 | ||||
-rw-r--r-- | include/strings.h | 10 |
11 files changed, 96 insertions, 23 deletions
diff --git a/include/battle.h b/include/battle.h index e8731ddfb..78b5f4c20 100644 --- a/include/battle.h +++ b/include/battle.h @@ -5,7 +5,7 @@ #include "constants/battle.h" #include "battle_util.h" #include "battle_script_commands.h" -#include "battle_2.h" +#include "battle_main.h" #include "battle_ai_switch_items.h" #include "battle_gfx_sfx_util.h" #include "battle_util2.h" @@ -385,10 +385,6 @@ extern u8 gActiveBattler; extern u8 gBattlerTarget; extern u8 gAbsentBattlerFlags; -// TODO: move these to constants/battle.h -#define MAX_BATTLERS_COUNT 4 -#define BIT_FLANK 2 - // script's table id to bit #define AI_SCRIPT_CHECK_BAD_MOVE (1 << 0) #define AI_SCRIPT_TRY_TO_FAINT (1 << 1) @@ -984,5 +980,7 @@ extern u8 gBattlerStatusSummaryTaskId[MAX_BATTLERS_COUNT]; extern u16 gDynamicBasePower; extern u16 gLastLandedMoves[MAX_BATTLERS_COUNT]; extern u8 gLastHitBy[MAX_BATTLERS_COUNT]; +extern u8 gMultiUsePlayerCursor; +extern u8 gNumberOfMovesToChoose; #endif // GUARD_BATTLE_H diff --git a/include/battle_anim.h b/include/battle_anim.h index ef179cdd1..35d144bac 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -133,6 +133,8 @@ u8 GetBattlerSpriteDefault_Y(u8 bank); u8 sub_80A82E4(u8 bank); u8 GetSubstituteSpriteDefault_Y(u8 bank); u8 GetGhostSpriteDefault_Y(u8 battlerId); +void sub_8072E48(u8 battlerId, u8); +void sub_8073128(u8); // battle_anim_80A9C70.s void LaunchStatusAnimation(u8 bank, u8 statusAnimId); @@ -154,6 +156,8 @@ void sub_80759DC(u8 spriteId); bool8 IsBattlerSpritePresent(u8 battlerId); u8 GetBattlerSpriteSubpriority(u8 battlerId); void StartAnimLinearTranslation(struct Sprite *sprite); +void sub_80755B8(struct Sprite *sprite); +u8 sub_80768B0(u8 battlerId); // battle_anim_mon_movement.c void AnimTask_ShakeMon(u8 taskId); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index e49911cf1..4ed292e04 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -82,6 +82,9 @@ enum #define INSTANT_HP_BAR_DROP 32767 +// Special return values in gBattleBufferB from Battle Controller functions. +#define RET_VALUE_LEVELED_UP 11 + struct UnusedControllerStruct { u8 field_0 : 7; @@ -227,17 +230,20 @@ void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId); void BtlController_EmitCmd55(u8 bufferId, u8 arg1); // player controller +void nullsub_13(void); void SetControllerToPlayer(void); void PlayerHandleGetRawMonData(void); -void sub_80587B0(void); -void sub_805CC00(struct Sprite *sprite); +void sub_80335F8(struct Sprite *sprite); void SetCB2ToReshowScreenAfterMenu(void); void SetCB2ToReshowScreenAfterMenu2(void); void c3_0802FDF4(u8 taskId); void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); void ActionSelectionDestroyCursorAt(u8 cursorPos); void InitMoveSelectionsVarsAndStrings(void); -void nullsub_13(void); +void sub_802F6A8(void); +void MoveSelectionCreateCursorAt(u8 cursorPos, u8 arg1); +void MoveSelectionDestroyCursorAt(u8 cursorPos); +void HandleInputChooseMove(void); // recorded player controller void SetControllerToRecordedPlayer(void); @@ -262,6 +268,7 @@ void sub_80EB2F4(u8); void sub_80E8570(void); void sub_80E85C0(void); void sub_80E8598(void); +void sub_80E7988(void); // link opponent void SetControllerToLinkOpponent(void); diff --git a/include/battle_2.h b/include/battle_main.h index 19f59fc75..f05c08df2 100644 --- a/include/battle_2.h +++ b/include/battle_main.h @@ -1,8 +1,47 @@ -#ifndef GUARD_BATTLE_2_H -#define GUARD_BATTLE_2_H +#ifndef GUARD_BATTLE_MAIN_H +#define GUARD_BATTLE_MAIN_H -#include "global.h" -#include "sprite.h" +struct TrainerMoney +{ + u8 classId; + u8 value; +}; + +struct UnknownPokemonStruct4 +{ + /*0x00*/ u16 species; + /*0x02*/ u16 heldItem; + /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x0F*/ u8 level; + /*0x10*/ u16 hp; + /*0x12*/ u16 maxhp; + /*0x14*/ u32 status; + /*0x18*/ u32 personality; + /*0x1C*/ u8 gender; + /*0x1D*/ u8 language; +}; + +#define TYPE_NAME_LENGTH 6 +#define ABILITY_NAME_LENGTH 12 + +// defines for the u8 array gTypeEffectiveness +#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) +#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) +#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2])) + +// defines for the gTypeEffectiveness multipliers +#define TYPE_MUL_NO_EFFECT 0 +#define TYPE_MUL_NOT_EFFECTIVE 5 +#define TYPE_MUL_NORMAL 10 +#define TYPE_MUL_SUPER_EFFECTIVE 20 + +// special type table Ids +#define TYPE_FORESIGHT 0xFE +#define TYPE_ENDTABLE 0xFF + +// defines for the 'DoBounceEffect' function +#define BOUNCE_MON 0x0 +#define BOUNCE_HEALTHBOX 0x1 void CB2_InitBattle(void); void BattleMainCB2(void); @@ -11,20 +50,20 @@ void sub_8038528(struct Sprite* sprite); void sub_8038A04(void); // unused void VBlankCB_Battle(void); void sub_8038B74(struct Sprite *sprite); -void sub_8038D64(void); +void sub_8011A1C(void); u32 sub_80391E0(u8 arrayId, u8 caseId); u32 sub_80397C4(u32 setId, u32 tableId); void oac_poke_opponent(struct Sprite *sprite); void SpriteCallbackDummy_2(struct Sprite *sprite); void sub_8039934(struct Sprite *sprite); -void sub_8039AD8(struct Sprite *sprite); -void sub_8039B2C(struct Sprite *sprite); +void sub_8012098(struct Sprite *sprite); +void sub_8012044(struct Sprite *sprite); void sub_8039B58(struct Sprite *sprite); void sub_8039BB4(struct Sprite *sprite); void sub_80105DC(struct Sprite *sprite); -void sub_8039C00(struct Sprite *sprite); -void dp11b_obj_instanciate(u8 bank, u8 b, s8 c, s8 d); -void dp11b_obj_free(u8 bank, bool8 b); +void sub_8012110(struct Sprite *sprite); +void DoBounceEffect(u8 bank, u8 b, s8 c, s8 d); +void EndBounceEffect(u8 bank, bool8 b); void sub_8039E44(struct Sprite *sprite); void sub_8039E60(struct Sprite *sprite); void sub_8039E84(struct Sprite *sprite); @@ -61,4 +100,4 @@ extern const u8 * const gStatusConditionStringsTable[7][2]; extern const u8 gTypeEffectiveness[336]; -#endif // GUARD_BATTLE_2_H +#endif // GUARD_BATTLE_MAIN_H diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index d4cb75e91..6ff287872 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -61,6 +61,7 @@ void BattleCreateYesNoCursorAt(u8 cursorPosition); void BufferMoveToLearnIntoBattleTextBuff2(void); void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); bool8 UproarWakeUpCheck(u8 bank); +bool32 IsMonGettingExpSentOut(void); extern void (* const gBattleScriptingCommandsTable[])(void); extern const u8 gUnknown_0831C494[][4]; diff --git a/include/data2.h b/include/data2.h index 4378e8226..1035d78dc 100644 --- a/include/data2.h +++ b/include/data2.h @@ -30,7 +30,7 @@ extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gUnknown_8239FD4[]; +extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; diff --git a/include/link.h b/include/link.h index d816cfcf9..5f8d8f161 100644 --- a/include/link.h +++ b/include/link.h @@ -192,14 +192,14 @@ void sub_800E0E8(void); bool8 sub_800A520(void); bool8 sub_8010500(void); void sub_800DFB4(u8, u8); -void sub_800ADF8(void); +void sub_800AB9C(void); void sub_800B488(void); void sub_8009734(void); void sub_800A620(void); void sub_8011BD0(void); u8 sub_800ABAC(void); u8 sub_800ABBC(void); -void sub_800AC34(void); +void sub_800AAC0(void); void OpenLink(void); bool8 IsLinkMaster(void); void CheckShouldAdvanceLinkState(void); diff --git a/include/party_menu.h b/include/party_menu.h index 3c88f75e0..84d9edb76 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -29,7 +29,9 @@ struct Struct203B0A0 }; extern struct Struct203B0A0 gUnknown_203B0A0; - +extern u8 gUnknown_203B0C0; +extern u8 gUnknown_203B0C1; +extern u8 gUnknown_203B0DC[3]; extern void (*gUnknown_3005E98)(u8 taskId, TaskFunc func); bool8 FieldCallback_PrepareFadeInFromMenu(void); @@ -64,5 +66,6 @@ u8 GetItemEffectType(u16 itemId); u8 pokemon_order_func(u8); void sub_8127CAC(void); void sub_8127DA8(u8 battlerId, u8 multiplayerFlag); +void OpenPartyMenuInBattle(u8 arg); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index d3a7522c9..ae966feb2 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -94,6 +94,8 @@ #define MON_DATA_SPATK2 87 #define MON_DATA_SPDEF2 88 +#define MAX_LEVEL 100 + #define OT_ID_RANDOM_NO_SHINY 2 #define OT_ID_PRESET 1 #define OT_ID_PLAYER_ID 0 diff --git a/include/pokemon_special_anim.h b/include/pokemon_special_anim.h new file mode 100644 index 000000000..4ccccaada --- /dev/null +++ b/include/pokemon_special_anim.h @@ -0,0 +1,9 @@ +#ifndef GUARD_POKEMON_SPECIAL_ANIM_H +#define GUARD_POKEMON_SPECIAL_ANIM_H + +#include "global.h" + +void sub_811E5B8(u16, u16, u16, u16, u16, u16); +bool8 sub_811E680(void); + +#endif // GUARD_POKEMON_SPECIAL_ANIM_H diff --git a/include/strings.h b/include/strings.h index 5197a56f7..2b914dfc8 100644 --- a/include/strings.h +++ b/include/strings.h @@ -213,4 +213,14 @@ extern const u8 gUnknown_83FDA4C[]; extern const u8 gUnknown_83FE747[]; extern const u8 gUnknown_83FE6E6[]; +// battle_controller_player +extern const u8 gText_BattleSwitchWhich[]; +extern const u8 gUnknown_83FE770[]; +extern const u8 gText_MoveInterfacePP[]; +extern const u8 gUnknown_83FE770[]; +extern const u8 gText_MoveInterfaceType[]; +extern const u8 gText_LinkStandby[]; +extern const u8 gUnknown_83FE725[]; +extern const u8 gText_WhatWillPkmnDo[]; + #endif //GUARD_STRINGS_H |