mirror of
https://github.com/UberGames/rpgxEF.git
synced 2025-02-23 12:31:15 +00:00
88 lines
2 KiB
C++
88 lines
2 KiB
C++
#include "Entity.h"
|
|
#include "g_syscalls.h"
|
|
|
|
namespace game
|
|
{
|
|
bool Entity::addEvent(int32_t event, int32_t eventParm, AfterEventAction afterEventAction)
|
|
{
|
|
if(event == 0)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
auto bits = m_sharedEntity->s.event & EV_EVENT_BITS;
|
|
bits = (bits + EV_EVENT_BIT1) & EV_EVENT_BITS;
|
|
m_sharedEntity->s.event = event | bits;
|
|
m_sharedEntity->s.eventParm = eventParm;
|
|
m_afterEventAction = afterEventAction;
|
|
m_eventTime = level.time;
|
|
return true;
|
|
}
|
|
|
|
void Entity::setOrigin(vec3_t origin)
|
|
{
|
|
VectorCopy(origin, m_sharedEntity->s.pos.trBase);
|
|
m_sharedEntity->s.pos.trType = TR_STATIONARY;
|
|
m_sharedEntity->s.pos.trTime = 0;
|
|
m_sharedEntity->s.pos.trDuration = 0;
|
|
VectorClear(m_sharedEntity->s.pos.trDelta);
|
|
|
|
VectorCopy(origin, m_sharedEntity->r.currentOrigin);
|
|
VectorCopy(origin, m_sharedEntity->s.origin);
|
|
}
|
|
|
|
void Entity::setAngles(vec3_t a)
|
|
{
|
|
VectorCopy(a, m_sharedEntity->s.apos.trBase);
|
|
m_sharedEntity->s.apos.trType = TR_STATIONARY;
|
|
m_sharedEntity->s.apos.trTime = 0;
|
|
m_sharedEntity->s.apos.trDuration = 0;
|
|
VectorClear(m_sharedEntity->s.apos.trDelta);
|
|
|
|
VectorCopy(a, m_sharedEntity->r.currentAngles);
|
|
VectorCopy(a, m_sharedEntity->s.angles);
|
|
}
|
|
|
|
void Entity::free()
|
|
{
|
|
// TODO: free actual shared entity
|
|
trap_UnlinkEntity(m_sharedEntity);
|
|
|
|
if(m_neverFree)
|
|
{
|
|
return;
|
|
}
|
|
|
|
// TODO: lua hook
|
|
|
|
memset(m_sharedEntity, 0, sizeof(GameSharedEntity));
|
|
m_sharedEntity->m_inUse = false;
|
|
m_sharedEntity->m_freeTime = level.time;
|
|
|
|
delete this;
|
|
}
|
|
|
|
bool Entity::useTargets()
|
|
{
|
|
// TODO: implement me
|
|
return true;
|
|
}
|
|
|
|
bool Entity::useTargets(const Entity& activator)
|
|
{
|
|
// TODO: implement me
|
|
return true;
|
|
}
|
|
|
|
bool Entity::useTargets(std::string_view target)
|
|
{
|
|
// TODO: implement me
|
|
return true;
|
|
}
|
|
|
|
bool Entity::useTargets(const Entity& activator, std::string_view target)
|
|
{
|
|
// TODO: implement me
|
|
return true;
|
|
}
|
|
}
|