Merge branch 'master' of https://github.com/pret/pokeemerald
This commit is contained in:
@@ -76,7 +76,7 @@ extern bool8 sub_81B1250(void); // ?
|
||||
extern bool8 InBattlePike(void);
|
||||
extern bool8 InBattlePyramid(void);
|
||||
extern u16 GetBattlePyramidPickupItemId(void);
|
||||
extern u8 sav1_map_get_light_level(void);
|
||||
extern u8 Overworld_GetMapTypeOfSaveblockLocation(void);
|
||||
extern u8 sub_813B21C(void);
|
||||
extern u16 get_unknown_box_id(void);
|
||||
|
||||
@@ -10578,7 +10578,7 @@ static void atkEF_handleballthrow(void)
|
||||
ballMultiplier = 10;
|
||||
break;
|
||||
case ITEM_DIVE_BALL:
|
||||
if (sav1_map_get_light_level() == 5)
|
||||
if (Overworld_GetMapTypeOfSaveblockLocation() == 5)
|
||||
ballMultiplier = 35;
|
||||
else
|
||||
ballMultiplier = 10;
|
||||
|
||||
@@ -49,6 +49,8 @@ struct TrainerBattleParameter
|
||||
u8 ptrType;
|
||||
};
|
||||
|
||||
extern void (*gFieldCallback)(void);
|
||||
|
||||
extern bool8 InBattlePyramid(void);
|
||||
extern bool8 InBattlePike(void);
|
||||
extern bool32 InTrainerHill(void);
|
||||
@@ -472,7 +474,7 @@ void StartWallyTutorialBattle(void)
|
||||
{
|
||||
CreateMaleMon(&gEnemyParty[0], SPECIES_RALTS, 5);
|
||||
ScriptContext2_Enable();
|
||||
gMain.savedCallback = c2_exit_to_overworld_1_continue_scripts_restart_music;
|
||||
gMain.savedCallback = CB2_ReturnToFieldContinueScript;
|
||||
gBattleTypeFlags = BATTLE_TYPE_WALLY_TUTORIAL;
|
||||
CreateBattleStartTask(B_TRANSITION_SLICE, 0);
|
||||
}
|
||||
@@ -601,7 +603,7 @@ static void CB2_EndWildBattle(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
gFieldCallback = sub_80AF6F0;
|
||||
}
|
||||
}
|
||||
@@ -614,13 +616,13 @@ static void CB2_EndScriptedWildBattle(void)
|
||||
if (IsPlayerDefeated(gBattleOutcome) == TRUE)
|
||||
{
|
||||
if (InBattlePyramid())
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
else
|
||||
SetMainCallback2(CB2_WhiteOut);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -937,7 +939,7 @@ static void CB2_StartFirstBattle(void)
|
||||
static void CB2_EndFirstBattle(void)
|
||||
{
|
||||
Overworld_ClearSavedMusic();
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
|
||||
static void sub_80B1218(void)
|
||||
@@ -1313,18 +1315,18 @@ static void CB2_EndTrainerBattle(void)
|
||||
{
|
||||
if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT)
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
else if (IsPlayerDefeated(gBattleOutcome) == TRUE)
|
||||
{
|
||||
if (InBattlePyramid() || sub_81D5C18())
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
else
|
||||
SetMainCallback2(CB2_WhiteOut);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
if (!InBattlePyramid() && !sub_81D5C18())
|
||||
{
|
||||
RegisterTrainerInMatchCall();
|
||||
@@ -1337,7 +1339,7 @@ static void CB2_EndRematchBattle(void)
|
||||
{
|
||||
if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT)
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
else if (IsPlayerDefeated(gBattleOutcome) == TRUE)
|
||||
{
|
||||
@@ -1345,7 +1347,7 @@ static void CB2_EndRematchBattle(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
RegisterTrainerInMatchCall();
|
||||
SetBattledTrainersFlags();
|
||||
HandleRematchVarsOnBattleEnd();
|
||||
|
||||
@@ -919,7 +919,7 @@ static void CB2_TestBattleTransition(void)
|
||||
if (IsBattleTransitionDone())
|
||||
{
|
||||
sTestingTransitionState = 0;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8);
|
||||
extern void sub_81AABF0(void (*callback)(void));
|
||||
extern void sub_800B4C0(void);
|
||||
extern void ClearLinkCallback(void);
|
||||
extern void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
|
||||
extern void CB2_ReturnToFieldContinueScript(void);
|
||||
extern void sub_8153430(void);
|
||||
extern bool8 sub_8153474(void);
|
||||
extern void sub_80EECEC(void);
|
||||
@@ -2692,7 +2692,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void)
|
||||
if (gReceivedRemoteLinkPlayers == 0)
|
||||
{
|
||||
FREE_AND_SET_NULL(sBerryBlenderData);
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2742,7 +2742,7 @@ static void CB2_HandlePlayerPlayAgainChoice(void)
|
||||
if (sBerryBlenderData->playAgainState == PLAY_AGAIN_OK)
|
||||
SetMainCallback2(DoBerryBlending);
|
||||
else
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
|
||||
FreeAllWindowBuffers();
|
||||
UnsetBgTilemapBuffer(2);
|
||||
|
||||
@@ -83,7 +83,7 @@ static void UpdatePerMinute(struct Time *localTime)
|
||||
static void ReturnFromStartWallClock(void)
|
||||
{
|
||||
InitTimeBasedEvents();
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
|
||||
void StartWallClock(void)
|
||||
|
||||
@@ -46,7 +46,7 @@ extern void sub_819746C(u8, bool8);
|
||||
extern void NewMenuHelpers_DrawStdWindowFrame(u8, bool8);
|
||||
extern void sub_81B9328(void);
|
||||
extern void sub_81AF078(u32, bool8, struct ListMenu *);
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
extern void CB2_ReturnToField(void);
|
||||
|
||||
// this file's functions
|
||||
static void ClearDaycareMonMisc(struct DaycareMiscMon *misc);
|
||||
@@ -1315,5 +1315,5 @@ void ShowDaycareLevelMenu(void)
|
||||
void ChooseSendDaycareMon(void)
|
||||
{
|
||||
sub_81B9328();
|
||||
gMain.savedCallback = c2_exit_to_overworld_2_switch;
|
||||
gMain.savedCallback = CB2_ReturnToField;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
#include "decoration.h"
|
||||
#include "graphics.h"
|
||||
|
||||
extern void (*gFieldCallback)(void);
|
||||
|
||||
// Static type declarations
|
||||
|
||||
#define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5
|
||||
@@ -1682,7 +1684,7 @@ void c1_overworld_prev_quest(u8 taskId)
|
||||
sub_812A3C8();
|
||||
FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG);
|
||||
gFieldCallback = sub_8128CD4;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
}
|
||||
@@ -2673,7 +2675,7 @@ void sub_812A25C(u8 taskId)
|
||||
case 1:
|
||||
sub_812A3C8();
|
||||
gFieldCallback = sub_812A334;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ extern void FadeScreen(u8, u8);
|
||||
extern void overworld_free_bg_tilemaps(void);
|
||||
extern void sub_80AF168(void);
|
||||
extern void ScanlineEffect_Stop(void);
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
extern void CB2_ReturnToField(void);
|
||||
extern void play_some_sound(void);
|
||||
extern void DoNamingScreen(u8, const u8*, u16, u8, u32, MainCallback);
|
||||
extern u16 sub_80D22D0(void);
|
||||
@@ -564,7 +564,7 @@ static void EggHatchSetMonNickname(void)
|
||||
SetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar3);
|
||||
FreeMonSpritesGfx();
|
||||
Free(sEggHatchData);
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
||||
static void Task_EggHatchPlayBGM(u8 taskID)
|
||||
@@ -688,7 +688,7 @@ static void CB2_EggHatch_1(void)
|
||||
UnsetBgTilemapBuffer(0);
|
||||
UnsetBgTilemapBuffer(1);
|
||||
Free(sEggHatchData);
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ static void npcs_clear_ids_and_state(void)
|
||||
|
||||
void sub_808D438(void)
|
||||
{
|
||||
strange_npc_table_clear();
|
||||
ZeroAllLinkPlayerMapObjects();
|
||||
npcs_clear_ids_and_state();
|
||||
ClearPlayerAvatarInfo();
|
||||
sub_808D450();
|
||||
@@ -1673,7 +1673,7 @@ struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 m
|
||||
}
|
||||
else
|
||||
{
|
||||
mapHeader = get_mapheader_by_bank_and_number(mapGroup, mapNum);
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum);
|
||||
templates = mapHeader->events->mapObjects;
|
||||
count = mapHeader->events->mapObjectCount;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ void AccessHallOfFamePC(void)
|
||||
|
||||
void ReturnFromHallOfFamePC(void)
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
gFieldCallback = ReshowPCMenuAfterHallOfFamePC;
|
||||
}
|
||||
|
||||
|
||||
@@ -155,19 +155,19 @@ void sub_81AD6FC(u8 taskId);
|
||||
// .rodata
|
||||
|
||||
const struct BgTemplate gUnknown_08613F90[3] = {
|
||||
{0, 0, 31, 0, 0, 1, 0},
|
||||
{1, 0, 30, 0, 0, 0, 0},
|
||||
{0, 0, 31, 0, 0, 1, 0},
|
||||
{1, 0, 30, 0, 0, 0, 0},
|
||||
{2, 3, 29, 0, 0, 2, 0}
|
||||
};
|
||||
|
||||
|
||||
const struct ListMenuTemplate gUnknown_08613F9C = {
|
||||
NULL, bag_menu_change_item_callback, sub_81AB520, 0, 0, 0, 0, 8, 0, 1, 1, 0, 3, 0, 0, 0, 7, 0
|
||||
};
|
||||
|
||||
const struct MenuAction gUnknown_08613FB4[] = {
|
||||
{gMenuText_Use, ItemMenu_UseOutOfBattle},
|
||||
{gMenuText_Toss, ItemMenu_Toss},
|
||||
{gMenuText_Register, ItemMenu_Register},
|
||||
{gMenuText_Use, ItemMenu_UseOutOfBattle},
|
||||
{gMenuText_Toss, ItemMenu_Toss},
|
||||
{gMenuText_Register, ItemMenu_Register},
|
||||
{gMenuText_Give, ItemMenu_Give},
|
||||
{gText_Cancel2, ItemMenu_Cancel},
|
||||
{gMenuText_Use, ItemMenu_UseInBattle},
|
||||
@@ -219,7 +219,7 @@ const struct ArrowStruct gUnknown_08614094 = {0, 0x1C, 16, 1, 100, 16, -1, -1, 0
|
||||
const u8 gUnknown_086140A4[] = INCBIN_U8("graphics/interface/select_button.4bpp");
|
||||
|
||||
const u8 gUnknown_08614164[][3] = {
|
||||
{0, 1, 3},
|
||||
{0, 1, 3},
|
||||
{0, 1, 4},
|
||||
{0, 3, 6},
|
||||
{2, 1, 3},
|
||||
@@ -252,7 +252,7 @@ const struct WindowTemplate gUnknown_086141AC[] = {
|
||||
// .text
|
||||
|
||||
struct BagStruct {
|
||||
void (*bagCallback)(void);
|
||||
void (*bagCallback)(void);
|
||||
u8 location;
|
||||
u8 pocket;
|
||||
u8 unk6[2];
|
||||
@@ -339,7 +339,7 @@ void ResetBagScrollPositions(void)
|
||||
|
||||
void CB2_BagMenuFromStartMenu(void)
|
||||
{
|
||||
GoToBagMenu(0, 5, sub_8086194);
|
||||
GoToBagMenu(0, 5, CB2_ReturnToFieldWithOpenMenu);
|
||||
}
|
||||
|
||||
void sub_81AABB0(void)
|
||||
@@ -630,7 +630,7 @@ void load_bag_item_list_buffers(u8 pocketId)
|
||||
u16 i;
|
||||
struct BagPocket *pocket = &gBagPockets[pocketId];
|
||||
struct ListMenuItem *subBuffer;
|
||||
|
||||
|
||||
if (!gUnknown_0203CE54->unk81B_2)
|
||||
{
|
||||
for (i = 0; i < gUnknown_0203CE54->unk829[pocketId] - 1; i++)
|
||||
@@ -903,7 +903,7 @@ u8 sub_81ABB2C(u8 a)
|
||||
void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void ( *callback)(u8 taskId))
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
data[10] = AddItemMessageWindow(4);
|
||||
FillWindowPixelBuffer(data[10], 17);
|
||||
DisplayMessageAndContinueTask(taskId, data[10], 10, 13, fontId, GetPlayerTextSpeed(), str, callback);
|
||||
@@ -1056,7 +1056,7 @@ void SwitchBagPocket(u8 taskId, s16 deltaBagPocketId, u16 a3)
|
||||
s16* data = gTasks[taskId].data;
|
||||
u8 pocketId;
|
||||
|
||||
|
||||
|
||||
data[13] = 0;
|
||||
data[12] = 0;
|
||||
data[11] = deltaBagPocketId;
|
||||
@@ -1244,7 +1244,7 @@ _081AC09A:\n\
|
||||
void sub_81AC10C(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (!sub_81221AC() && !IsWallysBag())
|
||||
{
|
||||
switch (GetSwitchBagPocketDirection())
|
||||
@@ -1317,7 +1317,7 @@ bool8 sub_81AC2C0(void)
|
||||
void bag_menu_swap_items(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
sub_81AF15C(data[0], 16, 1);
|
||||
data[1] = gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket] + gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket];
|
||||
gUnknown_0203CE54->unk81A = data[1];
|
||||
@@ -1335,7 +1335,7 @@ void sub_81AC3C0(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
int r7;
|
||||
|
||||
|
||||
if (sub_81221EC() != TRUE)
|
||||
{
|
||||
if (gMain.newKeys & SELECT_BUTTON)
|
||||
@@ -1375,7 +1375,7 @@ void sub_81AC498(u8 taskId)
|
||||
u16* scrollPos = &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket];
|
||||
u16* cursorPos = &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket];
|
||||
u16 realPos = (*scrollPos + *cursorPos);
|
||||
|
||||
|
||||
if (data[1] == realPos || data[1] == (realPos - 1))
|
||||
sub_81AC590(taskId);
|
||||
else
|
||||
@@ -1398,7 +1398,7 @@ void sub_81AC590(u8 taskId)
|
||||
s16* data = gTasks[taskId].data;
|
||||
u16* scrollPos = &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket];
|
||||
u16* cursorPos = &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket];
|
||||
|
||||
|
||||
gUnknown_0203CE54->unk81A = -1;
|
||||
sub_81AE6C8(data[0], scrollPos, cursorPos);
|
||||
if (data[1] < (*scrollPos + *cursorPos))
|
||||
@@ -1689,7 +1689,7 @@ void ItemMenu_UseOutOfBattle(u8 taskId)
|
||||
void ItemMenu_Toss(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
bag_menu_remove_some_window();
|
||||
data[8] = 1;
|
||||
if (data[2] == 1)
|
||||
@@ -1710,7 +1710,7 @@ void ItemMenu_Toss(u8 taskId)
|
||||
void BagMenuConfirmToss(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
ConvertIntToDecimalStringN(gStringVar2, data[8], 0, 3);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ConfirmTossItems);
|
||||
@@ -1722,7 +1722,7 @@ void BagMenuConfirmToss(u8 taskId)
|
||||
void BagMenuCancelToss(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
bag_menu_print_description_box_text(data[1]);
|
||||
bag_menu_print_cursor_(data[0], 0);
|
||||
set_callback3_to_bag(taskId);
|
||||
@@ -1731,7 +1731,7 @@ void BagMenuCancelToss(u8 taskId)
|
||||
void Task_ChooseHowManyToToss(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE)
|
||||
{
|
||||
sub_81ABC54(gUnknown_0203CE54->unk817, data[8]);
|
||||
@@ -1753,7 +1753,7 @@ void Task_ChooseHowManyToToss(u8 taskId)
|
||||
void BagMenuActuallyToss(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
ConvertIntToDecimalStringN(gStringVar2, data[8], 0, 3);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ThrewAwayVar2Var1s);
|
||||
@@ -1767,7 +1767,7 @@ void Task_ActuallyToss(u8 taskId)
|
||||
s16* data = gTasks[taskId].data;
|
||||
u16* scrollPos = &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket];
|
||||
u16* cursorPos = &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket];
|
||||
|
||||
|
||||
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
@@ -1787,7 +1787,7 @@ void ItemMenu_Register(u8 taskId)
|
||||
s16* data = gTasks[taskId].data;
|
||||
u16* scrollPos = &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket];
|
||||
u16* cursorPos = &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket];
|
||||
|
||||
|
||||
if (gSaveBlock1Ptr->registeredItem == gSpecialVar_ItemId)
|
||||
gSaveBlock1Ptr->registeredItem = 0;
|
||||
else
|
||||
@@ -1852,7 +1852,7 @@ void ItemMenu_CheckTag(u8 taskId)
|
||||
void ItemMenu_Cancel(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
bag_menu_remove_some_window();
|
||||
bag_menu_print_description_box_text(data[1]);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
@@ -1910,7 +1910,7 @@ void item_menu_type_b(u8 taskId)
|
||||
bool8 UseRegisteredKeyItemOnField(void)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
|
||||
if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiBattleRoom() == TRUE)
|
||||
return FALSE;
|
||||
HideMapNamePopUpWindow();
|
||||
@@ -1938,14 +1938,14 @@ bool8 UseRegisteredKeyItemOnField(void)
|
||||
void display_sell_item_ask_str(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (itemid_get_market_price(gSpecialVar_ItemId) == 0)
|
||||
{
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_CantBuyKeyItem);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
data[8] = 1;
|
||||
if (data[2] == 1)
|
||||
@@ -1965,7 +1965,7 @@ void display_sell_item_ask_str(u8 taskId)
|
||||
void sub_81AD680(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8], 0, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD6E4);
|
||||
@@ -1979,7 +1979,7 @@ void sub_81AD6E4(u8 taskId)
|
||||
void sub_81AD6FC(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
bag_menu_remove_money_window();
|
||||
bag_menu_RemoveBagItem_message_window(4);
|
||||
bag_menu_print_cursor_(data[0], 0);
|
||||
@@ -1990,7 +1990,7 @@ void sub_81AD730(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
u8 windowId = bag_menu_add_window(8);
|
||||
|
||||
|
||||
sub_81ABCC0(windowId, 1, (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
bag_menu_AddMoney_window();
|
||||
gTasks[taskId].func = sub_81AD794;
|
||||
@@ -1999,7 +1999,7 @@ void sub_81AD730(u8 taskId)
|
||||
void sub_81AD794(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE)
|
||||
{
|
||||
sub_81ABCC0(gUnknown_0203CE54->unk818, data[8], (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
@@ -2024,7 +2024,7 @@ void sub_81AD794(u8 taskId)
|
||||
void sub_81AD84C(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
ConvertIntToDecimalStringN(gStringVar1, (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8], 0, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2);
|
||||
@@ -2036,7 +2036,7 @@ void sub_81AD8C8(u8 taskId)
|
||||
s16* data = gTasks[taskId].data;
|
||||
u16* scrollPos = &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket];
|
||||
u16* cursorPos = &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket];
|
||||
|
||||
|
||||
PlaySE(SE_REGI);
|
||||
RemoveBagItem(gSpecialVar_ItemId, data[8]);
|
||||
AddMoney(&gSaveBlock1Ptr->money, (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
@@ -2063,7 +2063,7 @@ void sub_81AD9C0(u8 taskId)
|
||||
void display_deposit_item_ask_str(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
data[8] = 1;
|
||||
if (data[2] == 1)
|
||||
{
|
||||
@@ -2083,7 +2083,7 @@ void display_deposit_item_ask_str(u8 taskId)
|
||||
void sub_81ADA7C(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE)
|
||||
{
|
||||
sub_81ABC54(gUnknown_0203CE54->unk817, data[8]);
|
||||
@@ -2107,7 +2107,7 @@ void sub_81ADA7C(u8 taskId)
|
||||
void sub_81ADB14(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
FillWindowPixelBuffer(1, 0);
|
||||
if (itemid_is_unique(gSpecialVar_ItemId))
|
||||
{
|
||||
@@ -2132,7 +2132,7 @@ void sub_81ADB14(u8 taskId)
|
||||
void sub_81ADC0C(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
@@ -2152,7 +2152,7 @@ bool8 IsWallysBag(void)
|
||||
void PrepareBagForWallyTutorial(void)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
|
||||
gUnknown_0203CE80 = AllocZeroed(sizeof(struct TempWallyStruct));
|
||||
memcpy(gUnknown_0203CE80->bagPocket_Items, gSaveBlock1Ptr->bagPocket_Items, sizeof(gSaveBlock1Ptr->bagPocket_Items));
|
||||
memcpy(gUnknown_0203CE80->bagPocket_PokeBalls, gSaveBlock1Ptr->bagPocket_PokeBalls, sizeof(gSaveBlock1Ptr->bagPocket_PokeBalls));
|
||||
@@ -2170,7 +2170,7 @@ void PrepareBagForWallyTutorial(void)
|
||||
void RestoreBagAfterWallyTutorial(void)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
|
||||
memcpy(gSaveBlock1Ptr->bagPocket_Items, gUnknown_0203CE80->bagPocket_Items, sizeof(gUnknown_0203CE80->bagPocket_Items));
|
||||
memcpy(gSaveBlock1Ptr->bagPocket_PokeBalls, gUnknown_0203CE80->bagPocket_PokeBalls, sizeof(gUnknown_0203CE80->bagPocket_PokeBalls));
|
||||
gUnknown_0203CE58.pocket = gUnknown_0203CE80->pocket;
|
||||
@@ -2193,7 +2193,7 @@ void DoWallyTutorialBagMenu(void)
|
||||
void Task_WallyTutorialBagMenu(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
switch (data[8])
|
||||
@@ -2235,7 +2235,7 @@ void unknown_ItemMenu_Show(u8 taskId)
|
||||
void bag_menu_leave_maybe_3(void)
|
||||
{
|
||||
gFieldCallback = sub_819FA50;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
||||
void unknown_ItemMenu_Give2(u8 taskId)
|
||||
@@ -2249,7 +2249,7 @@ void unknown_ItemMenu_Give2(u8 taskId)
|
||||
void bag_menu_leave_maybe_2(void)
|
||||
{
|
||||
gFieldCallback = sub_818DEF4;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
||||
void unknown_ItemMenu_Confirm2(u8 taskId)
|
||||
@@ -2262,7 +2262,7 @@ void unknown_ItemMenu_Confirm2(u8 taskId)
|
||||
void bag_menu_leave_maybe(void)
|
||||
{
|
||||
gFieldCallback = sub_818E564;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
||||
void bag_menu_print_pocket_names(u8 *pocketName1, u8 *pocketName2)
|
||||
@@ -2270,7 +2270,7 @@ void bag_menu_print_pocket_names(u8 *pocketName1, u8 *pocketName2)
|
||||
struct WindowTemplate window = {0, 0, 0, 0, 0, 0, 0};
|
||||
u16 windowId;
|
||||
int offset;
|
||||
|
||||
|
||||
window.width = 16;
|
||||
window.height = 2;
|
||||
windowId = AddWindow(&window);
|
||||
@@ -2304,7 +2304,7 @@ void bag_menu_copy_pocket_name_to_window(u32 a)
|
||||
void setup_bag_menu_textboxes(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
|
||||
InitWindows(gUnknown_08614174);
|
||||
DeactivateAllTextPrinters();
|
||||
sub_809882C(0, 1, -32);
|
||||
@@ -2328,7 +2328,7 @@ void bag_menu_print(u8 a, u8 b, const u8 *str, u8 c, u8 d, u8 e, u8 f, u8 g, u8
|
||||
u8 sub_81AE124(u8 a)
|
||||
{
|
||||
return gUnknown_0203CE54->unk810[a];
|
||||
}
|
||||
}
|
||||
|
||||
u8 bag_menu_add_window(u8 a)
|
||||
{
|
||||
@@ -2409,7 +2409,7 @@ void PrintTMHMMoveData(u16 itemId)
|
||||
u8 i;
|
||||
u16 moveId;
|
||||
const u8* text;
|
||||
|
||||
|
||||
FillWindowPixelBuffer(4, 0);
|
||||
if (itemId == ITEM_NONE)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "item_use.h"
|
||||
#include "battle.h"
|
||||
#include "main.h"
|
||||
#include "berry.h"
|
||||
#include "bike.h"
|
||||
#include "coins.h"
|
||||
@@ -45,7 +46,7 @@ extern void ItemUseOutOfBattle_EvolutionStone(u8 b);
|
||||
extern void bag_menu_mail_related(void);
|
||||
extern void OpenPokeblockCase(u8 a, void(*b)(void));
|
||||
extern void overworld_free_bg_tilemaps(void);
|
||||
extern bool32 sav1_map_is_biking_allowed(void);
|
||||
extern bool32 Overworld_IsBikingAllowed(void);
|
||||
extern bool8 IsPlayerFacingSurfableFishableWater(void);
|
||||
extern bool8 sub_81221AC(void);
|
||||
extern u8 gText_ItemFinderNothing[];
|
||||
@@ -85,11 +86,12 @@ extern void sub_81C59BC(void);
|
||||
extern void sub_81AB9A8(u8);
|
||||
extern void sub_81ABA88(u8);
|
||||
extern void sub_80B7CC8(void);
|
||||
extern void flagmods_08054D70(void);
|
||||
extern void Overworld_ResetStateAfterDigEscRope(void);
|
||||
extern u8* sub_806CF78(u16);
|
||||
extern void sub_81B89F0(void);
|
||||
extern u8 GetItemEffectType(u16);
|
||||
extern struct MapConnection *sub_8088A8C(s16, s16);
|
||||
extern void (*gFieldCallback)(void);
|
||||
|
||||
void MapPostLoadHook_UseItem(void);
|
||||
void sub_80AF6D4(void);
|
||||
@@ -119,7 +121,7 @@ void DisplayItemMessageOnField(u8 taskId, u8* str, void(*callback)(u8 taskId));
|
||||
void sub_81C6714(u8 taskId);
|
||||
void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId);
|
||||
void StartFishing(u8 a);
|
||||
bool8 ItemfinderCheckForHiddenItems(struct MapEvents *, u8);
|
||||
bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8);
|
||||
u8 sub_80FD9B0(s16 a, s16 b);
|
||||
void sub_80FDA24(u8 a);
|
||||
void sub_80FD8E0(u8 taskId, s16 x, s16 y);
|
||||
@@ -236,7 +238,7 @@ void ItemUseOutOfBattle_Bike(u8 taskId)
|
||||
DisplayCannotDismountBikeMessage(taskId, data[3]);
|
||||
else
|
||||
{
|
||||
if (sav1_map_is_biking_allowed() == TRUE && IsBikingDisallowedByPlayer() == 0)
|
||||
if (Overworld_IsBikingAllowed() == TRUE && IsBikingDisallowedByPlayer() == 0)
|
||||
{
|
||||
gUnknown_0203A0F4 = ItemUseOnFieldCB_Bike;
|
||||
SetUpItemUseOnFieldCallback(taskId);
|
||||
@@ -363,7 +365,7 @@ void sub_80FD5CC(u8 taskId)
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, u8 taskId)
|
||||
bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId)
|
||||
{
|
||||
int distanceX, distanceY;
|
||||
s16 x, y, i, newDistanceX, newDistanceY;
|
||||
@@ -390,7 +392,7 @@ bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, u8 taskId)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_80FD6D4(struct MapEvents *events, s16 x, s16 y)
|
||||
bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y)
|
||||
{
|
||||
u8 bgEventCount = events->bgEventCount;
|
||||
struct BgEvent *bgEvent = events->bgEvents;
|
||||
@@ -637,7 +639,7 @@ void sub_80FDC00(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
overworld_free_bg_tilemaps();
|
||||
OpenPokeblockCase(0, c2_exit_to_overworld_2_switch);
|
||||
OpenPokeblockCase(0, CB2_ReturnToField);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -678,7 +680,7 @@ void sub_80FDD10(u8 taskId)
|
||||
{
|
||||
gUnknown_0203A0F4 = sub_80FDD74;
|
||||
gFieldCallback = MapPostLoadHook_UseItem;
|
||||
*gUnknown_0203CE54 = c2_exit_to_overworld_2_switch;
|
||||
*gUnknown_0203CE54 = CB2_ReturnToField;
|
||||
unknown_ItemMenu_Confirm(taskId);
|
||||
}
|
||||
else
|
||||
@@ -904,7 +906,7 @@ void task08_080A1C44(u8 taskId)
|
||||
|
||||
void re_escape_rope(u8 taskId)
|
||||
{
|
||||
flagmods_08054D70();
|
||||
Overworld_ResetStateAfterDigEscRope();
|
||||
sub_80FE058();
|
||||
gTasks[taskId].data[0] = 0;
|
||||
DisplayItemMessageOnField(taskId, gStringVar4, task08_080A1C44);
|
||||
|
||||
@@ -1079,7 +1079,7 @@ void sub_818E914(void)
|
||||
|
||||
void sub_818E92C(void)
|
||||
{
|
||||
OpenPokeblockCase(3, c2_exit_to_overworld_2_switch);
|
||||
OpenPokeblockCase(3, CB2_ReturnToField);
|
||||
}
|
||||
|
||||
void sub_818E940(void)
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "link.h"
|
||||
#include "link_rfu.h"
|
||||
|
||||
extern u16 gUnknown_03005DA8;
|
||||
|
||||
// Static type declarations
|
||||
|
||||
struct BlockTransfer
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
#include "rom_8011DC0.h"
|
||||
#include "link_rfu.h"
|
||||
|
||||
extern u16 gUnknown_03005DA8;
|
||||
|
||||
// Static type declarations
|
||||
|
||||
// Static RAM declarations
|
||||
|
||||
@@ -133,12 +133,12 @@ void MoveSaveBlocks_ResetHeap(void)
|
||||
}
|
||||
|
||||
|
||||
u8 sav2_x1_query_bit1(void)
|
||||
u32 GetSecretBase2Field_9(void)
|
||||
{
|
||||
return gSaveBlock2Ptr->specialSaveWarp & 1;
|
||||
}
|
||||
|
||||
void sav2_x9_clear_bit1(void)
|
||||
void ClearSecretBase2Field_9(void)
|
||||
{
|
||||
gSaveBlock2Ptr->specialSaveWarp &= ~1;
|
||||
}
|
||||
|
||||
@@ -295,7 +295,7 @@ void CB2_ReinitMainMenu(void)
|
||||
u32 InitMainMenu(bool8 returningFromOptionsMenu)
|
||||
{
|
||||
SetVBlankCallback(NULL);
|
||||
|
||||
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG2CNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, 0);
|
||||
@@ -306,11 +306,11 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu)
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG0HOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG0VOFS, 0);
|
||||
|
||||
|
||||
DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
|
||||
DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
|
||||
DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
|
||||
|
||||
|
||||
ResetPaletteFade();
|
||||
LoadPalette(gMainMenuBgPal, 0, 32);
|
||||
LoadPalette(gMainMenuTextPal, 0xF0, 32);
|
||||
@@ -331,7 +331,7 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu)
|
||||
InitWindows(gUnknown_082FF038);
|
||||
DeactivateAllTextPrinters();
|
||||
LoadMainMenuWindowFrameTiles(0, MAIN_MENU_BORDER_TILE);
|
||||
|
||||
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||
SetGpuReg(REG_OFFSET_WIN0V, 0);
|
||||
SetGpuReg(REG_OFFSET_WININ, 0);
|
||||
@@ -339,7 +339,7 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
|
||||
|
||||
EnableInterrupts(1);
|
||||
SetVBlankCallback(VBlankCB_MainMenu);
|
||||
SetMainCallback2(CB2_MainMenu);
|
||||
@@ -347,14 +347,14 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu)
|
||||
ShowBg(0);
|
||||
HideBg(1);
|
||||
CreateTask(Task_MainMenuCheckSaveFile, 0);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Task_MainMenuCheckSaveFile(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||
@@ -364,7 +364,7 @@ void Task_MainMenuCheckSaveFile(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 7);
|
||||
|
||||
|
||||
if (sub_80093CC())
|
||||
data[15] = 1;
|
||||
switch (gSaveFileStatus)
|
||||
@@ -442,7 +442,7 @@ void Task_MainMenuCheckBattery(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 7);
|
||||
|
||||
|
||||
if (!(RtcGetErrorStatus() & RTC_ERR_FLAG_MASK))
|
||||
{
|
||||
gTasks[taskId].func = Task_DisplayMainMenu;
|
||||
@@ -470,7 +470,7 @@ void Task_DisplayMainMenu(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
u16 palette;
|
||||
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||
@@ -480,19 +480,19 @@ void Task_DisplayMainMenu(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 7);
|
||||
|
||||
|
||||
palette = RGB_BLACK;
|
||||
LoadPalette(&palette, 254, 2);
|
||||
|
||||
|
||||
palette = RGB_WHITE;
|
||||
LoadPalette(&palette, 250, 2);
|
||||
|
||||
|
||||
palette = RGB(12, 12, 12);
|
||||
LoadPalette(&palette, 251, 2);
|
||||
|
||||
|
||||
palette = RGB(26, 26, 25);
|
||||
LoadPalette(&palette, 252, 2);
|
||||
|
||||
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
{
|
||||
palette = RGB(4, 16, 31);
|
||||
@@ -503,7 +503,7 @@ void Task_DisplayMainMenu(u8 taskId)
|
||||
palette = RGB(31, 3, 21);
|
||||
LoadPalette(&palette, 241, 2);
|
||||
}
|
||||
|
||||
|
||||
switch (gTasks[taskId].data[0])
|
||||
{
|
||||
case HAS_NO_SAVED_GAME:
|
||||
@@ -611,7 +611,7 @@ void Task_HighlightSelectedMainMenuItem(u8 taskId)
|
||||
bool8 HandleMainMenuInput(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (gMain.newKeys & A_BUTTON)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
@@ -664,7 +664,7 @@ void Task_HandleMainMenuAPressed(u8 taskId)
|
||||
{
|
||||
bool8 r2;
|
||||
u8 action;
|
||||
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
if (gTasks[taskId].data[0] == 3)
|
||||
@@ -791,7 +791,7 @@ void Task_HandleMainMenuAPressed(u8 taskId)
|
||||
case 1:
|
||||
gPlttBufferUnfaded[0] = RGB_BLACK;
|
||||
gPlttBufferFaded[0] = RGB_BLACK;
|
||||
SetMainCallback2(sub_8086230);
|
||||
SetMainCallback2(CB2_ContinueSavedGame);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
case 2:
|
||||
@@ -888,7 +888,7 @@ void Task_DisplayMainMenuInvalidActionError(u8 taskId)
|
||||
void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0x9E7);
|
||||
|
||||
|
||||
switch (menuType)
|
||||
{
|
||||
case HAS_NO_SAVED_GAME:
|
||||
@@ -982,7 +982,7 @@ void task_new_game_prof_birch_speech_1(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
|
||||
|
||||
LZ77UnCompVram(gBirchIntroShadowGfx, (void*)VRAM);
|
||||
LZ77UnCompVram(gUnknown_082FEEF0, (void*)(VRAM + 0x3800));
|
||||
LoadPalette(gUnknown_082FECFC, 0, 64);
|
||||
@@ -1006,7 +1006,7 @@ void task_new_game_prof_birch_speech_1(u8 taskId)
|
||||
void task_new_game_prof_birch_speech_2(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
if (gTasks[taskId].data[7])
|
||||
{
|
||||
gTasks[taskId].data[7]--;
|
||||
@@ -1074,12 +1074,12 @@ void task_new_game_prof_birch_speech_5(u8 taskId)
|
||||
void sub_8030A70(u8 taskId)
|
||||
{
|
||||
u8 spriteId = gTasks[gUnknown_03000DD0].data[9];
|
||||
|
||||
|
||||
gSprites[spriteId].pos1.x = 0x64;
|
||||
gSprites[spriteId].pos1.y = 0x4B;
|
||||
gSprites[spriteId].invisible = 0;
|
||||
gSprites[spriteId].data[0] = 0;
|
||||
|
||||
|
||||
CreatePokeballSpriteToReleaseMon(spriteId, gSprites[spriteId].oam.paletteNum, 0x70, 0x3A, 0, 0, 0x20, 0xFFFF, SPECIES_LOTAD);
|
||||
gTasks[taskId].func = sub_8030B14;
|
||||
gTasks[gUnknown_03000DD0].data[7] = 0;
|
||||
@@ -1167,7 +1167,7 @@ void task_new_game_prof_birch_speech_9(u8 taskId)
|
||||
else
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[10];
|
||||
|
||||
|
||||
gSprites[spriteId].pos1.x = 0xB4;
|
||||
gSprites[spriteId].pos1.y = 0x3C;
|
||||
gSprites[spriteId].invisible = 0;
|
||||
@@ -1211,7 +1211,7 @@ void task_new_game_prof_birch_speech_13(u8 taskId)
|
||||
{
|
||||
int gender = sub_8031DB4();
|
||||
int r3;
|
||||
|
||||
|
||||
switch (gender)
|
||||
{
|
||||
case MALE:
|
||||
@@ -1227,7 +1227,7 @@ void task_new_game_prof_birch_speech_13(u8 taskId)
|
||||
gTasks[taskId].func = task_new_game_prof_birch_speech_14;
|
||||
break;
|
||||
}
|
||||
r3 = GetMenuCursorPos();
|
||||
r3 = GetMenuCursorPos();
|
||||
if (r3 != gTasks[taskId].data[6])
|
||||
{
|
||||
gTasks[taskId].data[6] = r3;
|
||||
@@ -1264,7 +1264,7 @@ void sub_8030ED4(u8 taskId)
|
||||
void sub_8030F7C(u8 taskId)
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[2];
|
||||
|
||||
|
||||
if (gSprites[spriteId].pos1.x > 0xB4)
|
||||
{
|
||||
gSprites[spriteId].pos1.x -= 4;
|
||||
@@ -1366,7 +1366,7 @@ void task_new_game_prof_birch_speech_part2_5(u8 taskId)
|
||||
void task_new_game_prof_birch_speech_part2_6(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
if (gTasks[taskId].data[5])
|
||||
{
|
||||
gSprites[gTasks[taskId].data[10]].invisible = TRUE;
|
||||
@@ -1411,7 +1411,7 @@ void task_new_game_prof_birch_speech_part2_7(u8 taskId)
|
||||
void task_new_game_prof_birch_speech_part2_8(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
if (gTasks[taskId].data[5])
|
||||
{
|
||||
gSprites[gTasks[taskId].data[8]].invisible = 1;
|
||||
@@ -1441,7 +1441,7 @@ void task_new_game_prof_birch_speech_part2_8(u8 taskId)
|
||||
void task_new_game_prof_birch_speech_part2_9(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
if (gTasks[taskId].data[5])
|
||||
{
|
||||
gSprites[gTasks[taskId].data[2]].oam.objMode = 0;
|
||||
@@ -1463,7 +1463,7 @@ void task_new_game_prof_birch_speech_part2_9(u8 taskId)
|
||||
void task_new_game_prof_birch_speech_part2_10(u8 taskId)
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[2];
|
||||
|
||||
|
||||
if (gSprites[spriteId].affineAnimEnded)
|
||||
gTasks[taskId].func = task_new_game_prof_birch_speech_part2_11;
|
||||
}
|
||||
@@ -1471,7 +1471,7 @@ void task_new_game_prof_birch_speech_part2_10(u8 taskId)
|
||||
void task_new_game_prof_birch_speech_part2_11(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
spriteId = gTasks[taskId].data[2];
|
||||
@@ -1499,7 +1499,7 @@ void new_game_prof_birch_speech_part2_start(void)
|
||||
u8 taskId;
|
||||
u8 spriteId;
|
||||
u16 savedIme;
|
||||
|
||||
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||
@@ -1577,7 +1577,7 @@ void nullsub_11(struct Sprite *sprite)
|
||||
void sub_80318D8(struct Sprite *sprite)
|
||||
{
|
||||
u32 y;
|
||||
|
||||
|
||||
y = (sprite->pos1.y << 16) + sprite->data[0] + 0xC000;
|
||||
sprite->pos1.y = y >> 16;
|
||||
sprite->data[0] = y;
|
||||
@@ -1594,7 +1594,7 @@ void AddBirchSpeechObjects(u8 taskId)
|
||||
u8 spriteId2;
|
||||
u8 spriteId3;
|
||||
u8 spriteId4;
|
||||
|
||||
|
||||
gSprites[spriteId].callback = nullsub_11;
|
||||
gSprites[spriteId].oam.priority = 0;
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
@@ -1619,7 +1619,7 @@ void AddBirchSpeechObjects(u8 taskId)
|
||||
void sub_8031A5C(u8 taskId)
|
||||
{
|
||||
int alpha;
|
||||
|
||||
|
||||
if (gTasks[taskId].data[1] == 0)
|
||||
{
|
||||
gTasks[gTasks[taskId].data[0]].data[5] = 1;
|
||||
@@ -1642,7 +1642,7 @@ void sub_8031A5C(u8 taskId)
|
||||
void sub_8031ACC(u8 taskId, u8 a)
|
||||
{
|
||||
u8 taskId2;
|
||||
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_OBJ);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
@@ -1658,7 +1658,7 @@ void sub_8031ACC(u8 taskId, u8 a)
|
||||
void sub_8031B3C(u8 taskId)
|
||||
{
|
||||
int alpha;
|
||||
|
||||
|
||||
if (gTasks[taskId].data[1] == 16)
|
||||
{
|
||||
gTasks[gTasks[taskId].data[0]].data[5] = 1;
|
||||
@@ -1681,7 +1681,7 @@ void sub_8031B3C(u8 taskId)
|
||||
void sub_8031BAC(u8 taskId, u8 a)
|
||||
{
|
||||
u8 taskId2;
|
||||
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_OBJ);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
@@ -1719,7 +1719,7 @@ void sub_8031C1C(u8 taskId)
|
||||
void sub_8031C88(u8 taskId, u8 a)
|
||||
{
|
||||
u8 taskId2;
|
||||
|
||||
|
||||
taskId2 = CreateTask(sub_8031C1C, 0);
|
||||
gTasks[taskId2].data[0] = taskId;
|
||||
gTasks[taskId2].data[1] = 0;
|
||||
@@ -1753,7 +1753,7 @@ void sub_8031CC8(u8 taskId)
|
||||
void sub_8031D34(u8 taskId, u8 a)
|
||||
{
|
||||
u8 taskId2;
|
||||
|
||||
|
||||
taskId2 = CreateTask(sub_8031CC8, 0);
|
||||
gTasks[taskId2].data[0] = taskId;
|
||||
gTasks[taskId2].data[1] = 8;
|
||||
@@ -1781,7 +1781,7 @@ void set_default_player_name(u8 nameId)
|
||||
{
|
||||
const u8* name;
|
||||
u8 i;
|
||||
|
||||
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
name = gMalePresetNames[nameId];
|
||||
else
|
||||
@@ -1821,7 +1821,7 @@ void fmt_player(void)
|
||||
{
|
||||
u8 str[0x20];
|
||||
u8* ptr;
|
||||
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime);
|
||||
box_print(2, 1, 0x6C, 17, gUnknown_082FF0E3, -1, gStringVar4);
|
||||
ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, 0, 3);
|
||||
@@ -1834,7 +1834,7 @@ void fmt_pokedex(void)
|
||||
{
|
||||
u8 str[0x20];
|
||||
u16 dexCount;
|
||||
|
||||
|
||||
if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
|
||||
{
|
||||
if (IsNationalPokedexEnabled())
|
||||
@@ -1853,7 +1853,7 @@ void fmt_badges(void)
|
||||
u8 str[0x20];
|
||||
u8 badgeCount = 0;
|
||||
u32 i;
|
||||
|
||||
|
||||
for (i = FLAG_BADGE01_GET; i <= FLAG_BADGE08_GET; i++)
|
||||
{
|
||||
if (FlagGet(i))
|
||||
@@ -1880,7 +1880,7 @@ void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 baseTil
|
||||
u16 sp10 = 6 + baseTileNum;
|
||||
u16 sp14 = 7 + baseTileNum;
|
||||
u16 r6 = 8 + baseTileNum;
|
||||
|
||||
|
||||
FillBgTilemapBufferRect(template->priority, baseTileNum, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, 2);
|
||||
FillBgTilemapBufferRect(template->priority, r9, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, 2);
|
||||
FillBgTilemapBufferRect(template->priority, r10, template->tilemapLeft + template->width, template->tilemapTop - 1, 1, 1, 2);
|
||||
@@ -1919,7 +1919,7 @@ void sub_8032318(u8 a)
|
||||
u8 fontAttribute3 = GetFontAttribute(1, 1);
|
||||
u8 windowAttribute = GetWindowAttribute(a, 3);
|
||||
u8 windowAttribute2 = GetWindowAttribute(a, 4);
|
||||
|
||||
|
||||
FillWindowPixelRect(a, fontAttribute, 0, 0, fontAttribute2 * windowAttribute, fontAttribute3 * windowAttribute2);
|
||||
CopyWindowToVram(a, 2);
|
||||
}
|
||||
@@ -1936,7 +1936,7 @@ void sub_80323A0(struct TextSubPrinter *printer, u16 a)
|
||||
void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f)
|
||||
{
|
||||
struct WindowTemplate sp;
|
||||
|
||||
|
||||
sp = sub_8198A50(0, a + 1, b + 1, 5, 4, f, d);
|
||||
CreateYesNoMenu(&sp, c, e, 0);
|
||||
}
|
||||
|
||||
@@ -1798,22 +1798,22 @@ static bool8 sub_80E503C(u8 character)
|
||||
|
||||
static void sub_80E5074(void)
|
||||
{
|
||||
DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8086194);
|
||||
DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnToFieldWithOpenMenu);
|
||||
}
|
||||
|
||||
static void sub_80E509C(void)
|
||||
{
|
||||
DoNamingScreen(1, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8086194);
|
||||
DoNamingScreen(1, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnToFieldWithOpenMenu);
|
||||
}
|
||||
|
||||
static void sub_80E50C4(void)
|
||||
{
|
||||
DoNamingScreen(2, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8086194);
|
||||
DoNamingScreen(2, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnToFieldWithOpenMenu);
|
||||
}
|
||||
|
||||
static void sub_80E50EC(void)
|
||||
{
|
||||
DoNamingScreen(3, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8086194);
|
||||
DoNamingScreen(3, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnToFieldWithOpenMenu);
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
3192
src/overworld.c
3192
src/overworld.c
File diff suppressed because it is too large
Load Diff
@@ -74,7 +74,7 @@ extern void (*gFieldCallback)(void);
|
||||
|
||||
extern const u16 gUnknown_0860F074[];
|
||||
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
extern void CB2_ReturnToField(void);
|
||||
extern bool8 sub_81221EC(void);
|
||||
extern void sub_809882C(u8, u16, u8);
|
||||
extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8);
|
||||
@@ -374,7 +374,7 @@ void OpenPokeblockCaseInBattle(void)
|
||||
|
||||
void OpenPokeblockCaseOnFeeder(void)
|
||||
{
|
||||
OpenPokeblockCase(PBLOCK_CASE_FEEDER, c2_exit_to_overworld_2_switch);
|
||||
OpenPokeblockCase(PBLOCK_CASE_FEEDER, CB2_ReturnToField);
|
||||
}
|
||||
|
||||
static void CB2_PokeblockMenu(void)
|
||||
|
||||
@@ -881,7 +881,7 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void)
|
||||
return;
|
||||
}
|
||||
|
||||
switch (get_map_light_level_by_bank_and_number(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum))
|
||||
switch (GetMapTypeByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum))
|
||||
{
|
||||
default:
|
||||
case 1:
|
||||
@@ -904,7 +904,7 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void)
|
||||
case 7:
|
||||
if (gMapHeader.flags & 0x02)
|
||||
{
|
||||
mapHeader = get_mapheader_by_bank_and_number(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum);
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum);
|
||||
gRegionMap->mapSecId = mapHeader->regionMapSectionId;
|
||||
gRegionMap->playerIsInCave = TRUE;
|
||||
mapWidth = mapHeader->mapData->width;
|
||||
@@ -923,7 +923,7 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void)
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
mapHeader = get_mapheader_by_bank_and_number((u16)gSaveBlock1Ptr->warp2.mapGroup, (u16)gSaveBlock1Ptr->warp2.mapNum);
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId((u16)gSaveBlock1Ptr->warp2.mapGroup, (u16)gSaveBlock1Ptr->warp2.mapNum);
|
||||
gRegionMap->mapSecId = mapHeader->regionMapSectionId;
|
||||
gRegionMap->playerIsInCave = TRUE;
|
||||
mapWidth = mapHeader->mapData->width;
|
||||
@@ -937,12 +937,12 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void)
|
||||
if (gRegionMap->mapSecId != MAPSEC_DYNAMIC)
|
||||
{
|
||||
storedWarp = &gSaveBlock1Ptr->warp4;
|
||||
mapHeader = get_mapheader_by_bank_and_number(storedWarp->mapGroup, storedWarp->mapNum);
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(storedWarp->mapGroup, storedWarp->mapNum);
|
||||
}
|
||||
else
|
||||
{
|
||||
storedWarp = &gSaveBlock1Ptr->warp2;
|
||||
mapHeader = get_mapheader_by_bank_and_number(storedWarp->mapGroup, storedWarp->mapNum);
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(storedWarp->mapGroup, storedWarp->mapNum);
|
||||
gRegionMap->mapSecId = mapHeader->regionMapSectionId;
|
||||
}
|
||||
if (RegionMap_IsPlayerInCave(gRegionMap->mapSecId))
|
||||
@@ -1065,7 +1065,7 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void)
|
||||
break;
|
||||
default:
|
||||
case 0:
|
||||
mapHeader = get_mapheader_by_bank_and_number(mapGroup, mapNum);
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum);
|
||||
|
||||
gRegionMap->mapSecId = mapHeader->regionMapSectionId;
|
||||
dimensionScale = mapHeader->mapData->width / gRegionMapEntries[gRegionMap->mapSecId].width;
|
||||
@@ -1581,7 +1581,7 @@ void MCB2_FlyMap(void)
|
||||
gUnknown_0203A148 = malloc(sizeof(*gUnknown_0203A148));
|
||||
if (gUnknown_0203A148 == NULL)
|
||||
{
|
||||
SetMainCallback2(sub_8086194);
|
||||
SetMainCallback2(CB2_ReturnToFieldWithOpenMenu);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -26,5 +26,5 @@ void sub_81700F8(void)
|
||||
Sav2_ClearSetDefault();
|
||||
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
|
||||
InitHeap(gHeap, HEAP_SIZE);
|
||||
SetMainCallback2(sub_8086230);
|
||||
SetMainCallback2(CB2_ContinueSavedGame);
|
||||
}
|
||||
|
||||
@@ -30,9 +30,9 @@ extern void sub_80EE44C(u8, u8);
|
||||
extern void IncrementGameStat(u8 index);
|
||||
extern void ScriptContext1_SetupScript(u8*);
|
||||
extern void ScriptContext2_RunNewScript(u8*);
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
extern void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
|
||||
extern void c2_load_new_map(void);
|
||||
extern void CB2_ReturnToField(void);
|
||||
extern void CB2_ReturnToFieldContinueScript(void);
|
||||
extern void CB2_LoadMap(void);
|
||||
extern void sub_80AF6F0(void);
|
||||
extern void ScriptContext1_Stop(void);
|
||||
extern void warp_in(void);
|
||||
@@ -112,20 +112,20 @@ void CB2_EndSafariBattle(void)
|
||||
sSafariZoneCaughtMons++;
|
||||
if (gNumSafariBalls != 0)
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS)
|
||||
{
|
||||
ScriptContext2_RunNewScript(EventScript_2A4B4C);
|
||||
warp_in();
|
||||
gFieldCallback = sub_80AF6F0;
|
||||
SetMainCallback2(c2_load_new_map);
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
}
|
||||
else if (gBattleOutcome == B_OUTCOME_CAUGHT)
|
||||
{
|
||||
ScriptContext1_SetupScript(EventScript_2A4B9B);
|
||||
ScriptContext1_Stop();
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2054,7 +2054,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx)
|
||||
{
|
||||
u8 slotMachineIndex = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
PlaySlotMachine(slotMachineIndex, c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
PlaySlotMachine(slotMachineIndex, CB2_ReturnToFieldContinueScript);
|
||||
ScriptContext1_Stop();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ void ScriptContext2_RunNewScript(const u8 *ptr)
|
||||
|
||||
u8 *mapheader_get_tagged_pointer(u8 tag)
|
||||
{
|
||||
u8 *mapScripts = gMapHeader.mapScripts;
|
||||
const u8 *mapScripts = gMapHeader.mapScripts;
|
||||
|
||||
if (!mapScripts)
|
||||
return NULL;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "global.h"
|
||||
#include "constants/decorations.h"
|
||||
#include "malloc.h"
|
||||
#include "main.h"
|
||||
#include "task.h"
|
||||
#include "palette.h"
|
||||
#include "list_menu.h"
|
||||
@@ -39,6 +40,10 @@
|
||||
#include "tv.h"
|
||||
#include "secret_base.h"
|
||||
|
||||
extern void (*gFieldCallback)(void);
|
||||
|
||||
extern void mapldr_default(void);
|
||||
|
||||
// Static type declarations
|
||||
|
||||
struct SecretBaseListMenuBuffer {
|
||||
@@ -244,7 +249,7 @@ void sub_80E8C98(void)
|
||||
|
||||
void sub_80E8CB0(s16 *xPtr, s16 *yPtr, u16 tile)
|
||||
{
|
||||
struct MapData *mapData;
|
||||
const struct MapData *mapData;
|
||||
s16 x;
|
||||
s16 y;
|
||||
|
||||
@@ -386,7 +391,7 @@ void sub_80E8FD0(u8 taskId)
|
||||
sub_80E8F9C();
|
||||
warp_in();
|
||||
gFieldCallback = sub_80AF168;
|
||||
SetMainCallback2(c2_load_new_map);
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
}
|
||||
@@ -444,7 +449,7 @@ void sub_80E916C(u8 taskId)
|
||||
Overworld_SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gUnknown_0858CFE8[idx + 2], gUnknown_0858CFE8[idx + 3]);
|
||||
warp_in();
|
||||
gFieldCallback = sub_80E9108;
|
||||
SetMainCallback2(c2_load_new_map);
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -642,7 +647,7 @@ void sub_80E96A4(u8 taskId)
|
||||
copy_saved_warp2_bank_and_enter_x_to_warp1(0x7e);
|
||||
warp_in();
|
||||
gFieldCallback = mapldr_default;
|
||||
SetMainCallback2(c2_load_new_map);
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
ScriptContext2_Disable();
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
@@ -773,7 +778,7 @@ void sub_80E9AD0(void)
|
||||
u16 i;
|
||||
u16 j;
|
||||
s16 tile;
|
||||
struct MapEvents *events;
|
||||
const struct MapEvents *events;
|
||||
|
||||
events = gMapHeader.events;
|
||||
for (i = 0; i < events->bgEventCount; i ++)
|
||||
|
||||
4
src/tv.c
4
src/tv.c
@@ -3633,7 +3633,7 @@ void ChangePokemonNickname(void)
|
||||
void ChangePokemonNickname_CB(void)
|
||||
{
|
||||
SetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar2);
|
||||
c2_exit_to_overworld_1_continue_scripts_restart_music();
|
||||
CB2_ReturnToFieldContinueScript();
|
||||
}
|
||||
|
||||
void ChangeBoxPokemonNickname(void)
|
||||
@@ -3649,7 +3649,7 @@ void ChangeBoxPokemonNickname(void)
|
||||
void ChangeBoxPokemonNickname_CB(void)
|
||||
{
|
||||
SetBoxMonNickFromAnyBox(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2);
|
||||
c2_exit_to_overworld_1_continue_scripts_restart_music();
|
||||
CB2_ReturnToFieldContinueScript();
|
||||
}
|
||||
|
||||
void TV_CopyNicknameToStringVar1AndEnsureTerminated(void)
|
||||
|
||||
@@ -14,7 +14,7 @@ extern const u8 gText_Peekaboo[];
|
||||
extern u8 *GetWaldaPhrasePtr(void);
|
||||
extern bool32 IsWaldaPhraseEmpty(void);
|
||||
extern void sub_80AF168(void);
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
extern void CB2_ReturnToField(void);
|
||||
extern void SetWaldaPhrase(const u8 *src);
|
||||
extern void SetWaldaWallpaperPatternId(u8 patternId);
|
||||
extern void SetWaldaWallpaperIconId(u8 iconId);
|
||||
@@ -80,7 +80,7 @@ static void CB2_HandleGivenWaldaPhrase(void)
|
||||
|
||||
StringCopy(gStringVar1, GetWaldaPhrasePtr());
|
||||
gFieldCallback = sub_80AF168;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
||||
static u32 GetWaldaPhraseInputCase(u8 *inputPtr)
|
||||
|
||||
Reference in New Issue
Block a user