CEntityInstance instead of CBaseEntity

This commit is contained in:
SlynxCZ 2026-02-28 17:09:15 +01:00
parent 60c1273145
commit 8ede9ca66e
3 changed files with 16 additions and 17 deletions

View file

@ -1,11 +1,10 @@
#pragma once #pragma once
#include "vector.h" #include "vector.h"
#include "gametrace.h" #include "gametrace.h"
#include "entityinstance.h"
#define RAYTRACE_INTERFACE_VERSION "CRayTraceInterface001" #define RAYTRACE_INTERFACE_VERSION "CRayTraceInterface001"
class CBaseEntity;
enum class InteractionLayers : uint64_t enum class InteractionLayers : uint64_t
{ {
Solid = 0x1, Solid = 0x1,
@ -184,7 +183,7 @@ public:
virtual bool TraceShape( virtual bool TraceShape(
const Vector* origin, const Vector* origin,
const QAngle* viewangles, const QAngle* viewangles,
CBaseEntity* ignoreEntity, CEntityInstance* ignoreEntity,
const TraceOptions* opts, const TraceOptions* opts,
TraceResult* outResult TraceResult* outResult
) = 0; ) = 0;
@ -192,7 +191,7 @@ public:
virtual bool TraceEndShape( virtual bool TraceEndShape(
const Vector* origin, const Vector* origin,
const Vector* endOrigin, const Vector* endOrigin,
CBaseEntity* ignoreEntity, CEntityInstance* ignoreEntity,
const TraceOptions* opts, const TraceOptions* opts,
TraceResult* outResult TraceResult* outResult
) = 0; ) = 0;
@ -202,7 +201,7 @@ public:
const Vector* vecEnd, const Vector* vecEnd,
const Vector* hullMins, const Vector* hullMins,
const Vector* hullMaxs, const Vector* hullMaxs,
CBaseEntity* ignoreEntity, CEntityInstance* ignoreEntity,
const TraceOptions* opts, const TraceOptions* opts,
TraceResult* outResult TraceResult* outResult
) = 0; ) = 0;

View file

@ -109,7 +109,7 @@ namespace RayTracePlugin::RayTrace
std::optional<TraceResult> TraceShape( std::optional<TraceResult> TraceShape(
const Vector& origin, const Vector& origin,
const QAngle& viewangles, const QAngle& viewangles,
CBaseEntity* ignoreEntity, CEntityInstance* ignoreEntity,
const TraceOptions* opts) const TraceOptions* opts)
{ {
Vector forward; Vector forward;
@ -120,7 +120,7 @@ namespace RayTracePlugin::RayTrace
origin.z + forward.z * 8192.f origin.z + forward.z * 8192.f
}; };
CTraceFilterEx filter = ignoreEntity ? CTraceFilterEx(ignoreEntity) : CTraceFilterEx(); CTraceFilterEx filter = ignoreEntity ? CTraceFilterEx(static_cast<CBaseEntity*>(ignoreEntity)) : CTraceFilterEx();
filter.m_nInteractsAs = 0; filter.m_nInteractsAs = 0;
filter.m_nInteractsWith = static_cast<uint64_t>(MASK_SHOT_PHYSICS); filter.m_nInteractsWith = static_cast<uint64_t>(MASK_SHOT_PHYSICS);
@ -153,10 +153,10 @@ namespace RayTracePlugin::RayTrace
std::optional<TraceResult> TraceEndShape( std::optional<TraceResult> TraceEndShape(
const Vector& origin, const Vector& origin,
const Vector& endOrigin, const Vector& endOrigin,
CBaseEntity* ignoreEntity, CEntityInstance* ignoreEntity,
const TraceOptions* opts) const TraceOptions* opts)
{ {
CTraceFilterEx filter = ignoreEntity ? CTraceFilterEx(ignoreEntity) : CTraceFilterEx(); CTraceFilterEx filter = ignoreEntity ? CTraceFilterEx(static_cast<CBaseEntity*>(ignoreEntity)) : CTraceFilterEx();
filter.m_nInteractsAs = 0; filter.m_nInteractsAs = 0;
filter.m_nInteractsWith = static_cast<uint64_t>(MASK_SHOT_PHYSICS); filter.m_nInteractsWith = static_cast<uint64_t>(MASK_SHOT_PHYSICS);
@ -187,8 +187,8 @@ namespace RayTracePlugin::RayTrace
} }
std::optional<TraceResult> TraceHullShape(const Vector &vecStart, const Vector &vecEnd, const Vector &hullMins, std::optional<TraceResult> TraceHullShape(const Vector &vecStart, const Vector &vecEnd, const Vector &hullMins,
const Vector &hullMaxs, CBaseEntity *ignoreEntity, const TraceOptions *opts) { const Vector &hullMaxs, CEntityInstance *ignoreEntity, const TraceOptions *opts) {
CTraceFilterEx filter = ignoreEntity ? CTraceFilterEx(ignoreEntity) : CTraceFilterEx(); CTraceFilterEx filter = ignoreEntity ? CTraceFilterEx(static_cast<CBaseEntity*>(ignoreEntity)) : CTraceFilterEx();
filter.m_nInteractsAs = 0; filter.m_nInteractsAs = 0;
filter.m_nInteractsWith = static_cast<uint64_t>(MASK_SHOT_PHYSICS); filter.m_nInteractsWith = static_cast<uint64_t>(MASK_SHOT_PHYSICS);

View file

@ -32,13 +32,13 @@ namespace RayTracePlugin::RayTrace
std::optional<TraceResult> TraceShape( std::optional<TraceResult> TraceShape(
const Vector& origin, const Vector& origin,
const QAngle& viewangles, const QAngle& viewangles,
CBaseEntity* ignoreEntity = nullptr, CEntityInstance* ignoreEntity = nullptr,
const TraceOptions* opts = nullptr); const TraceOptions* opts = nullptr);
std::optional<TraceResult> TraceEndShape( std::optional<TraceResult> TraceEndShape(
const Vector& origin, const Vector& origin,
const Vector& endOrigin, const Vector& endOrigin,
CBaseEntity* ignoreEntity = nullptr, CEntityInstance* ignoreEntity = nullptr,
const TraceOptions* opts = nullptr); const TraceOptions* opts = nullptr);
std::optional<TraceResult> TraceHullShape( std::optional<TraceResult> TraceHullShape(
@ -46,7 +46,7 @@ namespace RayTracePlugin::RayTrace
const Vector& vecEnd, const Vector& vecEnd,
const Vector& hullMins, const Vector& hullMins,
const Vector& hullMaxs, const Vector& hullMaxs,
CBaseEntity* ignoreEntity = nullptr, CEntityInstance* ignoreEntity = nullptr,
const TraceOptions* opts = nullptr); const TraceOptions* opts = nullptr);
std::optional<TraceResult> TraceShapeEx( std::optional<TraceResult> TraceShapeEx(
@ -61,7 +61,7 @@ namespace RayTracePlugin::RayTrace
bool TraceShape( bool TraceShape(
const Vector* origin, const Vector* origin,
const QAngle* viewangles, const QAngle* viewangles,
CBaseEntity* ignoreEntity, CEntityInstance* ignoreEntity,
const TraceOptions* opts, const TraceOptions* opts,
TraceResult* outResult) override TraceResult* outResult) override
{ {
@ -76,7 +76,7 @@ namespace RayTracePlugin::RayTrace
bool TraceEndShape( bool TraceEndShape(
const Vector* origin, const Vector* origin,
const Vector* endOrigin, const Vector* endOrigin,
CBaseEntity* ignoreEntity, CEntityInstance* ignoreEntity,
const TraceOptions* opts, const TraceOptions* opts,
TraceResult* outResult) override TraceResult* outResult) override
{ {
@ -93,7 +93,7 @@ namespace RayTracePlugin::RayTrace
const Vector* vecEnd, const Vector* vecEnd,
const Vector* hullMins, const Vector* hullMins,
const Vector* hullMaxs, const Vector* hullMaxs,
CBaseEntity* ignoreEntity, CEntityInstance* ignoreEntity,
const TraceOptions* opts, const TraceOptions* opts,
TraceResult* outResult) override TraceResult* outResult) override
{ {