Update readme
This commit is contained in:
parent
98f00073ab
commit
65a480f505
4 changed files with 299 additions and 352 deletions
|
|
@ -47,7 +47,7 @@ namespace RayTracePlugin::RayTrace
|
|||
|
||||
beam->m_clrRender().SetColor(color.r(), color.g(), color.b(), color.a());
|
||||
beam->m_fWidth() = 1.5f;
|
||||
beam->m_nRenderMode() = kRenderGlow;
|
||||
beam->m_nRenderMode() = kRenderNormal;
|
||||
beam->m_nRenderFX() = kRenderFxNone;
|
||||
|
||||
beam->Teleport(&start, &VectorExtends::RotationZero, &VectorExtends::VectorZero);
|
||||
|
|
@ -95,10 +95,16 @@ namespace RayTracePlugin::RayTrace
|
|||
|
||||
CTraceFilterEx filter = ignorePlayer ? CTraceFilterEx(ignorePlayer) : CTraceFilterEx();
|
||||
|
||||
filter.m_nInteractsWith = static_cast<uint64_t>(MASK_SHOT_PHYSICS);
|
||||
filter.m_nInteractsExclude = 0;
|
||||
|
||||
if (opts)
|
||||
{
|
||||
if (opts->InteractsWith) filter.m_nInteractsWith = static_cast<uint64_t>(*opts->InteractsWith);
|
||||
if (opts->InteractsExclude) filter.m_nInteractsExclude = static_cast<uint64_t>(*opts->InteractsExclude);
|
||||
if (opts->InteractsWith != 0)
|
||||
filter.m_nInteractsWith = opts->InteractsWith;
|
||||
|
||||
if (opts->InteractsExclude != 0)
|
||||
filter.m_nInteractsExclude = opts->InteractsExclude;
|
||||
}
|
||||
|
||||
Ray_t ray;
|
||||
|
|
@ -121,10 +127,16 @@ namespace RayTracePlugin::RayTrace
|
|||
{
|
||||
CTraceFilterEx filter = ignorePlayer ? CTraceFilterEx(ignorePlayer) : CTraceFilterEx();
|
||||
|
||||
filter.m_nInteractsWith = static_cast<uint64_t>(MASK_SHOT_PHYSICS);
|
||||
filter.m_nInteractsExclude = 0;
|
||||
|
||||
if (opts)
|
||||
{
|
||||
if (opts->InteractsWith) filter.m_nInteractsWith = static_cast<uint64_t>(*opts->InteractsWith);
|
||||
if (opts->InteractsExclude) filter.m_nInteractsExclude = static_cast<uint64_t>(*opts->InteractsExclude);
|
||||
if (opts->InteractsWith != 0)
|
||||
filter.m_nInteractsWith = opts->InteractsWith;
|
||||
|
||||
if (opts->InteractsExclude != 0)
|
||||
filter.m_nInteractsExclude = opts->InteractsExclude;
|
||||
}
|
||||
|
||||
Ray_t ray;
|
||||
|
|
|
|||
|
|
@ -50,31 +50,49 @@ namespace RayTracePlugin::RayTrace
|
|||
class CRayTrace : public CRayTraceInterface
|
||||
{
|
||||
public:
|
||||
std::optional<TraceResult> TraceShape(
|
||||
const Vector& origin,
|
||||
const QAngle& viewangles,
|
||||
bool TraceShape(
|
||||
const Vector* origin,
|
||||
const QAngle* viewangles,
|
||||
CBaseEntity* ignorePlayer,
|
||||
const TraceOptions* opts) override
|
||||
const TraceOptions* opts,
|
||||
TraceResult* outResult) override
|
||||
{
|
||||
return RayTrace::TraceShape(origin, viewangles, ignorePlayer, opts);
|
||||
auto result = RayTrace::TraceShape(*origin, *viewangles, ignorePlayer, opts);
|
||||
if (!result.has_value())
|
||||
return false;
|
||||
|
||||
*outResult = result.value();
|
||||
return true;
|
||||
}
|
||||
|
||||
std::optional<TraceResult> TraceEndShape(
|
||||
const Vector& origin,
|
||||
const Vector& endOrigin,
|
||||
bool TraceEndShape(
|
||||
const Vector* origin,
|
||||
const Vector* endOrigin,
|
||||
CBaseEntity* ignorePlayer,
|
||||
const TraceOptions* opts) override
|
||||
const TraceOptions* opts,
|
||||
TraceResult* outResult) override
|
||||
{
|
||||
return RayTrace::TraceEndShape(origin, endOrigin, ignorePlayer, opts);
|
||||
auto result = RayTrace::TraceEndShape(*origin, *endOrigin, ignorePlayer, opts);
|
||||
if (!result.has_value())
|
||||
return false;
|
||||
|
||||
*outResult = result.value();
|
||||
return true;
|
||||
}
|
||||
|
||||
std::optional<TraceResult> TraceShapeEx(
|
||||
const Vector& vecStart,
|
||||
const Vector& vecEnd,
|
||||
CTraceFilter& filterInc,
|
||||
Ray_t rayInc) override
|
||||
bool TraceShapeEx(
|
||||
const Vector* vecStart,
|
||||
const Vector* vecEnd,
|
||||
CTraceFilter* filterInc,
|
||||
Ray_t rayInc,
|
||||
TraceResult* outResult) override
|
||||
{
|
||||
return RayTrace::TraceShapeEx(vecStart, vecEnd, filterInc, rayInc);
|
||||
auto result = RayTrace::TraceShapeEx(*vecStart, *vecEnd, *filterInc, rayInc);
|
||||
if (!result.has_value())
|
||||
return false;
|
||||
|
||||
*outResult = result.value();
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue