IInput: Difference between revisions
Jump to navigation
Jump to search
Bug:Although your mod will compile fine if you bypass creating the
TomEdwards (talk | contribs) No edit summary |
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified) |
||
| Line 8: | Line 8: | ||
IInput* input = (IInput*)&g_Input;</source> | IInput* input = (IInput*)&g_Input;</source> | ||
{{bug|Although your mod will compile fine if you bypass creating the <code>g_Input</code> object, you may encounter bizarre errors (including the world not rendering and a cursor that is re-centred every frame) when launching with a debugger attached!}} | {{bug|hidetested=1|Although your mod will compile fine if you bypass creating the <code>g_Input</code> object, you may encounter bizarre errors (including the world not rendering and a cursor that is re-centred every frame) when launching with a debugger attached!}} | ||
== See also == | == See also == | ||
Latest revision as of 06:14, 20 May 2025
IInput is a client interface that packages user input from keyboards, mice and joysticks/gamepads into usercmds for transmission to the server. It also handles third-person cameras.
Conventionally, each type of supported peripheral has its own CPP file. Valve's CInput interface implementation is in in_main.cpp (for usercmd packaging and keyboard), in_mouse.cpp and in_joystick.cpp.
Minimum implementation
static CInput g_Input;
IInput* input = (IInput*)&g_Input;
g_Input object, you may encounter bizarre errors (including the world not rendering and a cursor that is re-centred every frame) when launching with a debugger attached!See also
CInput, Valve's basicIInputimplementation