fix merge conflicts
This commit is contained in:
@@ -355,7 +355,7 @@ static void OpenPartyMenuToChooseMon(void)
|
||||
caseId = gTasks[gUnknown_3004FFC[gActiveBattler]].data[0];
|
||||
DestroyTask(gUnknown_3004FFC[gActiveBattler]);
|
||||
FreeAllWindowBuffers();
|
||||
OpenPartyMenuInBattle(caseId);
|
||||
OpenPartyMenuInTutorialBattle(caseId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -363,8 +363,8 @@ static void WaitForMonSelection(void)
|
||||
{
|
||||
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
|
||||
{
|
||||
if (gUnknown_203B0C0 == 1)
|
||||
BtlController_EmitChosenMonReturnValue(1, gUnknown_203B0C1, gUnknown_203B0DC);
|
||||
if (gPartyMenuUseExitCallback == 1)
|
||||
BtlController_EmitChosenMonReturnValue(1, gSelectedMonPartyId, gBattlePartyCurrentOrder);
|
||||
else
|
||||
BtlController_EmitChosenMonReturnValue(1, 6, NULL);
|
||||
OakOldManBufferExecCompleted();
|
||||
@@ -1879,7 +1879,7 @@ static void OakOldManHandleChooseItem(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem;
|
||||
gBattlerInMenuId = gActiveBattler;
|
||||
for (i = 0; i < 3; ++i)
|
||||
gUnknown_203B0DC[i] = gBattleBufferA[gActiveBattler][i + 1];
|
||||
gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][i + 1];
|
||||
}
|
||||
|
||||
static void OakOldManHandleChoosePokemon(void)
|
||||
@@ -1892,7 +1892,7 @@ static void OakOldManHandleChoosePokemon(void)
|
||||
*(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2];
|
||||
*(&gBattleStruct->abilityPreventingSwitchout) = gBattleBufferA[gActiveBattler][3];
|
||||
for (i = 0; i < 3; ++i)
|
||||
gUnknown_203B0DC[i] = gBattleBufferA[gActiveBattler][4 + i];
|
||||
gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][4 + i];
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
|
||||
gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon;
|
||||
gBattlerInMenuId = gActiveBattler;
|
||||
|
||||
@@ -1305,7 +1305,7 @@ static void OpenPartyMenuToChooseMon(void)
|
||||
caseId = gTasks[gUnknown_3004FFC[gActiveBattler]].data[0];
|
||||
DestroyTask(gUnknown_3004FFC[gActiveBattler]);
|
||||
FreeAllWindowBuffers();
|
||||
OpenPartyMenuInBattle(caseId);
|
||||
OpenPartyMenuInTutorialBattle(caseId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1313,8 +1313,8 @@ static void WaitForMonSelection(void)
|
||||
{
|
||||
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
|
||||
{
|
||||
if (gUnknown_203B0C0 == 1)
|
||||
BtlController_EmitChosenMonReturnValue(1, gUnknown_203B0C1, gUnknown_203B0DC);
|
||||
if (gPartyMenuUseExitCallback == 1)
|
||||
BtlController_EmitChosenMonReturnValue(1, gSelectedMonPartyId, gBattlePartyCurrentOrder);
|
||||
else
|
||||
BtlController_EmitChosenMonReturnValue(1, 6, NULL);
|
||||
if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1)
|
||||
@@ -2462,7 +2462,7 @@ static void PlayerHandleChooseItem(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem;
|
||||
gBattlerInMenuId = gActiveBattler;
|
||||
for (i = 0; i < 3; ++i)
|
||||
gUnknown_203B0DC[i] = gBattleBufferA[gActiveBattler][1 + i];
|
||||
gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][1 + i];
|
||||
}
|
||||
|
||||
static void PlayerHandleChoosePokemon(void)
|
||||
@@ -2475,7 +2475,7 @@ static void PlayerHandleChoosePokemon(void)
|
||||
*(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2];
|
||||
*(&gBattleStruct->abilityPreventingSwitchout) = gBattleBufferA[gActiveBattler][3];
|
||||
for (i = 0; i < 3; ++i)
|
||||
gUnknown_203B0DC[i] = gBattleBufferA[gActiveBattler][4 + i];
|
||||
gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][4 + i];
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
|
||||
gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon;
|
||||
gBattlerInMenuId = gActiveBattler;
|
||||
|
||||
@@ -706,7 +706,7 @@ static void OpenPartyMenuToChooseMon(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = WaitForMonSelection;
|
||||
DestroyTask(gUnknown_3004FFC[gActiveBattler]);
|
||||
FreeAllWindowBuffers();
|
||||
sub_8127968();
|
||||
OpenPartyMenuInBattle();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -714,8 +714,8 @@ static void WaitForMonSelection(void)
|
||||
{
|
||||
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
|
||||
{
|
||||
if (gUnknown_203B0C0 == 1)
|
||||
BtlController_EmitChosenMonReturnValue(1, gUnknown_203B0C1, gUnknown_203B0DC);
|
||||
if (gPartyMenuUseExitCallback == 1)
|
||||
BtlController_EmitChosenMonReturnValue(1, gSelectedMonPartyId, gBattlePartyCurrentOrder);
|
||||
else
|
||||
BtlController_EmitChosenMonReturnValue(1, 6, NULL);
|
||||
PokedudeBufferExecCompleted();
|
||||
@@ -1985,7 +1985,7 @@ static void PokedudeHandleChooseItem(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem;
|
||||
gBattlerInMenuId = gActiveBattler;
|
||||
for (i = 0; i < 3; ++i)
|
||||
gUnknown_203B0DC[i] = gBattleBufferA[gActiveBattler][i + 1];
|
||||
gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][i + 1];
|
||||
}
|
||||
|
||||
static void PokedudeHandleChoosePokemon(void)
|
||||
@@ -1998,7 +1998,7 @@ static void PokedudeHandleChoosePokemon(void)
|
||||
*(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2];
|
||||
*(&gBattleStruct->abilityPreventingSwitchout) = gBattleBufferA[gActiveBattler][3];
|
||||
for (i = 0; i < 3; ++i)
|
||||
gUnknown_203B0DC[i] = gBattleBufferA[gActiveBattler][4 + i];
|
||||
gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][4 + i];
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
|
||||
gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon;
|
||||
gBattlerInMenuId = gActiveBattler;
|
||||
|
||||
@@ -75,7 +75,7 @@ void sub_800D30C(void)
|
||||
SetBattlePartyIds();
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
|
||||
for (i = 0; i < gBattlersCount; ++i)
|
||||
sub_8127DA8(i, 0);
|
||||
BufferBattlePartyCurrentOrderBySide(i, 0);
|
||||
}
|
||||
|
||||
static void InitSinglePlayerBtlControllers(void)
|
||||
@@ -199,11 +199,11 @@ static void InitLinkBtlControllers(void)
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
sub_8127DA8(gLinkPlayers[i].id, 0);
|
||||
BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 0);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
sub_8127DA8(gLinkPlayers[i].id, 1);
|
||||
BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 1);
|
||||
break;
|
||||
}
|
||||
if (i == multiplayerId)
|
||||
|
||||
@@ -620,7 +620,7 @@ bool8 BattleInitAllSprites(u8 *state, u8 *battlerId)
|
||||
break;
|
||||
case 6:
|
||||
LoadAndCreateEnemyShadowSprites();
|
||||
sub_8127CAC();
|
||||
BufferBattlePartyCurrentOrder();
|
||||
retVal = TRUE;
|
||||
break;
|
||||
}
|
||||
@@ -859,8 +859,8 @@ void HandleBattleLowHpMusicChange(void)
|
||||
{
|
||||
u8 playerBattler1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
|
||||
u8 playerBattler2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
|
||||
u8 battler1PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler1]);
|
||||
u8 battler2PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler2]);
|
||||
u8 battler1PartyId = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[playerBattler1]);
|
||||
u8 battler2PartyId = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[playerBattler2]);
|
||||
|
||||
if (GetMonData(&gPlayerParty[battler1PartyId], MON_DATA_HP) != 0)
|
||||
HandleLowHpMusicChange(&gPlayerParty[battler1PartyId], playerBattler1);
|
||||
|
||||
+26
-26
@@ -144,7 +144,7 @@ static EWRAM_DATA u32 gUnknown_2022AE8[25] = {0};
|
||||
EWRAM_DATA u32 gBattleTypeFlags = 0;
|
||||
EWRAM_DATA u8 gBattleTerrain = 0;
|
||||
EWRAM_DATA u32 gUnknown_2022B54 = 0;
|
||||
EWRAM_DATA struct UnknownPokemonStruct4 gUnknown_2022B58[3] = {0};
|
||||
EWRAM_DATA struct UnknownPokemonStruct4 gMultiPartnerParty[3] = {0};
|
||||
EWRAM_DATA u8 *gUnknown_2022BB8 = NULL;
|
||||
EWRAM_DATA u8 *gUnknown_2022BBC = NULL;
|
||||
EWRAM_DATA u16 *gUnknown_2022BC0 = NULL;
|
||||
@@ -1078,16 +1078,16 @@ static void sub_80108C4(void)
|
||||
|
||||
for (i = 0; i < 3; ++i)
|
||||
{
|
||||
gUnknown_2022B58[i].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES);
|
||||
gUnknown_2022B58[i].heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
||||
nick = gUnknown_2022B58[i].nickname;
|
||||
gMultiPartnerParty[i].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES);
|
||||
gMultiPartnerParty[i].heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
||||
nick = gMultiPartnerParty[i].nickname;
|
||||
GetMonData(&gPlayerParty[i], MON_DATA_NICKNAME, nick);
|
||||
gUnknown_2022B58[i].level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
|
||||
gUnknown_2022B58[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
|
||||
gUnknown_2022B58[i].maxhp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP);
|
||||
gUnknown_2022B58[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
|
||||
gUnknown_2022B58[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY);
|
||||
gUnknown_2022B58[i].gender = GetMonGender(&gPlayerParty[i]);
|
||||
gMultiPartnerParty[i].level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
|
||||
gMultiPartnerParty[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
|
||||
gMultiPartnerParty[i].maxhp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP);
|
||||
gMultiPartnerParty[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
|
||||
gMultiPartnerParty[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY);
|
||||
gMultiPartnerParty[i].gender = GetMonGender(&gPlayerParty[i]);
|
||||
StripExtCtrlCodes(nick);
|
||||
if (GetMonData(&gPlayerParty[i], MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE)
|
||||
{
|
||||
@@ -1098,7 +1098,7 @@ static void sub_80108C4(void)
|
||||
cur[j] = EOS;
|
||||
}
|
||||
}
|
||||
memcpy(&gBattleStruct->field_184, gUnknown_2022B58, sizeof(gUnknown_2022B58));
|
||||
memcpy(&gBattleStruct->field_184, gMultiPartnerParty, sizeof(gMultiPartnerParty));
|
||||
}
|
||||
|
||||
static void CB2_PreInitMultiBattle(void)
|
||||
@@ -1123,7 +1123,7 @@ static void CB2_PreInitMultiBattle(void)
|
||||
if (gReceivedRemoteLinkPlayers != 0 && IsLinkTaskFinished())
|
||||
{
|
||||
sub_80108C4();
|
||||
SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_184, sizeof(gUnknown_2022B58));
|
||||
SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_184, sizeof(gMultiPartnerParty));
|
||||
++gBattleCommunication[MULTIUSE_STATE];
|
||||
}
|
||||
break;
|
||||
@@ -1137,13 +1137,13 @@ static void CB2_PreInitMultiBattle(void)
|
||||
continue;
|
||||
if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[playerMultiplierId].id & 1))
|
||||
|| (gLinkPlayers[i].id & 1 && gLinkPlayers[playerMultiplierId].id & 1))
|
||||
memcpy(gUnknown_2022B58, gBlockRecvBuffer[i], sizeof(gUnknown_2022B58));
|
||||
memcpy(gMultiPartnerParty, gBlockRecvBuffer[i], sizeof(gMultiPartnerParty));
|
||||
}
|
||||
++gBattleCommunication[MULTIUSE_STATE];
|
||||
*savedCallback = gMain.savedCallback;
|
||||
*savedBattleTypeFlags = gBattleTypeFlags;
|
||||
gMain.savedCallback = CB2_PreInitMultiBattle;
|
||||
sub_8128198();
|
||||
ShowPartyMenuToShowcaseMultiBattleParty();
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -3004,22 +3004,22 @@ void sub_8013F6C(u8 battler)
|
||||
u8 r4, r1;
|
||||
|
||||
for (i = 0; i < 3; ++i)
|
||||
gUnknown_203B0DC[i] = *(battler * 3 + i + (u8 *)(gBattleStruct->field_60));
|
||||
r4 = pokemon_order_func(gBattlerPartyIndexes[battler]);
|
||||
r1 = pokemon_order_func(*(gBattleStruct->monToSwitchIntoId + battler));
|
||||
sub_8127FF4(r4, r1);
|
||||
gBattlePartyCurrentOrder[i] = *(battler * 3 + i + (u8 *)(gBattleStruct->field_60));
|
||||
r4 = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]);
|
||||
r1 = GetPartyIdFromBattlePartyId(*(gBattleStruct->monToSwitchIntoId + battler));
|
||||
SwitchPartyMonSlots(r4, r1);
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
for (i = 0; i < 3; ++i)
|
||||
{
|
||||
*(battler * 3 + i + (u8 *)(gBattleStruct->field_60)) = gUnknown_203B0DC[i];
|
||||
*(BATTLE_PARTNER(battler) * 3 + i + (u8 *)(gBattleStruct->field_60)) = gUnknown_203B0DC[i];
|
||||
*(battler * 3 + i + (u8 *)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i];
|
||||
*(BATTLE_PARTNER(battler) * 3 + i + (u8 *)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < 3; ++i)
|
||||
*(battler * 3 + i + (u8 *)(gBattleStruct->field_60)) = gUnknown_203B0DC[i];
|
||||
*(battler * 3 + i + (u8 *)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3137,7 +3137,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
*(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
|
||||
if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION) || gStatuses3[gActiveBattler] & STATUS3_ROOTED)
|
||||
{
|
||||
BtlController_EmitChoosePokemon(0, PARTY_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(0, PARTY_ACTION_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
|
||||
}
|
||||
else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG))
|
||||
|| ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP))
|
||||
@@ -3146,16 +3146,16 @@ static void HandleTurnActionSelectionState(void)
|
||||
|| ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0))
|
||||
&& IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)))
|
||||
{
|
||||
BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH)
|
||||
BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
|
||||
else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH)
|
||||
BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
|
||||
else
|
||||
BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
|
||||
}
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
break;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4504,7 +4504,7 @@ static void atk4F_jumpifcantswitch(void)
|
||||
static void sub_8024398(u8 arg0)
|
||||
{
|
||||
*(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
|
||||
BtlController_EmitChoosePokemon(0, PARTY_MUST_CHOOSE_MON, arg0, 0, gBattleStruct->field_60[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(0, PARTY_ACTION_SEND_OUT, arg0, 0, gBattleStruct->field_60[gActiveBattler]);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
|
||||
@@ -4739,9 +4739,9 @@ static void atk50_openpartyscreen(void)
|
||||
else
|
||||
{
|
||||
if (gBattlescriptCurrInstr[1] & OPEN_PARTY_ALLOW_CANCEL)
|
||||
hitmarkerFaintBits = PARTY_CHOOSE_MON; // Used here as the caseId for the EmitChoose function.
|
||||
hitmarkerFaintBits = PARTY_ACTION_CHOOSE_MON; // Used here as the caseId for the EmitChoose function.
|
||||
else
|
||||
hitmarkerFaintBits = PARTY_MUST_CHOOSE_MON;
|
||||
hitmarkerFaintBits = PARTY_ACTION_SEND_OUT;
|
||||
battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(OPEN_PARTY_ALLOW_CANCEL));
|
||||
if (gSpecialStatuses[battlerId].flag40)
|
||||
{
|
||||
@@ -5831,7 +5831,7 @@ static void DrawLevelUpWindow1(void)
|
||||
{
|
||||
u16 currStats[NUM_STATS];
|
||||
|
||||
GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats);
|
||||
BufferMonStatsToTaskData(&gPlayerParty[gBattleStruct->expGetterMonId], currStats);
|
||||
DrawLevelUpWindowPg1(12, gBattleResources->beforeLvlUp->stats, currStats, 0xE, 0xD, 0xF);
|
||||
}
|
||||
|
||||
@@ -5839,7 +5839,7 @@ static void DrawLevelUpWindow2(void)
|
||||
{
|
||||
u16 currStats[NUM_STATS];
|
||||
|
||||
GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats);
|
||||
BufferMonStatsToTaskData(&gPlayerParty[gBattleStruct->expGetterMonId], currStats);
|
||||
DrawLevelUpWindowPg2(12, currStats, 0xE, 0xD, 0xF);
|
||||
}
|
||||
|
||||
@@ -7140,8 +7140,8 @@ static void atk8F_forcerandomswitch(void)
|
||||
*(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i;
|
||||
if (!IsMultiBattle())
|
||||
sub_8013F6C(gBattlerTarget);
|
||||
sub_8127EC4(gBattlerTarget, i, 0);
|
||||
sub_8127EC4(gBattlerTarget ^ 2, i, 1);
|
||||
SwitchPartyOrderLinkMulti(gBattlerTarget, i, 0);
|
||||
SwitchPartyOrderLinkMulti(gBattlerTarget ^ 2, i, 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
+3
-3
@@ -765,7 +765,7 @@ static void PrintSelectedBerryDescription(s32 itemIdx)
|
||||
|
||||
static void SetDescriptionWindowBorderPalette(s32 pal)
|
||||
{
|
||||
SetBgRectPal(1, 0, 16, 30, 4, pal + 1);
|
||||
SetBgTilemapPalette(1, 0, 16, 30, 4, pal + 1);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
|
||||
@@ -1194,7 +1194,7 @@ static void Task_BerryPouch_Give(u8 taskId)
|
||||
Task_Give_PrintThereIsNoPokemon(taskId);
|
||||
else
|
||||
{
|
||||
sResources->exitCallback = sub_8126EDC;
|
||||
sResources->exitCallback = CB2_ChooseMonToGiveItem;
|
||||
gTasks[taskId].func = BerryPouch_StartFadeToExitCallback;
|
||||
}
|
||||
}
|
||||
@@ -1251,7 +1251,7 @@ static void Task_ContextMenu_FromPartyGiveMenu(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
sResources->exitCallback = c2_8123744;
|
||||
sResources->exitCallback = CB2_GiveHoldItem;
|
||||
gTasks[taskId].func = BerryPouch_StartFadeToExitCallback;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1582,7 +1582,7 @@ void ShowDaycareLevelMenu(void)
|
||||
|
||||
void ChooseSendDaycareMon(void)
|
||||
{
|
||||
sub_8128370();
|
||||
ChooseMonForDaycare();
|
||||
gMain.savedCallback = CB2_ReturnToField;
|
||||
}
|
||||
|
||||
|
||||
@@ -522,7 +522,7 @@ static bool32 sub_807E40C(void)
|
||||
|
||||
bool32 sub_807E418(void)
|
||||
{
|
||||
if (field_weather_is_fade_finished() == TRUE && sub_80F83B0())
|
||||
if (IsWeatherNotFadingIn() == TRUE && sub_80F83B0())
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
+2
-2
@@ -43,7 +43,7 @@ static void FaintFromFieldPoison(u8 partyIdx)
|
||||
static bool32 MonFaintedFromPoison(u8 partyIdx)
|
||||
{
|
||||
struct Pokemon *pokemon = gPlayerParty + partyIdx;
|
||||
if (IsMonValidSpecies(pokemon) && !GetMonData(pokemon, MON_DATA_HP) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
|
||||
if (IsMonValidSpecies(pokemon) && !GetMonData(pokemon, MON_DATA_HP) && GetAilmentFromStatus(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -97,7 +97,7 @@ s32 DoPoisonFieldEffect(void)
|
||||
u32 numFainted = 0;
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
|
||||
if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && GetAilmentFromStatus(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
|
||||
{
|
||||
hp = GetMonData(pokemon, MON_DATA_HP);
|
||||
if (hp == 0 || --hp == 0)
|
||||
|
||||
@@ -1863,7 +1863,7 @@ void sub_80CC59C(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE22) && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE22) || gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE23)))
|
||||
{
|
||||
sp0.unk0 = get_mapheader_by_bank_and_number(sInsideOutsidePairs[r5].grp, sInsideOutsidePairs[r5].num)->regionMapSectionId;
|
||||
sp0.unk0 = Overworld_GetMapHeaderByGroupAndId(sInsideOutsidePairs[r5].grp, sInsideOutsidePairs[r5].num)->regionMapSectionId;
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE22))
|
||||
sp0.unk1 = r5;
|
||||
else
|
||||
@@ -1875,7 +1875,7 @@ void sub_80CC59C(void)
|
||||
}
|
||||
if (gSaveBlock1Ptr->location.mapGroup == sInsideOutsidePairs[r5].grp2 && gSaveBlock1Ptr->location.mapNum == sInsideOutsidePairs[r5].num2)
|
||||
{
|
||||
sp0.unk0 = get_mapheader_by_bank_and_number(sInsideOutsidePairs[r5].grp, sInsideOutsidePairs[r5].num)->regionMapSectionId;
|
||||
sp0.unk0 = Overworld_GetMapHeaderByGroupAndId(sInsideOutsidePairs[r5].grp, sInsideOutsidePairs[r5].num)->regionMapSectionId;
|
||||
sp0.unk1 = r5;
|
||||
if (r5 == 22)
|
||||
{
|
||||
|
||||
+2
-2
@@ -60,7 +60,7 @@ const u8 gUnknown_8352F10[] = {
|
||||
|
||||
const struct MapHeader * mapconnection_get_mapheader(struct MapConnection * connection)
|
||||
{
|
||||
return get_mapheader_by_bank_and_number(connection->mapGroup, connection->mapNum);
|
||||
return Overworld_GetMapHeaderByGroupAndId(connection->mapGroup, connection->mapNum);
|
||||
}
|
||||
|
||||
void not_trainer_hill_battle_pyramid(void)
|
||||
@@ -463,7 +463,7 @@ u32 MapGridGetMetatileBehaviorAt(s32 x, s32 y)
|
||||
return sub_8058F48(x, y, 0);
|
||||
}
|
||||
|
||||
u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y)
|
||||
u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y)
|
||||
{
|
||||
return sub_8058F48(x, y, 6);
|
||||
}
|
||||
|
||||
+30
-30
@@ -13,9 +13,9 @@ static void sub_80E58A0(u8 taskId);
|
||||
static void sub_80E5934(u8 taskId);
|
||||
|
||||
extern const u8 gUnknown_84169F8[];
|
||||
extern const u8 gUnknown_8416F27[];
|
||||
extern const u8 gText_PkmnHPRestoredByVar2[];
|
||||
|
||||
bool8 hm_prepare_dive_probably(void)
|
||||
bool8 SetUpFieldMove_SoftBoiled(void)
|
||||
{
|
||||
u16 maxHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_MAX_HP);
|
||||
u16 curHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_HP);
|
||||
@@ -26,27 +26,27 @@ bool8 hm_prepare_dive_probably(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_80E56DC(u8 taskId)
|
||||
void ChooseMonForSoftboiled(u8 taskId)
|
||||
{
|
||||
gUnknown_203B0A0.unkB = 10;
|
||||
gUnknown_203B0A0.unkA = gUnknown_203B0A0.unk9;
|
||||
sub_811F818(GetCursorSelectionMonId(), 1);
|
||||
sub_8121D0C(5);
|
||||
gTasks[taskId].func = sub_811FB28;
|
||||
gPartyMenu.action = 10;
|
||||
gPartyMenu.slotId2 = gPartyMenu.slotId;
|
||||
AnimatePartySlot(GetCursorSelectionMonId(), 1);
|
||||
DisplayPartyMenuStdMessage(5);
|
||||
gTasks[taskId].func = Task_HandleChooseMonInput;
|
||||
}
|
||||
|
||||
void sub_80E5724(u8 taskId)
|
||||
void Task_TryUseSoftboiledOnPartyMon(u8 taskId)
|
||||
{
|
||||
u8 r8 = gUnknown_203B0A0.unk9;
|
||||
u8 r5 = gUnknown_203B0A0.unkA;
|
||||
u8 r8 = gPartyMenu.slotId;
|
||||
u8 r5 = gPartyMenu.slotId2;
|
||||
u16 curHp;
|
||||
s16 delta;
|
||||
|
||||
if (r5 > 6)
|
||||
{
|
||||
gUnknown_203B0A0.unkB = 0;
|
||||
sub_8121D0C(0);
|
||||
gTasks[taskId].func = sub_811FB28;
|
||||
gPartyMenu.action = 0;
|
||||
DisplayPartyMenuStdMessage(0);
|
||||
gTasks[taskId].func = Task_HandleChooseMonInput;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -58,7 +58,7 @@ void sub_80E5724(u8 taskId)
|
||||
else
|
||||
{
|
||||
PlaySE(SE_KAIFUKU);
|
||||
sub_8120760(taskId, r8, -1, GetMonData(&gPlayerParty[r8], MON_DATA_MAX_HP) / 5, sub_80E57E8);
|
||||
PartyMenuModifyHP(taskId, r8, -1, GetMonData(&gPlayerParty[r8], MON_DATA_MAX_HP) / 5, sub_80E57E8);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -66,46 +66,46 @@ void sub_80E5724(u8 taskId)
|
||||
static void sub_80E57E8(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_KAIFUKU);
|
||||
sub_8120760(taskId, gUnknown_203B0A0.unkA, 1, GetMonData(&gPlayerParty[gUnknown_203B0A0.unk9], MON_DATA_MAX_HP) / 5, sub_80E583C);
|
||||
PartyMenuModifyHP(taskId, gPartyMenu.slotId2, 1, GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAX_HP) / 5, sub_80E583C);
|
||||
}
|
||||
|
||||
static void sub_80E583C(u8 taskId)
|
||||
{
|
||||
GetMonNickname(&gPlayerParty[gUnknown_203B0A0.unkA], gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8416F27);
|
||||
sub_81202F8(gStringVar4, 0);
|
||||
GetMonNickname(&gPlayerParty[gPartyMenu.slotId2], gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
|
||||
DisplayPartyMenuMessage(gStringVar4, 0);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
gTasks[taskId].func = sub_80E58A0;
|
||||
}
|
||||
|
||||
static void sub_80E58A0(u8 taskId)
|
||||
{
|
||||
if (sub_8120370() != TRUE)
|
||||
if (IsPartyMenuTextPrinterActive() != TRUE)
|
||||
{
|
||||
gUnknown_203B0A0.unkB = 0;
|
||||
sub_811F818(gUnknown_203B0A0.unk9, 0);
|
||||
gUnknown_203B0A0.unk9 = gUnknown_203B0A0.unkA;
|
||||
sub_811F818(gUnknown_203B0A0.unkA, 1);
|
||||
gPartyMenu.action = 0;
|
||||
AnimatePartySlot(gPartyMenu.slotId, 0);
|
||||
gPartyMenu.slotId = gPartyMenu.slotId2;
|
||||
AnimatePartySlot(gPartyMenu.slotId2, 1);
|
||||
ClearStdWindowAndFrameToTransparent(6, 0);
|
||||
ClearWindowTilemap(6);
|
||||
sub_8121D0C(0);
|
||||
gTasks[taskId].func = sub_811FB28;
|
||||
DisplayPartyMenuStdMessage(0);
|
||||
gTasks[taskId].func = Task_HandleChooseMonInput;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80E5900(u8 taskId)
|
||||
{
|
||||
if (sub_8120370() != TRUE)
|
||||
if (IsPartyMenuTextPrinterActive() != TRUE)
|
||||
{
|
||||
sub_8121D0C(5);
|
||||
gTasks[taskId].func = sub_811FB28;
|
||||
DisplayPartyMenuStdMessage(5);
|
||||
gTasks[taskId].func = Task_HandleChooseMonInput;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80E5934(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
sub_81202F8(gUnknown_84169F8, 0);
|
||||
DisplayPartyMenuMessage(gUnknown_84169F8, 0);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
gTasks[taskId].func = sub_80E5900;
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
#include "wild_encounter.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
static EWRAM_DATA u8 *gUnknown_203AAB0 = NULL;
|
||||
|
||||
static void FieldCallback_SweetScent(void);
|
||||
static void StartSweetScentFieldEffect(void);
|
||||
static void TrySweetScentEncounter(u8 taskId);
|
||||
@@ -20,7 +22,7 @@ static void FailSweetScentEncounter(u8 taskId);
|
||||
|
||||
static void Unused_StartSweetscentFldeff(void)
|
||||
{
|
||||
gUnknown_203B0A0.unk9 = 0;
|
||||
gPartyMenu.slotId = 0;
|
||||
FieldCallback_SweetScent();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -412,7 +412,7 @@ bool8 AddPCItem(u16 itemId, u16 count)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void RemoveItemFromPC(u16 itemId, u16 count)
|
||||
void RemovePCItem(u16 itemId, u16 count)
|
||||
{
|
||||
u32 i;
|
||||
u16 quantity;
|
||||
|
||||
+4
-4
@@ -709,7 +709,7 @@ static void ItemPc_SetScrollPosition(void)
|
||||
|
||||
static void ItemPc_SetMessageWindowPalette(int a0)
|
||||
{
|
||||
SetBgRectPal(1, 0, 14, 30, 6, a0 + 1);
|
||||
SetBgTilemapPalette(1, 0, 14, 30, 6, a0 + 1);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
|
||||
@@ -926,7 +926,7 @@ static void Task_ItemPcWaitButtonAndFinishWithdrawMultiple(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
itemId = ItemPc_GetItemIdBySlotId(data[1]);
|
||||
RemoveItemFromPC(itemId, data[8]);
|
||||
RemovePCItem(itemId, data[8]);
|
||||
ItemPcCompaction();
|
||||
Task_ItemPcCleanUpWithdraw(taskId);
|
||||
}
|
||||
@@ -1029,8 +1029,8 @@ static void Task_ItemPcGive(u8 taskId)
|
||||
|
||||
static void ItemPc_CB2_SwitchToPartyMenu(void)
|
||||
{
|
||||
PartyMenuInit(0, 0, 6, 0, 6, sub_811FB28, ItemPc_CB2_ReturnFromPartyMenu);
|
||||
gUnknown_203B0A0.unkC = ItemPc_GetItemIdBySlotId(ItemPc_GetCursorPosition());
|
||||
InitPartyMenu(0, 0, 6, 0, 6, Task_HandleChooseMonInput, ItemPc_CB2_ReturnFromPartyMenu);
|
||||
gPartyMenu.bagItem = ItemPc_GetItemIdBySlotId(ItemPc_GetCursorPosition());
|
||||
}
|
||||
|
||||
static void ItemPc_CB2_ReturnFromPartyMenu(void)
|
||||
|
||||
+80
-81
@@ -44,37 +44,36 @@
|
||||
#include "constants/songs.h"
|
||||
#include "constants/map_types.h"
|
||||
|
||||
EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
|
||||
static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
|
||||
|
||||
void sub_80A1084(void);
|
||||
void sub_80A109C(u8 taskId);
|
||||
void sub_80A112C(u8 taskId);
|
||||
void sub_80A11C0(u8 taskId);
|
||||
bool8 sub_80A1194(void);
|
||||
void sub_80A1208(void);
|
||||
void ItemUseOnFieldCB_Bicycle(u8 taskId);
|
||||
bool8 ItemUseCheckFunc_Rod(void);
|
||||
void ItemUseOnFieldCB_Rod(u8 taskId);
|
||||
void FieldUseFunc_EvoItem(u8 taskId);
|
||||
void sub_80A1648(u8 taskId);
|
||||
void sub_80A1674(u8 taskId);
|
||||
void InitTMCaseFromBag(void);
|
||||
void Task_InitTMCaseFromField(u8 taskId);
|
||||
void InitBerryPouchFromBag(void);
|
||||
void Task_InitBerryPouchFromField(u8 taskId);
|
||||
void InitBerryPouchFromBattle(void);
|
||||
void InitTeachyTvFromBag(void);
|
||||
void Task_InitTeachyTvFromField(u8 taskId);
|
||||
void sub_80A19E8(u8 taskId);
|
||||
void sub_80A1A44(void);
|
||||
void sub_80A1B48(u8 taskId);
|
||||
void sub_80A1C08(u8 taskId);
|
||||
void sub_80A1CAC(void);
|
||||
void sub_80A1CC0(u8 taskId);
|
||||
void sub_80A1D58(void);
|
||||
void sub_80A1D68(u8 taskId);
|
||||
void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId);
|
||||
void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId);
|
||||
static void sub_80A1084(void);
|
||||
static void sub_80A109C(u8 taskId);
|
||||
static void sub_80A112C(u8 taskId);
|
||||
static void sub_80A11C0(u8 taskId);
|
||||
static bool8 sub_80A1194(void);
|
||||
static void sub_80A1208(void);
|
||||
static void ItemUseOnFieldCB_Bicycle(u8 taskId);
|
||||
static bool8 ItemUseCheckFunc_Rod(void);
|
||||
static void ItemUseOnFieldCB_Rod(u8 taskId);
|
||||
static void sub_80A1648(u8 taskId);
|
||||
static void sub_80A1674(u8 taskId);
|
||||
static void InitTMCaseFromBag(void);
|
||||
static void Task_InitTMCaseFromField(u8 taskId);
|
||||
static void InitBerryPouchFromBag(void);
|
||||
static void Task_InitBerryPouchFromField(u8 taskId);
|
||||
static void InitBerryPouchFromBattle(void);
|
||||
static void InitTeachyTvFromBag(void);
|
||||
static void Task_InitTeachyTvFromField(u8 taskId);
|
||||
static void sub_80A19E8(u8 taskId);
|
||||
static void sub_80A1A44(void);
|
||||
static void sub_80A1B48(u8 taskId);
|
||||
static void sub_80A1C08(u8 taskId);
|
||||
static void sub_80A1CAC(void);
|
||||
static void sub_80A1CC0(u8 taskId);
|
||||
static void sub_80A1D58(void);
|
||||
static void sub_80A1D68(u8 taskId);
|
||||
static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId);
|
||||
static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId);
|
||||
|
||||
// No clue what this is
|
||||
static const u8 sUnref_83E27B4[] = {
|
||||
@@ -132,14 +131,14 @@ static const u8 sUnref_83E27B4[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
void (*const gUnknown_83E2954[])(void) = {
|
||||
sub_8124C8C,
|
||||
static void (*const gUnknown_83E2954[])(void) = {
|
||||
CB2_ShowPartyMenuForItemUse,
|
||||
CB2_ReturnToField,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
void sub_80A0FBC(u8 taskId)
|
||||
static void sub_80A0FBC(u8 taskId)
|
||||
{
|
||||
u8 itemType;
|
||||
if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY)
|
||||
@@ -160,7 +159,7 @@ void sub_80A0FBC(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A103C(u8 taskId)
|
||||
static void sub_80A103C(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[3] != 1)
|
||||
{
|
||||
@@ -171,21 +170,21 @@ void sub_80A103C(u8 taskId)
|
||||
sItemUseOnFieldCB(taskId);
|
||||
}
|
||||
|
||||
void sub_80A1084(void)
|
||||
static void sub_80A1084(void)
|
||||
{
|
||||
sub_807DC00();
|
||||
CreateTask(sub_80A109C, 8);
|
||||
}
|
||||
|
||||
void sub_80A109C(u8 taskId)
|
||||
static void sub_80A109C(u8 taskId)
|
||||
{
|
||||
if (field_weather_is_fade_finished() == TRUE)
|
||||
if (IsWeatherNotFadingIn() == TRUE)
|
||||
{
|
||||
sItemUseOnFieldCB(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
|
||||
static void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
if (a1 == FALSE)
|
||||
@@ -194,12 +193,12 @@ void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
|
||||
DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C);
|
||||
}
|
||||
|
||||
void sub_80A1110(u8 taskId, bool8 a1)
|
||||
static void sub_80A1110(u8 taskId, bool8 a1)
|
||||
{
|
||||
sub_80A10C4(taskId, a1, 4, gUnknown_8416425);
|
||||
}
|
||||
|
||||
void sub_80A112C(u8 taskId)
|
||||
static void sub_80A112C(u8 taskId)
|
||||
{
|
||||
ClearDialogWindowAndFrame(0, 1);
|
||||
DestroyTask(taskId);
|
||||
@@ -207,7 +206,7 @@ void sub_80A112C(u8 taskId)
|
||||
ScriptContext2_Disable();
|
||||
}
|
||||
|
||||
u8 GetItemCompatibilityRule(u16 itemId)
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
|
||||
{
|
||||
if (ItemId_GetPocket(itemId) == POCKET_TM_CASE)
|
||||
return 1;
|
||||
@@ -217,12 +216,12 @@ u8 GetItemCompatibilityRule(u16 itemId)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_80A1184(void)
|
||||
static void sub_80A1184(void)
|
||||
{
|
||||
gFieldCallback2 = sub_80A1194;
|
||||
}
|
||||
|
||||
bool8 sub_80A1194(void)
|
||||
static bool8 sub_80A1194(void)
|
||||
{
|
||||
FreezeEventObjects();
|
||||
ScriptContext2_Enable();
|
||||
@@ -232,9 +231,9 @@ bool8 sub_80A1194(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_80A11C0(u8 taskId)
|
||||
static void sub_80A11C0(u8 taskId)
|
||||
{
|
||||
if (field_weather_is_fade_finished() == TRUE)
|
||||
if (IsWeatherNotFadingIn() == TRUE)
|
||||
{
|
||||
UnfreezeMapObjects();
|
||||
ScriptContext2_Disable();
|
||||
@@ -248,7 +247,7 @@ void FieldUseFunc_OrangeMail(u8 taskId)
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
|
||||
void sub_80A1208(void)
|
||||
static void sub_80A1208(void)
|
||||
{
|
||||
struct MailStruct mail;
|
||||
|
||||
@@ -279,7 +278,7 @@ void FieldUseFunc_MachBike(u8 taskId)
|
||||
sub_80A1110(taskId, gTasks[taskId].data[3]);
|
||||
}
|
||||
|
||||
void ItemUseOnFieldCB_Bicycle(u8 taskId)
|
||||
static void ItemUseOnFieldCB_Bicycle(u8 taskId)
|
||||
{
|
||||
if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
|
||||
PlaySE(SE_JITENSYA);
|
||||
@@ -300,7 +299,7 @@ void FieldUseFunc_OldRod(u8 taskId)
|
||||
sub_80A1110(taskId, gTasks[taskId].data[3]);
|
||||
}
|
||||
|
||||
bool8 ItemUseCheckFunc_Rod(void)
|
||||
static bool8 ItemUseCheckFunc_Rod(void)
|
||||
{
|
||||
s16 x, y;
|
||||
u16 behavior;
|
||||
@@ -327,7 +326,7 @@ bool8 ItemUseCheckFunc_Rod(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void ItemUseOnFieldCB_Rod(u8 taskId)
|
||||
static void ItemUseOnFieldCB_Rod(u8 taskId)
|
||||
{
|
||||
sub_805D2C0(ItemId_GetSecondaryId(gSpecialVar_ItemId));
|
||||
DestroyTask(taskId);
|
||||
@@ -391,13 +390,13 @@ void FieldUseFunc_PokeFlute(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A1648(u8 taskId)
|
||||
static void sub_80A1648(u8 taskId)
|
||||
{
|
||||
PlayFanfareByFanfareNum(FANFARE_POKEFLUTE);
|
||||
gTasks[taskId].func = sub_80A1674;
|
||||
}
|
||||
|
||||
void sub_80A1674(u8 taskId)
|
||||
static void sub_80A1674(u8 taskId)
|
||||
{
|
||||
if (WaitFanfare(FALSE))
|
||||
{
|
||||
@@ -408,44 +407,44 @@ void sub_80A1674(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A16D0(u8 taskId)
|
||||
static void sub_80A16D0(u8 taskId)
|
||||
{
|
||||
sub_80A0FBC(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_Medicine(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = sub_81252D0;
|
||||
gItemUseCB = ItemUseCB_Medicine;
|
||||
sub_80A16D0(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_Ether(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = ItemUseCB_PpRestore;
|
||||
gItemUseCB = ItemUseCB_PPRecovery;
|
||||
sub_80A16D0(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_PpUp(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = dp05_pp_up;
|
||||
gItemUseCB = ItemUseCB_PPUp;
|
||||
sub_80A16D0(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_RareCandy(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = dp05_rare_candy;
|
||||
gItemUseCB = ItemUseCB_RareCandy;
|
||||
sub_80A16D0(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_EvoItem(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = sub_8126B60;
|
||||
gItemUseCB = ItemUseCB_EvolutionStone;
|
||||
sub_80A16D0(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_SacredAsh(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = sub_8126894;
|
||||
gItemUseCB = ItemUseCB_SacredAsh;
|
||||
sub_80A0FBC(taskId);
|
||||
}
|
||||
|
||||
@@ -464,12 +463,12 @@ void FieldUseFunc_TmCase(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void InitTMCaseFromBag(void)
|
||||
static void InitTMCaseFromBag(void)
|
||||
{
|
||||
InitTMCase(0, CB2_BagMenuFromStartMenu, 0);
|
||||
}
|
||||
|
||||
void Task_InitTMCaseFromField(u8 taskId)
|
||||
static void Task_InitTMCaseFromField(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
@@ -495,12 +494,12 @@ void FieldUseFunc_BerryPouch(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void InitBerryPouchFromBag(void)
|
||||
static void InitBerryPouchFromBag(void)
|
||||
{
|
||||
InitBerryPouch(BERRYPOUCH_FROMFIELD, CB2_BagMenuFromStartMenu, 0);
|
||||
}
|
||||
|
||||
void Task_InitBerryPouchFromField(u8 taskId)
|
||||
static void Task_InitBerryPouchFromField(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
@@ -517,7 +516,7 @@ void BattleUseFunc_BerryPouch(u8 taskId)
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
|
||||
void InitBerryPouchFromBattle(void)
|
||||
static void InitBerryPouchFromBattle(void)
|
||||
{
|
||||
InitBerryPouch(BERRYPOUCH_FROMBATTLE, sub_8107ECC, 0);
|
||||
}
|
||||
@@ -538,12 +537,12 @@ void FieldUseFunc_TeachyTv(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void InitTeachyTvFromBag(void)
|
||||
static void InitTeachyTvFromBag(void)
|
||||
{
|
||||
InitTeachyTvController(0, CB2_BagMenuFromStartMenu);
|
||||
}
|
||||
|
||||
void Task_InitTeachyTvFromField(u8 taskId)
|
||||
static void Task_InitTeachyTvFromField(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
@@ -566,7 +565,7 @@ void FieldUseFunc_SuperRepel(u8 taskId)
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_841659E, sub_810A1F8);
|
||||
}
|
||||
|
||||
void sub_80A19E8(u8 taskId)
|
||||
static void sub_80A19E8(u8 taskId)
|
||||
{
|
||||
if (!IsSEPlaying())
|
||||
{
|
||||
@@ -577,7 +576,7 @@ void sub_80A19E8(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A1A44(void)
|
||||
static void sub_80A1A44(void)
|
||||
{
|
||||
RemoveBagItem(gSpecialVar_ItemId, 1);
|
||||
sub_8108DC8(ItemId_GetPocket(gSpecialVar_ItemId));
|
||||
@@ -609,7 +608,7 @@ void FieldUseFunc_BlackFlute(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A1B48(u8 taskId)
|
||||
static void sub_80A1B48(u8 taskId)
|
||||
{
|
||||
if (++gTasks[taskId].data[8] > 7)
|
||||
{
|
||||
@@ -638,7 +637,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId)
|
||||
sub_80A1110(taskId, gTasks[taskId].data[3]);
|
||||
}
|
||||
|
||||
void sub_80A1C08(u8 taskId)
|
||||
static void sub_80A1C08(u8 taskId)
|
||||
{
|
||||
Overworld_ResetStateAfterDigEscRope();
|
||||
sub_80A1A44();
|
||||
@@ -668,12 +667,12 @@ void FieldUseFunc_TownMap(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A1CAC(void)
|
||||
static void sub_80A1CAC(void)
|
||||
{
|
||||
sub_80BFF50(0, CB2_BagMenuFromStartMenu);
|
||||
}
|
||||
|
||||
void sub_80A1CC0(u8 taskId)
|
||||
static void sub_80A1CC0(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
@@ -700,12 +699,12 @@ void FieldUseFunc_FameChecker(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A1D58(void)
|
||||
static void sub_80A1D58(void)
|
||||
{
|
||||
UseFameChecker(CB2_BagMenuFromStartMenu);
|
||||
}
|
||||
|
||||
void sub_80A1D68(u8 taskId)
|
||||
static void sub_80A1D68(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
@@ -765,7 +764,7 @@ void BattleUseFunc_GuardSpec(u8 taskId)
|
||||
{
|
||||
if (ExecuteTableBasedItemEffect(&gPlayerParty[gBattlerPartyIndexes[gBattlerInMenuId]], gSpecialVar_ItemId, gBattlerPartyIndexes[gBattlerInMenuId], 0))
|
||||
{
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_84169DC, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gText_WontHaveEffect, sub_810A1F8);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -774,7 +773,7 @@ void BattleUseFunc_GuardSpec(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId)
|
||||
static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
@@ -787,7 +786,7 @@ void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId)
|
||||
static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId)
|
||||
{
|
||||
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
|
||||
{
|
||||
@@ -796,7 +795,7 @@ void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void ItemUse_SwitchToPartyMenuInBattle(u8 taskId)
|
||||
static void ItemUse_SwitchToPartyMenuInBattle(u8 taskId)
|
||||
{
|
||||
if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH)
|
||||
{
|
||||
@@ -812,19 +811,19 @@ void ItemUse_SwitchToPartyMenuInBattle(u8 taskId)
|
||||
|
||||
void BattleUseFunc_Medicine(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = ItemUseCB_Medicine;
|
||||
gItemUseCB = ItemUseCB_MedicineStep;
|
||||
ItemUse_SwitchToPartyMenuInBattle(taskId);
|
||||
}
|
||||
|
||||
void sub_80A1FD8(u8 taskId)
|
||||
static void sub_80A1FD8(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = sub_8126894;
|
||||
gItemUseCB = ItemUseCB_SacredAsh;
|
||||
ItemUse_SwitchToPartyMenuInBattle(taskId);
|
||||
}
|
||||
|
||||
void BattleUseFunc_Ether(u8 taskId)
|
||||
{
|
||||
gUnknown_3005E98 = ItemUseCB_PpRestore;
|
||||
gItemUseCB = ItemUseCB_PPRecovery;
|
||||
ItemUse_SwitchToPartyMenuInBattle(taskId);
|
||||
}
|
||||
|
||||
|
||||
+63
-63
@@ -70,7 +70,7 @@ static EWRAM_DATA struct MysteryGiftLinkMenuStruct sMysteryGiftLinkMenu = {0};
|
||||
struct ListMenuOverride gListMenuOverride;
|
||||
struct ListMenuTemplate gMultiuseListMenuTemplate;
|
||||
|
||||
static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow);
|
||||
static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
|
||||
static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAndCallCallback, u8 count, bool8 movingDown);
|
||||
static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOffset, u16 count);
|
||||
static void ListMenuDrawCursor(struct ListMenu *list);
|
||||
@@ -172,18 +172,18 @@ s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str
|
||||
return LIST_NOTHING_CHOSEN;
|
||||
}
|
||||
|
||||
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow)
|
||||
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
|
||||
{
|
||||
u8 taskId = ListMenuInitInternal(listMenuTemplate, scrollOffset, selectedRow);
|
||||
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
|
||||
PutWindowTilemap(listMenuTemplate->windowId);
|
||||
CopyWindowToVram(listMenuTemplate->windowId, 2);
|
||||
return taskId;
|
||||
}
|
||||
|
||||
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 scrollOffset, u16 selectedRow)
|
||||
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove)
|
||||
{
|
||||
s32 i;
|
||||
u8 taskId = ListMenuInitInternal(listMenuTemplate, scrollOffset, selectedRow);
|
||||
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
|
||||
|
||||
for (i = 0; rect[i].palNum != 0xFF; i++)
|
||||
PutWindowRectTilemapOverridePalette(listMenuTemplate->windowId, rect[i].x, rect[i].y, rect[i].width, rect[i].height, rect[i].palNum);
|
||||
@@ -197,7 +197,7 @@ s32 ListMenu_ProcessInput(u8 listTaskId)
|
||||
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
return list->template.items[list->scrollOffset + list->selectedRow].index;
|
||||
return list->template.items[list->cursorPos + list->itemsAbove].index;
|
||||
}
|
||||
else if (JOY_NEW(B_BUTTON))
|
||||
{
|
||||
@@ -249,14 +249,14 @@ s32 ListMenu_ProcessInput(u8 listTaskId)
|
||||
}
|
||||
}
|
||||
|
||||
void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow)
|
||||
void DestroyListMenuTask(u8 listTaskId, u16 *cursorPos, u16 *itemsAbove)
|
||||
{
|
||||
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
|
||||
|
||||
if (scrollOffset != NULL)
|
||||
*scrollOffset = list->scrollOffset;
|
||||
if (selectedRow != NULL)
|
||||
*selectedRow = list->selectedRow;
|
||||
if (cursorPos != NULL)
|
||||
*cursorPos = list->cursorPos;
|
||||
if (itemsAbove != NULL)
|
||||
*itemsAbove = list->itemsAbove;
|
||||
|
||||
if (list->taskId != TASK_NONE)
|
||||
ListMenuRemoveCursorObject(list->taskId, list->template.cursorKind - 2);
|
||||
@@ -269,7 +269,7 @@ void RedrawListMenu(u8 listTaskId)
|
||||
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
|
||||
|
||||
FillWindowPixelBuffer(list->template.windowId, PIXEL_FILL(list->template.fillValue));
|
||||
ListMenuPrintEntries(list, list->scrollOffset, 0, list->template.maxShowed);
|
||||
ListMenuPrintEntries(list, list->cursorPos, 0, list->template.maxShowed);
|
||||
ListMenuDrawCursor(list);
|
||||
CopyWindowToVram(list->template.windowId, 2);
|
||||
}
|
||||
@@ -291,13 +291,13 @@ static void ChangeListMenuCoords(u8 listTaskId, u8 x, u8 y)
|
||||
SetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP, y);
|
||||
}
|
||||
|
||||
static s32 ListMenuTestInput(struct ListMenuTemplate *template, u32 scrollOffset, u32 selectedRow, u16 keys, u16 *newScrollOffset, u16 *newSelectedRow)
|
||||
static s32 ListMenuTestInput(struct ListMenuTemplate *template, u32 cursorPos, u32 itemsAbove, u16 keys, u16 *newCursorPos, u16 *newItemsAbove)
|
||||
{
|
||||
struct ListMenu list;
|
||||
|
||||
list.template = *template;
|
||||
list.scrollOffset = scrollOffset;
|
||||
list.selectedRow = selectedRow;
|
||||
list.cursorPos = cursorPos;
|
||||
list.itemsAbove = itemsAbove;
|
||||
list.unk_1C = 0;
|
||||
list.unk_1D = 0;
|
||||
if (keys == DPAD_UP)
|
||||
@@ -305,10 +305,10 @@ static s32 ListMenuTestInput(struct ListMenuTemplate *template, u32 scrollOffset
|
||||
if (keys == DPAD_DOWN)
|
||||
ListMenuChangeSelection(&list, FALSE, 1, TRUE);
|
||||
|
||||
if (newScrollOffset != NULL)
|
||||
*newScrollOffset = list.scrollOffset;
|
||||
if (newSelectedRow != NULL)
|
||||
*newSelectedRow = list.selectedRow;
|
||||
if (newCursorPos != NULL)
|
||||
*newCursorPos = list.cursorPos;
|
||||
if (newItemsAbove != NULL)
|
||||
*newItemsAbove = list.itemsAbove;
|
||||
return LIST_NOTHING_CHOSEN;
|
||||
}
|
||||
|
||||
@@ -317,17 +317,17 @@ static void ListMenuGetCurrentItemArrayId(u8 listTaskId, u16 *arrayId)
|
||||
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
|
||||
|
||||
if (arrayId != NULL)
|
||||
*arrayId = list->scrollOffset + list->selectedRow;
|
||||
*arrayId = list->cursorPos + list->itemsAbove;
|
||||
}
|
||||
|
||||
void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow)
|
||||
void ListMenuGetScrollAndRow(u8 listTaskId, u16 *cursorPos, u16 *itemsAbove)
|
||||
{
|
||||
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
|
||||
|
||||
if (scrollOffset != NULL)
|
||||
*scrollOffset = list->scrollOffset;
|
||||
if (selectedRow != NULL)
|
||||
*selectedRow = list->selectedRow;
|
||||
if (cursorPos != NULL)
|
||||
*cursorPos = list->cursorPos;
|
||||
if (itemsAbove != NULL)
|
||||
*itemsAbove = list->itemsAbove;
|
||||
}
|
||||
|
||||
u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId)
|
||||
@@ -335,17 +335,17 @@ u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId)
|
||||
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
|
||||
u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding;
|
||||
|
||||
return list->selectedRow * yMultiplier + list->template.upText_Y;
|
||||
return list->itemsAbove * yMultiplier + list->template.upText_Y;
|
||||
}
|
||||
|
||||
static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow)
|
||||
static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
|
||||
{
|
||||
u8 listTaskId = CreateTask(ListMenuDummyTask, 0);
|
||||
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
|
||||
|
||||
list->template = *listMenuTemplate;
|
||||
list->scrollOffset = scrollOffset;
|
||||
list->selectedRow = selectedRow;
|
||||
list->cursorPos = cursorPos;
|
||||
list->itemsAbove = itemsAbove;
|
||||
list->unk_1C = 0;
|
||||
list->unk_1D = 0;
|
||||
list->taskId = TASK_NONE;
|
||||
@@ -359,7 +359,7 @@ static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 sc
|
||||
if (list->template.totalItems < list->template.maxShowed)
|
||||
list->template.maxShowed = list->template.totalItems;
|
||||
FillWindowPixelBuffer(list->template.windowId, PIXEL_FILL(list->template.fillValue));
|
||||
ListMenuPrintEntries(list, list->scrollOffset, 0, list->template.maxShowed);
|
||||
ListMenuPrintEntries(list, list->cursorPos, 0, list->template.maxShowed);
|
||||
ListMenuDrawCursor(list);
|
||||
ListMenuCallSelectionChangedCallback(list, TRUE);
|
||||
|
||||
@@ -410,7 +410,7 @@ static void ListMenuDrawCursor(struct ListMenu *list)
|
||||
{
|
||||
u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding;
|
||||
u8 x = list->template.cursor_X;
|
||||
u8 y = list->selectedRow * yMultiplier + list->template.upText_Y;
|
||||
u8 y = list->itemsAbove * yMultiplier + list->template.upText_Y;
|
||||
|
||||
switch (list->template.cursorKind)
|
||||
{
|
||||
@@ -446,7 +446,7 @@ static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind)
|
||||
return ListMenuAddCursorObjectInternal(&cursor, cursorKind);
|
||||
}
|
||||
|
||||
static void ListMenuErasePrintedCursor(struct ListMenu *list, u16 selectedRow)
|
||||
static void ListMenuErasePrintedCursor(struct ListMenu *list, u16 itemsAbove)
|
||||
{
|
||||
u8 cursorKind = list->template.cursorKind;
|
||||
if (cursorKind == 0)
|
||||
@@ -457,7 +457,7 @@ static void ListMenuErasePrintedCursor(struct ListMenu *list, u16 selectedRow)
|
||||
FillWindowPixelRect(list->template.windowId,
|
||||
PIXEL_FILL(list->template.fillValue),
|
||||
list->template.cursor_X,
|
||||
selectedRow * yMultiplier + list->template.upText_Y,
|
||||
itemsAbove * yMultiplier + list->template.upText_Y,
|
||||
width,
|
||||
height);
|
||||
}
|
||||
@@ -465,8 +465,8 @@ static void ListMenuErasePrintedCursor(struct ListMenu *list, u16 selectedRow)
|
||||
|
||||
static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, bool8 movingDown)
|
||||
{
|
||||
u16 selectedRow = list->selectedRow;
|
||||
u16 scrollOffset = list->scrollOffset;
|
||||
u16 itemsAbove = list->itemsAbove;
|
||||
u16 cursorPos = list->cursorPos;
|
||||
u16 newRow;
|
||||
u32 newScroll;
|
||||
|
||||
@@ -477,14 +477,14 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b
|
||||
else
|
||||
newRow = list->template.maxShowed - ((list->template.maxShowed / 2) + (list->template.maxShowed % 2)) - 1;
|
||||
|
||||
if (scrollOffset == 0)
|
||||
if (cursorPos == 0)
|
||||
{
|
||||
while (selectedRow != 0)
|
||||
while (itemsAbove != 0)
|
||||
{
|
||||
selectedRow--;
|
||||
if (list->template.items[scrollOffset + selectedRow].index != LIST_HEADER)
|
||||
itemsAbove--;
|
||||
if (list->template.items[cursorPos + itemsAbove].index != LIST_HEADER)
|
||||
{
|
||||
list->selectedRow = selectedRow;
|
||||
list->itemsAbove = itemsAbove;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -492,16 +492,16 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b
|
||||
}
|
||||
else
|
||||
{
|
||||
while (selectedRow > newRow)
|
||||
while (itemsAbove > newRow)
|
||||
{
|
||||
selectedRow--;
|
||||
if (list->template.items[scrollOffset + selectedRow].index != LIST_HEADER)
|
||||
itemsAbove--;
|
||||
if (list->template.items[cursorPos + itemsAbove].index != LIST_HEADER)
|
||||
{
|
||||
list->selectedRow = selectedRow;
|
||||
list->itemsAbove = itemsAbove;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
newScroll = scrollOffset - 1;
|
||||
newScroll = cursorPos - 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -511,14 +511,14 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b
|
||||
else
|
||||
newRow = ((list->template.maxShowed / 2) + (list->template.maxShowed % 2));
|
||||
|
||||
if (scrollOffset == list->template.totalItems - list->template.maxShowed)
|
||||
if (cursorPos == list->template.totalItems - list->template.maxShowed)
|
||||
{
|
||||
while (selectedRow < list->template.maxShowed - 1)
|
||||
while (itemsAbove < list->template.maxShowed - 1)
|
||||
{
|
||||
selectedRow++;
|
||||
if (list->template.items[scrollOffset + selectedRow].index != LIST_HEADER)
|
||||
itemsAbove++;
|
||||
if (list->template.items[cursorPos + itemsAbove].index != LIST_HEADER)
|
||||
{
|
||||
list->selectedRow = selectedRow;
|
||||
list->itemsAbove = itemsAbove;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -526,20 +526,20 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b
|
||||
}
|
||||
else
|
||||
{
|
||||
while (selectedRow < newRow)
|
||||
while (itemsAbove < newRow)
|
||||
{
|
||||
selectedRow++;
|
||||
if (list->template.items[scrollOffset + selectedRow].index != LIST_HEADER)
|
||||
itemsAbove++;
|
||||
if (list->template.items[cursorPos + itemsAbove].index != LIST_HEADER)
|
||||
{
|
||||
list->selectedRow = selectedRow;
|
||||
list->itemsAbove = itemsAbove;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
newScroll = scrollOffset + 1;
|
||||
newScroll = cursorPos + 1;
|
||||
}
|
||||
}
|
||||
list->selectedRow = newRow;
|
||||
list->scrollOffset = newScroll;
|
||||
list->itemsAbove = newRow;
|
||||
list->cursorPos = newScroll;
|
||||
return 2;
|
||||
}
|
||||
|
||||
@@ -548,7 +548,7 @@ static void ListMenuScroll(struct ListMenu *list, u8 count, bool8 movingDown)
|
||||
if (count >= list->template.maxShowed)
|
||||
{
|
||||
FillWindowPixelBuffer(list->template.windowId, PIXEL_FILL(list->template.fillValue));
|
||||
ListMenuPrintEntries(list, list->scrollOffset, 0, list->template.maxShowed);
|
||||
ListMenuPrintEntries(list, list->cursorPos, 0, list->template.maxShowed);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -559,7 +559,7 @@ static void ListMenuScroll(struct ListMenu *list, u8 count, bool8 movingDown)
|
||||
u16 y, width, height;
|
||||
|
||||
ScrollWindow(list->template.windowId, 1, count * yMultiplier, PIXEL_FILL(list->template.fillValue));
|
||||
ListMenuPrintEntries(list, list->scrollOffset, 0, count);
|
||||
ListMenuPrintEntries(list, list->cursorPos, 0, count);
|
||||
|
||||
y = (list->template.maxShowed * yMultiplier) + list->template.upText_Y;
|
||||
width = GetWindowAttribute(list->template.windowId, WINDOW_WIDTH) * 8;
|
||||
@@ -573,7 +573,7 @@ static void ListMenuScroll(struct ListMenu *list, u8 count, bool8 movingDown)
|
||||
u16 width;
|
||||
|
||||
ScrollWindow(list->template.windowId, 0, count * yMultiplier, PIXEL_FILL(list->template.fillValue));
|
||||
ListMenuPrintEntries(list, list->scrollOffset + (list->template.maxShowed - count), list->template.maxShowed - count, count);
|
||||
ListMenuPrintEntries(list, list->cursorPos + (list->template.maxShowed - count), list->template.maxShowed - count, count);
|
||||
|
||||
width = GetWindowAttribute(list->template.windowId, WINDOW_WIDTH) * 8;
|
||||
FillWindowPixelRect(list->template.windowId,
|
||||
@@ -588,7 +588,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn
|
||||
u16 oldSelectedRow;
|
||||
u8 selectionChange, i, cursorCount;
|
||||
|
||||
oldSelectedRow = list->selectedRow;
|
||||
oldSelectedRow = list->itemsAbove;
|
||||
cursorCount = 0;
|
||||
selectionChange = 0;
|
||||
for (i = 0; i < count; i++)
|
||||
@@ -602,7 +602,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn
|
||||
break;
|
||||
cursorCount++;
|
||||
}
|
||||
while (list->template.items[list->scrollOffset + list->selectedRow].index == LIST_HEADER);
|
||||
while (list->template.items[list->cursorPos + list->itemsAbove].index == LIST_HEADER);
|
||||
}
|
||||
|
||||
if (updateCursorAndCallCallback)
|
||||
@@ -634,7 +634,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn
|
||||
static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 onInit)
|
||||
{
|
||||
if (list->template.moveCursorFunc != NULL)
|
||||
list->template.moveCursorFunc(list->template.items[list->scrollOffset + list->selectedRow].index, onInit, list);
|
||||
list->template.moveCursorFunc(list->template.items[list->cursorPos + list->itemsAbove].index, onInit, list);
|
||||
}
|
||||
|
||||
void ListMenuOverrideSetColors(u8 cursorPal, u8 fillValue, u8 cursorShadowPal)
|
||||
|
||||
+2
-2
@@ -123,7 +123,7 @@ u8 MailboxPC_InitListMenu(struct PlayerPCItemPageStruct * playerPcStruct)
|
||||
gMultiuseListMenuTemplate.itemPrintFunc = ItemPrintFunc;
|
||||
gMultiuseListMenuTemplate.cursorKind = 0;
|
||||
gMultiuseListMenuTemplate.scrollMultiple = 0;
|
||||
return ListMenuInit(&gMultiuseListMenuTemplate, playerPcStruct->scrollOffset, playerPcStruct->selectedRow);
|
||||
return ListMenuInit(&gMultiuseListMenuTemplate, playerPcStruct->itemsAbove, playerPcStruct->cursorPos);
|
||||
}
|
||||
|
||||
static void MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list)
|
||||
@@ -134,7 +134,7 @@ static void MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list)
|
||||
|
||||
void MailboxPC_AddScrollIndicatorArrows(struct PlayerPCItemPageStruct * playerPcStruct)
|
||||
{
|
||||
playerPcStruct->scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->count - playerPcStruct->pageItems + 1, 110, 110, &playerPcStruct->scrollOffset);
|
||||
playerPcStruct->scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->count - playerPcStruct->pageItems + 1, 110, 110, &playerPcStruct->itemsAbove);
|
||||
}
|
||||
|
||||
void MailboxPC_DestroyListMenuBuffer(void)
|
||||
|
||||
@@ -495,7 +495,7 @@ static void sub_80F83D0(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (field_weather_is_fade_finished())
|
||||
if (IsWeatherNotFadingIn())
|
||||
{
|
||||
Overworld_PlaySpecialMapMusic();
|
||||
data[0]++;
|
||||
|
||||
+4
-4
@@ -815,13 +815,13 @@ static s8 sub_81106F4(void)
|
||||
MultichoiceGrid_MoveCursor(0, 1);
|
||||
return MENU_NOTHING_CHOSEN;
|
||||
}
|
||||
else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT || sub_80BF66C() == 1)
|
||||
else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == 1)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
MultichoiceGrid_MoveCursor(-1, 0);
|
||||
return MENU_NOTHING_CHOSEN;
|
||||
}
|
||||
else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT || sub_80BF66C() == 2)
|
||||
else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == 2)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
MultichoiceGrid_MoveCursor(1, 0);
|
||||
@@ -857,13 +857,13 @@ static s8 sub_81107A0(void)
|
||||
PlaySE(SE_SELECT);
|
||||
return MENU_NOTHING_CHOSEN;
|
||||
}
|
||||
else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT || sub_80BF66C() == 1)
|
||||
else if (JOY_REPT(DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == 1)
|
||||
{
|
||||
if (oldPos != MultichoiceGrid_MoveCursorIfValid(-1, 0))
|
||||
PlaySE(SE_SELECT);
|
||||
return MENU_NOTHING_CHOSEN;
|
||||
}
|
||||
else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT || sub_80BF66C() == 2)
|
||||
else if (JOY_REPT(DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == 2)
|
||||
{
|
||||
if (oldPos != MultichoiceGrid_MoveCursorIfValid(1, 0))
|
||||
PlaySE(SE_SELECT);
|
||||
|
||||
+2
-2
@@ -83,7 +83,7 @@ u8 GetLRKeysState(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u8 sub_80BF66C(void)
|
||||
u8 GetLRKeysPressedAndHeld(void)
|
||||
{
|
||||
if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR)
|
||||
{
|
||||
@@ -149,7 +149,7 @@ void SetVBlankHBlankCallbacksToNull(void)
|
||||
SetHBlankCallback(NULL);
|
||||
}
|
||||
|
||||
void ClearVramOamPltt(void)
|
||||
void ResetVramOamAndBgCntRegs(void)
|
||||
{
|
||||
ResetAllBgsCoordinatesAndBgCntRegs();
|
||||
CpuFill16(0, (void*) VRAM, VRAM_SIZE);
|
||||
|
||||
@@ -343,7 +343,7 @@ static u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u1
|
||||
return LoadBgTilemap(bgId, src, size, offset);
|
||||
}
|
||||
|
||||
void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette)
|
||||
void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette)
|
||||
{
|
||||
u8 i, j;
|
||||
u16 *ptr = GetBgTilemapBuffer(bgId);
|
||||
@@ -357,7 +357,7 @@ void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette)
|
||||
}
|
||||
}
|
||||
|
||||
void CopyRectIntoAltRect(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height)
|
||||
void CopyToBufferFromBgTilemap(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height)
|
||||
{
|
||||
u8 i,j;
|
||||
const u16 *src = GetBgTilemapBuffer(bgId);
|
||||
|
||||
+1
-1
@@ -206,7 +206,7 @@ void CB2_OptionsMenuFromStartMenu(void)
|
||||
u8 i;
|
||||
|
||||
if (gMain.savedCallback == NULL)
|
||||
gMain.savedCallback = CB2_ReturnToStartMenu;
|
||||
gMain.savedCallback = CB2_ReturnToFieldWithOpenMenu;
|
||||
sOptionMenuPtr = AllocZeroed(sizeof(struct OptionMenu));
|
||||
sOptionMenuPtr->state3 = 0;
|
||||
sOptionMenuPtr->state2 = 0;
|
||||
|
||||
+6381
File diff suppressed because it is too large
Load Diff
+16
-16
@@ -38,7 +38,7 @@ static EWRAM_DATA const u8 *sItemOrder = NULL;
|
||||
static EWRAM_DATA u8 sTopMenuItemCount = 0;
|
||||
EWRAM_DATA struct PlayerPCItemPageStruct gPlayerPcMenuManager = {};
|
||||
|
||||
#define SELECTED_MAIL (gSaveBlock1Ptr->mail[PC_MAIL_NUM(gPlayerPcMenuManager.scrollOffset) + gPlayerPcMenuManager.selectedRow])
|
||||
#define SELECTED_MAIL (gSaveBlock1Ptr->mail[PC_MAIL_NUM(gPlayerPcMenuManager.itemsAbove) + gPlayerPcMenuManager.cursorPos])
|
||||
|
||||
static void Task_DrawPlayerPcTopMenu(u8 taskId);
|
||||
static void Task_TopMenuHandleInput(u8 taskId);
|
||||
@@ -234,8 +234,8 @@ static void Task_PlayerPcMailbox(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
gPlayerPcMenuManager.selectedRow = 0;
|
||||
gPlayerPcMenuManager.scrollOffset = 0;
|
||||
gPlayerPcMenuManager.cursorPos = 0;
|
||||
gPlayerPcMenuManager.itemsAbove = 0;
|
||||
PCMailCompaction();
|
||||
Task_SetPageItemVars(taskId);
|
||||
if (gPlayerPcMenuManager.unk_9 == 0)
|
||||
@@ -322,7 +322,7 @@ static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
sub_8107DB4(3, POCKET_ITEMS - 1, CB2_ReturnToField);
|
||||
GoToBagMenu(3, POCKET_ITEMS - 1, CB2_ReturnToField);
|
||||
gFieldCallback = CB2_ReturnFromDepositMenu;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@@ -336,7 +336,7 @@ static void Task_PlayerPcDepositItem(u8 taskId)
|
||||
|
||||
static void Task_ReturnToItemStorageSubmenu(u8 taskId)
|
||||
{
|
||||
if (field_weather_is_fade_finished() == TRUE)
|
||||
if (IsWeatherNotFadingIn() == TRUE)
|
||||
gTasks[taskId].func = Task_TopMenu_ItemStorageSubmenu_HandleInput;
|
||||
}
|
||||
|
||||
@@ -469,7 +469,7 @@ static void Task_MailboxPcHandleInput(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
input = ListMenu_ProcessInput(tListMenuTaskId);
|
||||
ListMenuGetScrollAndRow(tListMenuTaskId, &gPlayerPcMenuManager.scrollOffset, &gPlayerPcMenuManager.selectedRow);
|
||||
ListMenuGetScrollAndRow(tListMenuTaskId, &gPlayerPcMenuManager.itemsAbove, &gPlayerPcMenuManager.cursorPos);
|
||||
switch (input)
|
||||
{
|
||||
case -1:
|
||||
@@ -483,7 +483,7 @@ static void Task_MailboxPcHandleInput(u8 taskId)
|
||||
PlaySE(SE_SELECT);
|
||||
MailboxPC_RemoveWindow(0);
|
||||
MailboxPC_RemoveWindow(1);
|
||||
DestroyListMenuTask(tListMenuTaskId, &gPlayerPcMenuManager.scrollOffset, &gPlayerPcMenuManager.selectedRow);
|
||||
DestroyListMenuTask(tListMenuTaskId, &gPlayerPcMenuManager.itemsAbove, &gPlayerPcMenuManager.cursorPos);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
RemoveScrollIndicatorArrowPair(gPlayerPcMenuManager.scrollIndicatorId);
|
||||
gTasks[taskId].func = Task_PrintWhatToDoWithSelectedMail;
|
||||
@@ -573,7 +573,7 @@ static void Task_WaitFadeAndReadSelectedMail(u8 taskId)
|
||||
|
||||
static void Task_WaitFadeAndReturnToMailboxPcInputHandler(u8 taskId)
|
||||
{
|
||||
if (field_weather_is_fade_finished() == TRUE)
|
||||
if (IsWeatherNotFadingIn() == TRUE)
|
||||
gTasks[taskId].func = Task_MailboxPcHandleInput;
|
||||
}
|
||||
|
||||
@@ -641,10 +641,10 @@ static void Task_TryPutMailInBag_DestroyMsgIfSuccessful(u8 taskId)
|
||||
ClearMailStruct(mail);
|
||||
PCMailCompaction();
|
||||
gPlayerPcMenuManager.count--;
|
||||
if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.scrollOffset)
|
||||
if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.itemsAbove)
|
||||
{
|
||||
if (gPlayerPcMenuManager.scrollOffset != 0)
|
||||
gPlayerPcMenuManager.scrollOffset--;
|
||||
if (gPlayerPcMenuManager.itemsAbove != 0)
|
||||
gPlayerPcMenuManager.itemsAbove--;
|
||||
}
|
||||
Task_SetPageItemVars(taskId);
|
||||
}
|
||||
@@ -674,7 +674,7 @@ static void Task_WaitFadeAndGoToPartyMenu(u8 taskId)
|
||||
{
|
||||
MailboxPC_DestroyListMenuBuffer();
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
PartyMenuInit_FromPlayerPc();
|
||||
ChooseMonToGiveMailFromMailbox();
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -693,10 +693,10 @@ static void CB2_ReturnToMailboxPc_UpdateScrollVariables(void)
|
||||
PCMailCompaction();
|
||||
if (count != gPlayerPcMenuManager.count)
|
||||
{
|
||||
if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.scrollOffset)
|
||||
if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.itemsAbove)
|
||||
{
|
||||
if (gPlayerPcMenuManager.scrollOffset != 0)
|
||||
gPlayerPcMenuManager.scrollOffset--;
|
||||
if (gPlayerPcMenuManager.itemsAbove != 0)
|
||||
gPlayerPcMenuManager.itemsAbove--;
|
||||
}
|
||||
}
|
||||
Task_SetPageItemVars(taskId);
|
||||
@@ -708,7 +708,7 @@ static void CB2_ReturnToMailboxPc_UpdateScrollVariables(void)
|
||||
sub_807DC00();
|
||||
}
|
||||
|
||||
void CB2_PlayerPC_ReturnFromPartyMenu(void)
|
||||
void Mailbox_ReturnToMailListAfterDeposit(void)
|
||||
{
|
||||
gFieldCallback = CB2_ReturnToMailboxPc_UpdateScrollVariables;
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
|
||||
+10
-10
@@ -4117,7 +4117,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
if (sp34 != 4)
|
||||
{
|
||||
gAbsentBattlerFlags &= ~gBitTable[sp34];
|
||||
CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlerPartyIndexes[sp34]));
|
||||
CopyPlayerPartyMonToBattleData(sp34, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[sp34]));
|
||||
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255)
|
||||
gBattleResults.numRevivesUsed++;
|
||||
}
|
||||
@@ -4405,7 +4405,7 @@ static bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask,
|
||||
}
|
||||
}
|
||||
|
||||
bool8 PokemonUseItemEffects2(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex)
|
||||
bool8 PokemonItemUseNoEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex)
|
||||
{
|
||||
u32 data;
|
||||
s32 tmp;
|
||||
@@ -4796,9 +4796,9 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit)
|
||||
static void sub_8042D50(int stat)
|
||||
{
|
||||
gBattlerTarget = gBattlerInMenuId;
|
||||
StringCopy(gBattleTextBuff1, gUnknown_83FD5D0[gUnknown_825DFF0[stat]]);
|
||||
StringCopy(gBattleTextBuff2, BattleText_Rose);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(BattleText_UnknownString3);
|
||||
StringCopy(gBattleTextBuff1, gStatNamesTable[gUnknown_825DFF0[stat]]);
|
||||
StringCopy(gBattleTextBuff2, gBattleText_Rose);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleText_UnknownString3);
|
||||
}
|
||||
|
||||
const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId)
|
||||
@@ -4837,7 +4837,7 @@ const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId)
|
||||
else
|
||||
{
|
||||
gBattlerAttacker = gBattlerInMenuId;
|
||||
BattleStringExpandPlaceholdersToDisplayedString(BattleText_GetPumped);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleText_GetPumped);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4845,7 +4845,7 @@ const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId)
|
||||
if (itemEffect[3] & 0x80)
|
||||
{
|
||||
gBattlerAttacker = gBattlerInMenuId;
|
||||
BattleStringExpandPlaceholdersToDisplayedString(BattleText_MistShroud);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleText_MistShroud);
|
||||
}
|
||||
|
||||
return gDisplayedStringBattle;
|
||||
@@ -5179,7 +5179,7 @@ void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies)
|
||||
SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[newSpecies]);
|
||||
}
|
||||
|
||||
bool8 sub_80435E0(void)
|
||||
bool8 GetPlayerFlankId(void)
|
||||
{
|
||||
bool8 retVal = FALSE;
|
||||
switch (gLinkPlayers[GetMultiplayerId()].id)
|
||||
@@ -5813,11 +5813,11 @@ void SetMonPreventsSwitchingString(void)
|
||||
gBattleTextBuff1[4] = B_BUFF_EOS;
|
||||
|
||||
if (GetBattlerSide(gBattleStruct->battlerPreventingSwitchout) == B_SIDE_PLAYER)
|
||||
gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]);
|
||||
gBattleTextBuff1[3] = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]);
|
||||
else
|
||||
gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout];
|
||||
|
||||
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, pokemon_order_func(gBattlerPartyIndexes[gBattlerInMenuId]))
|
||||
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattlerInMenuId]))
|
||||
|
||||
BattleStringExpandPlaceholders(gText_PkmnsXPreventsSwitching, gStringVar4);
|
||||
}
|
||||
|
||||
+1
-1
@@ -1276,7 +1276,7 @@ static void DestroyMonIconInternal(struct Sprite * sprite)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
void MonIcon_SetAnim(struct Sprite * sprite, u8 animNum)
|
||||
void SetPartyHPBarSprite(struct Sprite * sprite, u8 animNum)
|
||||
{
|
||||
sprite->animNum = animNum;
|
||||
sprite->animDelayCounter = 0;
|
||||
|
||||
+18
-18
@@ -987,7 +987,7 @@ void sub_8111708(void)
|
||||
gSaveBlock1Ptr->mapDataId = VarGet(VAR_0x40AE);
|
||||
if (gSaveBlock1Ptr->mapDataId == 0)
|
||||
{
|
||||
sp0 = *get_mapheader_by_bank_and_number(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum);
|
||||
sp0 = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum);
|
||||
gSaveBlock1Ptr->mapDataId = sp0.mapDataId;
|
||||
}
|
||||
}
|
||||
@@ -1363,7 +1363,7 @@ static void sub_8111FCC(u8 taskId)
|
||||
{
|
||||
if (gUnknown_203AE94.unk_0_6 != 1)
|
||||
{
|
||||
sub_80C4DF8(gStringVar1, gMapHeader.regionMapSectionId);
|
||||
GetMapNameGeneric(gStringVar1, gMapHeader.regionMapSectionId);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841B073);
|
||||
sub_8111D10();
|
||||
}
|
||||
@@ -1972,15 +1972,15 @@ void DestroyHelpMessageWindow(u8 a0)
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_8112F18(u8 a0)
|
||||
void sub_8112F18(u8 windowId)
|
||||
{
|
||||
u8 width = GetWindowAttribute(a0, WINDOW_WIDTH);
|
||||
u8 height = GetWindowAttribute(a0, WINDOW_HEIGHT);
|
||||
u8 width = GetWindowAttribute(windowId, WINDOW_WIDTH);
|
||||
u8 height = GetWindowAttribute(windowId, WINDOW_HEIGHT);
|
||||
u8 *buffer = Alloc(32 * width * height);
|
||||
u8 i, j;
|
||||
u8 k;
|
||||
|
||||
if (buffer)
|
||||
if (buffer != NULL)
|
||||
{
|
||||
for (i = 0; i < height; i++)
|
||||
{
|
||||
@@ -1999,13 +1999,13 @@ void sub_8112F18(u8 a0)
|
||||
);
|
||||
}
|
||||
}
|
||||
CopyToWindowPixelBuffer(a0, buffer, width * height * 32, 0);
|
||||
CopyToWindowPixelBuffer(windowId, buffer, width * height * 32, 0);
|
||||
Free(buffer);
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_8112F18(u8 a0)
|
||||
void sub_8112F18(u8 windowId)
|
||||
{
|
||||
asm_unified("\tpush {r4-r7,lr}\n"
|
||||
"\tmov r7, r10\n"
|
||||
@@ -3166,7 +3166,7 @@ static const u16 *sub_8113FBC(const u16 *a0)
|
||||
StringCopy(gStringVar1, ItemId_GetName(r5[0]));
|
||||
if (r5[0] == ITEM_ESCAPE_ROPE)
|
||||
{
|
||||
sub_80C4DF8(gStringVar2, r5[2]);
|
||||
GetMapNameGeneric(gStringVar2, r5[2]);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841AFA6);
|
||||
}
|
||||
else if (r5[1] != 0xFFFF)
|
||||
@@ -3814,7 +3814,7 @@ static const u16 *sub_8114D68(const u16 *a0)
|
||||
a0 = sub_8113E88(30, a0);
|
||||
r6 = (const u8 *)a0 + 6;
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r6[0]);
|
||||
GetMapNameGeneric(gStringVar1, r6[0]);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gTrainers[a0[2]].trainerName);
|
||||
QuestLog_AutoGetSpeciesName(a0[0], 0, 2);
|
||||
@@ -3855,7 +3855,7 @@ static const u16 *sub_8114E68(const u16 *a0)
|
||||
|
||||
r6 = (const u8 *)a0 + 8;
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r6[2]);
|
||||
GetMapNameGeneric(gStringVar1, r6[2]);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
QuestLog_AutoGetSpeciesName(a0[2], NULL, 1);
|
||||
ConvertIntToDecimalStringN(gStringVar2, r6[0], STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
@@ -3983,7 +3983,7 @@ static const u16 *sub_81151DC(const u16 *a0)
|
||||
const u16 *r5 = sub_8113E88(34, a0);
|
||||
const u8 *r6 = (const u8 *)r5 + 6;
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r6[0]);
|
||||
GetMapNameGeneric(gStringVar1, r6[0]);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
if (
|
||||
gTrainers[r5[2]].trainerClass == 0x51
|
||||
@@ -4164,7 +4164,7 @@ static const u16 *sub_81152BC(const u16 *a0)
|
||||
const u16 *r5 = sub_8113E88(35, a0);
|
||||
const u8 *r5_2 = (const u8 *)r5 + 0;
|
||||
r6 = r5_2[1];
|
||||
sub_80C4DF8(gStringVar1, r5_2[0]);
|
||||
GetMapNameGeneric(gStringVar1, r5_2[0]);
|
||||
StringCopy(gStringVar2, gUnknown_8456AF0[r6]);
|
||||
if (gUnknown_8456BE4[r6] == 5)
|
||||
{
|
||||
@@ -4238,7 +4238,7 @@ static const u16 *sub_8115460(const u16 *a0)
|
||||
const u8 *r5 = (const u8 *)r4 + 2;
|
||||
QuestLog_AutoGetSpeciesName(r4[0], gStringVar1, 0);
|
||||
if (r5[1] != 0xFF)
|
||||
sub_80C4DF8(gStringVar2, r5[1]);
|
||||
GetMapNameGeneric(gStringVar2, r5[1]);
|
||||
if (r5[0] == 7)
|
||||
{
|
||||
if (r5[1] == 0x58)
|
||||
@@ -4270,7 +4270,7 @@ static const u16 *sub_8115518(const u16 *a0)
|
||||
const u8 *r7 = (const u8 *)r4 + 8;
|
||||
u32 r6 = (r4[2] << 16) + r4[3];
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r7[0]);
|
||||
GetMapNameGeneric(gStringVar1, r7[0]);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r4[0]));
|
||||
if (r4[1] < 2)
|
||||
@@ -4303,7 +4303,7 @@ static const u16 *sub_81155E0(const u16 *a0) {
|
||||
const u8 *r7 = (const u8 *) r5 + 8;
|
||||
u32 r6 = (r5[2] << 16) + r5[3];
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r7[0]);
|
||||
GetMapNameGeneric(gStringVar1, r7[0]);
|
||||
if (r7[1] == 0) {
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1);
|
||||
@@ -4344,7 +4344,7 @@ static const u16 *sub_8115700(const u16 *a0)
|
||||
{
|
||||
const u16 *r4 = sub_8113E88(40, a0);
|
||||
const u8 *r5 = (const u8 *)r4 + 2;
|
||||
sub_80C4DF8(gStringVar1, r5[0]);
|
||||
GetMapNameGeneric(gStringVar1, r5[0]);
|
||||
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841B03F);
|
||||
return (const u16 *)(r5 + 2);
|
||||
@@ -4420,7 +4420,7 @@ static u16 *sub_81157DC(u16 *a0, const u16 *a1)
|
||||
static const u16 *sub_8115800(const u16 *a0)
|
||||
{
|
||||
const u16 *r4 = sub_8113E88(42, a0);
|
||||
sub_80C4DF8(gStringVar1, r4[0]);
|
||||
GetMapNameGeneric(gStringVar1, r4[0]);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841B064);
|
||||
return r4 + 1;
|
||||
}
|
||||
|
||||
+1
-1
@@ -236,5 +236,5 @@ u16 GetRoamerLocationMapSectionId(void)
|
||||
struct Roamer *roamer = &saveRoamer;
|
||||
if (!saveRoamer.active)
|
||||
return MAPSEC_NONE;
|
||||
return get_mapheader_by_bank_and_number(sRoamerLocation[MAP_GRP], sRoamerLocation[MAP_NUM])->regionMapSectionId;
|
||||
return Overworld_GetMapHeaderByGroupAndId(sRoamerLocation[MAP_GRP], sRoamerLocation[MAP_NUM])->regionMapSectionId;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ void SaveStatToString(u8 gameStatId, u8 *dest0, u8 color)
|
||||
dest = ConvertIntToDecimalStringN(dest, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
break;
|
||||
case SAVE_STAT_LOCATION:
|
||||
sub_80C4DF8(dest, gMapHeader.regionMapSectionId);
|
||||
GetMapNameGeneric(dest, gMapHeader.regionMapSectionId);
|
||||
break;
|
||||
case SAVE_STAT_BADGES:
|
||||
for (flagId = FLAG_BADGE01_GET, nBadges = 0; flagId < FLAG_BADGE01_GET + 8; flagId++)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#define tY data[5]
|
||||
#define tListTaskId data[7]
|
||||
|
||||
EWRAM_DATA u8 gUnknown_2039984 = 0;
|
||||
static EWRAM_DATA u8 gUnknown_2039984 = 0;
|
||||
|
||||
static void sub_809C1D8(u8 taskId, const u16* a1, u16 a2);
|
||||
static void sub_809C334(u8 taskId);
|
||||
|
||||
+47
-51
@@ -95,15 +95,15 @@ struct MartHistory
|
||||
/*0x17*/ u8 unk17;
|
||||
}; /* size = 0x18 */
|
||||
|
||||
EWRAM_DATA s16 sViewportMapObjects[MAP_OBJECTS_COUNT][4] = {0};
|
||||
static EWRAM_DATA s16 sViewportMapObjects[MAP_OBJECTS_COUNT][4] = {0};
|
||||
EWRAM_DATA struct ShopData gShopData = {0};
|
||||
EWRAM_DATA u8 sShopMenuWindowId = 0;
|
||||
static EWRAM_DATA u8 sShopMenuWindowId = 0;
|
||||
EWRAM_DATA u16 (*gShopTilemapBuffer1)[0x400] = {0};
|
||||
EWRAM_DATA u16 (*gShopTilemapBuffer2)[0x400] = {0};
|
||||
EWRAM_DATA u16 (*gShopTilemapBuffer3)[0x400] = {0};
|
||||
EWRAM_DATA u16 (*gShopTilemapBuffer4)[0x400] = {0};
|
||||
EWRAM_DATA struct ListMenuItem *sShopMenuListMenu = {0};
|
||||
EWRAM_DATA u8 (*sShopMenuItemStrings)[13] = {0};
|
||||
static EWRAM_DATA u8 (*sShopMenuItemStrings)[13] = {0};
|
||||
EWRAM_DATA struct MartHistory gShopMenuHistory = {0};
|
||||
|
||||
//Function Declarations
|
||||
@@ -163,9 +163,6 @@ static void nullsub_52(u8 taskId);
|
||||
static void nullsub_53(void);
|
||||
static void RecordQuestLogItemPurchase(void);
|
||||
|
||||
extern u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y);
|
||||
extern u16 BagGetQuantityByItemId(u16 item);
|
||||
|
||||
static const struct MenuAction sShopMenuActions_BuySellQuit[] =
|
||||
{
|
||||
{gText_ShopBuy, {.void_u8 = Task_HandleShopMenuBuy}},
|
||||
@@ -179,17 +176,15 @@ static const struct YesNoFuncTable sShopMenuActions_BuyQuit[] =
|
||||
BuyMenuReturnToItemList
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sShopMenuWindowTemplates[] =
|
||||
static const struct WindowTemplate sShopMenuWindowTemplate =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 1,
|
||||
.width = 12,
|
||||
.height = 6,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 8
|
||||
}
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 1,
|
||||
.width = 12,
|
||||
.height = 6,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 8
|
||||
};
|
||||
|
||||
static const struct BgTemplate sShopBuyMenuBgTemplates[4] =
|
||||
@@ -237,12 +232,12 @@ static u8 CreateShopMenu(u8 a0)
|
||||
{
|
||||
gShopData.martType = GetMartTypeFromItemList(a0) & 0xF;
|
||||
gShopData.selectedRow = 0;
|
||||
if (!(ContextNpcGetTextColor()))
|
||||
if (ContextNpcGetTextColor() == 0)
|
||||
gShopData.unk16_4 = 4;
|
||||
else
|
||||
gShopData.unk16_4 = 5;
|
||||
|
||||
sShopMenuWindowId = AddWindow(sShopMenuWindowTemplates);
|
||||
sShopMenuWindowId = AddWindow(&sShopMenuWindowTemplate);
|
||||
SetStdWindowBorderStyle(sShopMenuWindowId, 0);
|
||||
PrintTextArray(sShopMenuWindowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, 16, 3, sShopMenuActions_BuySellQuit);
|
||||
Menu_InitCursor(sShopMenuWindowId, 2, 0, 2, 16, 3, 0);
|
||||
@@ -251,7 +246,7 @@ static u8 CreateShopMenu(u8 a0)
|
||||
return CreateTask(Task_ShopMenu, 8);
|
||||
}
|
||||
|
||||
static u8 GetMartTypeFromItemList(u32 a0)
|
||||
static bool8 GetMartTypeFromItemList(bool32 a0)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
@@ -294,7 +289,8 @@ static void SetShopItemsForSale(const u16 *items)
|
||||
if (mart->itemList[0] == 0)
|
||||
return;
|
||||
|
||||
do {
|
||||
do
|
||||
{
|
||||
++gShopData.itemCount;
|
||||
} while (mart->itemList[gShopData.itemCount]);
|
||||
}
|
||||
@@ -338,7 +334,7 @@ static void Task_HandleShopMenuSell(u8 taskId)
|
||||
|
||||
static void CB2_GoToSellMenu(void)
|
||||
{
|
||||
sub_8107DB4(2, POCKET_POKE_BALLS, CB2_ReturnToField);
|
||||
GoToBagMenu(2, POCKET_POKE_BALLS, CB2_ReturnToField);
|
||||
gFieldCallback = MapPostLoadHook_ReturnToShopMenu;
|
||||
}
|
||||
|
||||
@@ -347,7 +343,7 @@ static void Task_HandleShopMenuQuit(u8 taskId)
|
||||
ClearShopMenuWindow();
|
||||
RecordQuestLogItemPurchase();
|
||||
DestroyTask(taskId);
|
||||
if (gShopData.callback != 0)
|
||||
if (gShopData.callback != NULL)
|
||||
gShopData.callback();
|
||||
}
|
||||
|
||||
@@ -375,7 +371,7 @@ static void MapPostLoadHook_ReturnToShopMenu(void)
|
||||
|
||||
static void Task_ReturnToShopMenu(u8 taskId)
|
||||
{
|
||||
if (field_weather_is_fade_finished() != TRUE)
|
||||
if (IsWeatherNotFadingIn() != TRUE)
|
||||
return;
|
||||
|
||||
DisplayItemMessageOnField(taskId, GetMartUnk16_4(), gText_CanIHelpWithAnythingElse, ShowShopMenuAfterExitingBuyOrSellMenu);
|
||||
@@ -454,19 +450,19 @@ static void CB2_InitBuyMenu(void)
|
||||
static bool8 InitShopData(void)
|
||||
{
|
||||
gShopTilemapBuffer1 = Alloc(sizeof(*gShopTilemapBuffer1));
|
||||
if (gShopTilemapBuffer1 == 0)
|
||||
if (gShopTilemapBuffer1 == NULL)
|
||||
goto CANCEL;
|
||||
|
||||
gShopTilemapBuffer2 = Alloc(sizeof(*gShopTilemapBuffer2));
|
||||
if (gShopTilemapBuffer2 == 0)
|
||||
if (gShopTilemapBuffer2 == NULL)
|
||||
goto CANCEL;
|
||||
|
||||
gShopTilemapBuffer3 = Alloc(sizeof(*gShopTilemapBuffer3));
|
||||
if (gShopTilemapBuffer3 == 0)
|
||||
if (gShopTilemapBuffer3 == NULL)
|
||||
goto CANCEL;
|
||||
|
||||
gShopTilemapBuffer4 = Alloc(sizeof(*gShopTilemapBuffer4));
|
||||
if (gShopTilemapBuffer4 == 0)
|
||||
if (gShopTilemapBuffer4 == NULL)
|
||||
goto CANCEL;
|
||||
return TRUE;
|
||||
|
||||
@@ -483,16 +479,16 @@ static void BuyMenuInitBgs(void)
|
||||
SetBgTilemapBuffer(1, gShopTilemapBuffer2);
|
||||
SetBgTilemapBuffer(2, gShopTilemapBuffer4);
|
||||
SetBgTilemapBuffer(3, gShopTilemapBuffer3);
|
||||
SetGpuReg(0x10, 0);
|
||||
SetGpuReg(0x12, 0);
|
||||
SetGpuReg(0x14, 0);
|
||||
SetGpuReg(0x16, 0);
|
||||
SetGpuReg(0x18, 0);
|
||||
SetGpuReg(0x1A, 0);
|
||||
SetGpuReg(0x1C, 0);
|
||||
SetGpuReg(0x1E, 0);
|
||||
SetGpuReg(0x50, 0);
|
||||
SetGpuReg(0, 0x1040);
|
||||
SetGpuReg(REG_OFFSET_BG0HOFS, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_BG0VOFS, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_BG2HOFS, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_BG3HOFS, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_BG3VOFS, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, DISPCNT_MODE_0);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||
ShowBg(0);
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
@@ -526,9 +522,9 @@ static void sub_809B10C(bool32 a0)
|
||||
v = 6;
|
||||
|
||||
if ((gShopData.martType) != MART_TYPE_TMHM)
|
||||
SetBgRectPal(1, 0, 0xE, 0x1E, 6, v);
|
||||
SetBgTilemapPalette(1, 0, 0xE, 0x1E, 6, v);
|
||||
else
|
||||
SetBgRectPal(1, 0, 0xC, 0x1E, 8, v);
|
||||
SetBgTilemapPalette(1, 0, 0xC, 0x1E, 8, v);
|
||||
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
@@ -551,11 +547,11 @@ static bool8 BuyMenuBuildListMenuTemplate(void)
|
||||
struct ShopData *mart = &gShopData;
|
||||
|
||||
*list = Alloc((gShopData.itemCount + 1) * sizeof(*sShopMenuListMenu));
|
||||
if (sShopMenuListMenu == 0)
|
||||
if (sShopMenuListMenu == NULL)
|
||||
goto FREE_MEMORY;
|
||||
|
||||
sShopMenuItemStrings = Alloc((gShopData.itemCount + 1) * sizeof(*sShopMenuItemStrings));
|
||||
if (sShopMenuItemStrings == 0)
|
||||
if (sShopMenuItemStrings == NULL)
|
||||
{
|
||||
FREE_MEMORY:
|
||||
BuyMenuFreeMemory();
|
||||
@@ -587,8 +583,8 @@ static bool8 BuyMenuBuildListMenuTemplate(void)
|
||||
gMultiuseListMenuTemplate.upText_Y = 2;
|
||||
gMultiuseListMenuTemplate.fontId = 2;
|
||||
gMultiuseListMenuTemplate.fillValue = 0;
|
||||
gMultiuseListMenuTemplate.cursorPal = GetFontAttribute(2, 5);
|
||||
gMultiuseListMenuTemplate.cursorShadowPal = GetFontAttribute(2, 7);
|
||||
gMultiuseListMenuTemplate.cursorPal = GetFontAttribute(2, FONTATTR_COLOR_FOREGROUND);
|
||||
gMultiuseListMenuTemplate.cursorShadowPal = GetFontAttribute(2, FONTATTR_COLOR_SHADOW);
|
||||
gMultiuseListMenuTemplate.moveCursorFunc = BuyMenuPrintItemDescriptionAndShowItemIcon;
|
||||
gMultiuseListMenuTemplate.itemPrintFunc = BuyMenuPrintPriceInList;
|
||||
gMultiuseListMenuTemplate.scrollMultiple = 0;
|
||||
@@ -788,22 +784,22 @@ static void BuyMenuPrintCursorAtYPosition(u8 y, u8 a1)
|
||||
|
||||
static void BuyMenuFreeMemory(void)
|
||||
{
|
||||
if (gShopTilemapBuffer1 != 0)
|
||||
if (gShopTilemapBuffer1 != NULL)
|
||||
Free(gShopTilemapBuffer1);
|
||||
|
||||
if (gShopTilemapBuffer2 != 0)
|
||||
if (gShopTilemapBuffer2 != NULL)
|
||||
Free(gShopTilemapBuffer2);
|
||||
|
||||
if (gShopTilemapBuffer3 != 0)
|
||||
if (gShopTilemapBuffer3 != NULL)
|
||||
Free(gShopTilemapBuffer3);
|
||||
|
||||
if (gShopTilemapBuffer4 != 0)
|
||||
if (gShopTilemapBuffer4 != NULL)
|
||||
Free(gShopTilemapBuffer4);
|
||||
|
||||
if (sShopMenuListMenu != 0)
|
||||
if (sShopMenuListMenu != NULL)
|
||||
Free(sShopMenuListMenu);
|
||||
|
||||
if (sShopMenuItemStrings != 0)
|
||||
if (sShopMenuItemStrings != NULL)
|
||||
Free(sShopMenuItemStrings);
|
||||
|
||||
FreeAllWindowBuffers();
|
||||
@@ -972,7 +968,7 @@ static void BuyMenuDrawEventObjects(void)
|
||||
spriteId = AddPseudoEventObject(
|
||||
gMapObjects[sViewportMapObjects[i][EVENT_OBJ_ID]].graphicsId,
|
||||
SpriteCallbackDummy,
|
||||
(((u16)sViewportMapObjects[i][X_COORD] << 0x14) + 0xFFF80000) >> 0x10,
|
||||
(u16)sViewportMapObjects[i][X_COORD] * 16 - 8,
|
||||
(u16)sViewportMapObjects[i][Y_COORD] * 16 + 48 - graphicsInfo->height / 2,
|
||||
2);
|
||||
StartSpriteAnim(&gSprites[spriteId], sViewportMapObjects[i][ANIM_NUM]);
|
||||
@@ -1058,7 +1054,7 @@ static void Task_BuyHowManyDialogueInit(u8 taskId)
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / itemid_get_market_price(tItemId);
|
||||
if (maxQuantity > 99)
|
||||
gShopData.maxQuantity = (u8)99;
|
||||
gShopData.maxQuantity = 99;
|
||||
else
|
||||
gShopData.maxQuantity = (u8)maxQuantity;
|
||||
|
||||
|
||||
+3
-3
@@ -504,7 +504,7 @@ static bool8 StartMenuPlayerCallback(void)
|
||||
PlayRainStoppingSoundEffect();
|
||||
DestroySafariZoneStatsWindow();
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
InitTrainerCard(CB2_ReturnToStartMenu);
|
||||
InitTrainerCard(CB2_ReturnToFieldWithOpenMenu);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -524,7 +524,7 @@ static bool8 StartMenuOptionCallback(void)
|
||||
DestroySafariZoneStatsWindow();
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
SetMainCallback2(CB2_OptionsMenuFromStartMenu);
|
||||
gMain.savedCallback = CB2_ReturnToStartMenu;
|
||||
gMain.savedCallback = CB2_ReturnToFieldWithOpenMenu;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -554,7 +554,7 @@ static bool8 StartMenuLinkPlayerCallback(void)
|
||||
{
|
||||
PlayRainStoppingSoundEffect();
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
InitLinkPartnerTrainerCard(gUnknown_300502C, CB2_ReturnToStartMenu);
|
||||
InitLinkPartnerTrainerCard(gUnknown_300502C, CB2_ReturnToFieldWithOpenMenu);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
+6
-6
@@ -595,7 +595,7 @@ static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex)
|
||||
|
||||
static void FillBG2RowWithPalette_2timesNplus1(s32 a0)
|
||||
{
|
||||
SetBgRectPal(2, 0, 12, 30, 8, 2 * a0 + 1);
|
||||
SetBgTilemapPalette(2, 0, 12, 30, 8, 2 * a0 + 1);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
@@ -848,8 +848,8 @@ static void TMHMContextMenuAction_Use(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_3005E98 = sub_8125B40;
|
||||
sTMCaseDynamicResources->savedCallback = sub_8124C8C;
|
||||
gItemUseCB = ItemUseCB_TMHM;
|
||||
sTMCaseDynamicResources->savedCallback = CB2_ShowPartyMenuForItemUse;
|
||||
Task_BeginFadeOutFromTMCase(taskId);
|
||||
}
|
||||
}
|
||||
@@ -874,7 +874,7 @@ static void TMHMContextMenuAction_Give(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
sTMCaseDynamicResources->savedCallback = sub_8126EDC;
|
||||
sTMCaseDynamicResources->savedCallback = CB2_ChooseMonToGiveItem;
|
||||
Task_BeginFadeOutFromTMCase(taskId);
|
||||
}
|
||||
}
|
||||
@@ -945,7 +945,7 @@ static void Task_SelectTMAction_Type1(u8 taskId)
|
||||
|
||||
if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])))
|
||||
{
|
||||
sTMCaseDynamicResources->savedCallback = c2_8123744;
|
||||
sTMCaseDynamicResources->savedCallback = CB2_GiveHoldItem;
|
||||
Task_BeginFadeOutFromTMCase(taskId);
|
||||
}
|
||||
else
|
||||
@@ -1274,7 +1274,7 @@ static void Task_TMCaseDude_Playback(u8 taskId)
|
||||
sTMCaseStaticResources.scrollOffset = sPokeDudePackBackup->unk_162;
|
||||
Free(sPokeDudePackBackup);
|
||||
CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
|
||||
sub_8108CF0();
|
||||
CB2_SetUpReshowBattleScreenAfterMenu();
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0);
|
||||
data[8]++;
|
||||
}
|
||||
|
||||
+18
-18
@@ -459,9 +459,9 @@ static const u8 *const sTradeErrorOrStatusMessagePtrs[] = {
|
||||
gUnknown_8417094, // That's your only POKéMON for battle
|
||||
gUnknown_841E199, // Waiting for your friend to finish
|
||||
gUnknown_841E1C5, // Your friend wants to trade POKéMON
|
||||
gUnknown_84170BC, // That POKéMON can't be traded now
|
||||
gUnknown_84170E0, // An EGG can't be traded now
|
||||
gUnknown_84170FC // The other TRAINER's POKéMON can't be traded now
|
||||
gText_PkmnCantBeTradedNow, // That POKéMON can't be traded now
|
||||
gText_EggCantBeTradedNow, // An EGG can't be traded now
|
||||
gText_OtherTrainersPkmnCantBeTraded // The other TRAINER's POKéMON can't be traded now
|
||||
};
|
||||
|
||||
static const u8 gUnknown_8261F18[] = { 0, 1, 2 };
|
||||
@@ -879,11 +879,11 @@ static void sub_804C728(void)
|
||||
break;
|
||||
case 8:
|
||||
LoadHeldItemIcons();
|
||||
sub_812256C(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0);
|
||||
DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 9:
|
||||
sub_812256C(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1);
|
||||
DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 10:
|
||||
@@ -1483,7 +1483,7 @@ static void sub_804C728(void)
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tadds r1, 0x28\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl sub_812256C\n"
|
||||
"\tbl DrawHeldItemIconsForTrade\n"
|
||||
"\tldr r1, _0804CB74 @ =gMain\n"
|
||||
"\tmovs r5, 0x87\n"
|
||||
"\tlsls r5, 3\n"
|
||||
@@ -1499,7 +1499,7 @@ static void sub_804C728(void)
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tadds r1, 0x28\n"
|
||||
"\tmovs r2, 0x1\n"
|
||||
"\tbl sub_812256C\n"
|
||||
"\tbl DrawHeldItemIconsForTrade\n"
|
||||
"\tldr r1, _0804CB98 @ =gMain\n"
|
||||
"\tmovs r7, 0x87\n"
|
||||
"\tlsls r7, 3\n"
|
||||
@@ -1989,11 +1989,11 @@ void sub_804CF14(void)
|
||||
break;
|
||||
case 8:
|
||||
LoadHeldItemIcons();
|
||||
sub_812256C(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0);
|
||||
DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 9:
|
||||
sub_812256C(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1);
|
||||
DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 10:
|
||||
@@ -2053,9 +2053,9 @@ void sub_804CF14(void)
|
||||
}
|
||||
|
||||
if (sTradeMenuResourcesPtr->tradeMenuCursorPosition < 6)
|
||||
sTradeMenuResourcesPtr->tradeMenuCursorPosition = sub_8138B20();
|
||||
sTradeMenuResourcesPtr->tradeMenuCursorPosition = GetLastViewedMonIndex();
|
||||
else
|
||||
sTradeMenuResourcesPtr->tradeMenuCursorPosition = sub_8138B20() + 6;
|
||||
sTradeMenuResourcesPtr->tradeMenuCursorPosition = GetLastViewedMonIndex() + 6;
|
||||
|
||||
sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx = CreateSprite(&sSpriteTemplate_TradeButtons, sTradeMonSpriteCoords[sTradeMenuResourcesPtr->tradeMenuCursorPosition][0] * 8 + 32, sTradeMonSpriteCoords[sTradeMenuResourcesPtr->tradeMenuCursorPosition][1] * 8, 2);
|
||||
gMain.state = 16;
|
||||
@@ -2365,7 +2365,7 @@ void sub_804CF14(void)
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tadds r1, 0x28\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl sub_812256C\n"
|
||||
"\tbl DrawHeldItemIconsForTrade\n"
|
||||
"\tldr r1, _0804D174 @ =gMain\n"
|
||||
"\tmovs r5, 0x87\n"
|
||||
"\tlsls r5, 3\n"
|
||||
@@ -2381,7 +2381,7 @@ void sub_804CF14(void)
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tadds r1, 0x28\n"
|
||||
"\tmovs r2, 0x1\n"
|
||||
"\tbl sub_812256C\n"
|
||||
"\tbl DrawHeldItemIconsForTrade\n"
|
||||
"\tldr r1, _0804D198 @ =gMain\n"
|
||||
"\tmovs r7, 0x87\n"
|
||||
"\tlsls r7, 3\n"
|
||||
@@ -2633,14 +2633,14 @@ void sub_804CF14(void)
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tcmp r0, 0x5\n"
|
||||
"\tbhi _0804D3B8\n"
|
||||
"\tbl sub_8138B20\n"
|
||||
"\tbl GetLastViewedMonIndex\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tb _0804D3C0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D3B0: .4byte sSpriteTemplate_Text\n"
|
||||
"_0804D3B4: .4byte sTradeMenuResourcesPtr\n"
|
||||
"_0804D3B8:\n"
|
||||
"\tbl sub_8138B20\n"
|
||||
"\tbl GetLastViewedMonIndex\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tadds r0, 0x6\n"
|
||||
"_0804D3C0:\n"
|
||||
@@ -4243,7 +4243,7 @@ static void sub_804F964(void)
|
||||
{
|
||||
for (j = 0; j < sTradeMenuResourcesPtr->partyCounts[i]; j++)
|
||||
{
|
||||
MonIcon_SetAnim(&gSprites[sTradeMenuResourcesPtr->partyIcons[i][j]], 4 - sTradeMenuResourcesPtr->unk_5D[i][j]);
|
||||
SetPartyHPBarSprite(&gSprites[sTradeMenuResourcesPtr->partyIcons[i][j]], 4 - sTradeMenuResourcesPtr->unk_5D[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4394,7 +4394,7 @@ static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int sub_804FBEC(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet)
|
||||
int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet)
|
||||
{
|
||||
u8 r9 = a0.unk_01_0;
|
||||
u8 r4 = a0.unk_00_7;
|
||||
@@ -4474,7 +4474,7 @@ int sub_804FBEC(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuS
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Trade_CanTradeSelectedMon(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 species, u16 a2, u8 a3)
|
||||
int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 species, u16 a2, u8 a3)
|
||||
{
|
||||
u8 canTradeEggAndNational = a0.unk_01_0;
|
||||
|
||||
|
||||
@@ -289,7 +289,7 @@ static bool32 PokemonInEncounterTable(const struct WildPokemonInfo * info, s32 s
|
||||
|
||||
static u16 GetMapSecIdFromWildMonHeader(const struct WildPokemonHeader * header)
|
||||
{
|
||||
return get_mapheader_by_bank_and_number(header->mapGroup, header->mapNum)->regionMapSectionId;
|
||||
return Overworld_GetMapHeaderByGroupAndId(header->mapGroup, header->mapNum)->regionMapSectionId;
|
||||
}
|
||||
|
||||
static bool32 TryGetMapSecPokedexAreaEntry(u16 mapSecId, const u16 (*lut)[2], s32 count, s32 * lutIdx_p, u16 * tableIdx_p)
|
||||
|
||||
Reference in New Issue
Block a user