Use MovementAction enum

This commit is contained in:
cbt6 2025-06-07 12:10:29 +08:00
parent f2dd23162f
commit 56306b5990
4 changed files with 19 additions and 16 deletions

View File

@ -4,6 +4,7 @@
#include <nitro/fx/fx.h>
#include "constants/map_object.h"
#include "generated/movement_actions.h"
#include "struct_decls/struct_02061830_decl.h"
#include "struct_decls/struct_02061AB4_decl.h"
@ -166,8 +167,8 @@ void sub_02062B88(MapObject *mapObj, UnkFuncPtr_ov5_021FB0F0_3 param1);
void sub_02062B90(MapObject *mapObj);
void sub_02062B9C(MapObject *mapObj, UnkFuncPtr_ov5_021FB0F0_4 param1);
void sub_02062BA4(MapObject *mapObj);
void MapObject_SetMovementAction(MapObject *mapObj, int movementAction);
int MapObject_GetMovementAction(const MapObject *mapObj);
void MapObject_SetMovementAction(MapObject *mapObj, enum MovementAction movementAction);
enum MovementAction MapObject_GetMovementAction(const MapObject *mapObj);
void MapObject_SetMovementStep(MapObject *mapObj, int movementStep);
void MapObject_AdvanceMovementStep(MapObject *mapObj);
int MapObject_GetMovementStep(const MapObject *mapObj);

View File

@ -1,6 +1,8 @@
#ifndef POKEPLATINUM_UNK_020655F4_H
#define POKEPLATINUM_UNK_020655F4_H
#include "generated/movement_actions.h"
#include "struct_decls/struct_02061AB4_decl.h"
#include "overlay005/map_object_anim_cmd.h"
@ -8,16 +10,16 @@
#include "sys_task_manager.h"
BOOL LocalMapObj_IsAnimationSet(const MapObject *mapObj);
void LocalMapObj_SetAnimationCode(MapObject *mapObj, int movementAction);
void sub_02065668(MapObject *mapObj, int movementAction);
void LocalMapObj_SetAnimationCode(MapObject *mapObj, enum MovementAction movementAction);
void sub_02065668(MapObject *mapObj, enum MovementAction movementAction);
BOOL LocalMapObj_CheckAnimationFinished(const MapObject *mapObj);
BOOL sub_020656AC(MapObject *mapObj);
void sub_020656DC(MapObject *mapObj);
SysTask *MapObject_StartAnimation(MapObject *mapObj, const MapObjectAnimCmd *animCmd);
BOOL MapObject_HasAnimationEnded(SysTask *task);
void MapObject_FinishAnimation(SysTask *task);
int MovementAction_TurnActionTowardsDir(int targetDir, int movementAction);
int MovementAction_GetDirFromAction(int movementAction);
enum MovementAction MovementAction_TurnActionTowardsDir(int targetDir, enum MovementAction movementAction);
int MovementAction_GetDirFromAction(enum MovementAction movementAction);
void MapObject_DoMovementAction(MapObject *mapObj);
BOOL sub_020658DC(MapObject *mapObj);

View File

@ -79,7 +79,7 @@ typedef struct MapObject {
VecFx32 unk_88;
VecFx32 unk_94;
u32 unk_A0;
int movementAction;
enum MovementAction movementAction;
int movementStep;
u16 currTileBehavior;
u16 prevTileBehavior;
@ -1579,12 +1579,12 @@ void sub_02062BA4(MapObject *mapObj)
mapObj->unk_D4(mapObj);
}
void MapObject_SetMovementAction(MapObject *mapObj, int movementAction)
void MapObject_SetMovementAction(MapObject *mapObj, enum MovementAction movementAction)
{
mapObj->movementAction = movementAction;
}
int MapObject_GetMovementAction(const MapObject *mapObj)
enum MovementAction MapObject_GetMovementAction(const MapObject *mapObj)
{
return mapObj->movementAction;
}

View File

@ -105,7 +105,7 @@ typedef struct PlayerGiveReceiveMovementData {
} PlayerGiveReceiveMovementData;
static void MapObject_DoAnimation(SysTask *task, void *data);
static BOOL MapObject_DoMovementActionStep(MapObject *mapObj, int movementAction, int movementStep);
static BOOL MapObject_DoMovementActionStep(MapObject *mapObj, enum MovementAction movementAction, int movementStep);
static const fx32 *sJumpHeightsTable[];
static const fx32 sStepSizes_WalkEverSoSlightlyFast[7];
@ -129,7 +129,7 @@ BOOL LocalMapObj_IsAnimationSet(const MapObject *mapObj)
return TRUE;
}
void LocalMapObj_SetAnimationCode(MapObject *mapObj, int movementAction)
void LocalMapObj_SetAnimationCode(MapObject *mapObj, enum MovementAction movementAction)
{
GF_ASSERT(movementAction < MAX_MOVEMENT_ACTION);
@ -139,7 +139,7 @@ void LocalMapObj_SetAnimationCode(MapObject *mapObj, int movementAction)
MapObject_SetStatusFlagOff(mapObj, MAP_OBJ_STATUS_5);
}
void sub_02065668(MapObject *mapObj, int movementAction)
void sub_02065668(MapObject *mapObj, enum MovementAction movementAction)
{
MapObject_SetMovementAction(mapObj, movementAction);
MapObject_SetMovementStep(mapObj, 0);
@ -308,7 +308,7 @@ static BOOL MovementAnimation_End(MoveAnimData *data)
return FALSE;
}
int MovementAction_TurnActionTowardsDir(int targetDir, int movementAction)
enum MovementAction MovementAction_TurnActionTowardsDir(int targetDir, enum MovementAction movementAction)
{
int dir;
GF_ASSERT(targetDir < MAX_DIR);
@ -333,7 +333,7 @@ int MovementAction_TurnActionTowardsDir(int targetDir, int movementAction)
return movementAction;
}
int MovementAction_GetDirFromAction(int movementAction)
int MovementAction_GetDirFromAction(enum MovementAction movementAction)
{
int dir;
const int *const *movementActionCodes = gMovementActionCodes;
@ -358,7 +358,7 @@ int MovementAction_GetDirFromAction(int movementAction)
void MapObject_DoMovementAction(MapObject *mapObj)
{
int movementAction, movementStep;
enum MovementAction movementAction, movementStep;
do {
movementAction = MapObject_GetMovementAction(mapObj);
@ -386,7 +386,7 @@ BOOL sub_020658DC(MapObject *mapObj)
return TRUE;
}
static BOOL MapObject_DoMovementActionStep(MapObject *mapObj, int movementAction, int movementStep)
static BOOL MapObject_DoMovementActionStep(MapObject *mapObj, enum MovementAction movementAction, int movementStep)
{
return gMovementActionFuncs[movementAction][movementStep](mapObj);
}