Additional fixes to last few commits

ROM now compiles, but it's not comparing as equal...
This commit is contained in:
DavidJCobb
2025-04-26 01:00:16 -04:00
parent bab9f0cfef
commit 2738d11b0f
6 changed files with 39 additions and 39 deletions

View File

@@ -73,10 +73,10 @@ enum {
// directly.
#define MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \
do { gBattleControllerExecFlags |= gBitTable[battlerId] } while (0)
do { gBattleControllerExecFlags |= gBitTable[battlerId]; } while (0)
#define MARK_BATTLE_CONTROLLER_IDLE_ON_LOCAL(battlerId) \
do { gBattleControllerExecFlags &= ~gBitTable(battlerId) } while (0)
do { gBattleControllerExecFlags &= ~gBitTable(battlerId); } while (0)
#define IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \
(gBattleControllerExecFlags & gBitTable[battlerId])
@@ -85,7 +85,7 @@ enum {
do { gBattleControllerExecFlags |= gBitTable[battlerId] << 28; } while (0)
#define MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battlerId) \
do { gBattleControllerExecFlags &= ~((1 << 28) << (battlerId)); }
do { gBattleControllerExecFlags &= ~((1 << 28) << (battlerId)); } while (0)
#define MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \
do { gBattleControllerExecFlags |= gBitTable[battlerId] << ((playerId) << 2); } while (0)
@@ -103,7 +103,7 @@ enum {
| (gBitTable[battlerId] << 4) \
| (gBitTable[battlerId] << 8) \
| (gBitTable[battlerId] << 12) \
)
))
// Special arguments for Battle Controller functions.

View File

@@ -23,7 +23,7 @@ static bool8 ShouldSwitchIfPerishSong(void)
&& gDisableStructs[gActiveBattler].perishSongTimer == 0)
{
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0);
return TRUE;
}
else
@@ -107,7 +107,7 @@ static bool8 ShouldSwitchIfWonderGuard(void)
{
// We found a mon.
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i;
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0);
return TRUE;
}
}
@@ -207,7 +207,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
{
// we found a mon.
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i;
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0);
return TRUE;
}
}
@@ -229,14 +229,14 @@ static bool8 ShouldSwitchIfNaturalCure(void)
&& Random() & 1)
{
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0);
return TRUE;
}
else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0
&& Random() & 1)
{
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0);
return TRUE;
}
@@ -248,7 +248,7 @@ static bool8 ShouldSwitchIfNaturalCure(void)
if (Random() & 1)
{
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0);
return TRUE;
}
@@ -416,7 +416,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0)
{
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i;
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0);
return TRUE;
}
}
@@ -599,7 +599,7 @@ void AI_TrySwitchOrUseItem(void)
}
}
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8);
}
static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var)
@@ -933,7 +933,7 @@ static bool8 ShouldUseItem(void)
if (shouldUse)
{
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0);
BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0);
*(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2) = item;
gBattleResources->battleHistory->trainerItems[i] = ITEM_NONE;
return shouldUse;

View File

@@ -3427,7 +3427,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT)
{
BtlController_EmitDrawTrainerPic(BUFFER_A);
BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
@@ -3435,7 +3435,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
{
if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT)
{
BtlController_EmitDrawTrainerPic(BUFFER_A);
BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT
@@ -3460,7 +3460,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
{
HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality);
}
BtlController_EmitLoadMonSprite(BUFFER_A);
BtlController_EmitLoadMonSprite(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL);
}
@@ -3471,14 +3471,14 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT
|| GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT)
{
BtlController_EmitDrawTrainerPic(BUFFER_A);
BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
}
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT)
{
BtlController_EmitDrawTrainerPic(BUFFER_A);
BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
@@ -3631,7 +3631,7 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void)
{
if (GetBattlerPosition(gActiveBattler) == position)
{
BtlController_EmitIntroTrainerBallThrow(BUFFER_A);
BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
}
@@ -3669,7 +3669,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void)
{
if (GetBattlerPosition(gActiveBattler) == position)
{
BtlController_EmitIntroTrainerBallThrow(BUFFER_A);
BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS))
{
@@ -3761,7 +3761,7 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void)
{
if (GetBattlerPosition(gActiveBattler) == position)
{
BtlController_EmitIntroTrainerBallThrow(BUFFER_A);
BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
}
@@ -3800,7 +3800,7 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void)
{
if (GetBattlerPosition(gActiveBattler) == position)
{
BtlController_EmitIntroTrainerBallThrow(BUFFER_A);
BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
if (gBattleTypeFlags & (BATTLE_TYPE_MULTI))
{
@@ -4286,7 +4286,7 @@ static void HandleTurnActionSelectionState(void)
if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS
|| gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE)
{
BtlController_EmitEndBounceEffect(BUFFER_A);
BtlController_EmitEndBounceEffect(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
return;
}
@@ -4314,7 +4314,7 @@ static void HandleTurnActionSelectionState(void)
{
RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3);
}
BtlController_EmitEndBounceEffect(BUFFER_A);
BtlController_EmitEndBounceEffect(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
return;
}

View File

@@ -3054,7 +3054,7 @@ static void Cmd_dofaintanimation(void)
if (gBattleControllerExecFlags == 0)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
BtlController_EmitFaintAnimation(BUFFER_A);
BtlController_EmitFaintAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -4914,7 +4914,7 @@ static void Cmd_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
BtlController_EmitCantSwitch(BUFFER_A);
BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement)
@@ -4936,7 +4936,7 @@ static void Cmd_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
BtlController_EmitCantSwitch(BUFFER_A);
BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement)
@@ -4957,7 +4957,7 @@ static void Cmd_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
BtlController_EmitCantSwitch(BUFFER_A);
BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement)
@@ -4979,7 +4979,7 @@ static void Cmd_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
BtlController_EmitCantSwitch(BUFFER_A);
BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement)
@@ -5042,7 +5042,7 @@ static void Cmd_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
BtlController_EmitCantSwitch(BUFFER_A);
BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement)
@@ -5058,7 +5058,7 @@ static void Cmd_openpartyscreen(void)
{
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler);
BtlController_EmitCantSwitch(BUFFER_A);
BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
}
else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement)
@@ -5301,7 +5301,7 @@ static void Cmd_switchineffects(void)
static void Cmd_trainerslidein(void)
{
gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]);
BtlController_EmitTrainerSlide(BUFFER_A);
BtlController_EmitTrainerSlide(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
@@ -5328,7 +5328,7 @@ static void Cmd_fanfare(void)
static void Cmd_playfaintcry(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
BtlController_EmitFaintingCry(BUFFER_A);
BtlController_EmitFaintingCry(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
@@ -5565,7 +5565,7 @@ static void Cmd_hitanimation(void)
}
else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0)
{
BtlController_EmitHitAnimation(BUFFER_A);
BtlController_EmitHitAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -5734,7 +5734,7 @@ static void Cmd_drawpartystatussummary(void)
static void Cmd_hidepartystatussummary(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
BtlController_EmitHidePartyStatusSummary(BUFFER_A);
BtlController_EmitHidePartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;
@@ -6431,7 +6431,7 @@ static void Cmd_various(void)
gDisableStructs[1].truantSwitchInHack = 1;
break;
case VARIOUS_EMIT_YESNOBOX:
BtlController_EmitYesNoBox(BUFFER_A);
BtlController_EmitYesNoBox(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
break;
case VARIOUS_DRAW_ARENA_REF_TEXT_BOX:
@@ -10342,7 +10342,7 @@ static void Cmd_finishturn(void)
static void Cmd_trainerslideout(void)
{
gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]);
BtlController_EmitTrainerSlideBack(BUFFER_A);
BtlController_EmitTrainerSlideBack(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER);
MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 2;

View File

@@ -834,7 +834,7 @@ static void UNUSED MarkAllBattlersForControllerExec(void)
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
for (i = 0; i < gBattlersCount; i++)
gBattleControllerExecFlags |= MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(i);
MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(i);
}
else
{

View File

@@ -5074,7 +5074,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
temp2 = gActiveBattler;
gActiveBattler = battlerId;
BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0);
BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0);
MarkBattlerForControllerExec(gActiveBattler);
gActiveBattler = temp2;
}