mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 19:47:35 +01:00
iwram common symbols to c
This commit is contained in:
parent
5ac6cc4860
commit
1a32010f13
9
common_syms/battle_main.txt
Normal file
9
common_syms/battle_main.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
gPreBattleCallback1
|
||||||
|
gBattleMainFunc
|
||||||
|
gBattleResults
|
||||||
|
gLeveledUpInBattle
|
||||||
|
gBattlerControllerFuncs
|
||||||
|
gHealthboxSpriteIds
|
||||||
|
gMultiUsePlayerCursor
|
||||||
|
gNumberOfMovesToChoose
|
||||||
|
gUnknown_03005D7C
|
147
include/battle.h
147
include/battle.h
@ -93,7 +93,6 @@
|
|||||||
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
|
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
|
||||||
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
|
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
|
||||||
|
|
||||||
extern u32 gBattleTypeFlags;
|
|
||||||
|
|
||||||
#define TRAINER_OPPONENT_3FE 0x3FE
|
#define TRAINER_OPPONENT_3FE 0x3FE
|
||||||
#define TRAINER_OPPONENT_C00 0xC00
|
#define TRAINER_OPPONENT_C00 0xC00
|
||||||
@ -113,7 +112,6 @@ extern u32 gBattleTypeFlags;
|
|||||||
#define B_OUTCOME_POKE_TELEPORTED 0xA
|
#define B_OUTCOME_POKE_TELEPORTED 0xA
|
||||||
#define B_OUTCOME_LINK_BATTLE_RAN 0x80
|
#define B_OUTCOME_LINK_BATTLE_RAN 0x80
|
||||||
|
|
||||||
extern u8 gBattleOutcome;
|
|
||||||
|
|
||||||
// Non-volatile status conditions
|
// Non-volatile status conditions
|
||||||
// These persist remain outside of battle and after switching out
|
// These persist remain outside of battle and after switching out
|
||||||
@ -173,7 +171,6 @@ extern u8 gBattleOutcome;
|
|||||||
#define STATUS3_TRACE 0x100000
|
#define STATUS3_TRACE 0x100000
|
||||||
#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)
|
#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)
|
||||||
|
|
||||||
extern u32 gStatuses3[MAX_BATTLERS_COUNT];
|
|
||||||
|
|
||||||
// Not really sure what a "hitmarker" is.
|
// Not really sure what a "hitmarker" is.
|
||||||
|
|
||||||
@ -204,7 +201,6 @@ extern u32 gStatuses3[MAX_BATTLERS_COUNT];
|
|||||||
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C)
|
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C)
|
||||||
#define HITMARKER_UNK(battler) (0x10000000 << battler)
|
#define HITMARKER_UNK(battler) (0x10000000 << battler)
|
||||||
|
|
||||||
extern u32 gHitMarker;
|
|
||||||
|
|
||||||
// Per-side statuses that affect an entire party
|
// Per-side statuses that affect an entire party
|
||||||
|
|
||||||
@ -217,7 +213,6 @@ extern u32 gHitMarker;
|
|||||||
#define SIDE_STATUS_MIST (1 << 8)
|
#define SIDE_STATUS_MIST (1 << 8)
|
||||||
#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
|
#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
|
||||||
|
|
||||||
extern u16 gSideStatuses[2];
|
|
||||||
|
|
||||||
// Battle Actions
|
// Battle Actions
|
||||||
// These determine what each battler will do in a turn
|
// These determine what each battler will do in a turn
|
||||||
@ -267,7 +262,6 @@ extern u16 gSideStatuses[2];
|
|||||||
#define WEATHER_HAIL_ANY (WEATHER_HAIL)
|
#define WEATHER_HAIL_ANY (WEATHER_HAIL)
|
||||||
#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)
|
#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)
|
||||||
|
|
||||||
extern u16 gBattleWeather;
|
|
||||||
|
|
||||||
#define BATTLE_TERRAIN_GRASS 0
|
#define BATTLE_TERRAIN_GRASS 0
|
||||||
#define BATTLE_TERRAIN_LONG_GRASS 1
|
#define BATTLE_TERRAIN_LONG_GRASS 1
|
||||||
@ -280,7 +274,6 @@ extern u16 gBattleWeather;
|
|||||||
#define BATTLE_TERRAIN_BUILDING 8
|
#define BATTLE_TERRAIN_BUILDING 8
|
||||||
#define BATTLE_TERRAIN_PLAIN 9
|
#define BATTLE_TERRAIN_PLAIN 9
|
||||||
|
|
||||||
extern u8 gBattleTerrain;
|
|
||||||
|
|
||||||
// array entries for battle communication
|
// array entries for battle communication
|
||||||
#define MULTIUSE_STATE 0x0
|
#define MULTIUSE_STATE 0x0
|
||||||
@ -339,6 +332,8 @@ extern u8 gBattleTerrain;
|
|||||||
#define CMP_COMMON_BITS 0x4
|
#define CMP_COMMON_BITS 0x4
|
||||||
#define CMP_NO_COMMON_BITS 0x5
|
#define CMP_NO_COMMON_BITS 0x5
|
||||||
|
|
||||||
|
#define BATTLE_BUFFER_LINK_SIZE 0x1000
|
||||||
|
|
||||||
struct TrainerMonNoItemDefaultMoves
|
struct TrainerMonNoItemDefaultMoves
|
||||||
{
|
{
|
||||||
u16 iv;
|
u16 iv;
|
||||||
@ -346,8 +341,6 @@ struct TrainerMonNoItemDefaultMoves
|
|||||||
u16 species;
|
u16 species;
|
||||||
};
|
};
|
||||||
|
|
||||||
u8 GetBattlerSide(u8 battler);
|
|
||||||
|
|
||||||
struct TrainerMonItemDefaultMoves
|
struct TrainerMonItemDefaultMoves
|
||||||
{
|
{
|
||||||
u16 iv;
|
u16 iv;
|
||||||
@ -441,8 +434,6 @@ struct DisableStruct
|
|||||||
/*0x1A*/ u8 unk1A[2];
|
/*0x1A*/ u8 unk1A[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT];
|
|
||||||
|
|
||||||
struct ProtectStruct
|
struct ProtectStruct
|
||||||
{
|
{
|
||||||
/* field_0 */
|
/* field_0 */
|
||||||
@ -481,8 +472,6 @@ struct ProtectStruct
|
|||||||
/* field_E */ u16 fieldE;
|
/* field_E */ u16 fieldE;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct ProtectStruct gProtectStructs[MAX_BATTLERS_COUNT];
|
|
||||||
|
|
||||||
struct SpecialStatus
|
struct SpecialStatus
|
||||||
{
|
{
|
||||||
u8 statLowered : 1; // 0x1
|
u8 statLowered : 1; // 0x1
|
||||||
@ -503,8 +492,6 @@ struct SpecialStatus
|
|||||||
u8 field13;
|
u8 field13;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct SpecialStatus gSpecialStatuses[MAX_BATTLERS_COUNT];
|
|
||||||
|
|
||||||
struct SideTimer
|
struct SideTimer
|
||||||
{
|
{
|
||||||
/*0x00*/ u8 reflectTimer;
|
/*0x00*/ u8 reflectTimer;
|
||||||
@ -521,8 +508,6 @@ struct SideTimer
|
|||||||
/*0x0B*/ u8 fieldB;
|
/*0x0B*/ u8 fieldB;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct SideTimer gSideTimers[];
|
|
||||||
|
|
||||||
struct WishFutureKnock
|
struct WishFutureKnock
|
||||||
{
|
{
|
||||||
u8 futureSightCounter[MAX_BATTLERS_COUNT];
|
u8 futureSightCounter[MAX_BATTLERS_COUNT];
|
||||||
@ -535,8 +520,6 @@ struct WishFutureKnock
|
|||||||
u8 knockedOffPokes[2];
|
u8 knockedOffPokes[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct WishFutureKnock gWishFutureKnock;
|
|
||||||
|
|
||||||
struct AI_ThinkingStruct
|
struct AI_ThinkingStruct
|
||||||
{
|
{
|
||||||
u8 aiState;
|
u8 aiState;
|
||||||
@ -600,8 +583,6 @@ struct BattleResources
|
|||||||
struct BattleScriptsStack *AI_ScriptsStack;
|
struct BattleScriptsStack *AI_ScriptsStack;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct BattleResources* gBattleResources;
|
|
||||||
|
|
||||||
struct BattleResults
|
struct BattleResults
|
||||||
{
|
{
|
||||||
u8 playerFaintCounter; // 0x0
|
u8 playerFaintCounter; // 0x0
|
||||||
@ -629,8 +610,6 @@ struct BattleResults
|
|||||||
u8 catchAttempts[11]; // 0x36
|
u8 catchAttempts[11]; // 0x36
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct BattleResults gBattleResults;
|
|
||||||
|
|
||||||
struct BattleStruct
|
struct BattleStruct
|
||||||
{
|
{
|
||||||
u8 turnEffectsTracker;
|
u8 turnEffectsTracker;
|
||||||
@ -745,8 +724,6 @@ struct BattleStruct
|
|||||||
u8 field_2A2;
|
u8 field_2A2;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct BattleStruct* gBattleStruct;
|
|
||||||
|
|
||||||
#define GET_MOVE_TYPE(move, typeArg) \
|
#define GET_MOVE_TYPE(move, typeArg) \
|
||||||
{ \
|
{ \
|
||||||
if (gBattleStruct->dynamicMoveType) \
|
if (gBattleStruct->dynamicMoveType) \
|
||||||
@ -859,8 +836,6 @@ struct BattleScripting
|
|||||||
u8 multiplayerId;
|
u8 multiplayerId;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct BattleScripting gBattleScripting;
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
BACK_PIC_BRENDAN,
|
BACK_PIC_BRENDAN,
|
||||||
@ -874,7 +849,7 @@ enum
|
|||||||
};
|
};
|
||||||
|
|
||||||
// rom_80A5C6C
|
// rom_80A5C6C
|
||||||
u8 GetBattlerSide(u8 bank);
|
u8 GetBattlerSide(u8 battler);
|
||||||
u8 GetBattlerPosition(u8 bank);
|
u8 GetBattlerPosition(u8 bank);
|
||||||
u8 GetBattlerAtPosition(u8 bank);
|
u8 GetBattlerAtPosition(u8 bank);
|
||||||
|
|
||||||
@ -956,18 +931,6 @@ struct BattleSpriteData
|
|||||||
struct BattleBarInfo *battleBars;
|
struct BattleBarInfo *battleBars;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct BattleSpriteData *gBattleSpritesDataPtr;
|
|
||||||
|
|
||||||
#define BATTLE_BUFFER_LINK_SIZE 0x1000
|
|
||||||
|
|
||||||
extern u8 *gLinkBattleSendBuffer;
|
|
||||||
extern u8 *gLinkBattleRecvBuffer;
|
|
||||||
|
|
||||||
extern u8 *gUnknown_0202305C;
|
|
||||||
extern u8 *gUnknown_02023060;
|
|
||||||
|
|
||||||
// Move this somewhere else
|
|
||||||
|
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
|
||||||
struct MonSpritesGfx
|
struct MonSpritesGfx
|
||||||
@ -982,11 +945,107 @@ struct MonSpritesGfx
|
|||||||
void *field_17C;
|
void *field_17C;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct BattleSpritesGfx* gMonSpritesGfx;
|
// all battle variables are declared in battle_main.c
|
||||||
extern u8 gBattleOutcome;
|
|
||||||
extern u16 gLastUsedItem;
|
|
||||||
extern u32 gBattleTypeFlags;
|
extern u32 gBattleTypeFlags;
|
||||||
|
extern u8 gBattleTerrain;
|
||||||
|
extern u32 gUnknown_02022FF4;
|
||||||
|
extern u8 *gUnknown_0202305C;
|
||||||
|
extern u8 *gUnknown_02023060;
|
||||||
|
extern u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200];
|
||||||
|
extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200];
|
||||||
|
extern u8 gActiveBattler;
|
||||||
|
extern u32 gBattleControllerExecFlags;
|
||||||
|
extern u8 gBattlersCount;
|
||||||
|
extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gBattlerPositions[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gCurrentTurnActionNumber;
|
||||||
|
extern u8 gCurrentActionFuncId;
|
||||||
|
extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gCurrMovePos;
|
||||||
|
extern u8 gUnknown_020241E9;
|
||||||
|
extern u16 gCurrentMove;
|
||||||
|
extern u16 gChosenMove;
|
||||||
|
extern u16 gRandomMove;
|
||||||
|
extern s32 gBattleMoveDamage;
|
||||||
|
extern s32 gHpDealt;
|
||||||
|
extern s32 gTakenDmg[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gLastUsedItem;
|
||||||
|
extern u8 gLastUsedAbility;
|
||||||
|
extern u8 gBattlerAttacker;
|
||||||
|
extern u8 gBattlerTarget;
|
||||||
|
extern u8 gBank1;
|
||||||
|
extern u8 gEffectBank;
|
||||||
|
extern u8 gStringBattler;
|
||||||
|
extern u8 gAbsentBattlerFlags;
|
||||||
|
extern u8 gCritMultiplier;
|
||||||
|
extern u8 gMultiHitCounter;
|
||||||
|
extern const u8 *gBattlescriptCurrInstr;
|
||||||
|
extern u32 gUnusedBattleMainVar;
|
||||||
|
extern u8 gChosenActionByBattler[MAX_BATTLERS_COUNT];
|
||||||
|
extern const u8 *gSelectionBattleScripts[MAX_BATTLERS_COUNT];
|
||||||
|
extern const u8 *gPalaceSelectionBattleScripts[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gLastPrintedMoves[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gLastMoves[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gLastLandedMoves[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gLastHitByType[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gLastResultingMoves[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gLockedMoves[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gLastHitBy[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gMoveResultFlags;
|
||||||
|
extern u32 gHitMarker;
|
||||||
|
extern u8 gUnknown_02024284[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gUnknown_0202428C;
|
||||||
|
extern u16 gSideStatuses[2];
|
||||||
|
extern struct SideTimer gSideTimers[2];
|
||||||
|
extern u32 gStatuses3[MAX_BATTLERS_COUNT];
|
||||||
|
extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gPauseCounterBattle;
|
||||||
|
extern u16 gPaydayMoney;
|
||||||
|
extern u16 gRandomTurnNumber;
|
||||||
|
extern u8 gBattleCommunication[BATTLE_COMMUNICATION_ENTRIES_COUNT];
|
||||||
|
extern u8 gBattleOutcome;
|
||||||
|
extern struct ProtectStruct gProtectStructs[MAX_BATTLERS_COUNT];
|
||||||
|
extern struct SpecialStatus gSpecialStatuses[MAX_BATTLERS_COUNT];
|
||||||
|
extern u16 gBattleWeather;
|
||||||
|
extern struct WishFutureKnock gWishFutureKnock;
|
||||||
|
extern u16 gUnknown_020243FC;
|
||||||
|
extern u8 gSentPokesToOpponent[2];
|
||||||
|
extern u16 gDynamicBasePower;
|
||||||
|
extern u16 gExpShareExp;
|
||||||
|
extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT];
|
||||||
|
extern struct BattleScripting gBattleScripting;
|
||||||
|
extern struct BattleStruct *gBattleStruct;
|
||||||
|
extern u8 *gLinkBattleSendBuffer;
|
||||||
|
extern u8 *gLinkBattleRecvBuffer;
|
||||||
|
extern struct BattleResources *gBattleResources;
|
||||||
|
extern u8 gActionSelectionCursor[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gMoveSelectionCursor[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gUnknown_020244B4[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gBattlerInMenuId;
|
||||||
|
extern bool8 gDoingBattleAnim;
|
||||||
|
extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gPlayerDpadHoldFrames;
|
||||||
|
extern struct BattleSpriteData *gBattleSpritesDataPtr;
|
||||||
extern struct MonSpritesGfx *gMonSpritesGfxPtr;
|
extern struct MonSpritesGfx *gMonSpritesGfxPtr;
|
||||||
extern u16 gTrainerBattleOpponent_A;
|
extern u8 *gUnknown_020244D8;
|
||||||
|
extern u8 *gUnknown_020244DC;
|
||||||
|
extern u16 gBattleMovePower;
|
||||||
|
extern u16 gMoveToLearn;
|
||||||
|
extern u8 gBattleMonForms[MAX_BATTLERS_COUNT];
|
||||||
|
|
||||||
|
extern void (*gPreBattleCallback1)(void);
|
||||||
|
extern void (*gBattleMainFunc)(void);
|
||||||
|
extern struct BattleResults gBattleResults;
|
||||||
|
extern u8 gLeveledUpInBattle;
|
||||||
|
extern void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void);
|
||||||
|
extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gMultiUsePlayerCursor;
|
||||||
|
extern u8 gNumberOfMovesToChoose;
|
||||||
|
extern u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
|
||||||
|
|
||||||
#endif // GUARD_BATTLE_H
|
#endif // GUARD_BATTLE_H
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include "safari_zone.h"
|
#include "safari_zone.h"
|
||||||
#include "battle_string_ids.h"
|
#include "battle_string_ids.h"
|
||||||
#include "data2.h"
|
#include "data2.h"
|
||||||
|
#include "decompress.h"
|
||||||
|
|
||||||
struct UnknownPokemonStruct2
|
struct UnknownPokemonStruct2
|
||||||
{
|
{
|
||||||
@ -60,8 +61,6 @@ struct UnknownPokemonStruct2
|
|||||||
/*0x1D*/ u8 language;
|
/*0x1D*/ u8 language;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern u8 gBattleCommunication[];
|
|
||||||
extern u8 gBattleTerrain;
|
|
||||||
extern u16 gBattle_BG0_X;
|
extern u16 gBattle_BG0_X;
|
||||||
extern u16 gBattle_BG0_Y;
|
extern u16 gBattle_BG0_Y;
|
||||||
extern u16 gBattle_BG1_X;
|
extern u16 gBattle_BG1_X;
|
||||||
@ -70,74 +69,13 @@ extern u16 gBattle_BG2_X;
|
|||||||
extern u16 gBattle_BG2_Y;
|
extern u16 gBattle_BG2_Y;
|
||||||
extern u16 gBattle_BG3_X;
|
extern u16 gBattle_BG3_X;
|
||||||
extern u16 gBattle_BG3_Y;
|
extern u16 gBattle_BG3_Y;
|
||||||
extern u16 gPartnerTrainerId;
|
|
||||||
extern u16 gBattle_WIN0H;
|
extern u16 gBattle_WIN0H;
|
||||||
extern u16 gBattle_WIN0V;
|
extern u16 gBattle_WIN0V;
|
||||||
extern u16 gBattle_WIN1H;
|
extern u16 gBattle_WIN1H;
|
||||||
extern u16 gBattle_WIN1V;
|
extern u16 gBattle_WIN1V;
|
||||||
extern u16 gTrainerBattleOpponent_A;
|
|
||||||
extern u16 gTrainerBattleOpponent_B;
|
|
||||||
extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT];
|
|
||||||
extern void (*gPreBattleCallback1)(void);
|
|
||||||
extern void (*gBattleMainFunc)(void);
|
|
||||||
extern void (*gCB2_AfterEvolution)(void);
|
|
||||||
extern struct MusicPlayerInfo gMPlayInfo_SE1;
|
extern struct MusicPlayerInfo gMPlayInfo_SE1;
|
||||||
extern struct MusicPlayerInfo gMPlayInfo_SE2;
|
extern struct MusicPlayerInfo gMPlayInfo_SE2;
|
||||||
extern u8 gDecompressionBuffer[];
|
|
||||||
extern u16 gUnknown_020243FC;
|
|
||||||
extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT];
|
|
||||||
extern void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void);
|
|
||||||
extern u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200];
|
|
||||||
extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200];
|
|
||||||
extern u8 gStringBattler;
|
|
||||||
extern u32 gHitMarker;
|
|
||||||
extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gBattleMonForms[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gPaydayMoney;
|
|
||||||
extern u16 gBattleWeather;
|
|
||||||
extern u16 gPauseCounterBattle;
|
|
||||||
extern u16 gRandomTurnNumber;
|
|
||||||
extern u8 gActiveBattler;
|
|
||||||
extern u8 gBattlersCount;
|
|
||||||
extern u8 gBattlerAttacker;
|
|
||||||
extern u8 gBattlerTarget;
|
|
||||||
extern u8 gLeveledUpInBattle;
|
|
||||||
extern u8 gAbsentBattlerFlags;
|
|
||||||
extern u32 gBattleControllerExecFlags;
|
|
||||||
extern u8 gMultiHitCounter;
|
|
||||||
extern u8 gMoveResultFlags;
|
|
||||||
extern s32 gBattleMoveDamage;
|
|
||||||
extern const u8* gPalaceSelectionBattleScripts[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gLastPrintedMoves[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gLastMoves[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gLastLandedMoves[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gLastHitByType[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gLastResultingMoves[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gLockedMoves[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gLastHitBy[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gUnknown_02024284[MAX_BATTLERS_COUNT];
|
|
||||||
extern u32 gStatuses3[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gSideStatuses[2];
|
|
||||||
extern u16 gCurrentMove;
|
|
||||||
extern u8 gActionSelectionCursor[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gMoveSelectionCursor[MAX_BATTLERS_COUNT];
|
|
||||||
extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gChosenActionByBattler[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gCurrentActionFuncId;
|
|
||||||
extern u8 gLastUsedAbility;
|
|
||||||
extern u8 gUnknown_0203CF00[];
|
extern u8 gUnknown_0203CF00[];
|
||||||
extern const u8* gSelectionBattleScripts[MAX_BATTLERS_COUNT];
|
|
||||||
extern const u8* gBattlescriptCurrInstr;
|
|
||||||
extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gCurrentTurnActionNumber;
|
|
||||||
extern u16 gDynamicBasePower;
|
|
||||||
extern u8 gCritMultiplier;
|
|
||||||
extern u8 gCurrMovePos;
|
|
||||||
extern u8 gUnknown_020241E9;
|
|
||||||
extern u16 gChosenMove;
|
|
||||||
|
|
||||||
extern const struct BattleMove gBattleMoves[];
|
extern const struct BattleMove gBattleMoves[];
|
||||||
extern const u16 gBattleTextboxPalette[]; // battle textbox palette
|
extern const u16 gBattleTextboxPalette[]; // battle textbox palette
|
||||||
@ -354,6 +292,17 @@ EWRAM_DATA u16 gBattleMovePower = 0;
|
|||||||
EWRAM_DATA u16 gMoveToLearn = 0;
|
EWRAM_DATA u16 gMoveToLearn = 0;
|
||||||
EWRAM_DATA u8 gBattleMonForms[MAX_BATTLERS_COUNT] = {0};
|
EWRAM_DATA u8 gBattleMonForms[MAX_BATTLERS_COUNT] = {0};
|
||||||
|
|
||||||
|
// IWRAM common vars
|
||||||
|
void (*gPreBattleCallback1)(void);
|
||||||
|
void (*gBattleMainFunc)(void);
|
||||||
|
struct BattleResults gBattleResults;
|
||||||
|
u8 gLeveledUpInBattle;
|
||||||
|
void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void);
|
||||||
|
u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT];
|
||||||
|
u8 gMultiUsePlayerCursor;
|
||||||
|
u8 gNumberOfMovesToChoose;
|
||||||
|
u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
|
||||||
|
|
||||||
// rom const data
|
// rom const data
|
||||||
static void (* const sTurnActionsFuncsTable[])(void) =
|
static void (* const sTurnActionsFuncsTable[])(void) =
|
||||||
{
|
{
|
||||||
|
@ -39,67 +39,9 @@
|
|||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "naming_screen.h"
|
#include "naming_screen.h"
|
||||||
#include "battle_string_ids.h"
|
#include "battle_string_ids.h"
|
||||||
|
#include "battle_setup.h"
|
||||||
|
#include "overworld.h"
|
||||||
|
|
||||||
// variables
|
|
||||||
|
|
||||||
extern u8 gCritMultiplier;
|
|
||||||
extern s32 gBattleMoveDamage;
|
|
||||||
extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT];
|
|
||||||
extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gActiveBattler;
|
|
||||||
extern u32 gBattleControllerExecFlags;
|
|
||||||
extern u8 gBattlersCount;
|
|
||||||
extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gCurrentMove;
|
|
||||||
extern u8 gLastUsedAbility;
|
|
||||||
extern u8 gStringBattler;
|
|
||||||
extern u8 gEffectBank;
|
|
||||||
extern u8 gAbsentBattlerFlags;
|
|
||||||
extern u8 gMultiHitCounter;
|
|
||||||
extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gPauseCounterBattle;
|
|
||||||
extern u16 gPaydayMoney;
|
|
||||||
extern u16 gRandomTurnNumber;
|
|
||||||
extern u8 gBattlerAttacker;
|
|
||||||
extern u8 gBattlerTarget;
|
|
||||||
extern const u8* gBattlescriptCurrInstr;
|
|
||||||
extern u8 gCurrMovePos;
|
|
||||||
extern u8 gCurrentActionFuncId;
|
|
||||||
extern u8 gMoveResultFlags;
|
|
||||||
extern u8 gBattleCommunication[];
|
|
||||||
extern u16 gLastLandedMoves[4];
|
|
||||||
extern u16 gLastHitByType[4];
|
|
||||||
extern u16 gLastResultingMoves[4];
|
|
||||||
extern u8 gLastHitBy[4];
|
|
||||||
extern u8 gStringBattler;
|
|
||||||
extern u16 gDynamicBasePower;
|
|
||||||
extern u16 gLastUsedItem;
|
|
||||||
extern u16 gBattleMovePower;
|
|
||||||
extern s32 gHpDealt;
|
|
||||||
extern s32 gTakenDmg[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gSentPokesToOpponent[2];
|
|
||||||
extern u8 gBank1;
|
|
||||||
extern u16 gExpShareExp;
|
|
||||||
extern u8 gLeveledUpInBattle;
|
|
||||||
extern void (*gBattleMainFunc)(void);
|
|
||||||
extern u8 gPlayerPartyCount;
|
|
||||||
extern u16 gMoveToLearn;
|
|
||||||
extern u16 gRandomMove;
|
|
||||||
extern u8 gBattlerInMenuId;
|
|
||||||
extern u8 gChosenActionByBattler[MAX_BATTLERS_COUNT];
|
|
||||||
extern u8 gCurrentTurnActionNumber;
|
|
||||||
extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200];
|
|
||||||
extern u16 gLockedMoves[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gPartnerTrainerId;
|
|
||||||
extern u16 gChosenMove;
|
|
||||||
extern u16 gLastPrintedMoves[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gLastMoves[MAX_BATTLERS_COUNT];
|
|
||||||
extern u16 gTrainerBattleOpponent_A;
|
|
||||||
extern u16 gTrainerBattleOpponent_B;
|
|
||||||
extern u8 gUnknown_020241E9;
|
|
||||||
extern u16 gBattle_BG1_X;
|
extern u16 gBattle_BG1_X;
|
||||||
extern u16 gBattle_BG1_Y;
|
extern u16 gBattle_BG1_Y;
|
||||||
extern u16 gBattle_BG2_X;
|
extern u16 gBattle_BG2_X;
|
||||||
@ -114,7 +56,6 @@ struct TrainerMoney
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern const struct BattleMove gBattleMoves[];
|
extern const struct BattleMove gBattleMoves[];
|
||||||
extern const struct BaseStats gBaseStats[];
|
|
||||||
extern const u8 gTypeEffectiveness[336];
|
extern const u8 gTypeEffectiveness[336];
|
||||||
extern const struct TrainerMoney gTrainerMoneyTable[];
|
extern const struct TrainerMoney gTrainerMoneyTable[];
|
||||||
extern const u8* const gBattleScriptsForMoveEffects[];
|
extern const u8* const gBattleScriptsForMoveEffects[];
|
||||||
@ -124,7 +65,6 @@ extern void sub_81A5718(u8 bank); // battle frontier 2
|
|||||||
extern void sub_81A56B4(void); // battle frontier 2
|
extern void sub_81A56B4(void); // battle frontier 2
|
||||||
extern void sub_81BFA38(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen
|
extern void sub_81BFA38(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen
|
||||||
extern u8 sub_81C1B94(void); // pokemon summary screen
|
extern u8 sub_81C1B94(void); // pokemon summary screen
|
||||||
extern void IncrementGameStat(u8 statId); // rom_4
|
|
||||||
extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s
|
extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s
|
||||||
extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s
|
extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s
|
||||||
extern void sub_81D3784(u8 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s
|
extern void sub_81D3784(u8 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s
|
||||||
|
@ -202,33 +202,7 @@ gUnknown_03005CDE: @ 3005CDE
|
|||||||
.space 0x1A
|
.space 0x1A
|
||||||
|
|
||||||
.include "rtc.o"
|
.include "rtc.o"
|
||||||
|
.include "battle_main.o"
|
||||||
gPreBattleCallback1: @ 3005D00
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gBattleMainFunc: @ 3005D04
|
|
||||||
.space 0xC
|
|
||||||
|
|
||||||
gBattleResults: @ 3005D10
|
|
||||||
.space 0x44
|
|
||||||
|
|
||||||
gLeveledUpInBattle: @ 3005D54
|
|
||||||
.space 0xC
|
|
||||||
|
|
||||||
gBattlerControllerFuncs: @ 3005D60
|
|
||||||
.space 0x10
|
|
||||||
|
|
||||||
gHealthboxSpriteIds: @ 3005D70
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gMultiUsePlayerCursor: @ 3005D74
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gNumberOfMovesToChoose: @ 3005D78
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gUnknown_03005D7C: @ 3005D7C
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gRngValue: @ 3005D80
|
gRngValue: @ 3005D80
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
Loading…
Reference in New Issue
Block a user