diff --git a/include/constants/player_avatar.h b/include/constants/player_avatar.h index 06c6347770..06578f0734 100644 --- a/include/constants/player_avatar.h +++ b/include/constants/player_avatar.h @@ -2,6 +2,7 @@ #define POKEPLATINUM_CONSTANTS_PLAYER_AVATAR_H //Player State +#define PLAYER_STATE_WALKING 0 #define PLAYER_STATE_CYCLING 1 #endif diff --git a/include/field/field_system.h b/include/field/field_system.h index 726c0e66f8..8c9dbafb13 100644 --- a/include/field/field_system.h +++ b/include/field/field_system.h @@ -1,5 +1,5 @@ -#ifndef POKEPLATINUM_FIELD_SYSTEM_H -#define POKEPLATINUM_FIELD_SYSTEM_H +#ifndef POKEPLATINUM_FIELD_SYSTEM_STRUCT_H +#define POKEPLATINUM_FIELD_SYSTEM_STRUCT_H #include "struct_decls/struct_02018340_decl.h" #include "struct_decls/struct_020203AC_decl.h" diff --git a/include/unk_0203CC84.h b/include/field_system.h similarity index 90% rename from include/unk_0203CC84.h rename to include/field_system.h index 4e8d77d0db..44fc2369a5 100644 --- a/include/unk_0203CC84.h +++ b/include/field_system.h @@ -1,5 +1,5 @@ -#ifndef POKEPLATINUM_UNK_0203CC84_H -#define POKEPLATINUM_UNK_0203CC84_H +#ifndef POKEPLATINUM_FIELD_SYSTEM_H +#define POKEPLATINUM_FIELD_SYSTEM_H #include "struct_decls/struct_02018340_decl.h" #include "field/field_system_decl.h" diff --git a/include/player_avatar.h b/include/player_avatar.h index ade9ab0ecb..a728602f3f 100644 --- a/include/player_avatar.h +++ b/include/player_avatar.h @@ -65,8 +65,8 @@ int PlayerData_HasRunningShoes(PlayerData * param0); void PlayerData_SetRunningShoes(PlayerData * param0, int param1); int sub_0205EC64(PlayerData * param0); void sub_0205EC70(PlayerData * param0, int param1); -void sub_0205EC78(PlayerAvatar * param0, int param1); -int sub_0205EC88(PlayerAvatar * param0); +void PlayerAvatar_SetCyclingGear(PlayerAvatar * param0, int param1); +int PlayerAvatar_CyclingGear(PlayerAvatar * param0); u32 sub_0205EC94(PlayerData * param0); void sub_0205ECA0(PlayerData * param0, u32 param1); void sub_0205ECA8(PlayerAvatar * param0, u32 param1); diff --git a/include/unk_0205F180.h b/include/unk_0205F180.h index de012d5829..27b088597f 100644 --- a/include/unk_0205F180.h +++ b/include/unk_0205F180.h @@ -5,7 +5,7 @@ #include "struct_decls/struct_02061AB4_decl.h" #include "overlay005/struct_ov5_021E8F60_decl.h" -void sub_0205F180(PlayerAvatar * param0, const UnkStruct_ov5_021E8F60 * param1, int param2, u16 param3, u16 param4, BOOL param5); +void PlayerAvatar_MoveControl(PlayerAvatar * param0, const UnkStruct_ov5_021E8F60 * param1, int param2, u16 param3, u16 param4, BOOL param5); int PlayerAvatar_CheckStartMove(PlayerAvatar * param0, int param1); void sub_0205F490(PlayerAvatar * param0); void sub_0205F56C(PlayerAvatar * param0); diff --git a/platinum.us/main.lsf b/platinum.us/main.lsf index 8890b95e5e..028e298b73 100644 --- a/platinum.us/main.lsf +++ b/platinum.us/main.lsf @@ -176,7 +176,7 @@ Static main Object main.nef.p/src_unk_0203A944.c.o Object main.nef.p/src_field_menu.c.o Object main.nef.p/src_unk_0203C954.c.o - Object main.nef.p/src_unk_0203CC84.c.o + Object main.nef.p/src_field_system.c.o Object main.nef.p/src_unk_0203D178.c.o Object main.nef.p/src_unk_0203D1B8.c.o Object main.nef.p/src_field_script_context.c.o diff --git a/src/comm_player_manager.c b/src/comm_player_manager.c index 037c7193b5..9b3f0c53fa 100644 --- a/src/comm_player_manager.c +++ b/src/comm_player_manager.c @@ -28,7 +28,7 @@ #include "communication_system.h" #include "unk_020366A0.h" #include "unk_0203A378.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_02054D00.h" #include "comm_player_manager.h" #include "player_avatar.h" diff --git a/src/field_comm_manager.c b/src/field_comm_manager.c index 3b217f2a3e..87e2a06775 100644 --- a/src/field_comm_manager.c +++ b/src/field_comm_manager.c @@ -21,7 +21,7 @@ #include "communication_system.h" #include "unk_020363E8.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203E880.h" #include "unk_02050A74.h" #include "comm_player_manager.h" diff --git a/src/field_menu.c b/src/field_menu.c index 24205a9bea..7cf4823532 100644 --- a/src/field_menu.c +++ b/src/field_menu.c @@ -68,7 +68,7 @@ #include "map_header.h" #include "unk_0203A6DC.h" #include "field_menu.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_0203E880.h" #include "unk_020507CC.h" diff --git a/src/field_system.c b/src/field_system.c new file mode 100644 index 0000000000..40af3b8953 --- /dev/null +++ b/src/field_system.c @@ -0,0 +1,389 @@ +#include +#include + +#include "core_sys.h" + +#include "struct_decls/struct_02018340_decl.h" +#include "field/field_system_sub1_decl.h" +#include "savedata.h" +#include "overlay025/poketch_system.h" + +#include "overlay005/const_ov5_021F89B0.h" +#include "overlay077/const_ov77_021D742C.h" + +#include "struct_defs/struct_0203CC84.h" +#include "field/field_system.h" +#include "field/field_system_sub2_t.h" +#include "overlay005/struct_ov5_021D1CAC.h" + +#include "unk_02000C88.h" +#include "game_overlay.h" +#include "overlay_manager.h" +#include "heap.h" +#include "communication_system.h" +#include "unk_02039C80.h" +#include "unk_0203A378.h" +#include "unk_0203A6DC.h" +#include "field_system.h" +#include "unk_020508D4.h" +#include "unk_020530C8.h" +#include "comm_player_manager.h" +#include "unk_0205F180.h" +#include "pokeradar.h" +#include "unk_0207D3B8.h" +#include "unk_0209ACBC.h" +#include "unk_0209C370.h" +#include "overlay005/ov5_021D1C30.h" +#include "overlay005/ov5_021DD6FC.h" +#include "overlay005/ov5_021DFB54.h" +#include "overlay005/ov5_021E1B08.h" +#include "overlay005/ov5_021EA714.h" + +FS_EXTERN_OVERLAY(overlay5); +FS_EXTERN_OVERLAY(overlay77); + +typedef struct FieldSystem_sub1_t { + OverlayManager * unk_00; + OverlayManager * unk_04; + BOOL unk_08; + BOOL unk_0C; +}; + +static FieldSystem * sub_0203CDB0(OverlayManager * param0); +static BOOL sub_0203CEEC(FieldSystem * fieldSystem); +static void sub_0203CE6C(OverlayManager * param0); +static void sub_0203CF5C(FieldSystem * fieldSystem); + +static FieldSystem * sFieldSystem; + +static int sub_0203CC84 (OverlayManager * overlayMan, int * param1) +{ + UnkStruct_0203CC84 * v0 = OverlayManager_Args(overlayMan); + + sFieldSystem = sub_0203CDB0(overlayMan); + + if (v0->unk_04) { + sub_02053808(sFieldSystem); + } else { + sub_02053704(sFieldSystem); + } + + v0->unk_04 = 0; + return 1; +} + +static int sub_0203CCB4 (OverlayManager * overlayMan, int * param1) +{ + sFieldSystem = sub_0203CDB0(overlayMan); + sub_020535CC(sFieldSystem); + return 1; +} + +static int sub_0203CCCC (OverlayManager * overlayMan, int * param1) +{ + FieldSystem * v0 = OverlayManager_Data(overlayMan); + + if (sub_0203CEEC(v0)) { + return 1; + } else { + return 0; + } +} + +static int sub_0203CCE4 (OverlayManager * overlayMan, int * param1) +{ + sub_0203CE6C(overlayMan); + sub_02000EC4(FS_OVERLAY_ID(overlay77), &Unk_ov77_021D742C); + return 1; +} + +const OverlayManagerTemplate Unk_020EA10C = { + sub_0203CCB4, + sub_0203CCCC, + sub_0203CCE4, + 0xffffffff +}; + +const OverlayManagerTemplate Unk_020EA11C = { + sub_0203CC84, + sub_0203CCCC, + sub_0203CCE4, + 0xffffffff +}; + +void sub_0203CD00 (FieldSystem * fieldSystem) +{ + GF_ASSERT(fieldSystem->unk_00->unk_04 == NULL); + GF_ASSERT(fieldSystem->unk_00->unk_00 == NULL); + Overlay_LoadByID(FS_OVERLAY_ID(overlay5), 2); + + fieldSystem->unk_68 = 0; + fieldSystem->unk_00->unk_08 = 0; + fieldSystem->unk_00->unk_00 = OverlayManager_New(&gFieldMapTemplate, fieldSystem, 11); +} + +void sub_0203CD44 (FieldSystem * fieldSystem) +{ + fieldSystem->unk_68 = 0; +} + +BOOL sub_0203CD4C (FieldSystem * fieldSystem) +{ + return fieldSystem->unk_00->unk_00 != NULL; +} + +BOOL sub_0203CD5C (FieldSystem * fieldSystem) +{ + if ((fieldSystem->unk_00->unk_00 != NULL) && fieldSystem->unk_68) { + return 1; + } else { + return 0; + } +} + +BOOL sub_0203CD74 (FieldSystem * fieldSystem) +{ + return fieldSystem->unk_00->unk_04 != NULL; +} + +void sub_0203CD84 (FieldSystem * fieldSystem, const OverlayManagerTemplate * param1, void * param2) +{ + GF_ASSERT(fieldSystem->unk_00->unk_04 == NULL); + sub_0203CD44(fieldSystem); + fieldSystem->unk_00->unk_04 = OverlayManager_New(param1, param2, 11); +} + +static FieldSystem * sub_0203CDB0 (OverlayManager * overlayMan) +{ + UnkStruct_0203CC84 * v0; + FieldSystem * fieldSystem; + + Heap_Create(3, 11, 0x1c000); + Heap_Create(3, 32, 0x4000); + Heap_Create(0, 91, 0x300); + + fieldSystem = OverlayManager_NewData(overlayMan, sizeof(FieldSystem), 11); + MI_CpuClear8(fieldSystem, sizeof(FieldSystem)); + + fieldSystem->unk_00 = Heap_AllocFromHeap(11, sizeof(FieldSystem_sub1)); + fieldSystem->unk_00->unk_00 = NULL; + fieldSystem->unk_00->unk_04 = NULL; + fieldSystem->unk_00->unk_08 = 0; + fieldSystem->unk_00->unk_0C = 0; + + v0 = OverlayManager_Args(overlayMan); + + fieldSystem->saveData = v0->unk_08; + fieldSystem->unk_10 = NULL; + fieldSystem->unk_1C = sub_0203A720(sub_0203A790(fieldSystem->saveData)); + fieldSystem->unk_2C = sub_02039D6C(); + + sub_0203A378(fieldSystem, 11); + + fieldSystem->unk_98 = sub_0207D99C(11); + fieldSystem->chain = RadarChain_Init(11); + + RadarChain_Clear(fieldSystem->chain); + + fieldSystem->unk_B4 = sub_0209ACBC(11); + fieldSystem->unk_BC = sub_0209C370(11); + + return fieldSystem; +} + +static void sub_0203CE6C (OverlayManager * overlayMan) +{ + FieldSystem * v0 = OverlayManager_Data(overlayMan); + + sub_02039DE4(v0->unk_2C); + sub_0203A398(v0); + Heap_FreeToHeap(v0->unk_98); + RadarChain_Free(v0->chain); + sub_0209ACDC(v0->unk_B4); + sub_0209C388(v0->unk_BC); + + Heap_FreeToHeap(v0->unk_00); + OverlayManager_FreeData(overlayMan); + Heap_Destroy(91); + Heap_Destroy(11); + Heap_Destroy(32); +} + +static void sub_0203CECC (OverlayManager ** overlayMan) +{ + if (*overlayMan) { + if (OverlayManager_Exec(*overlayMan)) { + OverlayManager_Free(*overlayMan); + *overlayMan = NULL; + } + } +} + +BOOL sub_0203CEEC (FieldSystem * fieldSystem) +{ + BOOL v0; + + sub_0203CF5C(fieldSystem); + v0 = sub_02050958(fieldSystem); + + if ((v0 == 1) && (fieldSystem->unk_04 != NULL)) { + ov5_021EA714(fieldSystem, 0, 0); + } + + if (fieldSystem->unk_00->unk_00) { + sub_0203CECC(&fieldSystem->unk_00->unk_00); + + if (fieldSystem->unk_00->unk_00 == NULL) { + Overlay_UnloadByID(FS_OVERLAY_ID(overlay5)); + } + } else if (fieldSystem->unk_00->unk_04) { + sub_0203CECC(&fieldSystem->unk_00->unk_04); + } + + if (fieldSystem->unk_00->unk_0C && !fieldSystem->unk_10 && !fieldSystem->unk_00->unk_00 && !fieldSystem->unk_00->unk_04) { + return 1; + } + + return 0; +} + +void sub_0203CF5C (FieldSystem * fieldSystem) +{ + int v0; + UnkStruct_ov5_021D1CAC v1; + BOOL v2 = 0; + + if (!fieldSystem->unk_00->unk_08 && fieldSystem->unk_68 && (sub_020509A4(fieldSystem) == 0)) { + v2 = 1; + } + + if (v2) { + sub_0205F490(fieldSystem->playerAvatar); + ov5_021D1CAC(&v1, fieldSystem, gCoreSys.pressedKeys, gCoreSys.heldKeys); + } + + v0 = fieldSystem->unk_70; + + if (fieldSystem->unk_1C->unk_00 == 326) { + v0 = 0; + } + + switch (v0) { + case 1: + if (v2) { + if (sub_02058C40()) { + if (ov5_021D213C(&v1, fieldSystem) == 1) { + + } + } + } + + sub_0205805C(fieldSystem, v2); + break; + case 3: + if (v2) { + if (sub_02058C40()) { + if (ov5_021D219C(&v1, fieldSystem) == 1) { + v2 = 0; + } + } else { + v2 = 0; + } + } + + sub_0205805C(fieldSystem, v2); + break; + case 2: + if (v2) { + if (ov5_021D2298(&v1, fieldSystem) == 1) { + + } else { + PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.unk_04, v1.unk_06, 0); + } + } + break; + case 4: + if (v2) { + if (ov5_021D2368(&v1, fieldSystem) == 1) { + ov5_021DDA78(fieldSystem->unk_04->unk_08); + ov5_021E1BCC(fieldSystem, 4); + ov5_021E0EEC(fieldSystem->playerAvatar); + ov5_021EA714(fieldSystem, 0, 1); + } else { + if (gCoreSys.pressedKeys & PAD_BUTTON_A) { + ov5_021DDA78(fieldSystem->unk_04->unk_08); + } + + { + BOOL v3 = 0; + PoketchSystem * v4 = sub_0203D158(); + + if (v4 != NULL) { + v3 = ov25_02253DD4(v4); + } + + PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.unk_04, v1.unk_06, v3); + } + } + } + break; + default: + if (v2) { + if (ov5_021D1DA4(&v1, fieldSystem) == 1) { + ov5_021DDA78(fieldSystem->unk_04->unk_08); + ov5_021E1BCC(fieldSystem, 4); + sub_0205F56C(fieldSystem->playerAvatar); + ov5_021E0EEC(fieldSystem->playerAvatar); + ov5_021EA714(fieldSystem, 0, 1); + } else { + if (gCoreSys.pressedKeys & PAD_BUTTON_A) { + ov5_021DDA78(fieldSystem->unk_04->unk_08); + } + + { + BOOL v5 = 0; + PoketchSystem * v6 = sub_0203D158(); + + if (v6 != NULL) { + v5 = ov25_02253DD4(v6); + } + + PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.unk_04, v1.unk_06, v5); + } + } + } + break; + } +} + +void sub_0203D128 (void) +{ + sFieldSystem->unk_00->unk_08 = 1; + CommSys_DisableSendMovementData(); +} + +void sub_0203D140 (void) +{ + sFieldSystem->unk_00->unk_08 = 0; + CommSys_EnableSendMovementData(); +} + +struct PoketchSystem * sub_0203D158 (void) +{ + if (sFieldSystem->unk_04 == NULL) { + return NULL; + } + + return sFieldSystem->unk_04->unk_14; +} + +BGL * sub_0203D170 (void * param0) +{ + FieldSystem * v0 = (FieldSystem *)param0; + return v0->unk_08; +} + +SaveData * FieldSystem_SaveData (void * param0) +{ + return ((FieldSystem *)param0)->saveData; +} diff --git a/src/meson.build b/src/meson.build index 56603d3d7f..f4bace82e4 100644 --- a/src/meson.build +++ b/src/meson.build @@ -165,7 +165,7 @@ pokeplatinum_c = files( 'unk_0203A944.c', 'field_menu.c', 'unk_0203C954.c', - 'unk_0203CC84.c', + 'field_system.c', 'unk_0203D178.c', 'unk_0203D1B8.c', 'field_script_context.c', diff --git a/src/overlay005/fieldmap.c b/src/overlay005/fieldmap.c index dac584331b..bc500221d5 100644 --- a/src/overlay005/fieldmap.c +++ b/src/overlay005/fieldmap.c @@ -50,7 +50,7 @@ #include "map_header.h" #include "unk_0203A378.h" #include "unk_0203A6DC.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203E880.h" #include "unk_020508D4.h" #include "unk_020530C8.h" diff --git a/src/overlay005/ov5_021D1A94.c b/src/overlay005/ov5_021D1A94.c index 1a006a0be3..a84987282b 100644 --- a/src/overlay005/ov5_021D1A94.c +++ b/src/overlay005/ov5_021D1A94.c @@ -13,7 +13,7 @@ #include "unk_0200D9E8.h" #include "heap.h" #include "unk_0201CCF0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "overlay005/ov5_021D1A94.h" struct UnkStruct_ov5_021D1A94_t { diff --git a/src/overlay005/ov5_021EA874.c b/src/overlay005/ov5_021EA874.c index 6425ce5c4f..741bcc3996 100644 --- a/src/overlay005/ov5_021EA874.c +++ b/src/overlay005/ov5_021EA874.c @@ -36,7 +36,7 @@ #include "communication_information.h" #include "communication_system.h" #include "unk_0203909C.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "unk_0205D8CC.h" #include "unk_0207D3B8.h" diff --git a/src/overlay005/ov5_021F8370.c b/src/overlay005/ov5_021F8370.c index 83894eec1e..a0b9691aab 100644 --- a/src/overlay005/ov5_021F8370.c +++ b/src/overlay005/ov5_021F8370.c @@ -11,7 +11,7 @@ #include "heap.h" #include "savedata_misc.h" #include "unk_02027F50.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203E880.h" #include "unk_020507CC.h" #include "unk_0206A8DC.h" diff --git a/src/overlay006/ov6_0223E140.c b/src/overlay006/ov6_0223E140.c index f401050747..84d9fa8588 100644 --- a/src/overlay006/ov6_0223E140.c +++ b/src/overlay006/ov6_0223E140.c @@ -38,7 +38,7 @@ #include "unk_0201D15C.h" #include "gx_layers.h" #include "unk_02020020.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "player_avatar.h" #include "map_object.h" diff --git a/src/overlay006/ov6_02240C9C.c b/src/overlay006/ov6_02240C9C.c index 6f13bf8379..514545cb5a 100644 --- a/src/overlay006/ov6_02240C9C.c +++ b/src/overlay006/ov6_02240C9C.c @@ -27,7 +27,7 @@ #include "map_header.h" #include "unk_0203A378.h" #include "unk_0203A6DC.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_02050A74.h" #include "unk_02051D8C.h" diff --git a/src/overlay006/ov6_02242984.c b/src/overlay006/ov6_02242984.c index 772e95f91c..111bf319b0 100644 --- a/src/overlay006/ov6_02242984.c +++ b/src/overlay006/ov6_02242984.c @@ -13,7 +13,7 @@ #include "unk_0202D7A8.h" #include "unk_02039C80.h" #include "unk_0203A378.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "player_avatar.h" #include "overlay006/ov6_02240C9C.h" #include "overlay006/ov6_02242984.h" diff --git a/src/overlay006/ov6_02242AF0.c b/src/overlay006/ov6_02242AF0.c index f1025fd664..eb2347a64c 100644 --- a/src/overlay006/ov6_02242AF0.c +++ b/src/overlay006/ov6_02242AF0.c @@ -13,7 +13,7 @@ #include "heap.h" #include "savedata_misc.h" #include "unk_02027F50.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "player_avatar.h" #include "unk_020655F4.h" diff --git a/src/overlay006/ov6_02247A0C.c b/src/overlay006/ov6_02247A0C.c index ed79c7b4c1..b675b5c09f 100644 --- a/src/overlay006/ov6_02247A0C.c +++ b/src/overlay006/ov6_02247A0C.c @@ -22,7 +22,7 @@ #include "strbuf.h" #include "unk_02025E08.h" #include "unk_0202F108.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "overlay006/ov6_02247A0C.h" diff --git a/src/overlay007/communication_club.c b/src/overlay007/communication_club.c index c3825c688e..eac37f004c 100644 --- a/src/overlay007/communication_club.c +++ b/src/overlay007/communication_club.c @@ -37,7 +37,7 @@ #include "communication_system.h" #include "unk_020363E8.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_comm_manager.h" #include "unk_0205D8CC.h" #include "overlay007/communication_club.h" diff --git a/src/overlay008/ov8_02249960.c b/src/overlay008/ov8_02249960.c index fbd44b011c..6e2c9b3506 100644 --- a/src/overlay008/ov8_02249960.c +++ b/src/overlay008/ov8_02249960.c @@ -43,7 +43,7 @@ #include "savedata_misc.h" #include "unk_02027F50.h" #include "unk_0203A378.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203E880.h" #include "unk_020507CC.h" #include "unk_020508D4.h" diff --git a/src/overlay009/ov9_02249960.c b/src/overlay009/ov9_02249960.c index 2fb44ea0fe..3a38b64cc4 100644 --- a/src/overlay009/ov9_02249960.c +++ b/src/overlay009/ov9_02249960.c @@ -61,7 +61,7 @@ #include "savedata_misc.h" #include "unk_02027F50.h" #include "unk_02039C80.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203E880.h" #include "unk_020507CC.h" #include "unk_020508D4.h" diff --git a/src/overlay023/ov23_0223E140.c b/src/overlay023/ov23_0223E140.c index ec00bac0b8..585c350493 100644 --- a/src/overlay023/ov23_0223E140.c +++ b/src/overlay023/ov23_0223E140.c @@ -64,7 +64,7 @@ #include "communication_system.h" #include "unk_020393C8.h" #include "unk_02039C80.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_020508D4.h" #include "unk_02054D00.h" diff --git a/src/overlay023/ov23_022416A8.c b/src/overlay023/ov23_022416A8.c index a0e848de83..9b6f734753 100644 --- a/src/overlay023/ov23_022416A8.c +++ b/src/overlay023/ov23_022416A8.c @@ -19,7 +19,7 @@ #include "unk_0202854C.h" #include "unk_0202CD50.h" #include "communication_system.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_02054D00.h" #include "comm_player_manager.h" diff --git a/src/overlay023/ov23_02241F74.c b/src/overlay023/ov23_02241F74.c index c8c3dece8e..e1b0866191 100644 --- a/src/overlay023/ov23_02241F74.c +++ b/src/overlay023/ov23_02241F74.c @@ -34,7 +34,7 @@ #include "communication_information.h" #include "communication_system.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_02054D00.h" #include "comm_player_manager.h" diff --git a/src/overlay023/ov23_0224340C.c b/src/overlay023/ov23_0224340C.c index 97769d57cb..39b1f98850 100644 --- a/src/overlay023/ov23_0224340C.c +++ b/src/overlay023/ov23_0224340C.c @@ -46,7 +46,7 @@ #include "communication_information.h" #include "communication_system.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_02054D00.h" #include "comm_player_manager.h" diff --git a/src/overlay023/ov23_022499E4.c b/src/overlay023/ov23_022499E4.c index a1041d4505..b402383954 100644 --- a/src/overlay023/ov23_022499E4.c +++ b/src/overlay023/ov23_022499E4.c @@ -14,7 +14,7 @@ #include "unk_02033200.h" #include "communication_system.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "comm_player_manager.h" #include "field_comm_manager.h" diff --git a/src/overlay023/ov23_0224A1D0.c b/src/overlay023/ov23_0224A1D0.c index 6be76c777e..d7485082e4 100644 --- a/src/overlay023/ov23_0224A1D0.c +++ b/src/overlay023/ov23_0224A1D0.c @@ -23,7 +23,7 @@ #include "unk_0202CD50.h" #include "communication_information.h" #include "communication_system.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "comm_player_manager.h" #include "player_avatar.h" diff --git a/src/overlay023/ov23_0224B05C.c b/src/overlay023/ov23_0224B05C.c index 72e1b005eb..c0d584a37c 100644 --- a/src/overlay023/ov23_0224B05C.c +++ b/src/overlay023/ov23_0224B05C.c @@ -41,7 +41,7 @@ #include "unk_02033200.h" #include "communication_system.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_020508D4.h" #include "unk_020530C8.h" diff --git a/src/overlay023/ov23_0224DC40.c b/src/overlay023/ov23_0224DC40.c index a1371a32e7..8559276cfe 100644 --- a/src/overlay023/ov23_0224DC40.c +++ b/src/overlay023/ov23_0224DC40.c @@ -34,7 +34,7 @@ #include "unk_0202CD50.h" #include "communication_information.h" #include "communication_system.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_020573FC.h" #include "comm_player_manager.h" diff --git a/src/overlay023/ov23_0224F294.c b/src/overlay023/ov23_0224F294.c index 1b31d44db6..9fcd33ab56 100644 --- a/src/overlay023/ov23_0224F294.c +++ b/src/overlay023/ov23_0224F294.c @@ -47,7 +47,7 @@ #include "trainer_info.h" #include "unk_0202854C.h" #include "communication_system.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020530C8.h" #include "comm_player_manager.h" #include "player_avatar.h" diff --git a/src/overlay023/ov23_0225128C.c b/src/overlay023/ov23_0225128C.c index e31cc8d1b1..2b91b7f718 100644 --- a/src/overlay023/ov23_0225128C.c +++ b/src/overlay023/ov23_0225128C.c @@ -37,7 +37,7 @@ #include "communication_information.h" #include "unk_02033200.h" #include "communication_system.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_020508D4.h" #include "comm_player_manager.h" diff --git a/src/overlay023/ov23_022521F0.c b/src/overlay023/ov23_022521F0.c index e7a3fcf14d..5ca583befc 100644 --- a/src/overlay023/ov23_022521F0.c +++ b/src/overlay023/ov23_022521F0.c @@ -33,7 +33,7 @@ #include "communication_information.h" #include "communication_system.h" #include "unk_0203A378.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020573FC.h" #include "comm_player_manager.h" #include "map_object.h" diff --git a/src/overlay118/ov118_021D0D80.c b/src/overlay118/ov118_021D0D80.c index 9b2cee252b..9fec37c241 100644 --- a/src/overlay118/ov118_021D0D80.c +++ b/src/overlay118/ov118_021D0D80.c @@ -23,7 +23,7 @@ #include "strbuf.h" #include "unk_0202419C.h" #include "unk_0202631C.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "pokemon.h" #include "party.h" #include "unk_0207E0B8.h" diff --git a/src/player_avatar.c b/src/player_avatar.c index b400db1910..a26c0e6a84 100644 --- a/src/player_avatar.c +++ b/src/player_avatar.c @@ -500,13 +500,13 @@ void sub_0205EC70 (PlayerData * playerData, int param1) } } -void sub_0205EC78 (PlayerAvatar * playerAvatar, int param1) +void PlayerAvatar_SetCyclingGear (PlayerAvatar * playerAvatar, int param1) { PlayerData * v0 = PlayerAvatar_PlayerData(playerAvatar); sub_0205EC70(v0, param1); } -int sub_0205EC88 (PlayerAvatar * playerAvatar) +int PlayerAvatar_CyclingGear (PlayerAvatar * playerAvatar) { PlayerData * v0 = PlayerAvatar_PlayerData(playerAvatar); return sub_0205EC64(v0); diff --git a/src/unk_0203CC84.c b/src/unk_0203CC84.c deleted file mode 100644 index 78afb993ab..0000000000 --- a/src/unk_0203CC84.c +++ /dev/null @@ -1,389 +0,0 @@ -#include -#include - -#include "core_sys.h" - -#include "struct_decls/struct_02018340_decl.h" -#include "field/field_system_sub1_decl.h" -#include "savedata.h" -#include "overlay025/poketch_system.h" - -#include "overlay005/const_ov5_021F89B0.h" -#include "overlay077/const_ov77_021D742C.h" - -#include "struct_defs/struct_0203CC84.h" -#include "field/field_system.h" -#include "field/field_system_sub2_t.h" -#include "overlay005/struct_ov5_021D1CAC.h" - -#include "unk_02000C88.h" -#include "game_overlay.h" -#include "overlay_manager.h" -#include "heap.h" -#include "communication_system.h" -#include "unk_02039C80.h" -#include "unk_0203A378.h" -#include "unk_0203A6DC.h" -#include "unk_0203CC84.h" -#include "unk_020508D4.h" -#include "unk_020530C8.h" -#include "comm_player_manager.h" -#include "unk_0205F180.h" -#include "pokeradar.h" -#include "unk_0207D3B8.h" -#include "unk_0209ACBC.h" -#include "unk_0209C370.h" -#include "overlay005/ov5_021D1C30.h" -#include "overlay005/ov5_021DD6FC.h" -#include "overlay005/ov5_021DFB54.h" -#include "overlay005/ov5_021E1B08.h" -#include "overlay005/ov5_021EA714.h" - -FS_EXTERN_OVERLAY(overlay5); -FS_EXTERN_OVERLAY(overlay77); - -typedef struct FieldSystem_sub1_t { - OverlayManager * unk_00; - OverlayManager * unk_04; - BOOL unk_08; - BOOL unk_0C; -}; - -static FieldSystem * sub_0203CDB0(OverlayManager * param0); -static BOOL sub_0203CEEC(FieldSystem * param0); -static void sub_0203CE6C(OverlayManager * param0); -static void sub_0203CF5C(FieldSystem * param0); - -static FieldSystem * Unk_021C07DC; - -static int sub_0203CC84 (OverlayManager * param0, int * param1) -{ - UnkStruct_0203CC84 * v0 = OverlayManager_Args(param0); - - Unk_021C07DC = sub_0203CDB0(param0); - - if (v0->unk_04) { - sub_02053808(Unk_021C07DC); - } else { - sub_02053704(Unk_021C07DC); - } - - v0->unk_04 = 0; - return 1; -} - -static int sub_0203CCB4 (OverlayManager * param0, int * param1) -{ - Unk_021C07DC = sub_0203CDB0(param0); - sub_020535CC(Unk_021C07DC); - return 1; -} - -static int sub_0203CCCC (OverlayManager * param0, int * param1) -{ - FieldSystem * v0 = OverlayManager_Data(param0); - - if (sub_0203CEEC(v0)) { - return 1; - } else { - return 0; - } -} - -static int sub_0203CCE4 (OverlayManager * param0, int * param1) -{ - sub_0203CE6C(param0); - sub_02000EC4(FS_OVERLAY_ID(overlay77), &Unk_ov77_021D742C); - return 1; -} - -const OverlayManagerTemplate Unk_020EA10C = { - sub_0203CCB4, - sub_0203CCCC, - sub_0203CCE4, - 0xffffffff -}; - -const OverlayManagerTemplate Unk_020EA11C = { - sub_0203CC84, - sub_0203CCCC, - sub_0203CCE4, - 0xffffffff -}; - -void sub_0203CD00 (FieldSystem * param0) -{ - GF_ASSERT(param0->unk_00->unk_04 == NULL); - GF_ASSERT(param0->unk_00->unk_00 == NULL); - Overlay_LoadByID(FS_OVERLAY_ID(overlay5), 2); - - param0->unk_68 = 0; - param0->unk_00->unk_08 = 0; - param0->unk_00->unk_00 = OverlayManager_New(&gFieldMapTemplate, param0, 11); -} - -void sub_0203CD44 (FieldSystem * param0) -{ - param0->unk_68 = 0; -} - -BOOL sub_0203CD4C (FieldSystem * param0) -{ - return param0->unk_00->unk_00 != NULL; -} - -BOOL sub_0203CD5C (FieldSystem * param0) -{ - if ((param0->unk_00->unk_00 != NULL) && param0->unk_68) { - return 1; - } else { - return 0; - } -} - -BOOL sub_0203CD74 (FieldSystem * param0) -{ - return param0->unk_00->unk_04 != NULL; -} - -void sub_0203CD84 (FieldSystem * param0, const OverlayManagerTemplate * param1, void * param2) -{ - GF_ASSERT(param0->unk_00->unk_04 == NULL); - sub_0203CD44(param0); - param0->unk_00->unk_04 = OverlayManager_New(param1, param2, 11); -} - -static FieldSystem * sub_0203CDB0 (OverlayManager * param0) -{ - UnkStruct_0203CC84 * v0; - FieldSystem * v1; - - Heap_Create(3, 11, 0x1c000); - Heap_Create(3, 32, 0x4000); - Heap_Create(0, 91, 0x300); - - v1 = OverlayManager_NewData(param0, sizeof(FieldSystem), 11); - MI_CpuClear8(v1, sizeof(FieldSystem)); - - v1->unk_00 = Heap_AllocFromHeap(11, sizeof(FieldSystem_sub1)); - v1->unk_00->unk_00 = NULL; - v1->unk_00->unk_04 = NULL; - v1->unk_00->unk_08 = 0; - v1->unk_00->unk_0C = 0; - - v0 = OverlayManager_Args(param0); - - v1->saveData = v0->unk_08; - v1->unk_10 = NULL; - v1->unk_1C = sub_0203A720(sub_0203A790(v1->saveData)); - v1->unk_2C = sub_02039D6C(); - - sub_0203A378(v1, 11); - - v1->unk_98 = sub_0207D99C(11); - v1->chain = RadarChain_Init(11); - - RadarChain_Clear(v1->chain); - - v1->unk_B4 = sub_0209ACBC(11); - v1->unk_BC = sub_0209C370(11); - - return v1; -} - -static void sub_0203CE6C (OverlayManager * param0) -{ - FieldSystem * v0 = OverlayManager_Data(param0); - - sub_02039DE4(v0->unk_2C); - sub_0203A398(v0); - Heap_FreeToHeap(v0->unk_98); - RadarChain_Free(v0->chain); - sub_0209ACDC(v0->unk_B4); - sub_0209C388(v0->unk_BC); - - Heap_FreeToHeap(v0->unk_00); - OverlayManager_FreeData(param0); - Heap_Destroy(91); - Heap_Destroy(11); - Heap_Destroy(32); -} - -static void sub_0203CECC (OverlayManager ** param0) -{ - if (*param0) { - if (OverlayManager_Exec(*param0)) { - OverlayManager_Free(*param0); - *param0 = NULL; - } - } -} - -BOOL sub_0203CEEC (FieldSystem * param0) -{ - BOOL v0; - - sub_0203CF5C(param0); - v0 = sub_02050958(param0); - - if ((v0 == 1) && (param0->unk_04 != NULL)) { - ov5_021EA714(param0, 0, 0); - } - - if (param0->unk_00->unk_00) { - sub_0203CECC(¶m0->unk_00->unk_00); - - if (param0->unk_00->unk_00 == NULL) { - Overlay_UnloadByID(FS_OVERLAY_ID(overlay5)); - } - } else if (param0->unk_00->unk_04) { - sub_0203CECC(¶m0->unk_00->unk_04); - } - - if (param0->unk_00->unk_0C && !param0->unk_10 && !param0->unk_00->unk_00 && !param0->unk_00->unk_04) { - return 1; - } - - return 0; -} - -void sub_0203CF5C (FieldSystem * param0) -{ - int v0; - UnkStruct_ov5_021D1CAC v1; - BOOL v2 = 0; - - if (!param0->unk_00->unk_08 && param0->unk_68 && (sub_020509A4(param0) == 0)) { - v2 = 1; - } - - if (v2) { - sub_0205F490(param0->playerAvatar); - ov5_021D1CAC(&v1, param0, gCoreSys.pressedKeys, gCoreSys.heldKeys); - } - - v0 = param0->unk_70; - - if (param0->unk_1C->unk_00 == 326) { - v0 = 0; - } - - switch (v0) { - case 1: - if (v2) { - if (sub_02058C40()) { - if (ov5_021D213C(&v1, param0) == 1) { - (void)0; - } - } - } - - sub_0205805C(param0, v2); - break; - case 3: - if (v2) { - if (sub_02058C40()) { - if (ov5_021D219C(&v1, param0) == 1) { - v2 = 0; - } - } else { - v2 = 0; - } - } - - sub_0205805C(param0, v2); - break; - case 2: - if (v2) { - if (ov5_021D2298(&v1, param0) == 1) { - (void)0; - } else { - sub_0205F180(param0->playerAvatar, param0->unk_28, -1, v1.unk_04, v1.unk_06, 0); - } - } - break; - case 4: - if (v2) { - if (ov5_021D2368(&v1, param0) == 1) { - ov5_021DDA78(param0->unk_04->unk_08); - ov5_021E1BCC(param0, 4); - ov5_021E0EEC(param0->playerAvatar); - ov5_021EA714(param0, 0, 1); - } else { - if (gCoreSys.pressedKeys & PAD_BUTTON_A) { - ov5_021DDA78(param0->unk_04->unk_08); - } - - { - BOOL v3 = 0; - PoketchSystem * v4 = sub_0203D158(); - - if (v4 != NULL) { - v3 = ov25_02253DD4(v4); - } - - sub_0205F180(param0->playerAvatar, param0->unk_28, -1, v1.unk_04, v1.unk_06, v3); - } - } - } - break; - default: - if (v2) { - if (ov5_021D1DA4(&v1, param0) == 1) { - ov5_021DDA78(param0->unk_04->unk_08); - ov5_021E1BCC(param0, 4); - sub_0205F56C(param0->playerAvatar); - ov5_021E0EEC(param0->playerAvatar); - ov5_021EA714(param0, 0, 1); - } else { - if (gCoreSys.pressedKeys & PAD_BUTTON_A) { - ov5_021DDA78(param0->unk_04->unk_08); - } - - { - BOOL v5 = 0; - PoketchSystem * v6 = sub_0203D158(); - - if (v6 != NULL) { - v5 = ov25_02253DD4(v6); - } - - sub_0205F180(param0->playerAvatar, param0->unk_28, -1, v1.unk_04, v1.unk_06, v5); - } - } - } - break; - } -} - -void sub_0203D128 (void) -{ - Unk_021C07DC->unk_00->unk_08 = 1; - CommSys_DisableSendMovementData(); -} - -void sub_0203D140 (void) -{ - Unk_021C07DC->unk_00->unk_08 = 0; - CommSys_EnableSendMovementData(); -} - -struct PoketchSystem * sub_0203D158 (void) -{ - if (Unk_021C07DC->unk_04 == NULL) { - return NULL; - } - - return Unk_021C07DC->unk_04->unk_14; -} - -BGL * sub_0203D170 (void * param0) -{ - FieldSystem * v0 = (FieldSystem *)param0; - return v0->unk_08; -} - -SaveData * FieldSystem_SaveData (void * param0) -{ - return ((FieldSystem *)param0)->saveData; -} diff --git a/src/unk_0203D1B8.c b/src/unk_0203D1B8.c index 6045af5818..758428f173 100644 --- a/src/unk_0203D1B8.c +++ b/src/unk_0203D1B8.c @@ -91,7 +91,7 @@ #include "unk_020366A0.h" #include "unk_02038FFC.h" #include "unk_0203A6DC.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_020507CC.h" #include "unk_020508D4.h" diff --git a/src/unk_0203F6C4.c b/src/unk_0203F6C4.c index 68c1d9f9c4..c34f7c53fa 100644 --- a/src/unk_0203F6C4.c +++ b/src/unk_0203F6C4.c @@ -105,7 +105,7 @@ #include "unk_020393C8.h" #include "unk_0203A378.h" #include "unk_0203A6DC.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "field_script_context.h" #include "unk_0203E880.h" diff --git a/src/unk_02046C7C.c b/src/unk_02046C7C.c index 6ccf3a6849..ad62598c68 100644 --- a/src/unk_02046C7C.c +++ b/src/unk_02046C7C.c @@ -18,7 +18,7 @@ #include "unk_020298BC.h" #include "unk_0202CC64.h" #include "map_header.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_020507CC.h" diff --git a/src/unk_020474B8.c b/src/unk_020474B8.c index 7b6246586c..3d3d740fa3 100644 --- a/src/unk_020474B8.c +++ b/src/unk_020474B8.c @@ -18,7 +18,7 @@ #include "unk_02025E08.h" #include "trainer_info.h" #include "savedata_misc.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_020474B8.h" diff --git a/src/unk_020494DC.c b/src/unk_020494DC.c index aa81556897..a94af82dbf 100644 --- a/src/unk_020494DC.c +++ b/src/unk_020494DC.c @@ -15,7 +15,7 @@ #include "unk_0202D05C.h" #include "communication_system.h" #include "unk_020363E8.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_020494DC.h" diff --git a/src/unk_0204C6C8.c b/src/unk_0204C6C8.c index 538ecc7b6c..49560976d6 100644 --- a/src/unk_0204C6C8.c +++ b/src/unk_0204C6C8.c @@ -11,7 +11,7 @@ #include "unk_02025E08.h" #include "coins.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_0204C6C8.h" diff --git a/src/unk_0204C8F0.c b/src/unk_0204C8F0.c index deb2c86621..63d63a1b7d 100644 --- a/src/unk_0204C8F0.c +++ b/src/unk_0204C8F0.c @@ -10,7 +10,7 @@ #include "unk_02025E08.h" #include "trainer_info.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_0204C8F0.h" diff --git a/src/unk_0204CA84.c b/src/unk_0204CA84.c index 5ffe47c7bb..7fb702df89 100644 --- a/src/unk_0204CA84.c +++ b/src/unk_0204CA84.c @@ -13,7 +13,7 @@ #include "savedata.h" #include "unk_02025E08.h" #include "unk_020261E4.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_0204CA84.h" diff --git a/src/unk_0204CFFC.c b/src/unk_0204CFFC.c index 4b6b5c4878..f6dbeb2c30 100644 --- a/src/unk_0204CFFC.c +++ b/src/unk_0204CFFC.c @@ -17,7 +17,7 @@ #include "unk_02025E08.h" #include "trainer_info.h" #include "map_header.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0204CFFC.h" #include "unk_02054884.h" #include "unk_0205DFC4.h" diff --git a/src/unk_0204EDA4.c b/src/unk_0204EDA4.c index 8049940ae7..a8bf4ba6d6 100644 --- a/src/unk_0204EDA4.c +++ b/src/unk_0204EDA4.c @@ -9,7 +9,7 @@ #include "heap.h" #include "unk_02025E08.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "field_script_context.h" #include "unk_0203E880.h" diff --git a/src/unk_0204F13C.c b/src/unk_0204F13C.c index 758ee6814d..7fa86ab89f 100644 --- a/src/unk_0204F13C.c +++ b/src/unk_0204F13C.c @@ -33,7 +33,7 @@ #include "unk_0203061C.h" #include "unk_02030880.h" #include "communication_system.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_0204F13C.h" diff --git a/src/unk_0204FAB4.c b/src/unk_0204FAB4.c index f93626aba2..312db751d4 100644 --- a/src/unk_0204FAB4.c +++ b/src/unk_0204FAB4.c @@ -24,7 +24,7 @@ #include "unk_020302D0.h" #include "unk_0203061C.h" #include "communication_system.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_02049D08.h" diff --git a/src/unk_0205003C.c b/src/unk_0205003C.c index ed09ef0fdb..0fc87ec60a 100644 --- a/src/unk_0205003C.c +++ b/src/unk_0205003C.c @@ -24,7 +24,7 @@ #include "unk_02030494.h" #include "unk_0203061C.h" #include "communication_system.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "field_script_context.h" #include "unk_0203E880.h" #include "unk_02049D08.h" diff --git a/src/unk_020508D4.c b/src/unk_020508D4.c index 910ad281be..0ececdf1f1 100644 --- a/src/unk_020508D4.c +++ b/src/unk_020508D4.c @@ -6,7 +6,7 @@ #include "overlay005/struct_ov5_021D219C.h" #include "heap.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" typedef struct UnkStruct_020508D4_t { diff --git a/src/unk_020528D0.c b/src/unk_020528D0.c index 8c3bd3d74b..67dde1f1dd 100644 --- a/src/unk_020528D0.c +++ b/src/unk_020528D0.c @@ -33,7 +33,7 @@ #include "unk_02025E08.h" #include "unk_0203A6DC.h" #include "unk_0203A7D8.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203E880.h" #include "unk_020508D4.h" #include "unk_020528D0.h" diff --git a/src/unk_020530C8.c b/src/unk_020530C8.c index 81dbe3b0c6..f604c0833f 100644 --- a/src/unk_020530C8.c +++ b/src/unk_020530C8.c @@ -47,7 +47,7 @@ #include "unk_0203A6DC.h" #include "unk_0203A7D8.h" #include "unk_0203A944.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_0203E880.h" #include "unk_020507CC.h" diff --git a/src/unk_02055808.c b/src/unk_02055808.c index f118f77d7f..46e8de0930 100644 --- a/src/unk_02055808.c +++ b/src/unk_02055808.c @@ -6,7 +6,7 @@ #include "field/field_system.h" #include "unk_0200F174.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "unk_02055808.h" #include "overlay005/ov5_021DD6FC.h" diff --git a/src/unk_020559DC.c b/src/unk_020559DC.c index 7f787e6087..e896396131 100644 --- a/src/unk_020559DC.c +++ b/src/unk_020559DC.c @@ -18,7 +18,7 @@ #include "unk_0202C858.h" #include "unk_0202D7A8.h" #include "unk_0202E2CC.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203E880.h" #include "unk_020507CC.h" #include "unk_020559DC.h" diff --git a/src/unk_0205A0D8.c b/src/unk_0205A0D8.c index 2000255737..6f6ebfef7e 100644 --- a/src/unk_0205A0D8.c +++ b/src/unk_0205A0D8.c @@ -39,7 +39,7 @@ #include "communication_system.h" #include "unk_020363E8.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_020508D4.h" #include "comm_player_manager.h" diff --git a/src/unk_0205B33C.c b/src/unk_0205B33C.c index 43aa62faa6..11a05d1bb5 100644 --- a/src/unk_0205B33C.c +++ b/src/unk_0205B33C.c @@ -31,7 +31,7 @@ #include "unk_02033200.h" #include "communication_system.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "unk_0205B33C.h" #include "unk_0205C980.h" diff --git a/src/unk_0205F180.c b/src/unk_0205F180.c index 36dd6e8ced..a73a07a44f 100644 --- a/src/unk_0205F180.c +++ b/src/unk_0205F180.c @@ -66,7 +66,7 @@ static void sub_02060150(PlayerAvatar * playerAvatar, MapObject * param1, int pa static void sub_020601D4(PlayerAvatar * playerAvatar, MapObject * param1, int param2, u16 param3, u16 param4); static void sub_02060258(PlayerAvatar * playerAvatar, MapObject * param1, int param2, u16 param3, u16 param4); static void sub_020602DC(PlayerAvatar * playerAvatar, MapObject * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5); -static void sub_02060324(PlayerAvatar * playerAvatar, u16 param1); +static void PlayerAvatar_TryCyclingGearChange(PlayerAvatar * playerAvatar, u16 param1); int sub_02060390(PlayerAvatar * playerAvatar, int param1); static int sub_020603BC(PlayerAvatar * playerAvatar); static int sub_020603EC(PlayerAvatar * playerAvatar); @@ -137,19 +137,19 @@ static const UnkStruct_020EDB04 Unk_020EDB64[4] = { const UnkStruct_020EDB84 Unk_020EDB84[]; static int(*const Unk_020EDAEC[6])(PlayerAvatar *, int); -void sub_0205F180 (PlayerAvatar * playerAvatar, const UnkStruct_ov5_021E8F60 * param1, int dir, u16 param3, u16 keyPress, BOOL param5) +void PlayerAvatar_MoveControl (PlayerAvatar * playerAvatar, const UnkStruct_ov5_021E8F60 * param1, int dir, u16 keyPad, u16 keyPress, BOOL param5) { if (dir == -1) { - dir = sub_02061348(playerAvatar, param3, keyPress); + dir = sub_02061348(playerAvatar, keyPad, keyPress); } - sub_02060324(playerAvatar, param3); + PlayerAvatar_TryCyclingGearChange(playerAvatar, keyPad); if (PlayerAvatar_CheckStartMoveInternal(playerAvatar, dir) == FALSE) { return; } - PlayerAvatar_StartMoveInit(playerAvatar, dir, param3, keyPress); + PlayerAvatar_StartMoveInit(playerAvatar, dir, keyPad, keyPress); ov5_021DFB5C(playerAvatar); if (sub_0205F62C(playerAvatar, dir) == 1) { @@ -157,7 +157,7 @@ void sub_0205F180 (PlayerAvatar * playerAvatar, const UnkStruct_ov5_021E8F60 * p return; } - if (PlayerAvatar_PlayerState(playerAvatar) == 0x0) { + if (PlayerAvatar_PlayerState(playerAvatar) == PLAYER_STATE_WALKING) { int v0 = sub_0205FC48(playerAvatar, dir); if (v0 != 0) { @@ -167,7 +167,7 @@ void sub_0205F180 (PlayerAvatar * playerAvatar, const UnkStruct_ov5_021E8F60 * p } } - inline_0205F180(playerAvatar, param1, dir, param3, keyPress); + inline_0205F180(playerAvatar, param1, dir, keyPad, keyPress); sub_0205F378(playerAvatar); PlayerAvatar_PlayWalkSE(playerAvatar); @@ -181,9 +181,7 @@ int PlayerAvatar_CheckStartMove (PlayerAvatar * playerAvatar, int dir) static int PlayerAvatar_CheckStartMoveInternal (PlayerAvatar * playerAvatar, int dir) { int v0; - MapObject * mapObj; - - mapObj = Player_MapObject(playerAvatar); + MapObject * mapObj = Player_MapObject(playerAvatar); if (LocalMapObj_IsAnimationSet(mapObj) == 1) { return 1; @@ -265,8 +263,8 @@ static void PlayerAvatar_PlayWalkSE (PlayerAvatar * playerAvatar) u8 v1, v2 = sub_02062BE8(mapObj); { - int v3 = MapObject_AnimationCode(mapObj); - int v4 = sub_0206587C(v3); + int animationCode = MapObject_AnimationCode(mapObj); + int v4 = sub_0206587C(animationCode); if (v4 == -1) { v1 = v2; @@ -310,11 +308,11 @@ static void PlayerAvatar_PlayWalkSE (PlayerAvatar * playerAvatar) void sub_0205F490 (PlayerAvatar * playerAvatar) { int v0, v1, v2; - const MapObject * v3; + const MapObject * mapObj; v0 = PlayerAvatar_MoveState(playerAvatar); v1 = Player_MoveState(playerAvatar); - v3 = Player_MapObject(playerAvatar); + mapObj = Player_MapObject(playerAvatar); sub_0205EB10(playerAvatar, 0); @@ -327,12 +325,12 @@ void sub_0205F490 (PlayerAvatar * playerAvatar) } } - if (LocalMapObj_IsAnimationSet(v3) == 0) { + if (LocalMapObj_IsAnimationSet(mapObj) == 0) { switch (v0) { case 0: break; case 1: - v2 = MapObject_AnimationCode(v3); + v2 = MapObject_AnimationCode(mapObj); if (sub_020613D8(v2) == 1) { break; @@ -352,7 +350,7 @@ void sub_0205F490 (PlayerAvatar * playerAvatar) return; } - if (LocalMapObj_CheckAnimationFinished(v3) == 1) { + if (LocalMapObj_CheckAnimationFinished(mapObj) == 1) { switch (v0) { case 0: break; @@ -394,7 +392,7 @@ void sub_0205F56C (PlayerAvatar * playerAvatar) int sub_0205F588 (PlayerAvatar * playerAvatar) { int v0, v1, v2; - const MapObject * v3; + const MapObject * mapObj; v0 = PlayerAvatar_MoveState(playerAvatar); v1 = Player_MoveState(playerAvatar); @@ -412,13 +410,13 @@ int sub_0205F588 (PlayerAvatar * playerAvatar) return 1; } - v3 = Player_MapObject(playerAvatar); + mapObj = Player_MapObject(playerAvatar); - if (LocalMapObj_IsAnimationSet(v3) == 1) { + if (LocalMapObj_IsAnimationSet(mapObj) == 1) { return 1; } - v2 = MapObject_AnimationCode(v3); + v2 = MapObject_AnimationCode(mapObj); if (sub_020613D8(v2) == 1) { return 1; @@ -595,7 +593,7 @@ static int sub_0205F808 (PlayerAvatar * playerAvatar, int param1) sub_02060B64(playerAvatar, v1, sub_02065838(v2, 0x15), 6); sub_0205EB08(playerAvatar, 1); - if (sub_0205EC88(playerAvatar) == 1) { + if (PlayerAvatar_CyclingGear(playerAvatar) == 1) { PlayerAvatar_SetSpeed(playerAvatar, 3); } @@ -620,7 +618,7 @@ static int sub_0205F95C (PlayerAvatar * playerAvatar, int param1) MapObject * v0 = Player_MapObject(playerAvatar); int v1 = MapObject_MoveDir(v0); - if (sub_0205EC88(playerAvatar) == 1) { + if (PlayerAvatar_CyclingGear(playerAvatar) == 1) { Sound_PlayEffect(1622); sub_02060B64(playerAvatar, v0, 0x5f, 2); } else { @@ -638,7 +636,7 @@ static int sub_0205F9AC (PlayerAvatar * playerAvatar, int param1) MapObject * v0 = Player_MapObject(playerAvatar); int v1 = MapObject_MoveDir(v0); - if (sub_0205EC88(playerAvatar) == 1) { + if (PlayerAvatar_CyclingGear(playerAvatar) == 1) { Sound_PlayEffect(1622); sub_02060B64(playerAvatar, v0, 0x5e, 2); } else { @@ -1169,20 +1167,20 @@ static void sub_020602DC (PlayerAvatar * playerAvatar, MapObject * param1, const { int v0; - if (sub_0205EC88(playerAvatar) == 1) { + if (PlayerAvatar_CyclingGear(playerAvatar) == 1) { sub_0206078C(playerAvatar, param1, param2, param3, param4, param5); } else { sub_02060420(playerAvatar, param1, param2, param3, param4, param5); } } -static void sub_02060324 (PlayerAvatar * playerAvatar, u16 param1) +static void PlayerAvatar_TryCyclingGearChange (PlayerAvatar * playerAvatar, u16 pad) { if (PlayerAvatar_PlayerState(playerAvatar) != 0x1) { return; } - if ((param1 & PAD_BUTTON_B)) { + if ((pad & PAD_BUTTON_B)) { u32 v0 = sub_02062BE8(Player_MapObject(playerAvatar)); if (sub_0205DD90(v0) || sub_0205DD9C(v0)) { @@ -1190,15 +1188,15 @@ static void sub_02060324 (PlayerAvatar * playerAvatar, u16 param1) } { - int v1 = 1; + int gear = 1; - if (sub_0205EC88(playerAvatar) == 1) { - v1 = 0; + if (PlayerAvatar_CyclingGear(playerAvatar) == 1) { + gear = 0; } - sub_0205EC78(playerAvatar, v1); + PlayerAvatar_SetCyclingGear(playerAvatar, gear); - if (v1 == 0) { + if (gear == 0) { Sound_PlayEffect(1564); } else { Sound_PlayEffect(1561); @@ -2187,14 +2185,14 @@ static int sub_02061348 (PlayerAvatar * playerAvatar, u16 param1, u16 param2) int sub_020613AC (PlayerAvatar * playerAvatar) { - MapObject * v0 = Player_MapObject(playerAvatar); + MapObject * mapObj = Player_MapObject(playerAvatar); - if (LocalMapObj_IsAnimationSet(v0) == 1) { + if (LocalMapObj_IsAnimationSet(mapObj) == 1) { return 1; } { - int v1 = MapObject_AnimationCode(v0); + int v1 = MapObject_AnimationCode(mapObj); if (sub_020613D8(v1) == 1) { return 1; @@ -2252,7 +2250,7 @@ int sub_02061434 (PlayerAvatar * playerAvatar, int param1) v1 = sub_0205FC64(v0); break; case 0x1: - if (sub_0205EC88(playerAvatar) == 1) { + if (PlayerAvatar_CyclingGear(playerAvatar) == 1) { v0 = sub_02060850(playerAvatar, param1); v1 = sub_0206081C(v0); } else { diff --git a/src/unk_02068344.c b/src/unk_02068344.c index a282453c5b..97d7644c8a 100644 --- a/src/unk_02068344.c +++ b/src/unk_02068344.c @@ -11,7 +11,7 @@ #include "savedata_misc.h" #include "unk_02027F50.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_02068344.h" #include "unk_0207160C.h" #include "overlay005/ov5_021F8370.h" diff --git a/src/unk_020683F4.c b/src/unk_020683F4.c index 046d6fbdec..5e41411c3f 100644 --- a/src/unk_020683F4.c +++ b/src/unk_020683F4.c @@ -36,7 +36,7 @@ #include "unk_0203A378.h" #include "field_menu.h" #include "unk_0203C954.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_0203E880.h" #include "unk_020507CC.h" diff --git a/src/unk_0206B70C.c b/src/unk_0206B70C.c index 559a521060..20426b8979 100644 --- a/src/unk_0206B70C.c +++ b/src/unk_0206B70C.c @@ -19,7 +19,7 @@ #include "unk_02039C80.h" #include "map_header.h" #include "unk_0203A6DC.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203E880.h" #include "unk_020507CC.h" #include "player_avatar.h" diff --git a/src/unk_0206B9D8.c b/src/unk_0206B9D8.c index 37e8b929d0..5b3826051a 100644 --- a/src/unk_0206B9D8.c +++ b/src/unk_0206B9D8.c @@ -28,7 +28,7 @@ #include "communication_system.h" #include "unk_020363E8.h" #include "unk_02038FFC.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_0203E880.h" #include "unk_0204AEE8.h" diff --git a/src/unk_0206CCB0.c b/src/unk_0206CCB0.c index f076069d69..2ac0d348d2 100644 --- a/src/unk_0206CCB0.c +++ b/src/unk_0206CCB0.c @@ -51,7 +51,7 @@ #include "unk_0202E2CC.h" #include "map_header.h" #include "unk_0203A944.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020507CC.h" #include "unk_02054884.h" #include "unk_0205DFC4.h" diff --git a/src/unk_0207160C.c b/src/unk_0207160C.c index cb5051c53e..2a64031818 100644 --- a/src/unk_0207160C.c +++ b/src/unk_0207160C.c @@ -13,7 +13,7 @@ #include "heap.h" #include "savedata_misc.h" #include "unk_02027F50.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "unk_02054D00.h" #include "player_avatar.h" diff --git a/src/unk_02071B10.c b/src/unk_02071B10.c index c8fcd5bde9..7ab914590f 100644 --- a/src/unk_02071B10.c +++ b/src/unk_02071B10.c @@ -16,7 +16,7 @@ #include "savedata_misc.h" #include "unk_02027F50.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_02071B10.h" static void sub_02071C80(const u8 param0, const u8 param1, int * param2); diff --git a/src/unk_02071CD0.c b/src/unk_02071CD0.c index f04f989edf..e95f0ba24f 100644 --- a/src/unk_02071CD0.c +++ b/src/unk_02071CD0.c @@ -8,7 +8,7 @@ #include "savedata_misc.h" #include "unk_02027F50.h" -#include "unk_0203CC84.h" +#include "field_system.h" void sub_02071CD0(FieldSystem * param0); diff --git a/src/unk_02071D40.c b/src/unk_02071D40.c index f4b96a83d6..70b95a5fd5 100644 --- a/src/unk_02071D40.c +++ b/src/unk_02071D40.c @@ -25,7 +25,7 @@ #include "unk_0202CBE4.h" #include "unk_0202CD50.h" #include "unk_0203061C.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_020507CC.h" #include "unk_020508D4.h" diff --git a/src/unk_020722AC.c b/src/unk_020722AC.c index 2365ffe19c..66ec71f1b6 100644 --- a/src/unk_020722AC.c +++ b/src/unk_020722AC.c @@ -49,7 +49,7 @@ #include "unk_02025E08.h" #include "game_options.h" #include "unk_02028124.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_020508D4.h" #include "unk_0206A780.h" diff --git a/src/unk_0207DA28.c b/src/unk_0207DA28.c index c465ae29d6..ed93ca72ce 100644 --- a/src/unk_0207DA28.c +++ b/src/unk_0207DA28.c @@ -17,7 +17,7 @@ #include "unk_0202CD50.h" #include "communication_system.h" #include "unk_02038FFC.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_020507CC.h" #include "unk_020508D4.h" diff --git a/src/unk_02098218.c b/src/unk_02098218.c index de10b74b11..8713066ce2 100644 --- a/src/unk_02098218.c +++ b/src/unk_02098218.c @@ -32,7 +32,7 @@ #include "unk_0202CD50.h" #include "unk_0202F180.h" #include "map_header.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "unk_02055808.h" #include "pokemon.h" diff --git a/src/unk_020985E4.c b/src/unk_020985E4.c index b2f00aeff3..4a995dcfdb 100644 --- a/src/unk_020985E4.c +++ b/src/unk_020985E4.c @@ -12,7 +12,7 @@ #include "heap.h" #include "unk_02025E08.h" #include "trainer_info.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_020508D4.h" #include "unk_020985E4.h" #include "overlay005/ov5_021D0D80.h" diff --git a/src/unk_02099604.c b/src/unk_02099604.c index e41b7e59a4..164c32f470 100644 --- a/src/unk_02099604.c +++ b/src/unk_02099604.c @@ -10,7 +10,7 @@ #include "heap.h" #include "unk_02025E08.h" #include "poffin.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0207D3B8.h" #include "overlay082/ov82_0223B140.h" diff --git a/src/unk_0209BA18.c b/src/unk_0209BA18.c index f3694b80e2..5bc6fd1ef1 100644 --- a/src/unk_0209BA18.c +++ b/src/unk_0209BA18.c @@ -12,7 +12,7 @@ #include "heap.h" #include "unk_02025E08.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0209BA18.h" UnkStruct_ov104_02230BE4 * sub_0209BA18(FieldSystem * param0, void * param1); diff --git a/src/unk_0209C194.c b/src/unk_0209C194.c index 55e0f0d8b4..33e3c72690 100644 --- a/src/unk_0209C194.c +++ b/src/unk_0209C194.c @@ -13,7 +13,7 @@ #include "unk_0202B604.h" #include "unk_0202CD50.h" #include "unk_020366A0.h" -#include "unk_0203CC84.h" +#include "field_system.h" #include "unk_0203D1B8.h" #include "unk_020508D4.h" #include "unk_0209BDF8.h"