field_overworld_state

This commit is contained in:
Adrienn Tindall 2024-06-05 07:37:13 -04:00
parent b00b77d195
commit ccaeaa1cd3
35 changed files with 358 additions and 366 deletions

View File

@ -0,0 +1,39 @@
#ifndef POKEPLATINUM_UNK_0203A6DC_H
#define POKEPLATINUM_UNK_0203A6DC_H
#include "struct_decls/struct_0203A790_decl.h"
#include "struct_decls/struct_0203A79C_decl.h"
#include "field/field_system_decl.h"
#include "struct_defs/struct_02049FA8.h"
#include "struct_defs/struct_020556C4.h"
#include "struct_defs/struct_0205EC34.h"
#include "savedata.h"
int FieldOverworldState_Size(void);
int FieldOverworldSave_Size(void);
void FieldOverworldSave_Init(FieldOverworldSave * param0);
void FieldOverworldState_Init(FieldOverworldState * param0);
Location * sub_0203A720(FieldOverworldState * param0);
Location * FieldOverworldState_GetEntranceLocation(FieldOverworldState * param0);
Location * FieldOverworldState_GetPrevLocation(FieldOverworldState * param0);
Location * sub_0203A72C(FieldOverworldState * param0);
Location * sub_0203A730(FieldOverworldState * param0);
void sub_0203A734(FieldOverworldState * param0, Location * param1);
u16 * sub_0203A748(FieldOverworldState * param0);
u16 FieldOverworldState_GetWeather(const FieldOverworldState * param0);
void FieldOverworldState_SetWeather(FieldOverworldState * param0, u16 param1);
u16 FieldOverworldState_GetWarpId(const FieldOverworldState * param0);
void FieldOverworldState_SetWarpId(FieldOverworldState * param0, u16 param1);
UnkStruct_020556C4 * sub_0203A76C(FieldOverworldState * param0);
int FieldOverworldState_GetCameraType(const FieldOverworldState * param0);
void FieldOverworldState_SetCameraType(FieldOverworldState * param0, int param1);
PlayerData * FieldOverworldState_GetPlayerData(FieldOverworldState * param0);
u16 * sub_0203A784(FieldOverworldState * param0);
u16 * sub_0203A788(FieldOverworldState * param0);
u16 * sub_0203A78C(FieldOverworldState * param0);
FieldOverworldState * SaveData_GetFieldOverworldState(SaveData * param0);
FieldOverworldSave * SaveData_GetFieldOverworldSave(SaveData * param0);
void FieldSystem_SaveObjects(FieldSystem * fieldSystem);
void FieldSystem_LoadObjects(FieldSystem * fieldSystem);
#endif // POKEPLATINUM_UNK_0203A6DC_H

View File

@ -19,7 +19,7 @@
#include "heap.h"
#include "unk_0201D15C.h"
#include "map_header.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_script_context.h"
#include "unk_0203E880.h"
#include "unk_0206A8DC.h"
@ -131,7 +131,7 @@ static inline void inline_ov61_0222C3B0_sub (SysTask * param0, void * param1)
static inline void inline_ov47_0225621C_sub (FieldSystem * fieldSystem, int * param1, int * param2)
{
FieldOverworldState * v0 = SaveData_GetFieldStatus(fieldSystem->saveData);
FieldOverworldState * v0 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
Location * location = sub_0203A72C(v0);
if (MapHeader_IsOnMainMatrix(fieldSystem->location->mapId)) {

View File

@ -1,6 +1,6 @@
#ifndef POKEPLATINUM_STRUCT_0203A79C_DECL_H
#define POKEPLATINUM_STRUCT_0203A79C_DECL_H
typedef struct UnkStruct_0203A79C_t UnkStruct_0203A79C;
typedef struct UnkStruct_0203A79C_t FieldOverworldSave;
#endif // POKEPLATINUM_STRUCT_0203A79C_DECL_H

View File

@ -1,39 +0,0 @@
#ifndef POKEPLATINUM_UNK_0203A6DC_H
#define POKEPLATINUM_UNK_0203A6DC_H
#include "struct_decls/struct_0203A790_decl.h"
#include "struct_decls/struct_0203A79C_decl.h"
#include "field/field_system_decl.h"
#include "struct_defs/struct_02049FA8.h"
#include "struct_defs/struct_020556C4.h"
#include "struct_defs/struct_0205EC34.h"
#include "savedata.h"
int FieldPlayerState_SaveSize(void);
int FieldOWState_SaveSize(void);
void FieldOWState_Init(UnkStruct_0203A79C * param0);
void FieldPlayerState_Init(FieldOverworldState * param0);
Location * sub_0203A720(FieldOverworldState * param0);
Location * FieldStatus_GetEntranceLocation(FieldOverworldState * param0);
Location * FieldStatus_GetPrevLocation(FieldOverworldState * param0);
Location * sub_0203A72C(FieldOverworldState * param0);
Location * sub_0203A730(FieldOverworldState * param0);
void sub_0203A734(FieldOverworldState * param0, Location * param1);
u16 * sub_0203A748(FieldOverworldState * param0);
u16 sub_0203A74C(const FieldOverworldState * param0);
void FieldStatus_SetWeather(FieldOverworldState * param0, u16 param1);
u16 sub_0203A75C(const FieldOverworldState * param0);
void FieldStatus_SetWarpId(FieldOverworldState * param0, u16 param1);
UnkStruct_020556C4 * sub_0203A76C(FieldOverworldState * param0);
int FieldStatus_GetCameraType(const FieldOverworldState * param0);
void FieldStatus_SetCameraType(FieldOverworldState * param0, int param1);
PlayerData * FieldStatus_GetPlayerData(FieldOverworldState * param0);
u16 * sub_0203A784(FieldOverworldState * param0);
u16 * sub_0203A788(FieldOverworldState * param0);
u16 * sub_0203A78C(FieldOverworldState * param0);
FieldOverworldState * SaveData_GetFieldStatus(SaveData * param0);
UnkStruct_0203A79C * sub_0203A79C(SaveData * param0);
void sub_0203A7A8(FieldSystem * fieldSystem);
void FieldSystem_LoadObjects(FieldSystem * fieldSystem);
#endif // POKEPLATINUM_UNK_0203A6DC_H

View File

@ -12,7 +12,7 @@ u16 sub_020554A4(FieldSystem * fieldSystem, int param1);
BOOL sub_02055554(FieldSystem * fieldSystem, u16 param1, int param2);
u16 sub_0205560C(int param0);
void Sound_TryFadeInBgm(FieldSystem * fieldSystem, int param1);
void Sound_PlayMapBgm(FieldSystem * fieldSystem, int param1);
void Sound_PlayMapBGM(FieldSystem * fieldSystem, int param1);
void sub_020556A0(FieldSystem * fieldSystem, int param1);
#endif // POKEPLATINUM_UNK_020553DC_H

View File

@ -171,7 +171,7 @@ Static main
Object main.nef.p/src_unk_02039C80.c.o
Object main.nef.p/src_map_header.c.o
Object main.nef.p/src_unk_0203A378.c.o
Object main.nef.p/src_unk_0203A6DC.c.o
Object main.nef.p/src_field_overworld_state.c.o
Object main.nef.p/src_unk_0203A7D8.c.o
Object main.nef.p/src_unk_0203A944.c.o
Object main.nef.p/src_field_menu.c.o

View File

@ -44,7 +44,7 @@
#include "unk_02039C80.h"
#include "map_header.h"
#include "unk_0203A378.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_0203A7D8.h"
#include "unk_0203A944.h"
#include "field_system.h"
@ -209,8 +209,8 @@ static void sub_020530C8 (FieldSystem * fieldSystem)
static void FieldSystem_MapChange_SetNewLocation (FieldSystem * fieldSystem, const Location * nextLocation)
{
FieldOverworldState * fieldStatus = SaveData_GetFieldStatus(fieldSystem->saveData);
Location * location = FieldStatus_GetPrevLocation(fieldStatus);
FieldOverworldState * fieldStatus = SaveData_GetFieldOverworldState(fieldSystem->saveData);
Location * location = FieldOverworldState_GetPrevLocation(fieldStatus);
if (nextLocation != NULL) {
*location = *fieldSystem->location;
@ -231,7 +231,7 @@ static void FieldSystem_MapChange_SetNewLocation (FieldSystem * fieldSystem, con
Location * v3, * entrance;
v3 = sub_0203A730(fieldStatus);
entrance = FieldStatus_GetEntranceLocation(fieldStatus);
entrance = FieldOverworldState_GetEntranceLocation(fieldStatus);
*v3 = *entrance;
}
}
@ -246,7 +246,7 @@ void sub_020531A0 (FieldSystem * fieldSystem)
void FieldSystem_MapChange_UpdateGameData (FieldSystem * fieldSystem, BOOL noWarp)
{
int mapId = fieldSystem->location->mapId;
FieldOverworldState * fieldStatus = SaveData_GetFieldStatus(fieldSystem->saveData);
FieldOverworldState * fieldStatus = SaveData_GetFieldOverworldState(fieldSystem->saveData);
Sound_ClearSpecialBGM(fieldSystem);
FieldSystem_ClearLocalFlags(fieldSystem);
@ -274,22 +274,22 @@ void FieldSystem_MapChange_UpdateGameData (FieldSystem * fieldSystem, BOOL noWar
weather = OVERWORLD_WEATHER_CLEAR;
}
FieldStatus_SetWeather(fieldStatus, weather);
FieldOverworldState_SetWeather(fieldStatus, weather);
if (noWarp) {
int cam1 = FieldStatus_GetCameraType(fieldStatus);
int cam1 = FieldOverworldState_GetCameraType(fieldStatus);
int cam2 = MapHeader_GetCameraType(mapId);
GF_ASSERT(cam1 == cam2);
} else {
FieldStatus_SetCameraType(fieldStatus, MapHeader_GetCameraType(mapId));
FieldOverworldState_SetCameraType(fieldStatus, MapHeader_GetCameraType(mapId));
}
if (!noWarp) {
u16 warpId = sub_0203A858(mapId);
if (warpId != 0) {
FieldStatus_SetWarpId(fieldStatus, warpId);
FieldOverworldState_SetWarpId(fieldStatus, warpId);
}
}
@ -302,7 +302,7 @@ void FieldSystem_MapChange_UpdateGameData (FieldSystem * fieldSystem, BOOL noWar
void FieldSystem_MapChange_UpdateGameDataDistortionWorld (FieldSystem * fieldSystem, BOOL param1)
{
int mapId = fieldSystem->location->mapId;
FieldOverworldState * fieldStatus = SaveData_GetFieldStatus(fieldSystem->saveData);
FieldOverworldState * fieldStatus = SaveData_GetFieldOverworldState(fieldSystem->saveData);
Sound_ClearSpecialBGM(fieldSystem);
FieldSystem_ClearLocalFlags(fieldSystem);
@ -327,7 +327,7 @@ void FieldSystem_MapChange_UpdateGameDataDistortionWorld (FieldSystem * fieldSys
u16 v2 = sub_0203A858(mapId);
if (v2 != 0) {
FieldStatus_SetWarpId(fieldStatus, v2);
FieldOverworldState_SetWarpId(fieldStatus, v2);
}
}
@ -344,8 +344,8 @@ static void FieldSystem_MapChange_CreateObjects (FieldSystem * fieldSystem)
fieldSystem->mapObjMan = MapObjectMan_New(fieldSystem, 64, 5);
gender = TrainerInfo_Gender(SaveData_GetTrainerInfo(fieldSystem->saveData));
fieldStatus = SaveData_GetFieldStatus(fieldSystem->saveData);
playerData = FieldStatus_GetPlayerData(fieldStatus);
fieldStatus = SaveData_GetFieldOverworldState(fieldSystem->saveData);
playerData = FieldOverworldState_GetPlayerData(fieldStatus);
fieldSystem->playerAvatar = PlayerAvatar_Init(fieldSystem->mapObjMan, fieldSystem->location->x, fieldSystem->location->z, fieldSystem->location->unk_10, playerData->unk_04, gender, 0, playerData);
@ -365,8 +365,8 @@ static void FieldSystem_MapChange_LoadObjects (FieldSystem * fieldSystem)
fieldSystem->mapObjMan = MapObjectMan_New(fieldSystem, 64, 5);
FieldSystem_LoadObjects(fieldSystem);
FieldOverworldState * fieldStatus = SaveData_GetFieldStatus(fieldSystem->saveData);
PlayerData * playerData = FieldStatus_GetPlayerData(fieldStatus);
FieldOverworldState * fieldStatus = SaveData_GetFieldOverworldState(fieldSystem->saveData);
PlayerData * playerData = FieldOverworldState_GetPlayerData(fieldStatus);
int v2 = TrainerInfo_Gender(SaveData_GetTrainerInfo(fieldSystem->saveData));
fieldSystem->playerAvatar = sub_0205E820(fieldSystem->mapObjMan, playerData, v2);
@ -428,7 +428,7 @@ void sub_02053494 (FieldSystem * fieldSystem)
static void sub_020534BC (FieldSystem * fieldSystem)
{
if (fieldSystem->unk_9C != NULL) {
FieldOverworldState * v0 = SaveData_GetFieldStatus(fieldSystem->saveData);
FieldOverworldState * v0 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
Location * location = sub_0203A730(v0);
void * v2 = sub_0202BC58(location->mapId, 11);
sub_0202B758(fieldSystem->unk_9C, v2, 0);
@ -440,7 +440,7 @@ static void Location_SetToPlayerLocation (Location * location, const FieldSystem
Location_Set(location, fieldSystem->location->mapId, -1, Player_GetXPos(fieldSystem->playerAvatar), Player_GetZPos(fieldSystem->playerAvatar), 1);
}
static BOOL FieldSystem_IsSavedInUnionRoom (const FieldSystem * fieldSystem)
static BOOL FieldSystem_IsSaveInUnionRoom (const FieldSystem * fieldSystem)
{
if (MapHeader_IsPokemonCenter2F(fieldSystem->location->mapId)
&& (fieldSystem->location->x == 7) && (fieldSystem->location->z == 6)) {
@ -452,7 +452,7 @@ static BOOL FieldSystem_IsSavedInUnionRoom (const FieldSystem * fieldSystem)
static void FieldSystem_SetLocationToUnionRoomExit (FieldSystem * fieldSystem)
{
Location * v0 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * v0 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
FieldEvents * events = SaveData_GetFieldEvents(fieldSystem->saveData);
Location_Set(v0, fieldSystem->location->mapId, -1, 8, 2, 1);
@ -508,9 +508,9 @@ static BOOL FieldTask_LoadMapFromContinueGame (TaskManager * taskMan)
fieldSystem->unk_9C = Journal_GetSavedPage(SaveData_GetJournal(fieldSystem->saveData), inline_020535E8(events));
if (FieldEvents_CheckCommClub(events)) {
FieldOverworldState * fieldStatus = SaveData_GetFieldStatus(fieldSystem->saveData);
FieldOverworldState * fieldStatus = SaveData_GetFieldOverworldState(fieldSystem->saveData);
if (FieldSystem_IsSavedInUnionRoom(fieldSystem)) {
if (FieldSystem_IsSaveInUnionRoom(fieldSystem)) {
FieldSystem_SetLocationToUnionRoomExit(fieldSystem);
}
@ -605,7 +605,7 @@ void FieldSystem_StartLoadMapFromErrorTask (FieldSystem * fieldSystem)
if (MapHeader_IsUnionRoom(fieldSystem->location->mapId)) {
} else if (FieldSystem_IsSavedInUnionRoom(fieldSystem)) {
} else if (FieldSystem_IsSaveInUnionRoom(fieldSystem)) {
FieldEvents * events = SaveData_GetFieldEvents(fieldSystem->saveData);
FieldSystem_SetLocationToUnionRoomExit(fieldSystem);
@ -645,7 +645,7 @@ static BOOL FieldTask_ChangeMap (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, location->mapId);
Sound_PlayMapBGM(fieldSystem, location->mapId);
FieldTask_StartFadeIn(taskMan);
(v1->unk_00)++;
break;
@ -739,7 +739,7 @@ static BOOL FieldTask_ChangeMapFull (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, v2->mapId);
Sound_PlayMapBGM(fieldSystem, v2->mapId);
sub_02055868(taskMan);
(v1->unk_00)++;
break;
@ -813,7 +813,7 @@ static BOOL sub_02053B44 (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, v2->mapId);
Sound_PlayMapBGM(fieldSystem, v2->mapId);
sub_0207056C(fieldSystem);
sub_02053C10(taskMan);
(v1->unk_00)++;
@ -935,7 +935,7 @@ static BOOL sub_02053D0C (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, v2->mapId);
Sound_PlayMapBGM(fieldSystem, v2->mapId);
if (v1->unk_04 == 2) {
sub_02070588(fieldSystem);
@ -1049,7 +1049,7 @@ static BOOL sub_02053E98 (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, v2->mapId);
Sound_PlayMapBGM(fieldSystem, v2->mapId);
sub_02055868(taskMan);
v1->unk_00++;
break;
@ -1086,7 +1086,7 @@ void sub_02053F58 (FieldSystem * fieldSystem, int param1, int param2)
void * sub_02053FAC (FieldSystem * fieldSystem)
{
UnkStruct_02053FAC * v0;
Location * v1 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * v1 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
v0 = Heap_AllocFromHeapAtEnd(11, sizeof(UnkStruct_02053FAC));
v0->unk_00 = 0;
@ -1428,7 +1428,7 @@ static BOOL sub_02054538 (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, v3->mapId);
Sound_PlayMapBGM(fieldSystem, v3->mapId);
sub_02055868(taskMan);
(*v2)++;
break;
@ -1446,7 +1446,7 @@ static BOOL sub_02054538 (TaskManager * taskMan)
void sub_020545EC (FieldSystem * fieldSystem)
{
Location * v0 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * v0 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
UnkStruct_02054538 * v1 = Heap_AllocFromHeapAtEnd(11, sizeof(UnkStruct_02054538));
MI_CpuClear8(v1, sizeof(UnkStruct_02054538));
@ -1486,7 +1486,7 @@ static BOOL sub_02054648 (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, v3->mapId);
Sound_PlayMapBGM(fieldSystem, v3->mapId);
sub_02055868(taskMan);
(*state)++;
break;
@ -1511,7 +1511,7 @@ static BOOL sub_02054648 (TaskManager * taskMan)
void sub_02054708 (TaskManager * taskMan)
{
FieldSystem * fieldSystem = TaskManager_FieldSystem(taskMan);
Location * v1 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * v1 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
UnkStruct_02054538 * v2 = Heap_AllocFromHeapAtEnd(11, sizeof(UnkStruct_02054538));
MI_CpuClear8(v2, sizeof(UnkStruct_02054538));
@ -1548,7 +1548,7 @@ static BOOL sub_02054778 (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, v2->mapId);
Sound_PlayMapBGM(fieldSystem, v2->mapId);
sub_02055868(taskMan);
(v1->unk_00)++;
break;
@ -1564,7 +1564,7 @@ void sub_02054800 (TaskManager * taskMan, int param1, int param2, int param3, in
{
Location v0;
FieldSystem * fieldSystem = TaskManager_FieldSystem(taskMan);
Location * v2 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * v2 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
Location_SetToPlayerLocation(v2, fieldSystem);
@ -1583,7 +1583,7 @@ void sub_02054800 (TaskManager * taskMan, int param1, int param2, int param3, in
void sub_02054864 (TaskManager * taskMan)
{
FieldSystem * fieldSystem = TaskManager_FieldSystem(taskMan);
Location * v1 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * v1 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
fieldSystem->unk_70 = 0;
FieldSystem_StartChangeMapTask(fieldSystem->unk_10, v1);

View File

@ -66,7 +66,7 @@
#include "unk_02033200.h"
#include "unk_020366A0.h"
#include "map_header.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_menu.h"
#include "field_system.h"
#include "unk_0203D1B8.h"
@ -695,7 +695,7 @@ static void sub_0203B094 (TaskManager * taskMan)
v5 = MessageLoader_GetNewStrbuf(v2, 11);
if (v6 == 0) {
u16 * v7 = sub_0203A784(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 * v7 = sub_0203A784(SaveData_GetFieldOverworldState(fieldSystem->saveData));
StringTemplate_SetNumber(v3, 0, *v7, 2, 0, 1);
} else {

180
src/field_overworld_state.c Normal file
View File

@ -0,0 +1,180 @@
#include <nitro.h>
#include <string.h>
#include "savedata.h"
#include "field/field_system.h"
#include "struct_defs/struct_02049FA8.h"
#include "struct_defs/struct_020556C4.h"
#include "struct_defs/struct_0205EC34.h"
#include "struct_defs/struct_02061D3C.h"
#include "savedata.h"
#include "field_overworld_state.h"
#include "unk_0203A7D8.h"
#include "unk_020556C4.h"
#include "player_avatar.h"
#include "map_object.h"
typedef struct UnkStruct_0203A790_t {
Location unk_00;
Location entrance;
Location previous;
Location unk_3C;
Location unk_50;
u16 unk_64;
u16 weather;
u16 warpId;
u8 cameraType;
UnkStruct_020556C4 unk_6C;
PlayerData playerData;
u16 unk_94;
u16 unk_96;
u16 unk_98;
u16 unk_9A;
u16 unk_9C;
} FieldOverworldState;
typedef struct UnkStruct_0203A79C_t {
MapObjectSave unk_00[64];
} FieldOverworldSave;
int FieldOverworldState_Size (void)
{
return sizeof(FieldOverworldState);
}
int FieldOverworldSave_Size (void)
{
return sizeof(FieldOverworldSave);
}
void FieldOverworldSave_Init (FieldOverworldSave * fieldState)
{
MI_CpuClear32(fieldState, sizeof(FieldOverworldSave));
}
void FieldOverworldState_Init (FieldOverworldState * fieldState)
{
memset(fieldState, 0, sizeof(FieldOverworldState));
sub_020556C4(&fieldState->unk_6C);
PlayerData_Init(&fieldState->playerData);
fieldState->warpId = sub_0203A7EC();
}
Location * sub_0203A720 (FieldOverworldState * fieldState)
{
return &fieldState->unk_00;
}
Location * FieldOverworldState_GetEntranceLocation (FieldOverworldState * fieldState)
{
return &fieldState->entrance;
}
Location * FieldOverworldState_GetPrevLocation (FieldOverworldState * fieldState)
{
return &fieldState->previous;
}
Location * sub_0203A72C (FieldOverworldState * fieldState)
{
return &fieldState->unk_50;
}
Location * sub_0203A730 (FieldOverworldState * fieldState)
{
return &fieldState->unk_3C;
}
void sub_0203A734 (FieldOverworldState * fieldState, Location * param1)
{
fieldState->unk_3C = *param1;
return;
}
u16 * sub_0203A748 (FieldOverworldState * fieldState)
{
return &fieldState->unk_64;
}
u16 FieldOverworldState_GetWeather (const FieldOverworldState * fieldState)
{
return fieldState->weather;
}
void FieldOverworldState_SetWeather (FieldOverworldState * fieldState, u16 weather)
{
fieldState->weather = weather;
}
u16 FieldOverworldState_GetWarpId (const FieldOverworldState * fieldState)
{
return fieldState->warpId;
}
void FieldOverworldState_SetWarpId (FieldOverworldState * fieldState, u16 warpId)
{
fieldState->warpId = warpId;
}
UnkStruct_020556C4 * sub_0203A76C (FieldOverworldState * fieldState)
{
return &fieldState->unk_6C;
}
int FieldOverworldState_GetCameraType (const FieldOverworldState * fieldState)
{
return fieldState->cameraType;
}
void FieldOverworldState_SetCameraType (FieldOverworldState * fieldState, int param1)
{
fieldState->cameraType = param1;
}
PlayerData * FieldOverworldState_GetPlayerData (FieldOverworldState * fieldState)
{
return &fieldState->playerData;
}
u16 * sub_0203A784 (FieldOverworldState * fieldState)
{
return &fieldState->unk_98;
}
u16 * sub_0203A788 (FieldOverworldState * fieldState)
{
return &fieldState->unk_96;
}
u16 * sub_0203A78C (FieldOverworldState * fieldState)
{
return &fieldState->unk_94;
}
FieldOverworldState * SaveData_GetFieldOverworldState (SaveData * saveData)
{
FieldOverworldState * fieldState = SaveData_SaveTable(saveData, 6);
return fieldState;
}
FieldOverworldSave * SaveData_GetFieldOverworldSave (SaveData * saveData)
{
FieldOverworldSave * fieldSave = SaveData_SaveTable(saveData, 11);
return fieldSave;
}
void FieldSystem_SaveObjects (FieldSystem * fieldSystem)
{
MapObjectSave * mapObjSave = ((FieldOverworldSave *)SaveData_GetFieldOverworldSave(fieldSystem->saveData))->unk_00;
MapObjectMan_SaveAll(fieldSystem, fieldSystem->mapObjMan, mapObjSave, 64);
}
void FieldSystem_LoadObjects (FieldSystem * fieldSystem)
{
MapObjectSave * mapObjSave = ((FieldOverworldSave *)SaveData_GetFieldOverworldSave(fieldSystem->saveData))->unk_00;
MapObjectMan_LoadAllObjects(fieldSystem->mapObjMan, mapObjSave, 64);
}

View File

@ -23,7 +23,7 @@
#include "communication_system.h"
#include "unk_02039C80.h"
#include "unk_0203A378.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_system.h"
#include "unk_020508D4.h"
#include "field_map_change.h"
@ -175,7 +175,7 @@ static FieldSystem * FieldSystem_Init (OverlayManager * overlayMan)
fieldSystem->saveData = v0->unk_08;
fieldSystem->unk_10 = NULL;
fieldSystem->location = sub_0203A720(SaveData_GetFieldStatus(fieldSystem->saveData));
fieldSystem->location = sub_0203A720(SaveData_GetFieldOverworldState(fieldSystem->saveData));
fieldSystem->unk_2C = sub_02039D6C();
sub_0203A378(fieldSystem, 11);

View File

@ -160,7 +160,7 @@ pokeplatinum_c = files(
'unk_02039A64.c',
'unk_02039C80.c',
'unk_0203A378.c',
'unk_0203A6DC.c',
'field_overworld_state.c',
'unk_0203A7D8.c',
'unk_0203A944.c',
'field_menu.c',

View File

@ -49,7 +49,7 @@
#include "unk_02039C80.h"
#include "map_header.h"
#include "unk_0203A378.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_system.h"
#include "unk_0203E880.h"
#include "unk_020508D4.h"
@ -221,7 +221,7 @@ static BOOL FieldMap_Init (OverlayManager * overlayMan, int * param1)
ov5_021D1968(fieldSystem);
if (fieldSystem->unk_04->unk_0C != NULL) {
u16 v3 = sub_0203A74C(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 v3 = FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(fieldSystem->saveData));
ov5_021D5F24(fieldSystem->unk_04->unk_0C, v3);
}
@ -423,7 +423,7 @@ static BOOL FieldMap_ChangeZone (FieldSystem * fieldSystem)
return 0;
}
v4 = SaveData_GetFieldStatus(fieldSystem->saveData);
v4 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
{
fieldSystem->location->mapId = v0;
@ -445,7 +445,7 @@ static BOOL FieldMap_ChangeZone (FieldSystem * fieldSystem)
if (fieldSystem->unk_04->unk_0C != NULL) {
ov5_021D5F7C(
fieldSystem->unk_04->unk_0C, sub_0203A74C(v4));
fieldSystem->unk_04->unk_0C, FieldOverworldState_GetWeather(v4));
}
}
@ -475,7 +475,7 @@ void ov5_021D12D0 (FieldSystem * fieldSystem, u32 param1)
FieldOverworldState * v1;
v0 = fieldSystem->location->mapId;
v1 = SaveData_GetFieldStatus(fieldSystem->saveData);
v1 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
{
fieldSystem->location->mapId = param1;
@ -496,7 +496,7 @@ void ov5_021D12D0 (FieldSystem * fieldSystem, u32 param1)
sub_0203A418(fieldSystem);
if (fieldSystem->unk_04->unk_0C != NULL) {
ov5_021D5F7C(fieldSystem->unk_04->unk_0C, sub_0203A74C(v1));
ov5_021D5F7C(fieldSystem->unk_04->unk_0C, FieldOverworldState_GetWeather(v1));
}
}
}
@ -540,7 +540,7 @@ static void ov5_021D13B4 (FieldSystem * fieldSystem)
return;
}
v0 = sub_0203A76C(SaveData_GetFieldStatus(fieldSystem->saveData));
v0 = sub_0203A76C(SaveData_GetFieldOverworldState(fieldSystem->saveData));
v1 = (Player_GetXPos(fieldSystem->playerAvatar) - ov5_021EA6AC(fieldSystem->unk_28)) / 32;
v2 = (Player_GetZPos(fieldSystem->playerAvatar) - ov5_021EA6B4(fieldSystem->unk_28)) / 32;
v3 = PlayerAvatar_GetDir(fieldSystem->playerAvatar);
@ -916,7 +916,7 @@ static void ov5_021D1968 (FieldSystem * fieldSystem)
fieldSystem->unk_48 = ov5_021D57BC();
{
int v0 = FieldStatus_GetCameraType(SaveData_GetFieldStatus(fieldSystem->saveData));
int v0 = FieldOverworldState_GetCameraType(SaveData_GetFieldOverworldState(fieldSystem->saveData));
ov5_021D5B40(PlayerAvatar_PosVector(fieldSystem->playerAvatar), fieldSystem, v0, 1);
}

View File

@ -30,7 +30,7 @@
#include "unk_020366A0.h"
#include "map_header.h"
#include "unk_0203A378.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_menu.h"
#include "unk_0203C954.h"
#include "unk_0203E880.h"
@ -968,7 +968,7 @@ static void ov5_021D2B54 (FieldSystem * fieldSystem)
static BOOL ov5_021D2B94 (FieldSystem * fieldSystem)
{
Party * v0 = Party_GetFromSavedata(fieldSystem->saveData);
u16 * v1 = sub_0203A78C(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 * v1 = sub_0203A78C(SaveData_GetFieldOverworldState(fieldSystem->saveData));
(*v1)++;
(*v1) %= 4;
@ -1001,14 +1001,14 @@ static BOOL ov5_021D2C14 (FieldSystem * fieldSystem)
return 0;
}
v0 = sub_0203A784(SaveData_GetFieldStatus(fieldSystem->saveData));
v0 = sub_0203A784(SaveData_GetFieldOverworldState(fieldSystem->saveData));
if (*v0 == 0) {
sub_0203E880(fieldSystem, 8802, NULL);
return 1;
}
v1 = sub_0203A788(SaveData_GetFieldStatus(fieldSystem->saveData));
v1 = sub_0203A788(SaveData_GetFieldOverworldState(fieldSystem->saveData));
(*v1)++;
if (*v1 >= 500) {
@ -1090,12 +1090,12 @@ static BOOL ov5_021D2D34 (const FieldSystem * fieldSystem, int param1, int param
if (v0->unk_06 == 0x100) {
GF_ASSERT(v0->unk_04 == 0xfff);
*param3 = *(sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData)));
*param3 = *(sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData)));
} else {
Location_Set(param3, v0->unk_04, v0->unk_06, v0->unk_00, v0->unk_02, 1);
}
Location * v2 = FieldStatus_GetEntranceLocation(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * v2 = FieldOverworldState_GetEntranceLocation(SaveData_GetFieldOverworldState(fieldSystem->saveData));
Location_Set(v2, fieldSystem->location->mapId, v1, param1, param2, PlayerAvatar_GetDir(fieldSystem->playerAvatar));
return 1;
@ -1103,7 +1103,7 @@ static BOOL ov5_021D2D34 (const FieldSystem * fieldSystem, int param1, int param
static void ov5_021D2DCC (FieldSystem * fieldSystem, const int param1, const int param2, const int param3)
{
FieldOverworldState * v0 = SaveData_GetFieldStatus(fieldSystem->saveData);
FieldOverworldState * v0 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
Location * v1 = sub_0203A72C(v0);
(*v1) = *(fieldSystem->location);

View File

@ -30,7 +30,7 @@
#include "unk_0202CBE4.h"
#include "unk_020366A0.h"
#include "map_header.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "player_avatar.h"
#include "overlay005/ov5_021E1D20.h"
#include "overlay005/ov5_021EA714.h"
@ -75,7 +75,7 @@ static const int Unk_ov5_021F9CBC[] = {
static void ov5_021E1D20 (UnkStruct_ov5_021E1D20 * param0, const FieldSystem * fieldSystem)
{
SaveData * v0 = fieldSystem->saveData;
Location * location = sub_0203A720(SaveData_GetFieldStatus(v0));
Location * location = sub_0203A720(SaveData_GetFieldOverworldState(v0));
PokedexData * v2 = SaveData_Pokedex(v0);
param0->unk_04 = MapHeader_GetMapLabelTextID(location->mapId);
@ -230,7 +230,7 @@ BOOL ov5_021E200C (FieldSystem * fieldSystem)
static void ov5_021E2028 (FieldSystem * fieldSystem)
{
sub_0203A7A8(fieldSystem);
FieldSystem_SaveObjects(fieldSystem);
ov5_021EA714(fieldSystem, 4, 0);
fieldSystem->location->x = Player_GetXPos(fieldSystem->playerAvatar);

View File

@ -26,7 +26,7 @@
#include "unk_0202D7A8.h"
#include "map_header.h"
#include "unk_0203A378.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_system.h"
#include "unk_020507CC.h"
#include "unk_02050A74.h"
@ -274,7 +274,7 @@ BOOL ov6_02240D5C (FieldSystem * fieldSystem)
}
}
v15 = ov6_0224226C(0, v15, &v14, sub_0203A74C(SaveData_GetFieldStatus(fieldSystem->saveData)), v1);
v15 = ov6_0224226C(0, v15, &v14, FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(fieldSystem->saveData)), v1);
ov6_02241ABC(fieldSystem, &v15);
ov6_02241A90(v1, &v15);
@ -414,7 +414,7 @@ BOOL ov6_0224106C (FieldSystem * fieldSystem, const int param1, BattleParams **
v1 = Party_GetFromSavedata(fieldSystem->saveData);
v0 = Party_GetPokemonBySlotIndex(v1, 0);
ov6_02242634(fieldSystem, v0, NULL, &v4);
v5 = ov6_0224226C(1, v5, &v4, sub_0203A74C(SaveData_GetFieldStatus(fieldSystem->saveData)), v0);
v5 = ov6_0224226C(1, v5, &v4, FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(fieldSystem->saveData)), v0);
if (inline_020564D0(100) >= v5) {
return 0;
@ -653,7 +653,7 @@ BOOL ov6_022413E4 (FieldSystem * fieldSystem, BattleParams ** param1)
}
}
v14 = ov6_0224226C(0, v14, &v13, sub_0203A74C(SaveData_GetFieldStatus(fieldSystem->saveData)), v0);
v14 = ov6_0224226C(0, v14, &v13, FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(fieldSystem->saveData)), v0);
ov6_02241ABC(fieldSystem, &v14);
ov6_02241A90(v0, &v14);
@ -1586,7 +1586,7 @@ static void ov6_02242328 (FieldSystem * fieldSystem, const BOOL param1, BattlePa
if (!param1) {
(*param2) = sub_02051D8C(11, (0x0 | 0x0));
} else {
u16 * v0 = sub_0203A784(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 * v0 = sub_0203A784(SaveData_GetFieldOverworldState(fieldSystem->saveData));
(*param2) = sub_02051F24(11, *v0);
}
}

View File

@ -15,7 +15,7 @@
#include "unk_0200F174.h"
#include "heap.h"
#include "journal.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_0203A7D8.h"
#include "unk_020508D4.h"
#include "field_map_change.h"
@ -144,13 +144,13 @@ static int ov6_02247244 (TaskManager * taskMan, FieldSystem * fieldSystem, UnkSt
static int ov6_02247288 (TaskManager * taskMan, FieldSystem * fieldSystem, UnkStruct_ov6_02247100 * param2)
{
FieldOverworldState * v0 = SaveData_GetFieldStatus(fieldSystem->saveData);
FieldOverworldState * v0 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
if (param2->unk_08 == 2) {
u16 v1;
Location v2;
v1 = sub_0203A75C(v0);
v1 = FieldOverworldState_GetWarpId(v0);
sub_0203A7F0(v1, &v2);
sub_02053CD4(taskMan, &v2, param2->unk_08);
} else {

View File

@ -38,7 +38,7 @@
#include "unk_02030880.h"
#include "unk_02030CE8.h"
#include "unk_02030EA4.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_020507CC.h"
#include "poketch_data.h"
#include "unk_020797C8.h"
@ -52,12 +52,12 @@ const SaveTableEntry gSaveTable[] = {
{ SAVE_TABLE_ENTRY_BAG, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Bag_SaveSize, (SaveEntryInitFunc)Bag_Init },
{ SAVE_TABLE_ENTRY_EVENTS, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldEvents_SaveSize, (SaveEntryInitFunc)FieldEvents_Init },
{ SAVE_TABLE_ENTRY_POKETCH, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Poketch_SaveSize, (SaveEntryInitFunc)Poketch_Init },
{ SAVE_TABLE_ENTRY_FIELD_PLAYER_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldPlayerState_SaveSize, (SaveEntryInitFunc)FieldPlayerState_Init },
{ SAVE_TABLE_ENTRY_FIELD_PLAYER_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldOverworldState_Size, (SaveEntryInitFunc)FieldOverworldState_Init },
{ SAVE_TABLE_ENTRY_POKEDEX, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Pokedex_SaveSize, (SaveEntryInitFunc)Pokedex_Init },
{ SAVE_TABLE_ENTRY_DAYCARE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Daycare_SaveSize, (SaveEntryInitFunc)Daycare_Init },
{ SAVE_TABLE_ENTRY_PAL_PAD, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)PalPad_SaveSize, (SaveEntryInitFunc)PalPad_Init },
{ SAVE_TABLE_ENTRY_MISC, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)MiscSaveBlock_SaveSize, (SaveEntryInitFunc)MiscSaveBlock_Init },
{ SAVE_TABLE_ENTRY_FIELD_OVERWORLD_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldOWState_SaveSize, (SaveEntryInitFunc)FieldOWState_Init },
{ SAVE_TABLE_ENTRY_FIELD_OVERWORLD_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldOverworldSave_Size, (SaveEntryInitFunc)FieldOverworldSave_Init },
{ SAVE_TABLE_ENTRY_UNDERGROUND, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Underground_SaveSize, (SaveEntryInitFunc)Underground_Init },
{ SAVE_TABLE_ENTRY_REGULATION_BATTLES, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)RegulationBattles_SaveSize, (SaveEntryInitFunc)RegulationBattles_Init },
{ SAVE_TABLE_ENTRY_IMAGE_CLIPS, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)ImageClip_SaveSize, (SaveEntryInitFunc)ImageClip_Init },

View File

@ -48,7 +48,7 @@
#include "unk_02030880.h"
#include "unk_02030CE8.h"
#include "unk_02030EA4.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_020507CC.h"
#include "poketch_data.h"
#include "unk_020797C8.h"
@ -62,12 +62,12 @@ const SaveTableEntry gSaveTable[] = {
{ SAVE_TABLE_ENTRY_BAG, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Bag_SaveSize, (SaveEntryInitFunc)Bag_Init },
{ SAVE_TABLE_ENTRY_EVENTS, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldEvents_SaveSize, (SaveEntryInitFunc)FieldEvents_Init },
{ SAVE_TABLE_ENTRY_POKETCH, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Poketch_SaveSize, (SaveEntryInitFunc)Poketch_Init },
{ SAVE_TABLE_ENTRY_FIELD_PLAYER_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldPlayerState_SaveSize, (SaveEntryInitFunc)FieldPlayerState_Init },
{ SAVE_TABLE_ENTRY_FIELD_PLAYER_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldOverworldState_Size, (SaveEntryInitFunc)FieldOverworldState_Init },
{ SAVE_TABLE_ENTRY_POKEDEX, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Pokedex_SaveSize, (SaveEntryInitFunc)Pokedex_Init },
{ SAVE_TABLE_ENTRY_DAYCARE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Daycare_SaveSize, (SaveEntryInitFunc)Daycare_Init },
{ SAVE_TABLE_ENTRY_PAL_PAD, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)PalPad_SaveSize, (SaveEntryInitFunc)PalPad_Init },
{ SAVE_TABLE_ENTRY_MISC, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)MiscSaveBlock_SaveSize, (SaveEntryInitFunc)MiscSaveBlock_Init },
{ SAVE_TABLE_ENTRY_FIELD_OVERWORLD_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldOWState_SaveSize, (SaveEntryInitFunc)FieldOWState_Init },
{ SAVE_TABLE_ENTRY_FIELD_OVERWORLD_STATE, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)FieldOverworldSave_Size, (SaveEntryInitFunc)FieldOverworldSave_Init },
{ SAVE_TABLE_ENTRY_UNDERGROUND, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Underground_SaveSize, (SaveEntryInitFunc)Underground_Init },
{ SAVE_TABLE_ENTRY_REGULATION_BATTLES, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)RegulationBattles_SaveSize, (SaveEntryInitFunc)RegulationBattles_Init },
{ SAVE_TABLE_ENTRY_IMAGE_CLIPS, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)ImageClip_SaveSize, (SaveEntryInitFunc)ImageClip_Init },

View File

@ -1,188 +0,0 @@
#include <nitro.h>
#include <string.h>
#include "savedata.h"
#include "field/field_system.h"
#include "struct_defs/struct_02049FA8.h"
#include "struct_defs/struct_020556C4.h"
#include "struct_defs/struct_0205EC34.h"
#include "struct_defs/struct_02061D3C.h"
#include "savedata.h"
#include "unk_0203A6DC.h"
#include "unk_0203A7D8.h"
#include "unk_020556C4.h"
#include "player_avatar.h"
#include "map_object.h"
typedef struct UnkStruct_0203A790_t {
Location unk_00;
Location unk_14;
Location unk_28;
Location unk_3C;
Location unk_50;
u16 unk_64;
u16 unk_66;
u16 unk_68;
u8 unk_6A;
UnkStruct_020556C4 unk_6C;
PlayerData unk_8C;
u16 unk_94;
u16 unk_96;
u16 unk_98;
u16 unk_9A;
u16 unk_9C;
} FieldOverworldState;
typedef struct UnkStruct_0203A79C_t {
MapObjectSave unk_00[64];
} UnkStruct_0203A79C;
int FieldPlayerState_SaveSize (void)
{
return sizeof(FieldOverworldState);
}
int FieldOWState_SaveSize (void)
{
return sizeof(UnkStruct_0203A79C);
}
void FieldOWState_Init (UnkStruct_0203A79C * param0)
{
MI_CpuClear32(param0, sizeof(UnkStruct_0203A79C));
}
void FieldPlayerState_Init (FieldOverworldState * param0)
{
memset(param0, 0, sizeof(FieldOverworldState));
sub_020556C4(&param0->unk_6C);
PlayerData_Init(&param0->unk_8C);
param0->unk_68 = sub_0203A7EC();
}
Location * sub_0203A720 (FieldOverworldState * param0)
{
return &param0->unk_00;
}
Location * FieldStatus_GetEntranceLocation (FieldOverworldState * param0)
{
return &param0->unk_14;
}
Location * FieldStatus_GetPrevLocation (FieldOverworldState * param0)
{
return &param0->unk_28;
}
Location * sub_0203A72C (FieldOverworldState * param0)
{
return &param0->unk_50;
}
Location * sub_0203A730 (FieldOverworldState * param0)
{
return &param0->unk_3C;
}
void sub_0203A734 (FieldOverworldState * param0, Location * param1)
{
param0->unk_3C = *param1;
return;
}
u16 * sub_0203A748 (FieldOverworldState * param0)
{
return &param0->unk_64;
}
u16 sub_0203A74C (const FieldOverworldState * param0)
{
return param0->unk_66;
}
void FieldStatus_SetWeather (FieldOverworldState * param0, u16 param1)
{
param0->unk_66 = param1;
}
u16 sub_0203A75C (const FieldOverworldState * param0)
{
return param0->unk_68;
}
void FieldStatus_SetWarpId (FieldOverworldState * param0, u16 param1)
{
param0->unk_68 = param1;
}
UnkStruct_020556C4 * sub_0203A76C (FieldOverworldState * param0)
{
return &param0->unk_6C;
}
int FieldStatus_GetCameraType (const FieldOverworldState * param0)
{
return param0->unk_6A;
}
void FieldStatus_SetCameraType (FieldOverworldState * param0, int param1)
{
param0->unk_6A = param1;
}
PlayerData * FieldStatus_GetPlayerData (FieldOverworldState * param0)
{
return &param0->unk_8C;
}
u16 * sub_0203A784 (FieldOverworldState * param0)
{
return &param0->unk_98;
}
u16 * sub_0203A788 (FieldOverworldState * param0)
{
return &param0->unk_96;
}
u16 * sub_0203A78C (FieldOverworldState * param0)
{
return &param0->unk_94;
}
FieldOverworldState * SaveData_GetFieldStatus (SaveData * param0)
{
FieldOverworldState * v0;
v0 = SaveData_SaveTable(param0, 6);
return v0;
}
UnkStruct_0203A79C * sub_0203A79C (SaveData * param0)
{
UnkStruct_0203A79C * v0;
v0 = SaveData_SaveTable(param0, 11);
return v0;
}
void sub_0203A7A8 (FieldSystem * fieldSystem)
{
MapObjectSave * v0;
v0 = ((UnkStruct_0203A79C *)sub_0203A79C(fieldSystem->saveData))->unk_00;
MapObjectMan_SaveAll(fieldSystem, fieldSystem->mapObjMan, v0, 64);
}
void FieldSystem_LoadObjects (FieldSystem * fieldSystem)
{
MapObjectSave * v0;
v0 = ((UnkStruct_0203A79C *)sub_0203A79C(fieldSystem->saveData))->unk_00;
MapObjectMan_LoadAllObjects(fieldSystem->mapObjMan, v0, 64);
}

View File

@ -6,7 +6,7 @@
#include "struct_defs/struct_02049FA8.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_0203D178.h"
void sub_0203D178 (Location * param0)
@ -29,7 +29,7 @@ void sub_0203D190 (Location * param0)
void sub_0203D1A8 (SaveData * param0)
{
FieldOverworldState * v0 = SaveData_GetFieldStatus(param0);
FieldOverworldState * v0 = SaveData_GetFieldOverworldState(param0);
Location * v1 = sub_0203A720(v0);
sub_0203D178(v1);

View File

@ -90,7 +90,7 @@
#include "unk_0202DA40.h"
#include "unk_020366A0.h"
#include "unk_02038FFC.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_system.h"
#include "unk_0203D1B8.h"
#include "unk_020507CC.h"
@ -760,7 +760,7 @@ void * sub_0203D8AC (FieldSystem * fieldSystem)
UnkStruct_0203D8AC * v0;
TrainerInfo * v1;
int v2 = 0, v3 = 0;
sub_0203A76C(SaveData_GetFieldStatus(fieldSystem->saveData));
sub_0203A76C(SaveData_GetFieldOverworldState(fieldSystem->saveData));
v0 = Heap_AllocFromHeapAtEnd(11, sizeof(UnkStruct_0203D8AC));

View File

@ -104,7 +104,7 @@
#include "unk_02038FFC.h"
#include "unk_020393C8.h"
#include "unk_0203A378.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_system.h"
#include "unk_0203D1B8.h"
#include "field_script_context.h"
@ -3876,7 +3876,7 @@ static BOOL ScrCmd_315 (ScriptContext * ctx)
{
u16 * v0 = ScriptContext_GetVarPointer(ctx);
*v0 = sub_0203A74C(SaveData_GetFieldStatus(ctx->fieldSystem->saveData));
*v0 = FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(ctx->fieldSystem->saveData));
return 0;
}
@ -4690,8 +4690,8 @@ static BOOL ScrCmd_204 (ScriptContext * ctx)
static BOOL ScrCmd_200 (ScriptContext * ctx)
{
FieldOverworldState * v0 = SaveData_GetFieldStatus(ctx->fieldSystem->saveData);
Location * location = FieldStatus_GetPrevLocation(v0);
FieldOverworldState * v0 = SaveData_GetFieldOverworldState(ctx->fieldSystem->saveData);
Location * location = FieldOverworldState_GetPrevLocation(v0);
u16 * mapId = ScriptContext_GetVarPointer(ctx);
*mapId = location->mapId;
@ -4751,20 +4751,20 @@ static BOOL ScrCmd_0C2 (ScriptContext * ctx)
static BOOL ScrCmd_0C3 (ScriptContext * ctx)
{
FieldOverworldState * v0 = SaveData_GetFieldStatus(ctx->fieldSystem->saveData);
FieldOverworldState * v0 = SaveData_GetFieldOverworldState(ctx->fieldSystem->saveData);
FieldStatus_SetWeather(v0, OVERWORLD_WEATHER_CLEAR);
ov5_021D5F7C(ctx->fieldSystem->unk_04->unk_0C, sub_0203A74C(v0));
FieldOverworldState_SetWeather(v0, OVERWORLD_WEATHER_CLEAR);
ov5_021D5F7C(ctx->fieldSystem->unk_04->unk_0C, FieldOverworldState_GetWeather(v0));
return 1;
}
static BOOL ScrCmd_0C4 (ScriptContext * ctx)
{
FieldOverworldState * v0 = SaveData_GetFieldStatus(ctx->fieldSystem->saveData);
FieldOverworldState * v0 = SaveData_GetFieldOverworldState(ctx->fieldSystem->saveData);
FieldStatus_SetWeather(v0, OVERWORLD_WEATHER_CLEAR);
ov5_021D5F7C(ctx->fieldSystem->unk_04->unk_0C, sub_0203A74C(v0));
FieldOverworldState_SetWeather(v0, OVERWORLD_WEATHER_CLEAR);
ov5_021D5F7C(ctx->fieldSystem->unk_04->unk_0C, FieldOverworldState_GetWeather(v0));
return 1;
}
@ -5012,7 +5012,7 @@ static BOOL ScrCmd_11B (ScriptContext * ctx)
location.z = ScriptContext_GetVar(ctx);
location.unk_10 = ScriptContext_GetVar(ctx);
sub_0203A734(SaveData_GetFieldStatus(ctx->fieldSystem->saveData), &location);
sub_0203A734(SaveData_GetFieldOverworldState(ctx->fieldSystem->saveData), &location);
return 0;
}
@ -5021,7 +5021,7 @@ static BOOL ScrCmd_11C (ScriptContext * ctx)
Location * location;
u16 * v1 = ScriptContext_GetVarPointer(ctx);
location = sub_0203A730(SaveData_GetFieldStatus(ctx->fieldSystem->saveData));
location = sub_0203A730(SaveData_GetFieldOverworldState(ctx->fieldSystem->saveData));
*v1 = ov5_021DCCC8(location->mapId);
return 0;
@ -5609,7 +5609,7 @@ static BOOL ScrCmd_14C (ScriptContext * ctx)
u16 v0 = ScriptContext_GetVar(ctx);
FieldSystem * fieldSystem = ctx->fieldSystem;
FieldStatus_SetWarpId(SaveData_GetFieldStatus(fieldSystem->saveData), v0);
FieldOverworldState_SetWarpId(SaveData_GetFieldOverworldState(fieldSystem->saveData), v0);
return 0;
}
@ -6451,7 +6451,7 @@ static BOOL ScrCmd_202 (ScriptContext * ctx)
{
u16 * v0;
u16 * v1;
FieldOverworldState * v2 = SaveData_GetFieldStatus(ctx->fieldSystem->saveData);
FieldOverworldState * v2 = SaveData_GetFieldOverworldState(ctx->fieldSystem->saveData);
FieldEvents * v3 = SaveData_GetFieldEvents(ctx->fieldSystem->saveData);
TVBroadcast * v4 = SaveData_TVBroadcast(ctx->fieldSystem->saveData);
int v5 = ScriptContext_ReadByte(ctx);
@ -7761,7 +7761,7 @@ static BOOL ScrCmd_2B1 (ScriptContext * ctx)
static BOOL ScrCmd_2B2 (ScriptContext * ctx)
{
sub_0203A7A8(ctx->fieldSystem);
FieldSystem_SaveObjects(ctx->fieldSystem);
return 0;
}
@ -7770,7 +7770,7 @@ static BOOL ScrCmd_2B5 (ScriptContext * ctx)
u16 mapId = ScriptContext_GetVar(ctx);
u16 v1 = ScriptContext_GetVar(ctx);
u16 v2 = ScriptContext_GetVar(ctx);
FieldOverworldState * v3 = SaveData_GetFieldStatus(ctx->fieldSystem->saveData);
FieldOverworldState * v3 = SaveData_GetFieldOverworldState(ctx->fieldSystem->saveData);
Location * location = sub_0203A72C(v3);
location->mapId = mapId;
@ -7900,7 +7900,7 @@ static BOOL ScrCmd_2CD (ScriptContext * ctx)
static BOOL ScrCmd_2CE (ScriptContext * ctx)
{
FieldSystem * fieldSystem = ctx->fieldSystem;
u16 v1 = sub_0203A74C(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 v1 = FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(fieldSystem->saveData));
ov5_021D5F24(fieldSystem->unk_04->unk_0C, v1);
return 1;

View File

@ -31,7 +31,7 @@
#include "unk_0202CD50.h"
#include "unk_0202D05C.h"
#include "unk_0203061C.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_02049D08.h"
#include "unk_0204AEE8.h"
#include "unk_020507CC.h"
@ -226,7 +226,7 @@ BOOL sub_02049FA0 (UnkStruct_0202D060 * param0)
void sub_02049FA8 (FieldSystem * fieldSystem)
{
Location * v0 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * v0 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
Location_Set(v0, fieldSystem->location->mapId, -1, Player_GetXPos(fieldSystem->playerAvatar), Player_GetZPos(fieldSystem->playerAvatar), 0);
sub_0206AD9C(SaveData_GetFieldEvents(fieldSystem->saveData));

View File

@ -13,7 +13,7 @@
#include "unk_02025E08.h"
#include "trainer_info.h"
#include "unk_0202631C.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_0204E3CC.h"
#include "unk_020507CC.h"
#include "player_avatar.h"
@ -44,8 +44,8 @@ BOOL ScrCmd_159 (ScriptContext * param0)
PlayerData * v1;
u16 * v2 = ScriptContext_GetVarPointer(param0);
v0 = SaveData_GetFieldStatus(param0->fieldSystem->saveData);
v1 = FieldStatus_GetPlayerData(v0);
v0 = SaveData_GetFieldOverworldState(param0->fieldSystem->saveData);
v1 = FieldOverworldState_GetPlayerData(v0);
*v2 = PlayerData_HasRunningShoes(v1);
return 0;
@ -56,8 +56,8 @@ BOOL ScrCmd_15A (ScriptContext * param0)
FieldOverworldState * v0;
PlayerData * v1;
v0 = SaveData_GetFieldStatus(param0->fieldSystem->saveData);
v1 = FieldStatus_GetPlayerData(v0);
v0 = SaveData_GetFieldOverworldState(param0->fieldSystem->saveData);
v1 = FieldOverworldState_GetPlayerData(v0);
PlayerData_SetRunningShoes(v1, 1);
return 0;

View File

@ -27,7 +27,7 @@
#include "unk_0202CD50.h"
#include "unk_0202F1D4.h"
#include "communication_information.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_0203D1B8.h"
#include "unk_0203E880.h"
#include "unk_020507CC.h"
@ -459,7 +459,7 @@ static BOOL sub_02051074 (TaskManager * taskMan)
fieldSystem = TaskManager_FieldSystem(taskMan);
v1 = TaskManager_Environment(taskMan);
v2 = FieldTask_GetState(taskMan);
v3 = sub_0203A784(SaveData_GetFieldStatus(fieldSystem->saveData));
v3 = sub_0203A784(SaveData_GetFieldOverworldState(fieldSystem->saveData));
switch (*v2) {
case 0:
@ -491,7 +491,7 @@ static BOOL sub_02051074 (TaskManager * taskMan)
if (((*v3) == 0) && (v1->unk_10->unk_14 != 0x4)) {
Location * v6;
v6 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
v6 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
sub_020539A0(taskMan, v6);
}

View File

@ -45,7 +45,7 @@
#include "communication_system.h"
#include "unk_020366A0.h"
#include "map_header.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_020507CC.h"
#include "unk_02051D8C.h"
#include "unk_02054D00.h"
@ -257,7 +257,7 @@ void sub_020521B8 (BattleParams * param0, const FieldSystem * fieldSystem, SaveD
PokedexData * v3 = SaveData_Pokedex(param2);
ChatotCry * v4 = GetChatotCryDataFromSave(param2);
Options * v5 = SaveData_Options(param2);
FieldOverworldState * v6 = SaveData_GetFieldStatus(param2);
FieldOverworldState * v6 = SaveData_GetFieldOverworldState(param2);
if (fieldSystem != NULL) {
sub_0205281C(param0, fieldSystem);
@ -284,7 +284,7 @@ void sub_020521B8 (BattleParams * param0, const FieldSystem * fieldSystem, SaveD
param0->unk_13C = MapHeader_GetMapEvolutionMethod(param3);
param0->unk_140 = PokemonSummary_ShowContestData(param2);
param0->unk_144 = sub_0206ADFC(SaveData_GetFieldEvents(param2));
param0->unk_14C = sub_0203A74C(v6);
param0->unk_14C = FieldOverworldState_GetWeather(v6);
param0->unk_E4 = param5;
param0->unk_190 = param6;
param0->unk_100 = SaveData_PoketchData(param2);
@ -444,7 +444,7 @@ void sub_020526E8 (const BattleParams * param0, FieldSystem * fieldSystem)
Party * v1 = Party_GetFromSavedata(fieldSystem->saveData);
UnkStruct_0207D3C0 * v2 = sub_0207D990(fieldSystem->saveData);
PokedexData * v3 = SaveData_Pokedex(fieldSystem->saveData);
u16 * v4 = sub_0203A784(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 * v4 = sub_0203A784(SaveData_GetFieldOverworldState(fieldSystem->saveData));
TrainerInfo_Copy(param0->unk_D0[0], v0);
Party_cpy(param0->parties[0], v1);
@ -522,7 +522,7 @@ static int sub_02052780 (const FieldSystem * fieldSystem, int param1)
static void sub_0205281C (BattleParams * param0, const FieldSystem * fieldSystem)
{
PlayerData * v0 = FieldStatus_GetPlayerData(SaveData_GetFieldStatus(fieldSystem->saveData));
PlayerData * v0 = FieldOverworldState_GetPlayerData(SaveData_GetFieldOverworldState(fieldSystem->saveData));
param0->unk_128 = MapHeader_GetBattleBG(fieldSystem->location->mapId);

View File

@ -31,7 +31,7 @@
#include "gx_layers.h"
#include "strbuf.h"
#include "unk_02025E08.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_0203A7D8.h"
#include "field_system.h"
#include "unk_0203E880.h"
@ -225,8 +225,8 @@ BOOL sub_02052B2C (TaskManager * param0)
{
Location v2;
FieldOverworldState * v3 = SaveData_GetFieldStatus(fieldSystem->saveData);
u16 v4 = sub_0203A75C(v3);
FieldOverworldState * v3 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
u16 v4 = FieldOverworldState_GetWarpId(v3);
sub_0203A824(v4, &v2);
sub_0203A7F0(v4, sub_0203A72C(v3));
@ -259,7 +259,7 @@ BOOL sub_02052B2C (TaskManager * param0)
sub_0200AB4C(0, (GX_BLEND_PLANEMASK_BG0 | GX_BLEND_PLANEMASK_BG1 | GX_BLEND_PLANEMASK_BG2 | GX_BLEND_PLANEMASK_BG3 | GX_BLEND_PLANEMASK_OBJ | GX_BLEND_PLANEMASK_BD), 3);
if (sub_0203A7EC()
== sub_0203A75C(SaveData_GetFieldStatus(fieldSystem->saveData))) {
== FieldOverworldState_GetWarpId(SaveData_GetFieldOverworldState(fieldSystem->saveData))) {
sub_0203E8E0(param0, 2020, NULL, NULL);
} else {
sub_0203E8E0(param0, 2021, NULL, NULL);

View File

@ -38,7 +38,7 @@
#include "unk_0202631C.h"
#include "unk_0202CD50.h"
#include "unk_0202DF8C.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_0203D178.h"
#include "unk_0203D1B8.h"
#include "unk_020507CC.h"
@ -192,8 +192,8 @@ void sub_02052E58 (TaskManager * param0)
v5 = Heap_AllocFromHeap(32, sizeof(UnkStruct_0205300C));
v3 = SaveData_GetFieldEvents(fieldSystem->saveData);
v4 = SaveData_GetTrainerInfo(fieldSystem->saveData);
v1 = sub_0203A730(SaveData_GetFieldStatus(fieldSystem->saveData));
v2 = sub_0203A72C(SaveData_GetFieldStatus(fieldSystem->saveData));
v1 = sub_0203A730(SaveData_GetFieldOverworldState(fieldSystem->saveData));
v2 = sub_0203A72C(SaveData_GetFieldOverworldState(fieldSystem->saveData));
v5->unk_00 = sub_0206A954(v3);
v5->unk_04.unk_00 = SaveData_GetTrainerInfo(fieldSystem->saveData);

View File

@ -11,7 +11,7 @@
#include "unk_02005474.h"
#include "rtc.h"
#include "map_header.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_020507CC.h"
#include "unk_020553DC.h"
#include "player_avatar.h"
@ -121,7 +121,7 @@ void sub_020553DC ()
void sub_020553F0 (FieldSystem * fieldSystem, u16 param1)
{
u16 * v0 = sub_0203A748(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 * v0 = sub_0203A748(SaveData_GetFieldOverworldState(fieldSystem->saveData));
*v0 = param1;
return;
@ -129,13 +129,13 @@ void sub_020553F0 (FieldSystem * fieldSystem, u16 param1)
u16 sub_02055404 (FieldSystem * fieldSystem)
{
u16 * v0 = sub_0203A748(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 * v0 = sub_0203A748(SaveData_GetFieldOverworldState(fieldSystem->saveData));
return *v0;
}
void Sound_ClearSpecialBGM (FieldSystem * fieldSystem)
{
u16 * v0 = sub_0203A748(SaveData_GetFieldStatus(fieldSystem->saveData));
u16 * v0 = sub_0203A748(SaveData_GetFieldOverworldState(fieldSystem->saveData));
*v0 = 0;
return;
@ -209,8 +209,8 @@ u16 sub_020554A4 (FieldSystem * fieldSystem, int param1)
static u16 sub_020554E8 (FieldSystem * fieldSystem, int param1)
{
int v0, v1;
FieldOverworldState * v2 = SaveData_GetFieldStatus(fieldSystem->saveData);
Location * location = FieldStatus_GetPrevLocation(v2);
FieldOverworldState * v2 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
Location * location = FieldOverworldState_GetPrevLocation(v2);
v0 = Player_GetXPos(fieldSystem->playerAvatar);
v1 = Player_GetZPos(fieldSystem->playerAvatar);
@ -319,7 +319,7 @@ void Sound_TryFadeInBgm (FieldSystem * fieldSystem, int param1)
return;
}
void Sound_PlayMapBgm (FieldSystem * fieldSystem, int param1)
void Sound_PlayMapBGM (FieldSystem * fieldSystem, int param1)
{
u16 v0;

View File

@ -239,7 +239,7 @@ static BOOL sub_02056CFC (TaskManager * taskMan)
break;
}
Sound_PlayMapBgm(fieldSystem, v2->mapId);
Sound_PlayMapBGM(fieldSystem, v2->mapId);
ov5_021DDAA4(fieldSystem);
v1->unk_04 = 0;

View File

@ -9,7 +9,7 @@
#include "unk_0201D15C.h"
#include "unk_0202B37C.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_020507CC.h"
#include "unk_0206A8DC.h"
#include "unk_0206AFE0.h"
@ -450,7 +450,7 @@ void sub_0206B514 (SaveData * param0)
{
u32 v0;
FieldEvents * v1 = SaveData_GetFieldEvents(param0);
FieldOverworldState * v2 = SaveData_GetFieldStatus(param0);
FieldOverworldState * v2 = SaveData_GetFieldOverworldState(param0);
Location * location = sub_0203A720(v2);
if ((location->mapId != 457) && (location->mapId != 464)) {

View File

@ -18,7 +18,7 @@
#include "trainer_info.h"
#include "unk_02039C80.h"
#include "map_header.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_system.h"
#include "unk_0203E880.h"
#include "unk_020507CC.h"
@ -79,7 +79,7 @@ void sub_0206B70C (FieldSystem * fieldSystem, UnkStruct_0203D8AC * param1, int p
int x, z, v6;
UnkStruct_020556C4 * v7;
FieldEvents * v8 = SaveData_GetFieldEvents(fieldSystem->saveData);
FieldOverworldState * v9 = SaveData_GetFieldStatus(fieldSystem->saveData);
FieldOverworldState * v9 = SaveData_GetFieldOverworldState(fieldSystem->saveData);
Location * v10 = sub_0203A72C(v9);
memset(param1, 0, sizeof(UnkStruct_0203D8AC));
@ -114,7 +114,7 @@ void sub_0206B70C (FieldSystem * fieldSystem, UnkStruct_0203D8AC * param1, int p
v0 = SaveData_GetTrainerInfo(FieldSystem_SaveData(fieldSystem));
param1->unk_0C = TrainerInfo_Gender(v0);
v7 = sub_0203A76C(SaveData_GetFieldStatus(fieldSystem->saveData));
v7 = sub_0203A76C(SaveData_GetFieldOverworldState(fieldSystem->saveData));
v2 = (v7->unk_00 - 2 + 6) % 6;
for (v1 = 0; v1 < 5; v1++) {

View File

@ -229,7 +229,7 @@ static BOOL sub_0206C964 (TaskManager * taskMan)
v1->unk_00 = 6;
break;
case 6:
Sound_PlayMapBgm(fieldSystem, v1->unk_18);
Sound_PlayMapBGM(fieldSystem, v1->unk_18);
FieldTask_StartFadeIn(taskMan);
v1->unk_00 = 7;
break;

View File

@ -15,7 +15,7 @@
#include "journal.h"
#include "unk_0202D7A8.h"
#include "map_header.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "unk_0203A7D8.h"
#include "unk_020507CC.h"
#include "unk_020556C4.h"
@ -88,7 +88,7 @@ void FieldSystem_InitFlagsWarp (FieldSystem * fieldSystem)
}
{
PlayerData * v2 = FieldStatus_GetPlayerData(SaveData_GetFieldStatus(fieldSystem->saveData));
PlayerData * v2 = FieldOverworldState_GetPlayerData(SaveData_GetFieldOverworldState(fieldSystem->saveData));
if ((v2->unk_04 == 0x1) && (MapHeader_IsBikeAllowed(fieldSystem->location->mapId) == 0)) {
v2->unk_04 = 0x0;
@ -100,7 +100,7 @@ void FieldSystem_InitFlagsWarp (FieldSystem * fieldSystem)
if (MapHeader_IsOnMainMatrix(fieldSystem->location->mapId)) {
UnkStruct_020556C4 * v3;
v3 = sub_0203A76C(SaveData_GetFieldStatus(fieldSystem->saveData));
v3 = sub_0203A76C(SaveData_GetFieldOverworldState(fieldSystem->saveData));
sub_020556E8(v3, fieldSystem->location->x, fieldSystem->location->z);
}
}
@ -149,7 +149,7 @@ static BOOL sub_020705DC (FieldSystem * fieldSystem)
static BOOL sub_02070610 (FieldSystem * fieldSystem)
{
Location * location = FieldStatus_GetPrevLocation(SaveData_GetFieldStatus(fieldSystem->saveData));
Location * location = FieldOverworldState_GetPrevLocation(SaveData_GetFieldOverworldState(fieldSystem->saveData));
if (location->mapId != fieldSystem->location->mapId) {
sub_0202C5C4(SaveData_GetTrainerInfo(fieldSystem->saveData), fieldSystem->unk_9C, fieldSystem->location->mapId, location->mapId, 32);

View File

@ -20,7 +20,7 @@
#include "trainer_info.h"
#include "journal.h"
#include "map_header.h"
#include "unk_0203A6DC.h"
#include "field_overworld_state.h"
#include "field_menu.h"
#include "unk_0203C954.h"
#include "unk_0203D1B8.h"
@ -214,7 +214,7 @@ void sub_02070728 (FieldSystem * fieldSystem, UnkStruct_02070950 * param1)
param1->unk_0C |= (1 << 6);
}
switch (sub_0203A74C(SaveData_GetFieldStatus(fieldSystem->saveData))) {
switch (FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(fieldSystem->saveData))) {
case 14:
param1->unk_0C |= (1 << 4);
break;