Document hall of fame sequence (overlay086) (#759)
Some checks are pending
build / build (push) Waiting to run

This commit is contained in:
Viperio
2025-10-17 02:26:32 +02:00
committed by GitHub
parent 51969f4bf4
commit e727a5115a
26 changed files with 2024 additions and 2037 deletions

View File

@@ -349,7 +349,7 @@ TEXT_BANK_UNK_0347
TEXT_BANK_UNK_0348
TEXT_BANK_DUMMY_0349
TEXT_BANK_TRADE
TEXT_BANK_UNK_0351
TEXT_BANK_HALL_OF_FAME
TEXT_BANK_PC_HALL_OF_FAME
TEXT_BANK_UNK_0353
TEXT_BANK_UNK_0354

View File

@@ -6,7 +6,7 @@
#include "applications/pc_hall_of_fame/display.h"
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
#include "overlay_manager.h"
typedef struct PCHallOfFameMan {

View File

@@ -65,7 +65,7 @@ enum HeapID {
HEAP_ID_60,
HEAP_ID_PC_HALL_OF_FAME,
HEAP_ID_62,
HEAP_ID_63,
HEAP_ID_HALL_OF_FAME,
HEAP_ID_64,
HEAP_ID_65,
HEAP_ID_66,

View File

@@ -0,0 +1,10 @@
#ifndef POKEPLATINUM_HALL_OF_FAME_H
#define POKEPLATINUM_HALL_OF_FAME_H
#include "overlay_manager.h"
BOOL HallOfFameManager_Init(ApplicationManager *appMan, int *state);
BOOL HallOfFameManager_Exit(ApplicationManager *appMan, int *state);
BOOL HallOfFameManager_Main(ApplicationManager *appMan, int *state);
#endif // POKEPLATINUM_HALL_OF_FAME_H

View File

@@ -1,5 +1,5 @@
#ifndef POKEPLATINUM_HALL_OF_FAME_H
#define POKEPLATINUM_HALL_OF_FAME_H
#ifndef POKEPLATINUM_HALL_OF_FAME_ENTRIES_H
#define POKEPLATINUM_HALL_OF_FAME_ENTRIES_H
#include <nitro/rtc.h>
@@ -56,4 +56,4 @@ u32 HallOfFame_GetEntryPokemonCount(const HallOfFame *hallOfFame, int entryIndex
void HallOfFame_GetEntryPokemonData(const HallOfFame *hallOfFame, int entryIndex, int pokemonIndex, PCHallOfFamePokemon *pcHallOfFameMon);
void HallOfFame_GetEntryDate(const HallOfFame *hallOfFame, int entryIndex, RTCDate *date);
#endif // POKEPLATINUM_HALL_OF_FAME_H
#endif // POKEPLATINUM_HALL_OF_FAME_ENTRIES_H

View File

@@ -1,10 +0,0 @@
#ifndef POKEPLATINUM_OV86_0223B140_H
#define POKEPLATINUM_OV86_0223B140_H
#include "overlay_manager.h"
int ov86_0223B140(ApplicationManager *appMan, int *param1);
int ov86_0223B2E4(ApplicationManager *appMan, int *param1);
int ov86_0223B394(ApplicationManager *appMan, int *param1);
#endif // POKEPLATINUM_OV86_0223B140_H

View File

@@ -9,7 +9,7 @@
#include "struct_defs/struct_0202440C.h"
#include "struct_defs/struct_0202F264.h"
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
#include "mystery_gift.h"
#include "savedata.h"

View File

@@ -5,7 +5,7 @@
#include "constants/pokemon.h"
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
typedef enum PCHallOfFameTextState {
PC_HALL_OF_FAME_TEXT_GENERAL,

View File

@@ -5,10 +5,10 @@
#include "play_time.h"
#include "trainer_info.h"
typedef struct {
const TrainerInfo *unk_00;
const Party *unk_04;
typedef struct HallOfFameDisplayData {
const TrainerInfo *trainerInfo;
const Party *party;
const PlayTime *playTime;
} UnkStruct_0203E234;
} HallOfFameDisplayData;
#endif // POKEPLATINUM_STRUCT_0203E234_H

View File

@@ -91,8 +91,8 @@ void sub_0203E0D0(FieldSystem *fieldSystem);
void FieldSystem_LaunchGTSApp(FieldSystem *fieldSystem, BOOL connectToWiFi);
void *sub_0203E1AC(FieldSystem *fieldSystem, int param1, int param2);
void sub_0203E224(FieldSystem *fieldSystem);
void sub_0203E234(FieldSystem *fieldSystem, UnkStruct_0203E234 *param1);
void *sub_0203E244(FieldSystem *fieldSystem);
void FieldTask_StartHallOfFame(FieldSystem *fieldSystem, HallOfFameDisplayData *displayData);
void *FieldTask_OpenPCHallOfFameScreen(FieldSystem *fieldSystem);
void sub_0203E274(FieldSystem *fieldSystem, UnkStruct_0203E274 *param1);
void sub_0203E284(FieldSystem *fieldSystem, UnkStruct_020997B8 *param1);
void FieldTask_PlayBoatCutscene_CanalaveShip(FieldSystem *fieldSystem, void *taskEnv);

View File

@@ -136,7 +136,7 @@ Static main
Object main.nef.p/src_special_encounter.c.o
Object main.nef.p/src_global_trade.c.o
Object main.nef.p/src_mystery_gift.c.o
Object main.nef.p/src_hall_of_fame.c.o
Object main.nef.p/src_hall_of_fame_entries.c.o
Object main.nef.p/src_unk_0202E2CC.c.o
Object main.nef.p/src_unk_0202E840.c.o
Object main.nef.p/src_unk_0202EEC0.c.o
@@ -272,7 +272,7 @@ Static main
Object main.nef.p/src_trainer_card_badge_dirt.c.o
Object main.nef.p/src_roaming_pokemon.c.o
Object main.nef.p/src_unk_0206C660.c.o
Object main.nef.p/src_boat_cutscene_boat_cutscene.c.o
Object main.nef.p/src_cutscenes_boat_cutscene_boat_cutscene.c.o
Object main.nef.p/src_unk_0206CCB0.c.o
Object main.nef.p/src_unk_0206F314.c.o
Object main.nef.p/src_unk_02070428.c.o
@@ -1361,13 +1361,13 @@ Overlay overlay85
Object main.nef.p/src_overlay085_ov85_02241440.c.o
}
Overlay overlay86
Overlay hall_of_fame
{
After battle_anim
Object main.nef.p/src_overlay086_ov86_0223B140.c.o
Object main.nef.p/src_cutscenes_hall_of_fame.c.o
}
Overlay overlay87
Overlay pc_hall_of_fame
{
After main
Object main.nef.p/src_applications_pc_hall_of_fame_manager.c.o
@@ -1405,11 +1405,11 @@ Overlay overlay92
Object main.nef.p/src_overlay092_ov92_021D0D80.c.o
}
Overlay boat_cutscene
Overlay cutscenes
{
After main
Object main.nef.p/src_boat_cutscene_canalave_ship.c.o
Object main.nef.p/src_boat_cutscene_snowpoint_ship.c.o
Object main.nef.p/src_cutscenes_boat_cutscene_canalave_ship.c.o
Object main.nef.p/src_cutscenes_boat_cutscene_snowpoint_ship.c.o
}
Overlay overlay94

View File

@@ -85,14 +85,13 @@ b8c85f32459d20b3a6cfde5a1e349215dd0157a0 *overlay79.sbin
1904a30bcfb722856130ab7b3d0e79fd0070520d *overlay83.sbin
8bd6a805631e2d661f9d5889e568a72e60f93a04 *bag.sbin
c197c9edb988d64dec0a56427dfc6960646dc1f7 *overlay85.sbin
a563e0430b460ee5a39442667561e0bd5428dcdb *overlay86.sbin
8c7f762ebf90f08b09b9efd49946176bb6ed1c69 *overlay87.sbin
a563e0430b460ee5a39442667561e0bd5428dcdb *hall_of_fame.sbin
8c7f762ebf90f08b09b9efd49946176bb6ed1c69 *pc_hall_of_fame.sbin
ca9016bf18dc6efc3490bfb893f7cbf12920af00 *overlay88.sbin
de8a847bff8c343d69b853a215e6ee775ef2ef96 *overlay89.sbin
84ce4bc9949f697c12ae6598ef74a7e3f60b1531 *overlay90.sbin
2c26cf42ca34629dfc7cc491820e2a309e57eeeb *overlay91.sbin
87c3ffad8da5d31174a542832d80bf1855c3225c *overlay92.sbin
dabd69f841fce75c91c4236925757150990af289 *boat_cutscene.sbin
3410ea804433b4a797932d1999fbb2429611ae56 *overlay95.sbin
af7de8e345ff25de55130069f313b57e85d72a4f *overlay96.sbin
138a69ea796d35f244daa36a7e9962ea2d0322e0 *main_menu.sbin

View File

@@ -2,83 +2,83 @@
"key": 1471,
"messages": [
{
"id": "pl_msg_00000351_00000",
"id": "HallOfFame_Text_Welcome",
"en_US": [
"Welcome to the\n",
"Hall of Fame!"
]
},
{
"id": "pl_msg_00000351_00001",
"id": "HallOfFame_Text_PokemonInfoMale",
"en_US": "{STRVAR_1 0, 0, 0} ♂ Lv.{STRVAR_1 52, 1, 0}"
},
{
"id": "pl_msg_00000351_00002",
"id": "HallOfFame_Text_PokemonInfoFemale",
"en_US": "{STRVAR_1 0, 0, 0} ♀ Lv.{STRVAR_1 52, 1, 0}"
},
{
"id": "pl_msg_00000351_00003",
"id": "HallOfFame_Text_PokemonInfoGenderless",
"en_US": "{STRVAR_1 0, 0, 0} Lv.{STRVAR_1 52, 1, 0}"
},
{
"id": "pl_msg_00000351_00004",
"id": "HallOfFame_Text_OT",
"en_US": "OT/{STRVAR_1 3, 0, 0}"
},
{
"id": "pl_msg_00000351_00005",
"id": "HallOfFame_Text_MetAt",
"en_US": [
"Met at\n",
"{STRVAR_1 4, 0, 0}."
]
},
{
"id": "pl_msg_00000351_00006",
"id": "HallOfFame_Text_HatchedAt",
"en_US": [
"Hatched at\n",
"{STRVAR_1 4, 0, 0}."
]
},
{
"id": "pl_msg_00000351_00007",
"id": "HallOfFame_Text_ObtainedInLinkTrade",
"en_US": [
"Obtained in a link\n",
"trade."
]
},
{
"id": "pl_msg_00000351_00008",
"id": "HallOfFame_Text_ArrivedFromKanto",
"en_US": [
"Arrived from the Kanto\n",
"region."
]
},
{
"id": "pl_msg_00000351_00009",
"id": "HallOfFame_Text_ArrivedFromHoenn",
"en_US": [
"Arrived from the Hoenn\n",
"region."
]
},
{
"id": "pl_msg_00000351_00010",
"id": "HallOfFame_Text_ArrivedFromDistantLand",
"en_US": [
"Arrived from a distant\n",
"land."
]
},
{
"id": "pl_msg_00000351_00011",
"id": "HallOfFame_Text_ObtainedInFatefulEncounter",
"en_US": [
"Obtained in a fateful\n",
"encounter."
]
},
{
"id": "pl_msg_00000351_00012",
"id": "HallOfFame_Text_LeagueChampionCongratulations",
"en_US": "League Champion! Congratulations!"
},
{
"id": "pl_msg_00000351_00013",
"id": "HallOfFame_Text_PlayerInfo",
"en_US": "{STRVAR_1 3, 0, 0} ID: {STRVAR_1 54, 1, 0} Time: {STRVAR_1 52, 2, 0}:{STRVAR_1 51, 3, 0}"
}
]

View File

@@ -17,7 +17,7 @@
#include "font.h"
#include "graphics.h"
#include "gx_layers.h"
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
#include "heap.h"
#include "message.h"
#include "pokemon.h"
@@ -443,8 +443,8 @@ static void ov87_021D1818(PCHallOfFameApp *pcHallOfFameApp)
NNSG2dAnimBankData *animBank;
int unused;
pcHallOfFameApp->cellBank = Graphics_GetCellBank(27, 77, 0, &cellBank, HEAP_ID_PC_HALL_OF_FAME);
pcHallOfFameApp->animBank = Graphics_GetAnimBank(27, 78, 0, &animBank, HEAP_ID_PC_HALL_OF_FAME);
pcHallOfFameApp->cellBank = Graphics_GetCellBank(27, 77, FALSE, &cellBank, HEAP_ID_PC_HALL_OF_FAME);
pcHallOfFameApp->animBank = Graphics_GetAnimBank(27, 78, FALSE, &animBank, HEAP_ID_PC_HALL_OF_FAME);
MI_CpuClearFast(pcHallOfFameApp->unk_200, sizeof(pcHallOfFameApp->unk_200));
@@ -527,7 +527,7 @@ static void ov87_021D18A0(PCHallOfFameApp *pcHallOfFameApp, NNSG2dCellDataBank *
static void PCHallOfFame_DrawAllPokemon(PCHallOfFameApp *pcHallOfFameApp)
{
static const TileRegion v0 = FRAME_0_REGION;
static const TileRegion tileRegion = FRAME_0_REGION;
PokemonSpriteTemplate spriteTemplate;
const PCHallOfFameScreen *pcHallOfFameScreen;
int i;
@@ -538,7 +538,7 @@ static void PCHallOfFame_DrawAllPokemon(PCHallOfFameApp *pcHallOfFameApp)
Pokemon_InitWith(pcHallOfFameApp->mon, pcHallOfFameScreen->pokemon[i].species, pcHallOfFameScreen->pokemon[i].level, INIT_IVS_RANDOM, TRUE, pcHallOfFameScreen->pokemon[i].personality, OTID_SET, pcHallOfFameScreen->pokemon[i].OTID);
Pokemon_SetValue(pcHallOfFameApp->mon, MON_DATA_FORM, (void *)(&(pcHallOfFameScreen->pokemon[i].form)));
Pokemon_BuildSpriteTemplate(&spriteTemplate, pcHallOfFameApp->mon, FACE_FRONT);
CharacterSprite_LoadPokemonSpriteRegion(spriteTemplate.narcID, spriteTemplate.character, HEAP_ID_PC_HALL_OF_FAME, &v0, pcHallOfFameApp->unk_200, pcHallOfFameScreen->pokemon[i].personality, FALSE, FACE_FRONT, pcHallOfFameScreen->pokemon[i].species);
CharacterSprite_LoadPokemonSpriteRegion(spriteTemplate.narcID, spriteTemplate.character, HEAP_ID_PC_HALL_OF_FAME, &tileRegion, pcHallOfFameApp->unk_200, pcHallOfFameScreen->pokemon[i].personality, FALSE, FACE_FRONT, pcHallOfFameScreen->pokemon[i].species);
DC_FlushRange(pcHallOfFameApp->unk_200, sizeof(pcHallOfFameApp->unk_200));
GX_LoadOBJ(pcHallOfFameApp->unk_200, 3200 * i, 3200);

View File

@@ -1,4 +1,4 @@
#include "boat_cutscene/boat_cutscene.h"
#include "cutscenes/boat_cutscene.h"
#include <nitro.h>
#include <string.h>

View File

@@ -3,7 +3,7 @@
#include "struct_defs/struct_02099F80.h"
#include "boat_cutscene/boat_cutscene.h"
#include "cutscenes/boat_cutscene.h"
#include "overlay009/camera_configuration.h"
#include "camera.h"

View File

@@ -3,7 +3,7 @@
#include "struct_defs/struct_02099F80.h"
#include "boat_cutscene/boat_cutscene.h"
#include "cutscenes/boat_cutscene.h"
#include "overlay009/camera_configuration.h"
#include "camera.h"

1926
src/cutscenes/hall_of_fame.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
#include <nitro.h>
#include <string.h>

View File

@@ -125,7 +125,7 @@ pokeplatinum_c = files(
'special_encounter.c',
'global_trade.c',
'mystery_gift.c',
'hall_of_fame.c',
'hall_of_fame_entries.c',
'unk_0202E2CC.c',
'unk_0202E840.c',
'unk_0202EEC0.c',
@@ -258,7 +258,7 @@ pokeplatinum_c = files(
'trainer_card_badge_dirt.c',
'roaming_pokemon.c',
'unk_0206C660.c',
'boat_cutscene/boat_cutscene.c',
'cutscenes/boat_cutscene/boat_cutscene.c',
'unk_0206CCB0.c',
'unk_0206F314.c',
'unk_02070428.c',
@@ -839,7 +839,7 @@ pokeplatinum_c = files(
'applications/bag/windows.c',
'applications/bag/sprites.c',
'overlay085/ov85_02241440.c',
'overlay086/ov86_0223B140.c',
'cutscenes/hall_of_fame.c',
'applications/pc_hall_of_fame/manager.c',
'applications/pc_hall_of_fame/display.c',
'overlay088/ov88_0223B140.c',
@@ -848,8 +848,8 @@ pokeplatinum_c = files(
'overlay090/ov90_021D0D80.c',
'overlay091/ov91_021D0D80.c',
'overlay092/ov92_021D0D80.c',
'boat_cutscene/canalave_ship.c',
'boat_cutscene/snowpoint_ship.c',
'cutscenes/boat_cutscene/canalave_ship.c',
'cutscenes/boat_cutscene/snowpoint_ship.c',
'overlay094/networking.c',
'overlay094/application.c',
'overlay094/screens/main_menu.c',

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@
#include "field_overworld_state.h"
#include "game_records.h"
#include "global_trade.h"
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
#include "journal.h"
#include "mail.h"
#include "mystery_gift.h"

View File

@@ -51,7 +51,7 @@
#include "applications/party_menu/defs.h"
#include "applications/pc_boxes/pokemon_storage_session.h"
#include "applications/pokemon_summary_screen/main.h"
#include "boat_cutscene/boat_cutscene.h"
#include "cutscenes/boat_cutscene.h"
#include "field/field_system.h"
#include "field/field_system_sub2_t.h"
#include "overlay005/field_menu.h"
@@ -113,7 +113,7 @@
#include "field_transition.h"
#include "game_records.h"
#include "great_marsh_lookout.h"
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
#include "heap.h"
#include "inlines.h"
#include "item_use_pokemon.h"
@@ -4192,7 +4192,7 @@ static BOOL ScrCmd_0B1(ScriptContext *ctx)
{
void **v0 = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
*v0 = sub_0203E244(ctx->fieldSystem);
*v0 = FieldTask_OpenPCHallOfFameScreen(ctx->fieldSystem);
ScriptContext_Pause(ctx, sub_02041CC8);
return TRUE;

View File

@@ -43,8 +43,9 @@
#include "applications/pokedex/pokedex_main.h"
#include "applications/pokemon_summary_screen/main.h"
#include "battle/ov16_0223B140.h"
#include "boat_cutscene/boat_cutscene.h"
#include "choose_starter/choose_starter_app.h"
#include "cutscenes/boat_cutscene.h"
#include "cutscenes/hall_of_fame.h"
#include "dw_warp/dw_warp.h"
#include "field/field_system.h"
#include "library_tv/library_tv.h"
@@ -60,7 +61,6 @@
#include "overlay072/ov72_0223D7A0.h"
#include "overlay080/ov80_021D0D80.h"
#include "overlay085/ov85_02241440.h"
#include "overlay086/ov86_0223B140.h"
#include "overlay088/ov88_0223B140.h"
#include "overlay088/struct_ov88_0223C370.h"
#include "overlay090/ov90_021D0D80.h"
@@ -91,7 +91,7 @@
#include "game_options.h"
#include "game_records.h"
#include "global_trade.h"
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
#include "heap.h"
#include "item_use_functions.h"
#include "mail.h"
@@ -157,13 +157,13 @@ FS_EXTERN_OVERLAY(overlay80);
FS_EXTERN_OVERLAY(journal_display);
FS_EXTERN_OVERLAY(bag);
FS_EXTERN_OVERLAY(overlay85);
FS_EXTERN_OVERLAY(overlay86);
FS_EXTERN_OVERLAY(overlay87);
FS_EXTERN_OVERLAY(hall_of_fame);
FS_EXTERN_OVERLAY(pc_hall_of_fame);
FS_EXTERN_OVERLAY(overlay88);
FS_EXTERN_OVERLAY(overlay90);
FS_EXTERN_OVERLAY(overlay91);
FS_EXTERN_OVERLAY(overlay92);
FS_EXTERN_OVERLAY(boat_cutscene);
FS_EXTERN_OVERLAY(cutscenes);
FS_EXTERN_OVERLAY(overlay94);
FS_EXTERN_OVERLAY(overlay95);
FS_EXTERN_OVERLAY(overlay96);
@@ -1400,27 +1400,27 @@ void sub_0203E224(FieldSystem *fieldSystem)
FieldSystem_StartChildProcess(fieldSystem, &Unk_020EA328, fieldSystem->saveData);
}
void sub_0203E234(FieldSystem *fieldSystem, UnkStruct_0203E234 *param1)
void FieldTask_StartHallOfFame(FieldSystem *fieldSystem, HallOfFameDisplayData *displayData)
{
FS_EXTERN_OVERLAY(overlay86);
FS_EXTERN_OVERLAY(hall_of_fame);
static const ApplicationManagerTemplate v0 = {
ov86_0223B140,
ov86_0223B394,
ov86_0223B2E4,
FS_OVERLAY_ID(overlay86)
static const ApplicationManagerTemplate template = {
.init = HallOfFameManager_Init,
.main = HallOfFameManager_Main,
.exit = HallOfFameManager_Exit,
.overlayID = FS_OVERLAY_ID(hall_of_fame)
};
FieldSystem_StartChildProcess(fieldSystem, &v0, param1);
FieldSystem_StartChildProcess(fieldSystem, &template, displayData);
}
void *sub_0203E244(FieldSystem *fieldSystem)
void *FieldTask_OpenPCHallOfFameScreen(FieldSystem *fieldSystem)
{
static const ApplicationManagerTemplate v0 = {
PCHallOfFameManager_Init,
PCHallOfFameManager_Main,
PCHallOfFameManager_Exit,
FS_OVERLAY_ID(overlay87),
static const ApplicationManagerTemplate template = {
.init = PCHallOfFameManager_Init,
.main = PCHallOfFameManager_Main,
.exit = PCHallOfFameManager_Exit,
.overlayID = FS_OVERLAY_ID(pc_hall_of_fame),
};
HallOfFame *hallOfFame;
int resultCode;
@@ -1431,7 +1431,7 @@ void *sub_0203E244(FieldSystem *fieldSystem)
Heap_Free(hallOfFame);
return NULL;
} else {
FieldSystem_StartChildProcess(fieldSystem, &v0, hallOfFame);
FieldSystem_StartChildProcess(fieldSystem, &template, hallOfFame);
return hallOfFame;
}
}
@@ -1466,13 +1466,13 @@ void sub_0203E284(FieldSystem *fieldSystem, UnkStruct_020997B8 *param1)
void FieldTask_PlayBoatCutscene_CanalaveShip(FieldSystem *fieldSystem, void *taskEnv)
{
FS_EXTERN_OVERLAY(boat_cutscene);
FS_EXTERN_OVERLAY(cutscenes);
const ApplicationManagerTemplate appTemplate = {
.init = BoatCutscene_CanalaveShip_Init,
.main = BoatCutscene_CanalaveShip_Main,
.exit = BoatCutscene_CanalaveShip_Exit,
.overlayID = FS_OVERLAY_ID(boat_cutscene)
.overlayID = FS_OVERLAY_ID(cutscenes)
};
FieldSystem_StartChildProcess(fieldSystem, &appTemplate, taskEnv);
@@ -1480,13 +1480,13 @@ void FieldTask_PlayBoatCutscene_CanalaveShip(FieldSystem *fieldSystem, void *tas
void FieldTask_PlayBoatCutscene_SnowpointShip(FieldSystem *fieldSystem, void *taskEnv)
{
FS_EXTERN_OVERLAY(boat_cutscene);
FS_EXTERN_OVERLAY(cutscenes);
const ApplicationManagerTemplate appTemplate = {
.init = BoatCutscene_SnowpointShip_Init,
.main = BoatCutscene_SnowpointShip_Main,
.exit = BoatCutscene_SnowpointShip_Exit,
.overlayID = FS_OVERLAY_ID(boat_cutscene)
.overlayID = FS_OVERLAY_ID(cutscenes)
};
FieldSystem_StartChildProcess(fieldSystem, &appTemplate, taskEnv);

View File

@@ -19,7 +19,7 @@
#include "game_options.h"
#include "game_records.h"
#include "gx_layers.h"
#include "hall_of_fame.h"
#include "hall_of_fame_entries.h"
#include "heap.h"
#include "item_use_pokemon.h"
#include "location.h"
@@ -44,7 +44,7 @@
typedef struct {
BOOL unk_00;
UnkStruct_0203E234 unk_04;
HallOfFameDisplayData displayData;
UnkStruct_0203E274 unk_10;
Window unk_1C;
Strbuf *unk_2C;
@@ -88,11 +88,11 @@ static BOOL sub_02052CBC(FieldTask *param0)
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
UnkStruct_0205300C *v3 = FieldTask_GetEnv(param0);
int *v4 = FieldTask_GetState(param0);
UnkStruct_0203E234 *v5 = &v3->unk_04;
HallOfFameDisplayData *displayData = &v3->displayData;
switch (*v4) {
case 0:
sub_0203E234(fieldSystem, v5);
FieldTask_StartHallOfFame(fieldSystem, displayData);
(*v4)++;
break;
case 1:
@@ -185,9 +185,9 @@ void sub_02052E58(FieldTask *param0)
v2 = FieldOverworldState_GetExitLocation(SaveData_GetFieldOverworldState(fieldSystem->saveData));
v5->unk_00 = SystemFlag_CheckGameCompleted(v3);
v5->unk_04.unk_00 = SaveData_GetTrainerInfo(fieldSystem->saveData);
v5->unk_04.unk_04 = SaveData_GetParty(fieldSystem->saveData);
v5->unk_04.playTime = SaveData_GetPlayTime(fieldSystem->saveData);
v5->displayData.trainerInfo = SaveData_GetTrainerInfo(fieldSystem->saveData);
v5->displayData.party = SaveData_GetParty(fieldSystem->saveData);
v5->displayData.playTime = SaveData_GetPlayTime(fieldSystem->saveData);
v5->unk_10.unk_00 = TrainerInfo_Gender(SaveData_GetTrainerInfo(fieldSystem->saveData));
v5->unk_10.unk_04 = SystemFlag_CheckGameCompleted(v3);
v5->unk_10.unk_08 = SaveData_GetPokedex(fieldSystem->saveData);