From 0ba4eb4780805e3d6f9fd1739cbdcd2f280b8c5d Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 30 Jul 2019 22:11:27 -0500 Subject: misc --- src/battle_main.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/battle_main.c') diff --git a/src/battle_main.c b/src/battle_main.c index 56eabd515..b38468386 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3443,7 +3443,7 @@ void SwitchInClearSetData(void) if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { gBattleMons[gActiveBattler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); - gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); + gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BATTLER | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); for (i = 0; i < gBattlersCount; i++) { @@ -4545,7 +4545,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) if (heldItemEffect == HOLD_EFFECT_MACHO_BRACE) bank1AdjustedSpeed /= 2; - if (gBattleMons[bank1].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank1].status1 & STATUS1_PARALYSIS) bank1AdjustedSpeed /= 4; if (heldItemEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (heldItemEffectParam * 0xFFFF) / 100) @@ -4575,7 +4575,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) if (heldItemEffect == HOLD_EFFECT_MACHO_BRACE) bank2AdjustedSpeed /= 2; - if (gBattleMons[bank2].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank2].status1 & STATUS1_PARALYSIS) bank2AdjustedSpeed /= 4; if (heldItemEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (heldItemEffectParam * 0xFFFF) / 100) @@ -4787,7 +4787,7 @@ void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) gActiveBattler = gBattlerAttacker = eFocusPunchBattler; eFocusPunchBattler++; if (gChosenMovesByBanks[gActiveBattler] == MOVE_FOCUS_PUNCH - && !(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP) + && !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) && !(gDisableStructs[gBattlerAttacker].truantCounter) && !(gProtectStructs[gActiveBattler].noValidMoves)) { @@ -4846,7 +4846,7 @@ void HandleEndTurn_BattleWon(void) gBattleTextBuff1[0] = gBattleOutcome; gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; - gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN); + gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); } else if (gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER)) { @@ -4896,7 +4896,7 @@ void HandleEndTurn_BattleLost(void) gBattleTextBuff1[0] = gBattleOutcome; gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; - gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN); + gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); } else { @@ -4983,7 +4983,7 @@ static void FreeResetData_ReturnToOvOrDoEvolutions(void) if (!gPaletteFade.active) { ResetSpriteData(); - if (gLeveledUpInBattle == 0 || gBattleOutcome != BATTLE_WON) + if (gLeveledUpInBattle == 0 || gBattleOutcome != B_OUTCOME_WON) { gBattleMainFunc = ReturnFromBattleToOverworld; return; @@ -5049,7 +5049,7 @@ static void ReturnFromBattleToOverworld(void) if (gBattleTypeFlags & BATTLE_TYPE_ROAMER) { UpdateRoamerHPStatus(&gEnemyParty[0]); - if (gBattleOutcome == BATTLE_WON || gBattleOutcome == BATTLE_CAUGHT) + if (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT) SetRoamerInactive(); } @@ -5407,7 +5407,7 @@ bool8 TryRunFromBattle(u8 bank) if (effect) { gCurrentTurnActionNumber = gBattlersCount; - gBattleOutcome = BATTLE_RAN; + gBattleOutcome = B_OUTCOME_RAN; } return effect; @@ -5426,16 +5426,16 @@ void HandleAction_Run(void) if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { if (gActionForBanks[gActiveBattler] == B_ACTION_RUN) - gBattleOutcome |= BATTLE_LOST; + gBattleOutcome |= B_OUTCOME_LOST; } else { if (gActionForBanks[gActiveBattler] == B_ACTION_RUN) - gBattleOutcome |= BATTLE_WON; + gBattleOutcome |= B_OUTCOME_WON; } } - gBattleOutcome |= OUTCOME_LINK_BATTLE_RUN; + gBattleOutcome |= B_OUTCOME_LINK_BATTLE_RAN; } else { @@ -5460,7 +5460,7 @@ void HandleAction_Run(void) else { gCurrentTurnActionNumber = gBattlersCount; - gBattleOutcome = BATTLE_POKE_FLED; + gBattleOutcome = B_OUTCOME_MON_FLED; } } } @@ -5540,7 +5540,7 @@ void HandleAction_SafriZoneRun(void) gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; PlaySE(SE_NIGERU); gCurrentTurnActionNumber = gBattlersCount; - gBattleOutcome = BATTLE_RAN; + gBattleOutcome = B_OUTCOME_RAN; } void HandleAction_Action9(void) @@ -5573,7 +5573,7 @@ void HandleAction_NothingIsFainted(void) | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000 | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT - | HITMARKER_x8000000 | HITMARKER_x4000000); + | HITMARKER_CHARGING | HITMARKER_x4000000); } void HandleAction_ActionFinished(void) @@ -5585,7 +5585,7 @@ void HandleAction_ActionFinished(void) | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000 | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT - | HITMARKER_x8000000 | HITMARKER_x4000000); + | HITMARKER_CHARGING | HITMARKER_x4000000); gBattleMoveDamage = 0; ewram16002 = 0; -- cgit v1.2.3 From b74a0c3122113b5ebef469739745e2b8fd420c50 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 31 Jul 2019 00:13:42 -0500 Subject: resolve more battle system differences --- src/battle_main.c | 74 +++++++++++++++++++++++++++---------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) (limited to 'src/battle_main.c') diff --git a/src/battle_main.c b/src/battle_main.c index b38468386..46519307a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -9,6 +9,7 @@ #include "gba/flash_internal.h" #include "battle.h" #include "battle_ai_script_commands.h" +#include "battle_controllers.h" #include "battle_interface.h" #include "battle_message.h" #include "battle_setup.h" @@ -32,7 +33,6 @@ #include "pokemon.h" #include "random.h" #include "roamer.h" -#include "rom3.h" #include "rom_8077ABC.h" #include "rom_8094928.h" #include "safari_zone.h" @@ -83,7 +83,7 @@ extern u32 gBattleControllerExecFlags; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gCurrentActionFuncId; -extern u8 gBanksByTurnOrder[]; +extern u8 gBattlerByTurnOrder[]; extern u8 gBattlerSpriteIds[]; extern u16 gCurrentMove; // This is mis-named. It is a species, not a move ID. extern u8 gLastUsedAbility; @@ -100,7 +100,7 @@ extern u16 gLockedMoves[]; extern u16 gChosenMovesByBanks[]; extern u32 gHitMarker; extern u8 gUnknown_02024C70[]; -extern u16 gSideAffecting[]; +extern u16 gSideStatuses[]; extern u32 gStatuses3[]; //extern u8 gDisableStructs[][0x1C]; extern u16 gPauseCounterBattle; @@ -208,7 +208,7 @@ void CB2_InitBattle(void) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - sub_800B858(); + HandleLinkBattleSetup(); SetMainCallback2(sub_800F104); gBattleCommunication[0] = 0; } @@ -3341,7 +3341,7 @@ void sub_8010874(void) for (i = 0; i < 2; i++) { - gSideAffecting[i] = 0; + gSideStatuses[i] = 0; MEMSET_ALT(&gSideTimers[i], 0, 12, j, r4); } @@ -3399,7 +3399,7 @@ void sub_8010874(void) gBattleResults.unk2 = 0; gBattleResults.unk3 = 0; gBattleResults.unk4 = 0; - gBattleResults.unk5_0 = 0; + gBattleResults.playerMonWasDamaged = 0; gBattleResults.unk5_1 = 0; gBattleResults.lastOpponentSpecies = 0; gBattleResults.lastUsedMove = 0; @@ -3433,10 +3433,10 @@ void SwitchInClearSetData(void) { if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBattler) gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; - if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].bankWithSureHit == gActiveBattler) + if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].battlerWithSureHit == gActiveBattler) { gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; - gDisableStructs[i].bankWithSureHit = 0; + gDisableStructs[i].battlerWithSureHit = 0; } } } @@ -3449,7 +3449,7 @@ void SwitchInClearSetData(void) { if (GetBattlerSide(gActiveBattler) != GetBattlerSide(i) && (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0 - && (gDisableStructs[i].bankWithSureHit == gActiveBattler)) + && (gDisableStructs[i].battlerWithSureHit == gActiveBattler)) { gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; gStatuses3[i] |= 0x10; @@ -3478,7 +3478,7 @@ void SwitchInClearSetData(void) if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { gDisableStructs[gActiveBattler].substituteHP = sp0.substituteHP; - gDisableStructs[gActiveBattler].bankWithSureHit = sp0.bankWithSureHit; + gDisableStructs[gActiveBattler].battlerWithSureHit = sp0.battlerWithSureHit; gDisableStructs[gActiveBattler].perishSongTimer1 = sp0.perishSongTimer1; gDisableStructs[gActiveBattler].perishSongTimer2 = sp0.perishSongTimer2; } @@ -3885,12 +3885,12 @@ void BattleBeginFirstTurn(void) if (ewram16058 == 0) { for (i = 0; i < gBattlersCount; i++) - gBanksByTurnOrder[i] = i; + gBattlerByTurnOrder[i] = i; for (i = 0; i < gBattlersCount - 1; i++) { for (j = i + 1; j < gBattlersCount; j++) { - if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], 1) != 0) + if (GetWhoStrikesFirst(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], 1) != 0) SwapTurnOrder(i, j); } } @@ -3902,7 +3902,7 @@ void BattleBeginFirstTurn(void) } while (ewram16058 < gBattlersCount) { - if (AbilityBattleEffects(0, gBanksByTurnOrder[ewram16058], 0, 0, 0) != 0) + if (AbilityBattleEffects(0, gBattlerByTurnOrder[ewram16058], 0, 0, 0) != 0) r9++; ewram16058++; if (r9 != 0) @@ -3914,7 +3914,7 @@ void BattleBeginFirstTurn(void) return; while (ewram160F9 < gBattlersCount) { - if (ItemBattleEffects(0, gBanksByTurnOrder[ewram160F9], 0) != 0) + if (ItemBattleEffects(0, gBattlerByTurnOrder[ewram160F9], 0) != 0) r9++; ewram160F9++; if (r9 != 0) @@ -4482,9 +4482,9 @@ void SwapTurnOrder(u8 a, u8 b) gActionsByTurnOrder[a] = gActionsByTurnOrder[b]; gActionsByTurnOrder[b] = temp; - temp = gBanksByTurnOrder[a]; - gBanksByTurnOrder[a] = gBanksByTurnOrder[b]; - gBanksByTurnOrder[b] = temp; + temp = gBattlerByTurnOrder[a]; + gBattlerByTurnOrder[a] = gBattlerByTurnOrder[b]; + gBattlerByTurnOrder[b] = temp; } // Determines which of the two given mons will strike first in a battle. @@ -4642,7 +4642,7 @@ void SetActionsAndBanksTurnOrder(void) for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; - gBanksByTurnOrder[var] = gActiveBattler; + gBattlerByTurnOrder[var] = gActiveBattler; var++; } } @@ -4671,14 +4671,14 @@ void SetActionsAndBanksTurnOrder(void) if (var == 5) { gActionsByTurnOrder[0] = gActionForBanks[gActiveBattler]; - gBanksByTurnOrder[0] = gActiveBattler; + gBattlerByTurnOrder[0] = gActiveBattler; var = 1; for (i = 0; i < gBattlersCount; i++) { if (i != gActiveBattler) { gActionsByTurnOrder[var] = gActionForBanks[i]; - gBanksByTurnOrder[var] = i; + gBattlerByTurnOrder[var] = i; var++; } } @@ -4693,7 +4693,7 @@ void SetActionsAndBanksTurnOrder(void) if (gActionForBanks[gActiveBattler] == B_ACTION_USE_ITEM || gActionForBanks[gActiveBattler] == B_ACTION_SWITCH) { gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; - gBanksByTurnOrder[var] = gActiveBattler; + gBattlerByTurnOrder[var] = gActiveBattler; var++; } } @@ -4702,7 +4702,7 @@ void SetActionsAndBanksTurnOrder(void) if (gActionForBanks[gActiveBattler] != B_ACTION_USE_ITEM && gActionForBanks[gActiveBattler] != B_ACTION_SWITCH) { gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; - gBanksByTurnOrder[var] = gActiveBattler; + gBattlerByTurnOrder[var] = gActiveBattler; var++; } } @@ -4710,8 +4710,8 @@ void SetActionsAndBanksTurnOrder(void) { for (j = i + 1; j < gBattlersCount; j++) { - u8 bank1 = gBanksByTurnOrder[i]; - u8 bank2 = gBanksByTurnOrder[j]; + u8 bank1 = gBattlerByTurnOrder[i]; + u8 bank2 = gBattlerByTurnOrder[j]; if (gActionsByTurnOrder[i] != B_ACTION_USE_ITEM && gActionsByTurnOrder[j] != B_ACTION_USE_ITEM && gActionsByTurnOrder[i] != B_ACTION_SWITCH @@ -5083,7 +5083,7 @@ void HandleAction_UseMove(void) u8 side; u8 var = 4; - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; if (ewram160A6 & gBitTable[gBattlerAttacker]) { @@ -5167,9 +5167,9 @@ void HandleAction_UseMove(void) if (side != GetBattlerSide(gActiveBattler) && ewram16010arr(gBattlerAttacker) != gActiveBattler && gBattleMons[gActiveBattler].ability == ABILITY_LIGHTNING_ROD - && BankGetTurnOrder(gActiveBattler) < var) + && GetBattlerTurnOrderNum(gActiveBattler) < var) { - var = BankGetTurnOrder(gActiveBattler); + var = GetBattlerTurnOrderNum(gActiveBattler); } } if (var == 4) @@ -5212,7 +5212,7 @@ void HandleAction_UseMove(void) } else { - gActiveBattler = gBanksByTurnOrder[var]; + gActiveBattler = gBattlerByTurnOrder[var]; RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); gSpecialStatuses[gActiveBattler].lightningRodRedirected = 1; gBattlerTarget = gActiveBattler; @@ -5266,7 +5266,7 @@ void HandleAction_UseMove(void) void HandleAction_Switch(void) { - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gActionSelectionCursor[gBattlerAttacker] = 0; @@ -5284,7 +5284,7 @@ void HandleAction_Switch(void) void HandleAction_UseItem(void) { - gBattlerAttacker = gBattlerTarget = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerTarget = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gDisableStructs[gBattlerAttacker].furyCutterCounter = 0; @@ -5415,7 +5415,7 @@ bool8 TryRunFromBattle(u8 bank) void HandleAction_Run(void) { - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -5468,7 +5468,7 @@ void HandleAction_Run(void) void HandleAction_WatchesCarefully(void) { - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gBattlescriptCurrInstr = gBattlescriptsForSafariActions[0]; @@ -5477,7 +5477,7 @@ void HandleAction_WatchesCarefully(void) void HandleAction_SafariZoneBallThrow(void) { - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gNumSafariBalls--; @@ -5488,7 +5488,7 @@ void HandleAction_SafariZoneBallThrow(void) void HandleAction_ThrowPokeblock(void) { - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gBattleCommunication[MULTISTRING_CHOOSER] = gBattleBufferB[gBattlerAttacker][1] - 1; @@ -5510,7 +5510,7 @@ void HandleAction_ThrowPokeblock(void) void HandleAction_GoNear(void) { - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -5537,7 +5537,7 @@ void HandleAction_GoNear(void) void HandleAction_SafriZoneRun(void) { - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; PlaySE(SE_NIGERU); gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = B_OUTCOME_RAN; @@ -5545,7 +5545,7 @@ void HandleAction_SafriZoneRun(void) void HandleAction_Action9(void) { - gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; -- cgit v1.2.3 From bbd177fa20a3f53a4815061c524a14e959de6783 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 31 Jul 2019 18:29:13 -0500 Subject: fix more emerald differences --- src/battle_main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/battle_main.c') diff --git a/src/battle_main.c b/src/battle_main.c index 46519307a..85a9a3fea 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -92,7 +92,7 @@ extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u8 gActionForBanks[]; extern u16 gUnknown_02024C2C[]; -extern u16 gLastUsedMove[]; +extern u16 gLastMoves[]; extern u16 gLastLandedMoves[]; extern u16 gLastHitByType[]; extern u16 gUnknown_02024C4C[]; @@ -3329,7 +3329,7 @@ void sub_8010874(void) MEMSET_ALT(&gDisableStructs[i], 0, 0x1C, j, r4); gDisableStructs[i].isFirstTurn= 2; gUnknown_02024C70[i] = 0; - gLastUsedMove[i] = 0; + gLastMoves[i] = 0; gLastLandedMoves[i] = 0; gLastHitByType[i] = 0; gUnknown_02024C4C[i] = 0; @@ -3484,7 +3484,7 @@ void SwitchInClearSetData(void) } gDisableStructs[gActiveBattler].isFirstTurn= 2; - gLastUsedMove[gActiveBattler] = 0; + gLastMoves[gActiveBattler] = 0; gLastLandedMoves[gActiveBattler] = 0; gLastHitByType[gActiveBattler] = 0; gUnknown_02024C4C[gActiveBattler] = 0; @@ -3548,7 +3548,7 @@ void UndoEffectsAfterFainting(void) gProtectStructs[gActiveBattler].notFirstStrike = 0; gDisableStructs[gActiveBattler].isFirstTurn= 2; - gLastUsedMove[gActiveBattler] = 0; + gLastMoves[gActiveBattler] = 0; gLastLandedMoves[gActiveBattler] = 0; gLastHitByType[gActiveBattler] = 0; gUnknown_02024C4C[gActiveBattler] = 0; @@ -3981,7 +3981,7 @@ void BattleTurnPassed(void) TurnValuesCleanUp(1); if (gBattleOutcome == 0) { - if (UpdateTurnCounters() != 0) + if (DoFieldEndTurnEffects() != 0) return; if (TurnBasedEffects() != 0) return; -- cgit v1.2.3 From a631973b73977f33ef98042abca9fca287792439 Mon Sep 17 00:00:00 2001 From: "easyaspi314 (Devin)" Date: Fri, 23 Aug 2019 20:44:01 -0400 Subject: [WIP] English Debug menu translations! (Plus some build system fixes) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I'm back!            す Éß テ-ブ↑& ÒÛªù! (かなテーブルを捨てろよ!/Throw away the kana table!) When compiled in English with DEBUG, instead of óじばÌ (mojibake), you now get actual English translations! No more switching from the game, to the kana chart, and if you don't know Japanese, Google Translate, just to read one sentence. Additionally, the few unknown translations should use proper encoding or Romaji. I decided to use a nicer macro system: static const u8 sStrHello[] = DTR("こんにちは", "Hello"); This prevents ifdef HELL, as the mixed Japanese and English would be messy. Additionally, some special character issues were corrected. Things untranslated/bugs: - Tomomichi's dummy functions. Of course, they don't do much. - The title screen battle menu. This uses a Gen 2 style tile rendering and the way it is rendered is incredibly overcomplicated. - A few phrases which I couldn't get a clear translation for. I don't know much Japanese lol. - Song names. Just tedious with the limited buffer size. - A few layout issues. Some dimensions should be tweaked to avoid text box ovetflows. - Potential buffer overflows, which I want to try to avoid - (ASan for GBA? :morphon:) - While I use the DEBUG_TRANSLATE flag (automatic with ENGLISH && DEBUG) for C code, the asm data only checks for ENGLISH && DEBUG. Additionally, they are ugly. - Haven't tested all builds yet. - Some code formatting issues. I also made it so this will compile with the system preprocessor (including Clang), and my agbcc binutils (which will attempt to be selected automatically if you don't have DKP). Clang needs a few flags (it can't do asm enums with line numbers and it does trigraphs in standard mode), but it is no longer flipping out. I am going to restart my build system project. It was getting way off track, and ucpp was too difficult to maintain (one of the main reasons for the silence). --- src/battle_main.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/battle_main.c') diff --git a/src/battle_main.c b/src/battle_main.c index 56eabd515..9a9f954aa 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2475,11 +2475,13 @@ void debug_nullsub_3(void) extern const u32 gUnknown_Debug_821F680[][0x23]; +// Shows a cursor void debug_sub_80125A0(void) { gSharedMem[gUnknown_Debug_821F680[gUnknown_Debug_03004360][gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5]] = 0x6D; } +// Hides a cursor void debug_sub_80125E4(void) { gSharedMem[gUnknown_Debug_821F680[gUnknown_Debug_03004360][gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5]] = 0x81; -- cgit v1.2.3 From 265fd20253e34adfc7ca1e9ff3c08a70224d98f6 Mon Sep 17 00:00:00 2001 From: "easyaspi314 (Devin)" Date: Sat, 24 Aug 2019 16:35:52 -0400 Subject: Rename old_charmap and move from graphics-de/unused to graphics/debug. The debug battle text is in English on German ROMs and Japanese on English ROMs. Additionally, old_charmap.bin held the actual text. Weird. I also choose the English when DEBUG_TRANSLATE is on. --- src/battle_main.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/battle_main.c') diff --git a/src/battle_main.c b/src/battle_main.c index 9a9f954aa..c0147d11d 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1402,9 +1402,9 @@ extern const u16 gUnknown_Debug_821F424[][5]; extern const u16 gUnknown_Debug_821F56C[][5]; extern const u32 gUnknown_Debug_821F798[][4]; -extern const u8 gUnusedOldCharmap_Gfx_lz[]; -extern const u8 gUnusedOldCharmap_Tilemap_lz[]; -extern const u8 gUnusedOldCharmap_Pal_lz[]; +extern const u8 gDebugBattleCharmap_Gfx_lz[]; +extern const u8 gDebugBattleCharmap_Tilemap_lz[]; +extern const u8 gDebugBattleCharmap_Pal_lz[]; void debug_sub_8010800(void) { @@ -1457,10 +1457,10 @@ void debug_sub_80108B8(void) REG_BG1CNT = 0x4801; REG_BLDCNT = 0; REG_BLDY = 0; - LZDecompressVram(gUnusedOldCharmap_Gfx_lz, (void *)VRAM); - LZDecompressWram(gUnusedOldCharmap_Tilemap_lz, gSharedMem); - LZDecompressVram(gUnusedOldCharmap_Pal_lz, (void *)PLTT); - LZDecompressVram(gUnusedOldCharmap_Pal_lz, (void *)(PLTT + 0x1E0)); + LZDecompressVram(gDebugBattleCharmap_Gfx_lz, (void *)VRAM); + LZDecompressWram(gDebugBattleCharmap_Tilemap_lz, gSharedMem); + LZDecompressVram(gDebugBattleCharmap_Pal_lz, (void *)PLTT); + LZDecompressVram(gDebugBattleCharmap_Pal_lz, (void *)(PLTT + 0x1E0)); m4aSoundVSyncOn(); SetVBlankCallback(debug_sub_8011D40); SetMainCallback2(debug_sub_8010CAC); -- cgit v1.2.3