mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-07-19 00:42:37 -05:00
document most of field event check
This commit is contained in:
parent
9778530f9a
commit
e6e32d4e8c
|
|
@ -6,4 +6,27 @@
|
|||
#define PLAYER_STATE_CYCLING 1
|
||||
#define PLAYER_STATE_SURFING 2
|
||||
|
||||
#endif
|
||||
#define PLAYER_EVENT_NONE 0
|
||||
#define PLAYER_EVENT_USED_STRENGTH (1 << 0)
|
||||
#define PLAYER_EVENT_USED_WATERFALL (1 << 1)
|
||||
#define PLAYER_EVENT_DISTORTION_WORLD (1 << 2)
|
||||
|
||||
enum PlayerMoveState {
|
||||
PLAYER_MOVE_STATE_NONE = 0,
|
||||
PLAYER_MOVE_STATE_START,
|
||||
PLAYER_MOVE_STATE_MOVING,
|
||||
PLAYER_MOVE_STATE_END,
|
||||
};
|
||||
|
||||
enum AvatarMoveState {
|
||||
AVATAR_MOVE_STATE_NONE = 0,
|
||||
AVATAR_MOVE_STATE_MOVING,
|
||||
AVATAR_MOVE_STATE_TURNING,
|
||||
};
|
||||
|
||||
enum AvatarDistortionState {
|
||||
AVATAR_DISTORTION_STATE_NONE = 0,
|
||||
AVATAR_DISTORTION_STATE_ACTIVE,
|
||||
};
|
||||
|
||||
#endif // POKEPLATINUM_CONSTANTS_PLAYER_AVATAR_H
|
||||
|
|
|
|||
|
|
@ -1,33 +1,33 @@
|
|||
#ifndef POKEPLATINUM_OV5_021D1C30_H
|
||||
#define POKEPLATINUM_OV5_021D1C30_H
|
||||
#ifndef POKEPLATINUM_FIELD_EVENT_CHECK_H
|
||||
#define POKEPLATINUM_FIELD_EVENT_CHECK_H
|
||||
|
||||
#include "field/field_system_decl.h"
|
||||
|
||||
typedef struct {
|
||||
u16 unk_00_0 : 1;
|
||||
u16 unk_00_1 : 1;
|
||||
u16 unk_00_2 : 1;
|
||||
u16 unk_00_3 : 1;
|
||||
u16 unk_00_4 : 1;
|
||||
u16 unk_00_5 : 1;
|
||||
u16 unk_00_6 : 1;
|
||||
u16 unk_00_7 : 1;
|
||||
u16 unk_00_8 : 1;
|
||||
u16 unk_00_9 : 1;
|
||||
u16 unk_00_10 : 1;
|
||||
u16 unk_00_11 : 1;
|
||||
u16 : 4;
|
||||
u8 unk_02;
|
||||
s8 unk_03;
|
||||
u16 unk_04;
|
||||
u16 unk_06;
|
||||
} UnkStruct_ov5_021D1CAC;
|
||||
typedef struct FieldEventCheck {
|
||||
u16 interact : 1;
|
||||
u16 endMovement : 1;
|
||||
u16 menu : 1;
|
||||
u16 registeredItem : 1;
|
||||
u16 sign : 1;
|
||||
u16 mapTransition : 1;
|
||||
u16 movement : 1;
|
||||
u16 unused1 : 1;
|
||||
u16 unused2 : 1;
|
||||
u16 unused3 : 1;
|
||||
u16 unused4 : 1;
|
||||
u16 unused5 : 1;
|
||||
u16 padding : 4;
|
||||
u8 playerDir;
|
||||
s8 transitionDir;
|
||||
u16 pressedKeys;
|
||||
u16 heldKeys;
|
||||
} FieldEventCheck;
|
||||
|
||||
void ov5_021D1CAC(UnkStruct_ov5_021D1CAC * param0, FieldSystem * fieldSystem, u16 param2, u16 param3);
|
||||
int ov5_021D1DA4(const UnkStruct_ov5_021D1CAC * param0, FieldSystem * fieldSystem);
|
||||
BOOL ov5_021D213C(UnkStruct_ov5_021D1CAC * param0, FieldSystem * fieldSystem);
|
||||
BOOL ov5_021D219C(UnkStruct_ov5_021D1CAC * param0, FieldSystem * fieldSystem);
|
||||
BOOL ov5_021D2298(const UnkStruct_ov5_021D1CAC * param0, FieldSystem * fieldSystem);
|
||||
int ov5_021D2368(const UnkStruct_ov5_021D1CAC * param0, FieldSystem * fieldSystem);
|
||||
void FieldEventCheck_Set(FieldEventCheck *eventCheck, FieldSystem *fieldSystem, u16 pressedKeys, u16 heldKeys);
|
||||
int FieldEvent_Check(const FieldEventCheck *eventCheck, FieldSystem *fieldSystem);
|
||||
BOOL FieldEventCheck_Underground(FieldEventCheck *eventCheck, FieldSystem *fieldSystem);
|
||||
BOOL FieldEventCheck_Colosseum(FieldEventCheck *eventCheck, FieldSystem *fieldSystem);
|
||||
BOOL FieldEventCheck_UnionRoom(const FieldEventCheck *eventCheck, FieldSystem *fieldSystem);
|
||||
int FieldEventCheck_BattleTower(const FieldEventCheck *eventCheck, FieldSystem *fieldSystem);
|
||||
|
||||
#endif // POKEPLATINUM_OV5_021D1C30_H
|
||||
#endif // POKEPLATINUM_FIELD_EVENT_CHECK_H
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ BOOL FieldSystem_Run (FieldSystem * fieldSystem)
|
|||
void FieldSystem_Control (FieldSystem * fieldSystem)
|
||||
{
|
||||
int v0;
|
||||
UnkStruct_ov5_021D1CAC v1;
|
||||
FieldEventCheck v1;
|
||||
BOOL v2 = 0;
|
||||
|
||||
if (!fieldSystem->unk_00->unk_08 && fieldSystem->unk_68 && (sub_020509A4(fieldSystem) == 0)) {
|
||||
|
|
@ -258,7 +258,7 @@ void FieldSystem_Control (FieldSystem * fieldSystem)
|
|||
|
||||
if (v2) {
|
||||
sub_0205F490(fieldSystem->playerAvatar);
|
||||
ov5_021D1CAC(&v1, fieldSystem, gCoreSys.pressedKeys, gCoreSys.heldKeys);
|
||||
FieldEventCheck_Set(&v1, fieldSystem, gCoreSys.pressedKeys, gCoreSys.heldKeys);
|
||||
}
|
||||
|
||||
v0 = fieldSystem->unk_70;
|
||||
|
|
@ -271,7 +271,7 @@ void FieldSystem_Control (FieldSystem * fieldSystem)
|
|||
case 1:
|
||||
if (v2) {
|
||||
if (sub_02058C40()) {
|
||||
if (ov5_021D213C(&v1, fieldSystem) == 1) {
|
||||
if (FieldEventCheck_Underground(&v1, fieldSystem) == 1) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -282,7 +282,7 @@ void FieldSystem_Control (FieldSystem * fieldSystem)
|
|||
case 3:
|
||||
if (v2) {
|
||||
if (sub_02058C40()) {
|
||||
if (ov5_021D219C(&v1, fieldSystem) == 1) {
|
||||
if (FieldEventCheck_Colosseum(&v1, fieldSystem) == 1) {
|
||||
v2 = 0;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -294,16 +294,16 @@ void FieldSystem_Control (FieldSystem * fieldSystem)
|
|||
break;
|
||||
case 2:
|
||||
if (v2) {
|
||||
if (ov5_021D2298(&v1, fieldSystem) == 1) {
|
||||
if (FieldEventCheck_UnionRoom(&v1, fieldSystem) == 1) {
|
||||
|
||||
} else {
|
||||
PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.unk_04, v1.unk_06, 0);
|
||||
PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.pressedKeys, v1.heldKeys, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (v2) {
|
||||
if (ov5_021D2368(&v1, fieldSystem) == 1) {
|
||||
if (FieldEventCheck_BattleTower(&v1, fieldSystem) == 1) {
|
||||
ov5_021DDA78(fieldSystem->unk_04->unk_08);
|
||||
ov5_021E1BCC(fieldSystem, 4);
|
||||
ov5_021E0EEC(fieldSystem->playerAvatar);
|
||||
|
|
@ -321,14 +321,14 @@ void FieldSystem_Control (FieldSystem * fieldSystem)
|
|||
v3 = ov25_02253DD4(v4);
|
||||
}
|
||||
|
||||
PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.unk_04, v1.unk_06, v3);
|
||||
PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.pressedKeys, v1.heldKeys, v3);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (v2) {
|
||||
if (ov5_021D1DA4(&v1, fieldSystem) == 1) {
|
||||
if (FieldEvent_Check(&v1, fieldSystem) == 1) {
|
||||
ov5_021DDA78(fieldSystem->unk_04->unk_08);
|
||||
ov5_021E1BCC(fieldSystem, 4);
|
||||
sub_0205F56C(fieldSystem->playerAvatar);
|
||||
|
|
@ -347,7 +347,7 @@ void FieldSystem_Control (FieldSystem * fieldSystem)
|
|||
v5 = ov25_02253DD4(v6);
|
||||
}
|
||||
|
||||
PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.unk_04, v1.unk_06, v5);
|
||||
PlayerAvatar_MoveControl(fieldSystem->playerAvatar, fieldSystem->unk_28, -1, v1.pressedKeys, v1.heldKeys, v5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user