summaryrefslogtreecommitdiff
path: root/cheat/internal_rewrite/movement.hpp
blob: 0c0b1a64b9753e64244da11db6c553c78a62cbd2 (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
#pragma once
#include "util.hpp"

//forward declarations
class user_cmd_t;

NAMESPACE_REGION( features )

class c_movement {
	user_cmd_t* m_ucmd{ };
	bool		m_direction{ };

	void bhop( );
	void auto_strafer( );

	void edge_jump( );
	void auto_jumpbug( );
	void jump_stats( );

	bool  get_best_direction( float ideal_step, float left, float right, float weight );
	float get_best_strafe_step( float speed, vec3_t direction );
	float get_best_strafe_angle( );
	void circle_strafe( );
	void air_duck( );

public:
	void operator()( user_cmd_t* ucmd ) {
		m_ucmd = ucmd;
		auto_strafer( );
		circle_strafe( );
		bhop( );
		edge_jump( );
		auto_jumpbug( );
		jump_stats( );
		air_duck( );
	}
};

END_REGION