Wing Commander II
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
input.c
Go to the documentation of this file.
1/*
2 * Menu input devices and joystick button events.
3 *
4 * Retail object 0x421210-0x42190F (link order; see docs/ORDER.md).
5 */
6#include "game.h"
7
8short g_nInputDoubleClickInterval = 1; /* 0x00493050 */
9short g_nMenuPointerSpeed = 2; /* 0x00493054 */
10
11/* Function start: 0x421210 */
13{
14 short changed;
15 short buttons;
16 short activeDevice;
17
18 activeDevice = g_8_nActiveInputDeviceWord;
19 if (raw == 0)
21 else
23 activeDevice, 0);
24
28 g_9_asInputButton2ChangedList[activeDevice] = 0;
31 buttons = (short)g_aInputDeviceSamplesList[activeDevice].buttons;
32 if (g_2_asPreviousInputButtonsList[activeDevice] != buttons) {
33 changed = buttons & 1;
34 changed ^= g_2_asPreviousInputButtonsList[activeDevice] & 1;
35 if (changed != 0) {
37 if ((buttons & 1) != 0) {
39 g_anControlsButton1PressTime[activeDevice] <=
43 g_anControlsButton1PressTime[activeDevice] =
45 }
46 }
47 changed = buttons & 2;
48 changed ^= g_2_asPreviousInputButtonsList[activeDevice] & 2;
49 if (changed != 0) {
50 g_9_asInputButton2ChangedList[activeDevice]++;
51 if ((buttons & 2) != 0) {
53 g_9_anInputButton2PushTime[activeDevice] <=
57 g_9_anInputButton2PushTime[activeDevice] =
59 }
60 }
61 g_2_asPreviousInputButtonsList[activeDevice] = buttons;
62 }
63 return 1;
64}
65
66/* Function start: 0x4213FE */
67/* Nothing in the shipped executable calls this; the DOS joystick pointer
68 * module's null procedure. */
70{
71}
72
73/* Function start: 0x421409 */
75{
76 short doubleClick;
77
79 return;
80 if (g_3_bInputPollingGuard == 0) {
85 doubleClick = 0;
88 doubleClick = 3;
91 [g_8_nActiveInputDeviceWord].buttons & 1) + 1,
92 0, doubleClick);
93 }
96 doubleClick = 0;
99 doubleClick = 3;
102 [g_8_nActiveInputDeviceWord].buttons & 2) >> 1) + 1,
103 1, doubleClick);
104 }
106 (unsigned char)g_aInputDeviceSamplesList
111 }
112}
113
114/* Function start: 0x421530 */
116{
117 signed char clickKind;
118 signed char changes;
119
120 changes = 0;
122 return;
125 if (g_3_bInputPollingGuard == 0) {
128
139 clickKind = 0;
142 clickKind = 3;
145 [g_8_nActiveInputDeviceWord].buttons & 1) + 1,
146 0, (short)clickKind);
147 changes++;
148 }
159 clickKind = 0;
162 clickKind = 3;
165 [g_8_nActiveInputDeviceWord].buttons & 2) >> 1) + 1,
166 1, (short)clickKind);
167 changes++;
168 }
169 if (changes == 0) {
178 changes = (unsigned char)(
183 if (changes != 0) {
199 }
200 }
201
203 (unsigned char)g_aInputDeviceSamplesList
219 if (changes != 0) {
231 }
233 }
234}
235
236/* Linker commons defined here. LINK lays a unit's commons out by the
237 * identifiers' hash keys, so these spellings follow the original addresses. */
238int g_9_anInputButton2PushTime[2]; /* 0x005d3028 */
239short g_asControlsButton1DoubleClickTable[2]; /* 0x005d3030 */
240short g_3_asControlsButton1ChangedValues[2]; /* 0x005d3034 */
241short g_9_asInputButton2ChangedList[2]; /* 0x005d3038 */
242short g_2_asPreviousInputButtonsList[2]; /* 0x005d303c */
243int g_anControlsButton1PressTime[2]; /* 0x005d3040 */
244short g_7_asInputButton2DoubleClickValues[2]; /* 0x005d3048 */
245signed char g_3_bInputPollingGuard; /* 0x005d304c */
void PollJoystickButtonEvents(void)
Definition input.c:74
void SetMousePosition(int x, int y)
Definition winmain.c:975
short UpdateInputDeviceTransitions(short raw)
Definition input.c:12
void FlushInputEvents(void)
Definition eventmgr.c:1014
short ReadCalibratedJoystick(void)
Definition joycal.c:147
void DisableMouseCursorDrawing(void)
Definition eventmgr.c:1327
void SampleJoystickDevice(InputDeviceSample *samples, short joystick, unsigned int fallback)
Definition joystick.c:22
void PollMenuInputDevices(void)
Definition input.c:115
void EnableMouseCursorDrawing(void)
Definition eventmgr.c:1254
void QueueInputEventAtCursor(unsigned int type, short primaryButton, short secondaryButton)
Definition eventmgr.c:604
void JoystickInputHook(void)
Definition input.c:69
Shared Win32 declarations, types and library interfaces.
short g_7_asInputButton2DoubleClickValues[2]
Definition input.c:244
int g_9_anInputButton2PushTime[2]
Definition input.c:238
QueuedMouseState g_16_stEventQueuePointerData
Definition eventmgr.c:2525
int g_anControlsButton1PressTime[2]
Definition input.c:243
short g_asControlsButton1DoubleClickTable[2]
Definition input.c:239
int g_bSceneDisplayUpdateActive
Definition campglob.c:494
short g_3_asControlsButton1ChangedValues[2]
Definition input.c:240
short g_9_asInputButton2ChangedList[2]
Definition input.c:241
short g_2_asPreviousInputButtonsList[2]
Definition input.c:242
volatile int g_196_nInputTimerTicks
Definition eventmgr.c:2550
int g_3_nEventClockScaleValue
Definition eventmgr.c:2565
InputDeviceSample g_aInputDeviceSamplesList[2]
Definition joystick.c:75
signed char g_3_bInputPollingGuard
Definition input.c:245
short g_nMenuPointerSpeed
Definition input.c:9
short g_8_nActiveInputDeviceWord
Definition joystick.c:57
PersonnelMouseSample g_6_stPersonnelMouseData
Definition eventmgr.c:2561
short g_nInputDoubleClickInterval
Definition input.c:8
unsigned char primaryButton
Definition globals.h:1038
unsigned char secondaryButton
Definition globals.h:1039
unsigned short flags
Definition globals.h:1041
unsigned char primaryButton
Definition globals.h:1010
unsigned short flags
Definition globals.h:1013
unsigned char secondaryButton
Definition globals.h:1011