mirror of
https://github.com/pret/pokeheartgold.git
synced 2025-03-02 01:58:25 +00:00
184 lines
8.7 KiB
C
184 lines
8.7 KiB
C
#ifndef POKEHEARTGOLD_FIELD_LAUNCH_APPLICATION_H
|
|
#define POKEHEARTGOLD_FIELD_LAUNCH_APPLICATION_H
|
|
|
|
#include "battle/battle_setup.h"
|
|
#include "credits/credits.h"
|
|
#include "voltorb_flip/voltorb_flip.h"
|
|
|
|
#include "alph_puzzle.h"
|
|
#include "bag.h"
|
|
#include "certificates_app.h"
|
|
#include "choose_starter_app.h"
|
|
#include "fashion_case.h"
|
|
#include "mail.h"
|
|
#include "mail_misc.h"
|
|
#include "move_relearner.h"
|
|
#include "overlay_02.h"
|
|
#include "overlay_103.h"
|
|
#include "overlay_108.h"
|
|
#include "overlay_109.h"
|
|
#include "overlay_111.h"
|
|
#include "overlay_113.h"
|
|
#include "overlay_14.h"
|
|
#include "overlay_16.h"
|
|
#include "overlay_18.h"
|
|
#include "overlay_41.h"
|
|
#include "overlay_43.h"
|
|
#include "overlay_54.h"
|
|
#include "overlay_58.h"
|
|
#include "overlay_67.h"
|
|
#include "overlay_72.h"
|
|
#include "overlay_73.h"
|
|
#include "overlay_86.h"
|
|
#include "overlay_87.h"
|
|
#include "overlay_96.h"
|
|
#include "overlay_99.h"
|
|
#include "overlay_trainer_card.h"
|
|
#include "party_menu.h"
|
|
#include "pokemon_types_def.h"
|
|
#include "register_hall_of_fame.h"
|
|
#include "sav_system_info.h"
|
|
#include "save_palpad.h"
|
|
#include "save_pokeathlon.h"
|
|
#include "save_special_ribbons.h"
|
|
#include "save_wifi_history.h"
|
|
#include "script.h"
|
|
#include "unk_02088288.h"
|
|
#include "unk_02092BE8.h"
|
|
#include "unk_02097B78.h"
|
|
#include "unk_02097D3C.h"
|
|
|
|
typedef enum NameScreenType {
|
|
NAME_SCREEN_PLAYER,
|
|
NAME_SCREEN_POKEMON,
|
|
NAME_SCREEN_BOX,
|
|
NAME_SCREEN_RIVAL,
|
|
NAME_SCREEN_UNK4,
|
|
NAME_SCREEN_GROUP,
|
|
NAME_SCREEN_UNK6,
|
|
NAME_SCREEN_UNK7,
|
|
} NameScreenType;
|
|
|
|
typedef enum PocketType {
|
|
POCKET_TYPE_ITEMS,
|
|
POCKET_TYPE_BERRIES,
|
|
} PocketType;
|
|
|
|
struct UnkStruct_ScrCmd230 {
|
|
u8 filler_00[0x30];
|
|
u8 unk_30[6];
|
|
};
|
|
|
|
typedef struct UnkStruct_0203E600 {
|
|
u8 unk0[0x14];
|
|
u8 unk14;
|
|
u8 unk15;
|
|
u8 unk16;
|
|
} UnkStruct_0203E600;
|
|
|
|
typedef struct UnkStruct_0203E8C8 {
|
|
u16 unk0;
|
|
u16 unk2;
|
|
} UnkStruct_0203E8C8;
|
|
|
|
static inline void InitUnkStructScrCmd408(UnkOv67Args *data, u16 a1, u16 a2, ScriptContext *ctx) {
|
|
MI_CpuClear8(data, sizeof(UnkOv67Args));
|
|
data->unk_4 = a1;
|
|
data->unk_6 = a2;
|
|
data->saveData = ctx->fieldSystem->saveData;
|
|
}
|
|
|
|
static inline PCBoxArgs *PCBoxAppData_New(ScriptContext *ctx) {
|
|
PCBoxArgs *ret = AllocFromHeap(HEAP_ID_FIELD, sizeof(PCBoxArgs));
|
|
ret->saveData = ctx->fieldSystem->saveData;
|
|
ret->unk8 = ScriptReadByte(ctx);
|
|
ret->menuInputStatePtr = &ctx->fieldSystem->menuInputState;
|
|
return ret;
|
|
}
|
|
|
|
UseMailArgs *UseMail_CreateArgs(FieldSystem *fieldSystem, int n, u8 mailId, HeapID heapId);
|
|
ApricornBoxArgs *ApricornBox_LaunchApp(FieldSystem *fieldSystem, int a1);
|
|
PalPadArgs *PalPad_LaunchApp(FieldSystem *fieldSystem, SaveData *saveData, HeapID heapId);
|
|
BerryPotsArgs *BerryPots_LaunchApp(FieldSystem *fieldSystem);
|
|
UnownReportArgs *UnownReport_LaunchApp(FieldSystem *fieldSystem);
|
|
PartyMenuArgs *PartyMenu_LaunchApp_Gracidea(FieldSystem *fieldSystem, HeapID heapId, u16 itemId);
|
|
PartyMenuArgs *PartyMenu_LaunchApp_Unk2(HeapID heapId, FieldSystem *fieldSystem); // todo: party select screen
|
|
PartyMenuArgs *PartyMenu_LaunchApp_InGameTrade(HeapID heapId, FieldSystem *fieldSystem); // todo: party trade screen
|
|
PartyMenuArgs *SelectPartyMonAndLearnMove(TaskManager *taskManager, HeapID heapId); // todo: union party select screen
|
|
int PartyMenuArgs_GetSlot(struct PartyMenuArgs *partyWork);
|
|
int sub_0203E5F8(struct PartyMenuArgs *partyWork);
|
|
void sub_0203F570(FieldSystem *fieldSystem, SaveData *saveData);
|
|
SafariDecorationArgs *SafariDecoration_LaunchApp(FieldSystem *fieldSystem);
|
|
void GeonetGlobe_LaunchApp(FieldSystem *fieldSystem);
|
|
void ChooseStarter_LaunchApp(FieldSystem *fieldSystem, ChooseStarterArgs *args);
|
|
u16 sub_0203E864(UnkStruct_0203E600 *a0);
|
|
u16 sub_0203E600(UnkStruct_0203E600 *a0);
|
|
PokemonSummaryArgs *LearnForgetMove_LaunchApp(HeapID heapId, FieldSystem *fieldSystem, u8 partySlot, u16 moveToLearn);
|
|
ApricornBoxArgs *sub_0203ED80(FieldSystem *fieldSystem, u32 a1, u16 *a2);
|
|
BugContestSwapMonArgs *BugContestSwapMon_LaunchApp(FieldSystem *fieldSystem, Pokemon *a1, Pokemon *a2, BOOL a3);
|
|
PokemonSummaryArgs *PokemonSummary_LaunchApp(HeapID heapId, FieldSystem *fieldSystem, u16 partySlot, u16 moveToLearn);
|
|
void sub_0203F198(TaskManager *taskManager, u16 *ret, SaveData *saveData, u16 a3, u16 a4);
|
|
BOOL AccessoryPortrait_LaunchApp(FieldSystem *fieldSystem, FashionAppData *fashionData);
|
|
void sub_0203F0A8(FieldSystem *fieldSystem, UnkOv67Args *unk);
|
|
void PCBox_LaunchApp(FieldSystem *fieldSystem, PCBoxArgs *pcBoxData);
|
|
void CallTask_WirelessTrade(TaskManager *taskManager);
|
|
void sub_0203F4C8(FieldSystem *fieldSystem);
|
|
UnkStruct_0203F4F8 *sub_0203F4F8(FieldSystem *fieldSystem);
|
|
HallOfFame *HallOfFameShowcase_LaunchApp(FieldSystem *fieldSystem);
|
|
void sub_0203F844(FieldSystem *fieldSystem, u16 a1);
|
|
BagView *Bag_LaunchApp_WithPocket(FieldSystem *fieldSystem, u8 pocketType);
|
|
int BagView_SelectResult(BagView *bagView);
|
|
void MoveRelearner_LaunchApp(FieldSystem *fieldSystem, MoveRelearnerArgs *moveRelearner);
|
|
BagView *sub_0203E3FC(FieldSystem *fieldSystem, ItemCheckUseData *itemCheckUseData);
|
|
void Bag_LaunchApp(FieldSystem *fieldSystem, BagView *bagView);
|
|
void PokemonSummary_LearnForget_LaunchApp(FieldSystem *fieldSystem, PokemonSummaryArgs *pokemonSummayArgs);
|
|
PokemonSummaryArgs *PokemonSummary_CreateArgs(FieldSystem *fieldSystem, HeapID heapId, int a2);
|
|
PartyMenuArgs *TaskManager_LaunchPartyMenu_UnionRoomBattleSelect(TaskManager *taskman, HeapID heapId);
|
|
PartyMenuArgs *PartyMenu_LaunchApp_Unk5(FieldSystem *fieldSystem, int partySlot);
|
|
void EasyChat_LaunchApp(FieldSystem *fieldSystem, EasyChatArgs *args);
|
|
PokegearArgs *PokegearTownMap_LaunchApp(FieldSystem *fieldSystem, int kind);
|
|
SafariAreaCustomizerArgs *SafariAreaCustomizer_LaunchApp(FieldSystem *fieldSystem);
|
|
PhotoAlbumArgs *PhotoAlbum_LaunchApp(FieldSystem *fieldSystem, int unused, int initialCursorPos);
|
|
OptionsMenuArgs *OptionsMenu_LaunchApp(FieldSystem *fieldSystem);
|
|
UseMailArgs *sub_0203EFEC(FieldSystem *fieldSystem, u16 a1, u8 partyIdx, u8 mailType, HeapID heapId);
|
|
UseMailArgs *sub_0203F050(FieldSystem *fieldSystem, Pokemon *mon, HeapID heapId);
|
|
void TrainerCard_LaunchApp(FieldSystem *fieldSystem, TrainerCardAppArgs *a1);
|
|
int Pokedex_LaunchApp(FieldSystem *fieldSystem, PokedexArgs *a1);
|
|
NintendoWifiConnectArgs *NintendoWifiConnection_LaunchApp(FieldSystem *fieldSystem, u16 a1, u16 a2);
|
|
void PokeathlonCourse_LaunchApp(FieldSystem *fieldSystem, PokeathlonCourseArgs *args);
|
|
void sub_0203FC68(FieldSystem *fieldSystem, void *args);
|
|
void sub_0203FC90(FieldSystem *fieldSystem, void *args);
|
|
LegendaryCinematicArgs *LegendaryCinematic_LaunchApp(FieldSystem *a0, UnkStruct_0203FCC4 *a1, u16 a2, u16 a3, HeapID a4);
|
|
void LaunchApp_ViewRankings(FieldSystem *fieldSystem, ViewRankingsArgs *args);
|
|
PartyMenuArgs *PartyMenu_LaunchApp_Unk1(FieldSystem *fieldSystem, FieldMoveCheckData *fieldMoveCheckData, u8 partySlot);
|
|
void CallTask_NamingScreen(TaskManager *taskManager, NameScreenType type, int species, int maxLen, int initPos, const u16 *defaultStr, u16 *retVar);
|
|
void sub_0203E960(TaskManager *a0, int a1, UnkStruct_0203E8C8 *a2, u16 *a3, u16 *a4);
|
|
void TrainerCardSignature_LaunchApp(FieldSystem *fieldSystem);
|
|
void HatchEggInParty(FieldSystem *fieldSystem);
|
|
UnkStruct_0203F074 *sub_0203F074(FieldSystem *fieldSystem, HeapID heapId);
|
|
CertificatesArgs *Certificates_LaunchApp(FieldSystem *fieldSystem, HeapID heapId, u16 certificateId);
|
|
PartyMenuArgs *PartyMenu_LaunchApp_Unk4(HeapID heapId, FieldSystem *fieldSystem, u16 partySlot);
|
|
UnkStruct_0203FAB4 *sub_0203FAB4(FieldSystem *fieldSystem, u8 a1, u8 a2, u16 a3, HeapID heapId);
|
|
ScratchOffCardsArgs *ScratchOffCards_LaunchApp(FieldSystem *fieldSystem, HeapID heapId);
|
|
void sub_0203FC14(FieldSystem *fieldSystem, u16 a1, u16 a2);
|
|
PokegearArgs *PokegearPhone_LaunchApp(FieldSystem *fieldSystem);
|
|
PokeathlonMedalsArgs *PokeathlonMedals_LaunchApp(FieldSystem *fieldSystem);
|
|
PokeathlonEventRecordArgs *PokeathlonEventRecord_LaunchApp(FieldSystem *fieldSystem);
|
|
UnkStruct_0203EFA0 *PokeathlonUnk_LaunchApp(FieldSystem *fieldSystem);
|
|
PokeathlonCourseRecordArgs *PokeathlonCourseRecord_LaunchApp(FieldSystem *fieldSystem);
|
|
AlphPuzzleArgs *AlphPuzzle_LaunchApp(FieldSystem *fieldSystem, u8 puzzle);
|
|
void RegisterHallOfFame_LaunchApp(FieldSystem *fieldSystem, RegisterHallOfFameArgs *args);
|
|
void Credits_LaunchApp(FieldSystem *fieldSystem, CreditsArgs *args);
|
|
void Battle_LaunchApp(FieldSystem *fieldSystem, BattleSetup *battleSetup);
|
|
VoltorbFlipArgs *VoltorbFlip_LaunchApp(FieldSystem *fieldSystem, u32 luck);
|
|
|
|
BOOL Battle_Init(OVY_MANAGER *man, int *state);
|
|
BOOL Battle_Main(OVY_MANAGER *man, int *state);
|
|
BOOL Battle_Exit(OVY_MANAGER *man, int *state);
|
|
|
|
void LaunchApplication_DeadstrippedFunction(FieldSystem *fieldSystem);
|
|
extern const OVY_MGR_TEMPLATE gOverlayTemplate_UnownReport;
|
|
extern const OVY_MGR_TEMPLATE gOverlayTemplate_Battle;
|
|
|
|
#endif // POKEHEARTGOLD_FIELD_LAUNCH_APPLICATION_H
|