review change battle controllers

This commit is contained in:
DizzyEggg
2017-10-31 18:04:08 +01:00
parent 2d14e6bb67
commit 712ae56167
22 changed files with 282 additions and 245 deletions
+13 -23
View File
@@ -21,6 +21,7 @@
#include "bg.h"
#include "reshow_battle_screen.h"
#include "pokeball.h"
#include "data2.h"
extern u32 gBattleExecBuffer;
extern u8 gActiveBank;
@@ -129,7 +130,7 @@ static void LinkPartnerDoMoveAnimation(void);
static void sub_814DCCC(u8 taskId);
static void sub_814DE9C(void);
static void (*const sLinkPartnerBufferCommands[CONTOLLER_CMDS_COUNT])(void) =
static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
LinkPartnerHandleGetMonData,
LinkPartnerHandleGetRawMonData,
@@ -370,7 +371,7 @@ static void sub_814B4E0(void)
{
if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy)
{
SetBattleSpriteInvisibilityBitToSpriteInvisibility(gActiveBank);
CopyBattleSpriteInvisibility(gActiveBank);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
@@ -432,7 +433,7 @@ static void LinkPartnerBufferExecCompleted(void)
u8 playerId = GetMultiplayerId();
PrepareBufferDataTransferLink(2, 4, &playerId);
gBattleBufferA[gActiveBank][0] = CONTOLLER_CMDS_COUNT - 1;
gBattleBufferA[gActiveBank][0] = CONTROLLER_CMDS_COUNT - 1;
}
else
{
@@ -456,7 +457,7 @@ static void LinkPartnerHandleGetMonData(void)
{
u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data
u32 size = 0;
u8 monsToCheck;
u8 monToCheck;
s32 i;
if (gBattleBufferA[gActiveBank][2] == 0)
@@ -465,12 +466,12 @@ static void LinkPartnerHandleGetMonData(void)
}
else
{
monsToCheck = gBattleBufferA[gActiveBank][2];
monToCheck = gBattleBufferA[gActiveBank][2];
for (i = 0; i < 6; i++)
{
if (monsToCheck & 1)
if (monToCheck & 1)
size += CopyLinkPartnerMonData(i, monData + size);
monsToCheck >>= 1;
monToCheck >>= 1;
}
}
EmitDataTransfer(1, size, monData);
@@ -790,7 +791,7 @@ static void LinkPartnerHandleGetRawMonData(void)
static void LinkPartnerHandleSetMonData(void)
{
u8 monsToCheck;
u8 monToCheck;
u8 i;
if (gBattleBufferA[gActiveBank][2] == 0)
@@ -799,12 +800,12 @@ static void LinkPartnerHandleSetMonData(void)
}
else
{
monsToCheck = gBattleBufferA[gActiveBank][2];
monToCheck = gBattleBufferA[gActiveBank][2];
for (i = 0; i < 6; i++)
{
if (monsToCheck & 1)
if (monToCheck & 1)
SetLinkPartnerMonData(i);
monsToCheck >>= 1;
monToCheck >>= 1;
}
}
LinkPartnerBufferExecCompleted();
@@ -1135,17 +1136,6 @@ static void DoSwitchOutAnimation(void)
}
}
// todo: get rid of it once the struct is declared in a header
struct MonCoords
{
// This would use a bitfield, but sub_8079F44
// uses it as a u8 and casting won't match.
u8 coords; // u8 x:4, y:4;
u8 y_offset;
};
extern const struct MonCoords gTrainerBackPicCoords[];
extern const struct MonCoords gTrainerFrontPicCoords[];
static void LinkPartnerHandleDrawTrainerPic(void)
{
s16 xPos;
@@ -1681,7 +1671,7 @@ static void LinkPartnerHandleSpriteInvisibility(void)
if (IsBankSpritePresent(gActiveBank))
{
gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1];
SetBattleSpriteInvisibilityBitToSpriteInvisibility(gActiveBank);
CopyBattleSpriteInvisibility(gActiveBank);
}
LinkPartnerBufferExecCompleted();
}