mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-05-11 05:14:21 -05:00
188 lines
8.3 KiB
C
188 lines
8.3 KiB
C
#ifndef POKEHEARTGOLD_FIELD_LAUNCH_APPLICATION_H
|
|
#define POKEHEARTGOLD_FIELD_LAUNCH_APPLICATION_H
|
|
|
|
#include "alph_puzzle.h"
|
|
#include "bag.h"
|
|
#include "battle/battle_setup.h"
|
|
#include "certificates_app.h"
|
|
#include "choose_starter_app.h"
|
|
#include "script.h"
|
|
#include "overlay_02.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_63.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_103.h"
|
|
#include "overlay_108.h"
|
|
#include "overlay_109.h"
|
|
#include "overlay_111.h"
|
|
#include "overlay_113.h"
|
|
#include "overlay_trainer_card.h"
|
|
#include "bag.h"
|
|
#include "mail.h"
|
|
#include "mail_misc.h"
|
|
#include "move_relearner.h"
|
|
#include "fashion_case.h"
|
|
#include "pokemon_types_def.h"
|
|
#include "save_palpad.h"
|
|
#include "save_pokeathlon.h"
|
|
#include "save_special_ribbons.h"
|
|
#include "sav_system_info.h"
|
|
#include "unk_0202CA24.h"
|
|
#include "unk_02078E30.h"
|
|
#include "unk_02088288.h"
|
|
#include "unk_02092BE8.h"
|
|
#include "unk_02097B78.h"
|
|
#include "credits/credits.h"
|
|
#include "voltorb_flip/voltorb_flip.h"
|
|
|
|
typedef enum NameScreenType {
|
|
NAME_SCREEN_PLAYER,
|
|
NAME_SCREEN_POKEMON,
|
|
NAME_SCREEN_BOX,
|
|
NAME_SCREEN_RIVAL,
|
|
NAME_SCREEN_GROUP = 5,
|
|
} NameScreenType;
|
|
|
|
typedef enum PocketType {
|
|
POCKET_TYPE_ITEMS,
|
|
POCKET_TYPE_BERRIES,
|
|
} PocketType;
|
|
|
|
struct UnkStruct_ScrCmd230 {
|
|
u8 filler_00[0x30];
|
|
u8 unk_30[6];
|
|
};
|
|
|
|
struct UnkStruct_ScrCmd627 {
|
|
void *unk_0;
|
|
Options *options;
|
|
SaveData *saveData;
|
|
void *unk_0C;
|
|
u8 filler_10[0x8];
|
|
u32 mapId;
|
|
void *unk_1C;
|
|
u8 unk_20;
|
|
u8 filler_21[0x7];
|
|
};
|
|
|
|
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->fieldSystemUnk10C = &ctx->fieldSystem->unk_10C;
|
|
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_Unk3(HeapID heapId, FieldSystem *fieldSystem); //todo: party trade screen
|
|
PartyMenuArgs *SelectPartyMonAndLearnMove(TaskManager *taskManager, HeapID heapId); //todo: union party select screen
|
|
int sub_0203E5C8(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 a2, u16 a3);
|
|
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 a2, u16 a3);
|
|
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 *a0);
|
|
void MoveRelearner_LaunchApp(FieldSystem *fieldSystem, MoveRelearnerArgs *moveRelearner);
|
|
BagView *sub_0203E3FC(FieldSystem *a0, TaskManager *a1);
|
|
void Bag_LaunchApp(FieldSystem *a0, BagView *a1);
|
|
void PokemonSummary_LearnForget_LaunchApp(FieldSystem *a0, PokemonSummaryArgs *a1);
|
|
PokemonSummaryArgs *PokemonSummary_CreateArgs(FieldSystem *fieldSystem, HeapID a1, int a2);
|
|
PartyMenuArgs *PartyMenu_LaunchApp_Unk5(FieldSystem *fieldSystem, int a1);
|
|
void EasyChat_LaunchApp(FieldSystem *fieldSystem, EasyChatArgs *a1);
|
|
void sub_0202D640(SaveData *saveData, int a1, MAIL_MESSAGE *a2);
|
|
PokegearArgs *PokegearTownMap_LaunchApp(FieldSystem *fieldSystem, int kind);
|
|
SafariAreaCustomizerArgs *SafariAreaCustomizer_LaunchApp(FieldSystem *fieldSystem);
|
|
PhotoAlbumArgs *PhotoAlbum_LaunchApp(FieldSystem *fieldSystem, int a1, int a2);
|
|
OptionsMenuArgs *OptionsMenu_LaunchApp(FieldSystem *fieldSystem);
|
|
UseMailArgs *sub_0203EFEC(FieldSystem *fieldSystem, u16 a1, u8 a2, u8 a3);
|
|
UseMailArgs *sub_0203F050(FieldSystem *fieldSystem, Pokemon *mon, HeapID heapId);
|
|
void TrainerCard_LaunchApp(FieldSystem *a0, TrainerCardAppArgs *a1);
|
|
int Pokedex_LaunchApp(FieldSystem *a0, PokedexArgs *a1);
|
|
NintendoWifiConnectArgs *NintendoWifiConnection_LaunchApp(FieldSystem *a0, 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 sub_0203FD08(FieldSystem *fieldSystem, void *args);
|
|
PartyMenuArgs *PartyMenu_LaunchApp_Unk1(FieldSystem *fieldSystem, int a1, u8 a2);
|
|
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 a2);
|
|
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);
|
|
|
|
#endif //POKEHEARTGOLD_FIELD_LAUNCH_APPLICATION_H
|