mirror of
https://github.com/rh-hideout/pokeemerald-expansion.git
synced 2026-03-21 18:04:50 -05:00
Merge commit 'f2cf20ce9bdf4a9f6cd0300a005ca3ec6ae89e3c' into pret-merge
Conflicts: INSTALL.md include/battle.h include/save.h src/wild_encounter.c
This commit is contained in:
commit
8c4d1269a0
|
|
@ -13,6 +13,7 @@
|
|||
#include "battle_util2.h"
|
||||
#include "battle_bg.h"
|
||||
#include "pokeball.h"
|
||||
#include "main.h"
|
||||
#include "battle_debug.h"
|
||||
#include "battle_dynamax.h"
|
||||
#include "battle_terastal.h"
|
||||
|
|
@ -1118,7 +1119,7 @@ extern u16 gBattleTurnCounter;
|
|||
extern u8 gBattlerAbility;
|
||||
extern struct QueuedStatBoost gQueuedStatBoosts[MAX_BATTLERS_COUNT];
|
||||
|
||||
extern void (*gPreBattleCallback1)(void);
|
||||
extern MainCallback gPreBattleCallback1;
|
||||
extern void (*gBattleMainFunc)(void);
|
||||
extern struct BattleResults gBattleResults;
|
||||
extern u8 gLeveledUpInBattle;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define GUARD_BATTLE_PYRAMID_BAG_H
|
||||
|
||||
#include "list_menu.h"
|
||||
#include "main.h"
|
||||
|
||||
enum {
|
||||
PYRAMIDBAG_LOC_FIELD,
|
||||
|
|
@ -29,7 +30,7 @@ enum {
|
|||
|
||||
struct PyramidBagMenu
|
||||
{
|
||||
void (*newScreenCallback)(void);
|
||||
MainCallback newScreenCallback;
|
||||
u8 tilemapBuffer[BG_SCREEN_SIZE];
|
||||
u8 spriteIds[PBAG_SPRITE_COUNT];
|
||||
u8 windowIds[5];
|
||||
|
|
@ -49,7 +50,7 @@ struct PyramidBagMenu
|
|||
|
||||
struct PyramidBagMenuState
|
||||
{
|
||||
void (*exitCallback)(void);
|
||||
MainCallback exitCallback;
|
||||
u8 location;
|
||||
u16 cursorPosition;
|
||||
u16 scrollPosition;
|
||||
|
|
@ -63,7 +64,7 @@ void CB2_PyramidBagMenuFromStartMenu(void);
|
|||
void CB2_ReturnToPyramidBagMenu(void);
|
||||
void UpdatePyramidBagList(void);
|
||||
void UpdatePyramidBagCursorPos(void);
|
||||
void GoToBattlePyramidBagMenu(u8 location, void (*exitCallback)(void));
|
||||
void GoToBattlePyramidBagMenu(u8 location, MainCallback exitCallback);
|
||||
void Task_CloseBattlePyramidBagMessage(u8 taskId);
|
||||
void TryStoreHeldItemsInPyramidBag(void);
|
||||
void ChooseItemsToTossFromPyramidBag(void);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
#ifndef GUARD_DODRIO_BERRY_PICKING_H
|
||||
#define GUARD_DODRIO_BERRY_PICKING_H
|
||||
|
||||
void StartDodrioBerryPicking(u16 partyId, void (*exitCallback)(void));
|
||||
#include "main.h"
|
||||
|
||||
void StartDodrioBerryPicking(u16 partyId, MainCallback exitCallback);
|
||||
void IsDodrioInParty(void);
|
||||
void ShowDodrioBerryPickingRecords(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define GUARD_ITEM_MENU_H
|
||||
|
||||
#include "item.h"
|
||||
#include "main.h"
|
||||
#include "menu_helpers.h"
|
||||
|
||||
enum {
|
||||
|
|
@ -57,7 +58,7 @@ enum {
|
|||
|
||||
struct BagPosition
|
||||
{
|
||||
void (*exitCallback)(void);
|
||||
MainCallback exitCallback;
|
||||
u8 location;
|
||||
u8 pocket;
|
||||
u16 pocketSwitchArrowPos;
|
||||
|
|
@ -69,7 +70,7 @@ extern struct BagPosition gBagPosition;
|
|||
|
||||
struct BagMenu
|
||||
{
|
||||
void (*newScreenCallback)(void);
|
||||
MainCallback newScreenCallback;
|
||||
u8 tilemapBuffer[BG_SCREEN_SIZE];
|
||||
u8 spriteIds[ITEMMENUSPRITE_COUNT];
|
||||
u8 windowIds[ITEMWIN_COUNT];
|
||||
|
|
@ -106,10 +107,10 @@ void CB2_BagMenuFromStartMenu(void);
|
|||
u8 GetItemListPosition(u8 pocketId);
|
||||
bool8 UseRegisteredKeyItemOnField(void);
|
||||
void CB2_GoToSellMenu(void);
|
||||
void GoToBagMenu(u8 location, u8 pocket, void ( *exitCallback)());
|
||||
void GoToBagMenu(u8 location, u8 pocket, MainCallback exitCallback);
|
||||
void DoWallyTutorialBagMenu(void);
|
||||
void ResetBagScrollPositions(void);
|
||||
void ChooseBerryForMachine(void (*exitCallback)(void));
|
||||
void ChooseBerryForMachine(MainCallback exitCallback);
|
||||
void CB2_ChooseBerry(void);
|
||||
void CB2_ChooseMulch(void);
|
||||
void Task_FadeAndCloseBagMenu(u8 taskId);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef GUARD_MAIL_H
|
||||
#define GUARD_MAIL_H
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#define IS_ITEM_MAIL(itemId) ((itemId == ITEM_ORANGE_MAIL \
|
||||
|| itemId == ITEM_HARBOR_MAIL \
|
||||
|| itemId == ITEM_GLITTER_MAIL \
|
||||
|
|
@ -15,7 +17,7 @@
|
|||
|| itemId == ITEM_RETRO_MAIL))
|
||||
|
||||
// mail.h
|
||||
void ReadMail(struct Mail *mail, void (*exitCallback)(void), bool8 hasText);
|
||||
void ReadMail(struct Mail *mail, MainCallback exitCallback, bool8 hasText);
|
||||
|
||||
// mail_data.h
|
||||
void ClearAllMail(void);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef GUARD_RAYQUAZA_SCENE_H
|
||||
#define GUARD_RAYQUAZA_SCENE_H
|
||||
|
||||
void DoRayquazaScene(u8 animId, bool8 endEarly, void (*exitCallback)(void));
|
||||
#include "main.h"
|
||||
|
||||
void DoRayquazaScene(u8 animId, bool8 endEarly, MainCallback exitCallback);
|
||||
|
||||
#endif // GUARD_RAYQUAZA_SCENE_H
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef GUARD_SAVE_H
|
||||
#define GUARD_SAVE_H
|
||||
|
||||
#include "main.h"
|
||||
|
||||
// Each 4 KiB flash sector contains 3968 bytes of actual data followed by 116 bytes of SaveBlock3 and then 12 bytes of footer.
|
||||
#define SECTOR_DATA_SIZE 3968
|
||||
#define SAVE_BLOCK_3_CHUNK_SIZE 116
|
||||
|
|
@ -87,7 +89,7 @@ extern u32 gSaveCounter;
|
|||
extern struct SaveSector *gFastSaveSector;
|
||||
extern u16 gIncrementalSectorId;
|
||||
extern u16 gSaveFileStatus;
|
||||
extern void (*gGameContinueCallback)(void);
|
||||
extern MainCallback gGameContinueCallback;
|
||||
extern struct SaveSectorLocation gRamSaveSectorLocations[];
|
||||
|
||||
extern struct SaveSector gSaveDataBuffer;
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ EWRAM_DATA u8 gPartyCriticalHits[PARTY_SIZE] = {0};
|
|||
EWRAM_DATA static u8 sTriedEvolving = 0;
|
||||
EWRAM_DATA u8 gCategoryIconSpriteId = 0;
|
||||
|
||||
COMMON_DATA void (*gPreBattleCallback1)(void) = NULL;
|
||||
COMMON_DATA MainCallback gPreBattleCallback1 = NULL;
|
||||
COMMON_DATA void (*gBattleMainFunc)(void) = NULL;
|
||||
COMMON_DATA struct BattleResults gBattleResults = {0};
|
||||
COMMON_DATA u8 gLeveledUpInBattle = 0;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
#include "item_use.h"
|
||||
#include "list_menu.h"
|
||||
#include "mail.h"
|
||||
#include "main.h"
|
||||
#include "malloc.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
|
|
@ -414,7 +413,7 @@ void CB2_ReturnToPyramidBagMenu(void)
|
|||
GoToBattlePyramidBagMenu(PYRAMIDBAG_LOC_PREV, gPyramidBagMenuState.exitCallback);
|
||||
}
|
||||
|
||||
void GoToBattlePyramidBagMenu(u8 location, void (*exitCallback)(void))
|
||||
void GoToBattlePyramidBagMenu(u8 location, MainCallback exitCallback)
|
||||
{
|
||||
gPyramidBagMenu = AllocZeroed(sizeof(*gPyramidBagMenu));
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
#include "link.h"
|
||||
#include "link_rfu.h"
|
||||
#include "m4a.h"
|
||||
#include "main.h"
|
||||
#include "palette.h"
|
||||
#include "minigame_countdown.h"
|
||||
#include "random.h"
|
||||
|
|
@ -224,7 +223,7 @@ struct DodrioGame_ScoreResults
|
|||
|
||||
struct DodrioGame
|
||||
{
|
||||
/*0x0000*/ void (*exitCallback)(void);
|
||||
/*0x0000*/ MainCallback exitCallback;
|
||||
/*0x0004*/ u8 ALIGNED(4) taskId;
|
||||
/*0x0008*/ u8 ALIGNED(4) playersReceived;
|
||||
/*0x000C*/ u8 ALIGNED(4) startState;
|
||||
|
|
@ -662,7 +661,7 @@ static void (*const sMemberFuncs[])(void) =
|
|||
[FUNC_WAIT_END_GAME] = WaitEndGame_Member
|
||||
};
|
||||
|
||||
void StartDodrioBerryPicking(u16 partyId, void (*exitCallback)(void))
|
||||
void StartDodrioBerryPicking(u16 partyId, MainCallback exitCallback)
|
||||
{
|
||||
sExitingGame = FALSE;
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ enum {
|
|||
|
||||
struct FrontierPassData
|
||||
{
|
||||
void (*callback)(void);
|
||||
MainCallback callback;
|
||||
u16 state;
|
||||
u16 battlePoints;
|
||||
s16 cursorX;
|
||||
|
|
@ -137,14 +137,14 @@ struct FrontierPassGfx
|
|||
|
||||
struct FrontierPassSaved
|
||||
{
|
||||
void (*callback)(void);
|
||||
MainCallback callback;
|
||||
s16 cursorX;
|
||||
s16 cursorY;
|
||||
};
|
||||
|
||||
struct FrontierMapData
|
||||
{
|
||||
void (*callback)(void);
|
||||
MainCallback callback;
|
||||
struct Sprite *cursorSprite;
|
||||
struct Sprite *playerHeadSprite;
|
||||
struct Sprite *mapIndicatorSprite;
|
||||
|
|
@ -160,8 +160,8 @@ static EWRAM_DATA struct FrontierPassGfx *sPassGfx = NULL;
|
|||
static EWRAM_DATA struct FrontierMapData *sMapData = NULL;
|
||||
static EWRAM_DATA struct FrontierPassSaved sSavedPassData = {0};
|
||||
|
||||
static u32 AllocateFrontierPassData(void (*callback)(void));
|
||||
static void ShowFrontierMap(void (*callback)(void));
|
||||
static u32 AllocateFrontierPassData(MainCallback callback);
|
||||
static void ShowFrontierMap(MainCallback callback);
|
||||
static void CB2_InitFrontierPass(void);
|
||||
static void DrawFrontierPassBg(void);
|
||||
static void FreeCursorAndSymbolSprites(void);
|
||||
|
|
@ -604,7 +604,7 @@ static void LeaveFrontierPass(void)
|
|||
FreeFrontierPassData();
|
||||
}
|
||||
|
||||
static u32 AllocateFrontierPassData(void (*callback)(void))
|
||||
static u32 AllocateFrontierPassData(MainCallback callback)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
|
|
@ -1363,7 +1363,7 @@ static void PrintOnFrontierMap(void);
|
|||
static void InitFrontierMapSprites(void);
|
||||
static void HandleFrontierMapCursorMove(u8 direction);
|
||||
|
||||
static void ShowFrontierMap(void (*callback)(void))
|
||||
static void ShowFrontierMap(MainCallback callback)
|
||||
{
|
||||
if (sMapData != NULL)
|
||||
SetMainCallback2(callback); // This line doesn't make sense at all, since it gets overwritten later anyway.
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@
|
|||
#include "list_menu.h"
|
||||
#include "link.h"
|
||||
#include "mail.h"
|
||||
#include "main.h"
|
||||
#include "malloc.h"
|
||||
#include "map_name_popup.h"
|
||||
#include "menu.h"
|
||||
|
|
@ -614,7 +613,7 @@ void CB2_ChooseMulch(void)
|
|||
}
|
||||
|
||||
// Choosing berry for Berry Blender or Berry Crush
|
||||
void ChooseBerryForMachine(void (*exitCallback)(void))
|
||||
void ChooseBerryForMachine(MainCallback exitCallback)
|
||||
{
|
||||
GoToBagMenu(ITEMMENULOCATION_BERRY_BLENDER_CRUSH, POCKET_BERRIES, exitCallback);
|
||||
}
|
||||
|
|
@ -648,7 +647,7 @@ void QuizLadyOpenBagMenu(void)
|
|||
gSpecialVar_Result = FALSE;
|
||||
}
|
||||
|
||||
void GoToBagMenu(u8 location, u8 pocket, void ( *exitCallback)())
|
||||
void GoToBagMenu(u8 location, u8 pocket, MainCallback exitCallback)
|
||||
{
|
||||
gBagMenu = AllocZeroed(sizeof(*gBagMenu));
|
||||
if (gBagMenu == NULL)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "mail.h"
|
||||
#include "constants/items.h"
|
||||
#include "main.h"
|
||||
#include "overworld.h"
|
||||
#include "task.h"
|
||||
#include "scanline_effect.h"
|
||||
|
|
@ -443,7 +442,7 @@ static const struct MailLayout sMailLayouts_Tall[] = {
|
|||
},
|
||||
};
|
||||
|
||||
void ReadMail(struct Mail *mail, void (*exitCallback)(void), bool8 hasText)
|
||||
void ReadMail(struct Mail *mail, MainCallback exitCallback, bool8 hasText)
|
||||
{
|
||||
u16 buffer[2];
|
||||
u16 species;
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ enum {
|
|||
struct PokeblockMenuStruct
|
||||
{
|
||||
u8 tilemap[BG_SCREEN_SIZE];
|
||||
void (*callbackOnUse)(void);
|
||||
MainCallback callbackOnUse;
|
||||
const u8 *pokeblockActionIds;
|
||||
u8 numActions;
|
||||
u8 caseId;
|
||||
|
|
@ -80,7 +80,7 @@ struct PokeblockMenuStruct
|
|||
|
||||
struct PokeblockSavedData
|
||||
{
|
||||
void (*callback)(void);
|
||||
MainCallback callback;
|
||||
u16 selectedRow;
|
||||
u16 scrollOffset;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
#include "task.h"
|
||||
#include "graphics.h"
|
||||
#include "bg.h"
|
||||
#include "main.h"
|
||||
#include "malloc.h"
|
||||
#include "palette.h"
|
||||
#include "scanline_effect.h"
|
||||
|
|
@ -1287,7 +1286,7 @@ static const struct BgTemplate sBgTemplates_ChasesAway[] =
|
|||
}
|
||||
};
|
||||
|
||||
void DoRayquazaScene(u8 animId, bool8 endEarly, void (*exitCallback)(void))
|
||||
void DoRayquazaScene(u8 animId, bool8 endEarly, MainCallback exitCallback)
|
||||
{
|
||||
sRayScene = AllocZeroed(sizeof(*sRayScene));
|
||||
sRayScene->animId = animId;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
#include "overworld.h"
|
||||
#include "hall_of_fame.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "main.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "link.h"
|
||||
#include "constants/game_stat.h"
|
||||
|
|
@ -92,7 +91,7 @@ COMMON_DATA struct SaveSector *gReadWriteSector = NULL; // Pointer to a buffer f
|
|||
COMMON_DATA u16 gIncrementalSectorId = 0;
|
||||
COMMON_DATA u16 gSaveUnusedVar = 0;
|
||||
COMMON_DATA u16 gSaveFileStatus = 0;
|
||||
COMMON_DATA void (*gGameContinueCallback)(void) = NULL;
|
||||
COMMON_DATA MainCallback gGameContinueCallback = NULL;
|
||||
COMMON_DATA struct SaveSectorLocation gRamSaveSectorLocations[NUM_SECTORS_PER_SLOT] = {0};
|
||||
COMMON_DATA u16 gSaveUnusedVar2 = 0;
|
||||
COMMON_DATA u16 gSaveAttemptStatus = 0;
|
||||
|
|
@ -897,7 +896,7 @@ u8 LoadGameSave(u8 saveType)
|
|||
status = TryLoadSaveSlot(FULL_SAVE_SLOT, gRamSaveSectorLocations);
|
||||
CopyPartyAndObjectsFromSave();
|
||||
gSaveFileStatus = status;
|
||||
gGameContinueCallback = 0;
|
||||
gGameContinueCallback = NULL;
|
||||
break;
|
||||
case SAVE_HALL_OF_FAME:
|
||||
if (gHoFSaveBuffer != NULL)
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ static void CB2_ReturnToTitleScreen(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2((MainCallback)gGameContinueCallback);
|
||||
SetMainCallback2(gGameContinueCallback);
|
||||
gGameContinueCallback = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -458,7 +458,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId)
|
|||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
SetMainCallback2((void *)((u16)tCallbackHi << 16 | (u16)tCallbackLo));
|
||||
SetMainCallback2((MainCallback)((u16)tCallbackHi << 16 | (u16)tCallbackLo));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ struct TrainerCardData
|
|||
u8 cardType;
|
||||
bool8 isHoenn;
|
||||
u16 blendColor;
|
||||
void (*callback2)(void);
|
||||
MainCallback callback2;
|
||||
struct TrainerCard trainerCard;
|
||||
u16 frontTilemap[600];
|
||||
u16 backTilemap[600];
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ enum {
|
|||
struct UsePokeblockSession
|
||||
{
|
||||
void (*callback)(void);
|
||||
void (*exitCallback)(void);
|
||||
MainCallback exitCallback;
|
||||
struct Pokeblock *pokeblock;
|
||||
struct Pokemon *mon;
|
||||
u8 stringBuffer[64];
|
||||
|
|
@ -162,7 +162,7 @@ extern const u16 gConditionText_Pal[];
|
|||
// The below 3 are saved for returning to the screen after feeding a pokeblock to a mon
|
||||
// so that the rest of the data can be freed
|
||||
static EWRAM_DATA struct UsePokeblockSession *sInfo = NULL;
|
||||
static EWRAM_DATA void (*sExitCallback)(void) = NULL;
|
||||
static EWRAM_DATA MainCallback sExitCallback = NULL;
|
||||
static EWRAM_DATA struct Pokeblock *sPokeblock = NULL;
|
||||
EWRAM_DATA u8 gPokeblockMonId = 0;
|
||||
EWRAM_DATA s16 gPokeblockGain = 0;
|
||||
|
|
|
|||
|
|
@ -1,20 +1,23 @@
|
|||
#include "global.h"
|
||||
#include "wild_encounter.h"
|
||||
#include "pokemon.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "battle_setup.h"
|
||||
#include "battle_pike.h"
|
||||
#include "battle_pyramid.h"
|
||||
#include "event_data.h"
|
||||
#include "fieldmap.h"
|
||||
#include "follower_npc.h"
|
||||
#include "random.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "event_data.h"
|
||||
#include "safari_zone.h"
|
||||
#include "link.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "overworld.h"
|
||||
#include "pokeblock.h"
|
||||
#include "battle_setup.h"
|
||||
#include "pokemon.h"
|
||||
#include "random.h"
|
||||
#include "roamer.h"
|
||||
#include "tv.h"
|
||||
#include "link.h"
|
||||
#include "safari_zone.h"
|
||||
#include "script.h"
|
||||
#include "tv.h"
|
||||
#include "wild_encounter.h"
|
||||
#include "battle_debug.h"
|
||||
#include "battle_pike.h"
|
||||
#include "battle_pyramid.h"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user