summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-08-05 08:15:58 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-08-05 08:15:58 +0800
commitb9d547a02f615b991713158bb7068ce0d7169088 (patch)
treeb09fb1c380e86fa9c2ba181dd669eead85f556b9 /include
parent5568895b043dc37e95be0e99787541d78a7c6fee (diff)
ported battle_controller_player from pokeem and matched several new functions
Diffstat (limited to 'include')
-rw-r--r--include/battle.h8
-rw-r--r--include/battle_anim.h4
-rw-r--r--include/battle_controllers.h13
-rw-r--r--include/battle_main.h (renamed from include/battle_2.h)61
-rw-r--r--include/battle_script_commands.h1
-rw-r--r--include/data2.h2
-rw-r--r--include/link.h4
-rw-r--r--include/party_menu.h5
-rw-r--r--include/pokemon.h2
-rw-r--r--include/pokemon_special_anim.h9
-rw-r--r--include/strings.h10
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