This repository has been archived on 2024-06-01. You can view files and clone it, but cannot push or open issues or pull requests.
cathook/include/trace.hpp
2018-03-29 19:08:31 +02:00

67 lines
1.3 KiB
C++
Executable File

/*
* trace.h
*
* Created on: Oct 10, 2016
* Author: nullifiedcat
*/
#ifndef TRACE_HPP_
#define TRACE_HPP_
#include <engine/IEngineTrace.h>
// This file is a mess. I need to fix it. TODO
class IClientEntity;
namespace trace
{
class FilterDefault : public ITraceFilter
{
public:
IClientEntity *m_pSelf;
public:
virtual ~FilterDefault();
FilterDefault();
virtual bool ShouldHitEntity(IHandleEntity *entity, int mask);
void SetSelf(IClientEntity *self);
virtual TraceType_t GetTraceType() const;
};
class FilterNoPlayer : public ITraceFilter
{
public:
IClientEntity *m_pSelf;
public:
virtual ~FilterNoPlayer();
FilterNoPlayer();
virtual bool ShouldHitEntity(IHandleEntity *entity, int mask);
void SetSelf(IClientEntity *self);
virtual TraceType_t GetTraceType() const;
};
class FilterPenetration : public ITraceFilter
{
public:
IClientEntity *m_pSelf;
IClientEntity *m_pIgnoreFirst;
public:
virtual ~FilterPenetration();
FilterPenetration();
virtual bool ShouldHitEntity(IHandleEntity *entity, int mask);
void SetSelf(IClientEntity *self);
void Reset();
virtual TraceType_t GetTraceType() const;
};
extern FilterDefault filter_default;
extern FilterNoPlayer filter_no_player;
extern FilterPenetration filter_penetration;
}
#endif /* TRACE_HPP_ */