pmd-red/include/dungeon_util.h
2025-10-26 17:55:23 +01:00

49 lines
1.7 KiB
C

#ifndef GUARD_DUNGEON_UTIL_H
#define GUARD_DUNGEON_UTIL_H
#include "constants/direction.h"
#include "structs/dungeon_entity.h"
#include "structs/str_position.h"
#include "structs/str_traps.h"
#include "structs/str_dungeon.h"
#include "structs/map.h"
static inline EntityInfo *GetEntInfo(Entity *entity)
{
return entity->axObj.info.monster;
}
bool8 EntityIsValid(Entity *pokemon);
u32 GetEntityType(Entity *entity);
u8 GetEntityRoom(Entity *entity);
Tile *GetTileAtEntitySafe(Entity *entity);
void sub_804513C(void);
void sub_804522C(void);
void UpdateEntityPixelPos(Entity *entity, PixelPos *pos);
void SetEntityPixelPos(Entity *entity, s32 x, s32 y);
void IncreaseEntityPixelPos(Entity *entity, s32 x, s32 y);
Entity *sub_80453AC(s32 _species);
Entity *sub_804550C(s32 _species);
Item *GetItemInfo(Entity *entity);
Item *GetItemData_1(Entity *entity);
Trap *GetTrapInfo(Entity *entity);
Trap* GetTrapData_1(Entity *entity);
Entity *SpawnTrap(u8 trapID, DungeonPos *pos, u8 c);
Entity *SpawnItemEntity(DungeonPos *pos);
void sub_80457DC(Entity* ent);
bool8 ShouldMinimapDisplayEntity(Entity *ent);
bool8 ShouldDisplayEntity(Entity *ent);
bool8 CanSeeTarget(Entity *entity, Entity *targetEntity);
bool8 CanTargetEntity(Entity *entity, Entity *targetEntity);
bool8 sub_8045A70(Entity *entity, Entity *targetEntity);
bool8 sub_8045AAC(Entity *entity, DungeonPos *pos);
bool8 CanTargetPosition(Entity *entity, DungeonPos *pos);
void SubstitutePlaceholderStringTags(u8 *buffer, Entity *entity, u32 param_3);
void sub_8045ACC(void);
s32 GetTeamMemberEntityIndex(Entity *pokemon);
extern u8 gUnknown_202EE70[MAX_TEAM_BODY_SIZE];
extern u8 gUnknown_202EE76[DUNGEON_MAX_WILD_POKEMON_BODY_SIZE];
#endif // GUARD_DUNGEON_UTIL_H