mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-24 15:07:47 -05:00
field_overworld_state
This commit is contained in:
parent
b00b77d195
commit
ccaeaa1cd3
39
include/field_overworld_state.h
Normal file
39
include/field_overworld_state.h
Normal 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
|
||||
|
|
@ -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)) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
180
src/field_overworld_state.c
Normal 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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 },
|
||||
|
|
|
|||
|
|
@ -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 },
|
||||
|
|
|
|||
|
|
@ -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(¶m0->unk_6C);
|
||||
PlayerData_Init(¶m0->unk_8C);
|
||||
|
||||
param0->unk_68 = sub_0203A7EC();
|
||||
}
|
||||
|
||||
Location * sub_0203A720 (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->unk_00;
|
||||
}
|
||||
|
||||
Location * FieldStatus_GetEntranceLocation (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->unk_14;
|
||||
}
|
||||
|
||||
Location * FieldStatus_GetPrevLocation (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->unk_28;
|
||||
}
|
||||
|
||||
Location * sub_0203A72C (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->unk_50;
|
||||
}
|
||||
|
||||
Location * sub_0203A730 (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->unk_3C;
|
||||
}
|
||||
|
||||
void sub_0203A734 (FieldOverworldState * param0, Location * param1)
|
||||
{
|
||||
param0->unk_3C = *param1;
|
||||
return;
|
||||
}
|
||||
|
||||
u16 * sub_0203A748 (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->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 ¶m0->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 ¶m0->unk_8C;
|
||||
}
|
||||
|
||||
u16 * sub_0203A784 (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->unk_98;
|
||||
}
|
||||
|
||||
u16 * sub_0203A788 (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->unk_96;
|
||||
}
|
||||
|
||||
u16 * sub_0203A78C (FieldOverworldState * param0)
|
||||
{
|
||||
return ¶m0->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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)) {
|
||||
|
|
|
|||
|
|
@ -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++) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user