aboutsummaryrefslogtreecommitdiff
path: root/source2-basehook/Source2SDK/CUserCmd.hpp
blob: 7c829dc07c165c48d0ed551f87f252fa31e3379c (plain) (blame)
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
#pragma once
#include "Vector.hpp"
#include "QAngle.hpp"

#define IN_ATTACK		(1 << 0)
#define IN_JUMP			(1 << 1)
#define IN_DUCK			(1 << 2)
#define IN_FORWARD		(1 << 3)
#define IN_BACK			(1 << 4)
#define IN_USE			(1 << 5)
#define IN_CANCEL		(1 << 6)
#define IN_LEFT			(1 << 7)
#define IN_RIGHT		(1 << 8)
#define IN_MOVELEFT		(1 << 9)
#define IN_MOVERIGHT	(1 << 10)
#define IN_ATTACK2		(1 << 11)
#define IN_RUN			(1 << 12)
#define IN_RELOAD		(1 << 13)
#define IN_ALT1			(1 << 14)
#define IN_ALT2			(1 << 15)
#define IN_SCORE		(1 << 16)   // Used by client.dll for when scoreboard is held down
#define IN_SPEED		(1 << 17)	// Player is holding the speed key
#define IN_WALK			(1 << 18)	// Player holding walk key
#define IN_ZOOM			(1 << 19)	// Zoom key for HUD zoom
#define IN_WEAPON1		(1 << 20)	// weapon defines these bits
#define IN_WEAPON2		(1 << 21)	// weapon defines these bits
#define IN_BULLRUSH		(1 << 22)
#define IN_GRENADE1		(1 << 23)	// grenade 1
#define IN_GRENADE2		(1 << 24)	// grenade 2
#define	IN_ATTACK3		(1 << 25)

class CUserCmd
{
public:
	virtual ~CUserCmd() {};
	int32_t command_number; //0x0008
	int32_t tick_count; //0x000C
	QAngle viewangles; //0x0010
	Vector aimdirection; //0x001C
	int32_t buttons; //0x0028
	int32_t unknown;
	BYTE impulse;
	int32_t weaponselect; //0x0034
	int32_t weaponsubtype; //0x0038
	int32_t random_seed; //0x003C
	short mousedx; 
	short mousedy; 
};

extern CUserCmd* pCmd;