blob: c3a6faa9f923ce60e721591fe46d86db2e8e701e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#pragma once
#include "sdk.hpp"
#include "settings.hpp"
#include "console.hpp"
namespace features
{
class c_lagmgr {
public:
void operator()( user_cmd_t* cmd, byte* sendpacket ) {
if( !sendpacket ) return;
if( !cmd ) return;
m_cmd = cmd;
m_sendpacket = sendpacket;
if( g_settings.rage.anti_aim( ) ) {
on_antiaim( );
}
//let fakelag override whatever happened in antiaim
//this also means we will call stuff like fakewalk etc
//after this
fakelag( );
}
void on_cmove_end( );
void set_state( bool state ) {
*m_sendpacket = state;
}
int get_choked( ) const {
return m_held_ticks;
}
bool has_fired( ) const {
return m_has_fired;
}
int get_sent( ) const {
return m_sent_ticks;
}
bool get_state( ) const {
return m_sendpacket ? !!*m_sendpacket : true;
}
bool is_breaking_lc( ) const {
return m_breaking_lc;
}
private:
void on_antiaim( );
bool predict_position( float dist );
void fakelag( );
user_cmd_t* m_cmd{ };
byte* m_sendpacket{ };
int m_sent_ticks{ };
int m_held_ticks{ };
bool m_breaking_lc{ };
bool m_has_fired{ };
public:
bool m_is_peeking;
matrix3x4 m_peek_matrix[ 128 ];
};
}
|