DDNet documentation
Loading...
Searching...
No Matches
controls.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_CLIENT_COMPONENTS_CONTROLS_H
4#define GAME_CLIENT_COMPONENTS_CONTROLS_H
5
6#include <base/vmath.h>
7
8#include <engine/client.h>
9#include <engine/console.h>
10
11#include <generated/protocol.h>
12
14
15class CControls : public CComponent
16{
17public:
18 float GetMinMouseDistance() const;
19 float GetMaxMouseDistance() const;
20
21 enum class EMouseInputType
22 {
23 ABSOLUTE,
24 RELATIVE,
25 AUTOMATED,
26 };
27
32
34
35 int m_aAmmoCount[NUM_WEAPONS];
36
38 CNetObj_PlayerInput m_aInputData[NUM_DUMMIES];
39 CNetObj_PlayerInput m_aLastData[NUM_DUMMIES];
43
44 CControls();
45 int Sizeof() const override { return sizeof(*this); }
46
47 void OnReset() override;
48 void OnRender() override;
49 void OnMessage(int MsgType, void *pRawMsg) override;
50 bool OnCursorMove(float x, float y, IInput::ECursorType CursorType) override;
51 void OnConsoleInit() override;
52 virtual void OnPlayerDeath();
53
54 int SnapInput(int *pData);
55 void ClampMousePos();
56 void ResetInput(int Dummy);
57
58private:
59 static void ConKeyInputState(IConsole::IResult *pResult, void *pUserData);
60 static void ConKeyInputCounter(IConsole::IResult *pResult, void *pUserData);
61 static void ConKeyInputSet(IConsole::IResult *pResult, void *pUserData);
62 static void ConKeyInputNextPrevWeapon(IConsole::IResult *pResult, void *pUserData);
63 static void ConTpToCursor(IConsole::IResult *pResult, void *pUserData);
64 static void ConTpDummyToCursor(IConsole::IResult *pResult, void *pUserData);
65 vec2 CursorWorldPos() const;
66 void SendPracticeTeleportToCursor(int Conn);
67};
68#endif
Definition component.h:165
EMouseInputType m_aMouseInputType[NUM_DUMMIES]
Definition controls.h:33
CControls()
Definition controls.cpp:25
void OnMessage(int MsgType, void *pRawMsg) override
Definition controls.cpp:229
int m_aAmmoCount[NUM_WEAPONS]
Definition controls.h:35
bool OnCursorMove(float x, float y, IInput::ECursorType CursorType) override
Definition controls.cpp:442
static void ConKeyInputCounter(IConsole::IResult *pResult, void *pUserData)
Definition controls.cpp:85
vec2 m_aMousePos[NUM_DUMMIES]
Definition controls.h:29
float GetMinMouseDistance() const
Definition controls.cpp:514
int SnapInput(int *pData)
Definition controls.cpp:241
CNetObj_PlayerInput m_aInputData[NUM_DUMMIES]
Definition controls.h:38
vec2 m_aTargetPos[NUM_DUMMIES]
Definition controls.h:31
void ResetInput(int Dummy)
Definition controls.cpp:45
static void ConKeyInputSet(IConsole::IResult *pResult, void *pUserData)
Definition controls.cpp:110
CNetObj_PlayerInput m_aLastData[NUM_DUMMIES]
Definition controls.h:39
static void ConTpToCursor(IConsole::IResult *pResult, void *pUserData)
Definition controls.cpp:188
EMouseInputType
Definition controls.h:22
bool m_aMouseOnAction[NUM_DUMMIES]
Definition controls.h:28
float GetMaxMouseDistance() const
Definition controls.cpp:519
vec2 CursorWorldPos() const
Definition controls.cpp:213
static void ConTpDummyToCursor(IConsole::IResult *pResult, void *pUserData)
Definition controls.cpp:197
int m_aInputDirectionRight[NUM_DUMMIES]
Definition controls.h:41
void SendPracticeTeleportToCursor(int Conn)
Definition controls.cpp:220
vec2 m_aMousePosOnAction[NUM_DUMMIES]
Definition controls.h:30
void ClampMousePos()
Definition controls.cpp:487
int64_t m_LastSendTime
Definition controls.h:37
void OnRender() override
Definition controls.cpp:396
static void ConKeyInputNextPrevWeapon(IConsole::IResult *pResult, void *pUserData)
Definition controls.cpp:119
int m_aShowHookColl[NUM_DUMMIES]
Definition controls.h:42
void OnReset() override
Definition controls.cpp:35
int m_aInputDirectionLeft[NUM_DUMMIES]
Definition controls.h:40
void OnConsoleInit() override
Definition controls.cpp:126
int Sizeof() const override
Definition controls.h:45
static void ConKeyInputState(IConsole::IResult *pResult, void *pUserData)
Definition controls.cpp:71
virtual void OnPlayerDeath()
Definition controls.cpp:59
Definition console.h:66
ECursorType
Definition input.h:42
@ NUM_DUMMIES
Definition enums.h:8
vector2_base< float > vec2
Definition vmath.h:168