identify field_system.c

This commit is contained in:
Adrienn Tindall 2024-05-19 18:01:07 -04:00
parent 8318595095
commit fbff222d9f
74 changed files with 498 additions and 499 deletions

View File

@ -2,6 +2,7 @@
#define POKEPLATINUM_CONSTANTS_PLAYER_AVATAR_H
//Player State
#define PLAYER_STATE_WALKING 0
#define PLAYER_STATE_CYCLING 1
#endif

View File

@ -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"

View File

@ -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"

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

389
src/field_system.c Normal file
View File

@ -0,0 +1,389 @@
#include <nitro.h>
#include <string.h>
#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;
}

View File

@ -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',

View File

@ -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"

View File

@ -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 {

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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);

View File

@ -1,389 +0,0 @@
#include <nitro.h>
#include <string.h>
#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(&param0->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(&param0->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;
}

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 {

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 {

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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);

View File

@ -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);

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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);

View File

@ -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"