MCPcopy Create free account
hub / github.com/DavidColson/Polybox / InputInit

Function InputInit

source/input.cpp:75–508  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73// ***********************************************************************
74
75void InputInit() {
76 Arena* pArena = ArenaCreate();
77 pInputState = New(pArena, InputState);
78 pInputState->pArena = pArena;
79
80 pInputState->stringToControllerButton.pArena = pArena;
81 pInputState->stringToControllerAxis.pArena = pArena;
82 pInputState->stringToKeyCode.pArena = pArena;
83 pInputState->keyCodeToInternalKeyCode.pArena = pArena;
84 pInputState->stringToMouseCode.pArena = pArena;
85 pInputState->stringToSDLControllerButton.pArena = pArena;
86 pInputState->stringToSDLControllerAxis.pArena = pArena;
87 pInputState->stringToSDLControllerButton.pArena = pArena;
88 pInputState->primaryBindings.pArena = pArena;
89 pInputState->primaryAxisBindings.pArena = pArena;
90 pInputState->keyboardAltBindings.pArena = pArena;
91 pInputState->mouseAltBindings.pArena = pArena;
92 pInputState->keyboardAxisBindings.pArena = pArena;
93 pInputState->mouseAxisBindings.pArena = pArena;
94 pInputState->primaryAxisBindings.pArena = pArena;
95 pInputState->textInputString.pArena = pArena;
96
97 // @Todo: macros to help with this nonesense?
98
99 // Setup hashmaps for controller labels
100 pInputState->stringToControllerButton.Add("FaceBottom"_hash, ControllerButton::FaceBottom);
101 pInputState->stringToControllerButton.Add("FaceRight"_hash, ControllerButton::FaceRight);
102 pInputState->stringToControllerButton.Add("FaceLeft"_hash, ControllerButton::FaceLeft);
103 pInputState->stringToControllerButton.Add("FaceTop"_hash, ControllerButton::FaceTop);
104 pInputState->stringToControllerButton.Add("LeftStick"_hash, ControllerButton::LeftStick);
105 pInputState->stringToControllerButton.Add("RightStick"_hash, ControllerButton::RightStick);
106 pInputState->stringToControllerButton.Add("LeftShoulder"_hash, ControllerButton::LeftShoulder);
107 pInputState->stringToControllerButton.Add("RightShoulder"_hash, ControllerButton::RightShoulder);
108 pInputState->stringToControllerButton.Add("DpadDown"_hash, ControllerButton::DpadDown);
109 pInputState->stringToControllerButton.Add("DpadLeft"_hash, ControllerButton::DpadLeft);
110 pInputState->stringToControllerButton.Add("DpadRight"_hash, ControllerButton::DpadRight);
111 pInputState->stringToControllerButton.Add("DpadUp"_hash, ControllerButton::DpadUp);
112 pInputState->stringToControllerButton.Add("Start"_hash, ControllerButton::Start);
113 pInputState->stringToControllerButton.Add("Select"_hash, ControllerButton::Select);
114
115
116 pInputState->stringToControllerAxis.Add("LeftX"_hash, ControllerAxis::LeftX);
117 pInputState->stringToControllerAxis.Add("LeftY"_hash, ControllerAxis::LeftY);
118 pInputState->stringToControllerAxis.Add("RightX"_hash, ControllerAxis::RightX);
119 pInputState->stringToControllerAxis.Add("RightY"_hash, ControllerAxis::RightY);
120 pInputState->stringToControllerAxis.Add("TriggerLeft"_hash, ControllerAxis::TriggerLeft);
121 pInputState->stringToControllerAxis.Add("TriggerRight"_hash, ControllerAxis::TriggerRight);
122
123
124 pInputState->stringToKeyCode.Add("Keycode_A"_hash, SDLK_a);
125 pInputState->stringToKeyCode.Add("Keycode_B"_hash, SDLK_b);
126 pInputState->stringToKeyCode.Add("Keycode_C"_hash, SDLK_c);
127 pInputState->stringToKeyCode.Add("Keycode_D"_hash, SDLK_d);
128 pInputState->stringToKeyCode.Add("Keycode_E"_hash, SDLK_e);
129 pInputState->stringToKeyCode.Add("Keycode_F"_hash, SDLK_f);
130 pInputState->stringToKeyCode.Add("Keycode_G"_hash, SDLK_g);
131 pInputState->stringToKeyCode.Add("Keycode_H"_hash, SDLK_h);
132 pInputState->stringToKeyCode.Add("Keycode_I"_hash, SDLK_i);

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected