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
2017-11-13 09:41:53 +03:00

62 lines
1.3 KiB
C++

/*
* trace.h
*
* Created on: Oct 10, 2016
* Author: nullifiedcat
*/
#ifndef TRACE_HPP_
#define TRACE_HPP_
#include <engine/IEngineTrace.h>
#include <fixsdk.hpp>
// 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_ */