MCPcopy Create free account
hub / github.com/Segs/Segs / processDirectionControl

Function processDirectionControl

Projects/CoX/Common/GameData/Movement.cpp:62–89  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

60}
61
62void processDirectionControl(InputState *next_state, uint8_t control_id, int ms_since_prev, int keypress_state)
63{
64 float delta = 0.0f;
65
66 if(keypress_state)
67 delta = 1.0f;
68
69 qCDebug(logInput, "Pressed dir: %s \t ms_since_prev: %d \t press_release: %d", control_name[control_id], ms_since_prev, keypress_state);
70 switch(control_id)
71 {
72 case 0: next_state->m_pos_delta[2] = delta; break; // FORWARD
73 case 1: next_state->m_pos_delta[2] = -delta; break; // BACKWARD
74 case 2: next_state->m_pos_delta[0] = -delta; break; // LEFT
75 case 3: next_state->m_pos_delta[0] = delta; break; // RIGHT
76 case 4: next_state->m_pos_delta[1] = delta; break; // UP
77 case 5: next_state->m_pos_delta[1] = -delta; break; // DOWN
78 }
79
80 switch(control_id)
81 {
82 case 0:
83 case 1: next_state->m_pos_delta_valid[2] = true; break;
84 case 2:
85 case 3: next_state->m_pos_delta_valid[0] = true; break;
86 case 4:
87 case 5: next_state->m_pos_delta_valid[1] = true; break;
88 }
89}
90
91void setVelocity(Entity &e) // pmotionSetVel
92{

Callers 2

receiveControlStateMethod · 0.85
extended_inputMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected