Skip to content

Commit e7963eb

Browse files
committed
xrGame, xrEngine: replace DIK_ on SDL_SCANCODE_, fix mouse btn handle,
fix multi-key handle
1 parent d0e39c8 commit e7963eb

18 files changed

+104
-82
lines changed

src/Layers/xrRenderPC_R1/FStaticRender_RenderTarget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ BOOL CRenderTarget::Perform()
235235
void CRenderTarget::Begin()
236236
{
237237
/*
238-
if (g_pGameLevel->IR_GetKeyState(DIK_LSHIFT))
238+
if (g_pGameLevel->IR_GetKeyState(SDL_SCANCODE_LSHIFT))
239239
{
240240
Msg ("[%5d]------------------------",Device.dwFrame);
241241
SHOW (param_blur)

src/xrEngine/Environment.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ void CEnvironment::OnFrame()
469469
return;
470470
#endif
471471

472-
// if (pInput->iGetAsyncKeyState(DIK_O)) SetWeatherFX("surge_day");
472+
// if (pInput->iGetAsyncKeyState(SDL_SCANCODE_O)) SetWeatherFX("surge_day");
473473
float current_weight;
474474
lerp(current_weight);
475475

src/xrEngine/xr_input.cpp

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -243,56 +243,76 @@ void CInput::OnFrame(void)
243243

244244
while (SDL_PollEvent(&event))
245245
{
246-
#ifndef _EDITOR
247-
if (Device.dwPrecacheFrame)
248-
continue;
249-
#endif
250246
BOOL b_break_cycle = false;
247+
251248
switch (event.type)
252249
{
253250
case SDL_KEYDOWN:
254251
{
255-
cbStack.back()->IR_OnKeyboardPress(event.key.keysym.scancode);
256-
257-
if (0 != event.key.repeat)
258-
cbStack.back()->IR_OnKeyboardHold(event.key.keysym.scancode);
259-
260252
KBState[event.key.keysym.scancode] = TRUE;
253+
#ifndef _EDITOR
254+
if (Device.dwPrecacheFrame == 0)
255+
#endif
256+
{
257+
cbStack.back()->IR_OnKeyboardPress(event.key.keysym.scancode);
258+
259+
for (u32 i = 0; i < COUNT_KB_BUTTONS; i++)
260+
if (KBState[i])
261+
cbStack.back()->IR_OnKeyboardHold(i);
262+
}
261263
}
262264
break;
263265
case SDL_KEYUP:
264266
{
265-
cbStack.back()->IR_OnKeyboardRelease(event.key.keysym.scancode);
266267
KBState[event.key.keysym.scancode] = FALSE;
268+
#ifndef _EDITOR
269+
if (Device.dwPrecacheFrame == 0)
270+
#endif
271+
{
272+
cbStack.back()->IR_OnKeyboardRelease(event.key.keysym.scancode);
273+
}
267274
}
268275
break;
269276
case SDL_MOUSEMOTION:
277+
#ifndef _EDITOR
278+
if (Device.dwPrecacheFrame == 0)
279+
#endif
270280
{
271281
timeStamp[0] = event.motion.timestamp;
272282
timeStamp[1] = event.motion.timestamp;
273283
cbStack.back()->IR_OnMouseMove(event.motion.xrel, event.motion.yrel);
274284
}
275285
break;
276286
case SDL_MOUSEBUTTONUP:
287+
#ifndef _EDITOR
288+
if (Device.dwPrecacheFrame == 0)
289+
#endif
277290
{
278-
cbStack.back()->IR_OnMouseRelease(event.button.button);
279291
mouseState[event.button.button] = FALSE;
292+
// cbStack.back()->IR_OnMouseRelease(event.button.button);
293+
cbStack.back()->IR_OnKeyboardRelease(SDL_NUM_SCANCODES + event.button.button);
280294
}
281295
break;
282296
case SDL_MOUSEBUTTONDOWN:
297+
#ifndef _EDITOR
298+
if (Device.dwPrecacheFrame == 0)
299+
#endif
283300
{
284-
cbStack.back()->IR_OnMousePress(event.button.button);
301+
mouseState[event.button.button] = TRUE;
302+
// cbStack.back()->IR_OnMousePress(event.button.button);
303+
cbStack.back()->IR_OnKeyboardPress(SDL_NUM_SCANCODES + event.button.button);
285304

286305
if (mouseState[event.button.button])
287306
cbStack.back()->IR_OnMouseHold(event.button.button);
288-
289-
mouseState[event.button.button] = TRUE;
290307
}
291308
break;
292309
case SDL_MOUSEWHEEL:
310+
#ifndef _EDITOR
311+
if (Device.dwPrecacheFrame == 0)
312+
#endif
293313
{
294314
timeStamp[2] = event.wheel.timestamp;
295-
cbStack.back()->IR_OnMouseWheel(event.wheel.direction);
315+
cbStack.back()->IR_OnMouseWheel(event.wheel.y);
296316
}
297317
break;
298318
case SDL_QUIT: // go to outside event loop

src/xrGame/CameraLook.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ void CCameraLook::OnActivate(CCameraBase* old_cam)
8585
#include "visual_memory_manager.h"
8686
#include "actor_memory.h"
8787

88-
int cam_dik = DIK_LSHIFT;
88+
int cam_dik = SDL_SCANCODE_LSHIFT;
8989

9090
Fvector CCameraLook2::m_cam_offset;
9191
void CCameraLook2::OnActivate(CCameraBase* old_cam) { CCameraLook::OnActivate(old_cam); }

src/xrGame/UIDialogHolder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ bool CDialogHolder::IR_UIOnKeyboardPress(SDL_Scancode dik)
251251
{
252252
Fvector2 cp = GetUICursor().GetCursorPosition();
253253
EUIMessages action =
254-
(dik == MOUSE_1) ? WINDOW_LBUTTON_DOWN : (dik == MOUSE_2) ? WINDOW_RBUTTON_DOWN : WINDOW_CBUTTON_DOWN;
254+
(dik == MOUSE_1) ? WINDOW_LBUTTON_DOWN : (dik == MOUSE_2) ? WINDOW_CBUTTON_DOWN : WINDOW_RBUTTON_DOWN;
255255
if (TIR->OnMouseAction(cp.x, cp.y, action))
256256
return true;
257257
}

src/xrGame/ai/monsters/snork/snork.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ void CSnork::debug_on_key(int key)
315315

316316
switch (key)
317317
{
318-
case DIK_1: m_target_node = actor->ai_location().level_vertex_id();
318+
case SDL_SCANCODE_1: m_target_node = actor->ai_location().level_vertex_id();
319319
}
320320
}
321321
#endif

src/xrGame/attachable_item.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -136,47 +136,47 @@ void attach_adjust_mode_keyb(int dik)
136136
if (!CAttachableItem::m_dbgItem)
137137
return;
138138

139-
bool b_move = !!(pInput->iGetAsyncKeyState(DIK_LSHIFT));
140-
bool b_rot = !!(pInput->iGetAsyncKeyState(DIK_LMENU));
139+
bool b_move = !!(pInput->iGetAsyncKeyState(SDL_SCANCODE_LSHIFT));
140+
bool b_rot = !!(pInput->iGetAsyncKeyState(SDL_SCANCODE_LGUI));
141141

142142
int axis = -1;
143-
if (pInput->iGetAsyncKeyState(DIK_Z))
143+
if (pInput->iGetAsyncKeyState(SDL_SCANCODE_Z))
144144
axis = 0;
145-
else if (pInput->iGetAsyncKeyState(DIK_X))
145+
else if (pInput->iGetAsyncKeyState(SDL_SCANCODE_X))
146146
axis = 1;
147-
if (pInput->iGetAsyncKeyState(DIK_C))
147+
if (pInput->iGetAsyncKeyState(SDL_SCANCODE_C))
148148
axis = 2;
149149

150150
if (!b_move && !b_rot)
151151
return;
152152

153153
switch (dik)
154154
{
155-
case DIK_LEFT:
155+
case SDL_SCANCODE_LEFT:
156156
{
157157
if (b_move)
158158
CAttachableItem::mov(axis, ATT_ITEM_MOVE_CURR);
159159
else
160160
CAttachableItem::rot(axis, ATT_ITEM_ROT_CURR);
161161
}
162162
break;
163-
case DIK_RIGHT:
163+
case SDL_SCANCODE_RIGHT:
164164
{
165165
if (b_move)
166166
CAttachableItem::mov(axis, -ATT_ITEM_MOVE_CURR);
167167
else
168168
CAttachableItem::rot(axis, -ATT_ITEM_ROT_CURR);
169169
}
170170
break;
171-
case DIK_PRIOR:
171+
case SDL_SCANCODE_PAGEUP:
172172
{
173173
if (b_move)
174174
ATT_ITEM_MOVE_CURR += ATT_ITEM_MOVE_STEP;
175175
else
176176
ATT_ITEM_ROT_CURR += ATT_ITEM_ROT_STEP;
177177
}
178178
break;
179-
case DIK_NEXT:
179+
case SDL_SCANCODE_PAGEDOWN:
180180
{
181181
if (b_move)
182182
ATT_ITEM_MOVE_CURR -= ATT_ITEM_MOVE_STEP;

src/xrGame/key_binding_registrator_script.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ SCRIPT_EXPORT(KeyBindings, (), {
7979
value("DIK_SYSRQ", int(DIK_SYSRQ)), value("DIK_HOME", int(DIK_HOME)),
8080
value("DIK_PRIOR", int(DIK_PRIOR)), value("DIK_RIGHT", int(DIK_RIGHT)),
8181
value("DIK_DOWN", int(DIK_DOWN)), value("DIK_INSERT", int(DIK_INSERT)),
82-
value("DIK_LWIN", int(DIK_LWIN)), value("DIK_APPS", int(DIK_APPS)), value("MOUSE_1", int(MOUSE_1)),
83-
value("MOUSE_3", int(MOUSE_3)), value("DIK_RETURN", int(DIK_RETURN)),
82+
value("DIK_LWIN", int(DIK_LWIN)), value("DIK_APPS", int(DIK_APPS)),
83+
value("MOUSE_1", int(MOUSE_1)), value("MOUSE_2", int(MOUSE_2)),
84+
value("MOUSE_3", int(MOUSE_3)), value("MOUSE_4", int(MOUSE_4)), value("MOUSE_5", int(MOUSE_5)),
85+
value("DIK_RETURN", int(DIK_RETURN)),
8486
value("DIK_NUMPADENTER", int(DIK_NUMPADENTER))]];
8587
});

src/xrGame/player_hud_tune.cpp

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,29 +21,29 @@ float _delta_rot = 0.05f;
2121

2222
bool is_attachable_item_tuning_mode()
2323
{
24-
return pInput->iGetAsyncKeyState(DIK_LSHIFT) || pInput->iGetAsyncKeyState(DIK_Z) ||
25-
pInput->iGetAsyncKeyState(DIK_X) || pInput->iGetAsyncKeyState(DIK_C);
24+
return pInput->iGetAsyncKeyState(SDL_SCANCODE_LSHIFT) || pInput->iGetAsyncKeyState(SDL_SCANCODE_Z) ||
25+
pInput->iGetAsyncKeyState(SDL_SCANCODE_X) || pInput->iGetAsyncKeyState(SDL_SCANCODE_C);
2626
}
2727

2828
void tune_remap(const Ivector& in_values, Ivector& out_values)
2929
{
30-
if (pInput->iGetAsyncKeyState(DIK_LSHIFT))
30+
if (pInput->iGetAsyncKeyState(SDL_SCANCODE_LSHIFT))
3131
{
3232
out_values = in_values;
3333
}
34-
else if (pInput->iGetAsyncKeyState(DIK_Z))
34+
else if (pInput->iGetAsyncKeyState(SDL_SCANCODE_Z))
3535
{ // strict by X
3636
out_values.x = in_values.y;
3737
out_values.y = 0;
3838
out_values.z = 0;
3939
}
40-
else if (pInput->iGetAsyncKeyState(DIK_X))
40+
else if (pInput->iGetAsyncKeyState(SDL_SCANCODE_X))
4141
{ // strict by Y
4242
out_values.x = 0;
4343
out_values.y = in_values.y;
4444
out_values.z = 0;
4545
}
46-
else if (pInput->iGetAsyncKeyState(DIK_C))
46+
else if (pInput->iGetAsyncKeyState(SDL_SCANCODE_C))
4747
{ // strict by Z
4848
out_values.x = 0;
4949
out_values.y = 0;
@@ -314,7 +314,7 @@ void hud_draw_adjust_mode()
314314
return;
315315

316316
LPCSTR _text = NULL;
317-
if (pInput->iGetAsyncKeyState(DIK_LSHIFT) && hud_adj_mode)
317+
if (pInput->iGetAsyncKeyState(SDL_SCANCODE_LSHIFT) && hud_adj_mode)
318318
_text =
319319
"press SHIFT+NUM 0-return 1-hud_pos 2-hud_rot 3-itm_pos 4-itm_rot 5-fire_point 6-fire_2_point "
320320
"7-shell_point "
@@ -347,34 +347,34 @@ void hud_draw_adjust_mode()
347347

348348
void hud_adjust_mode_keyb(int dik)
349349
{
350-
if (pInput->iGetAsyncKeyState(DIK_LSHIFT))
350+
if (pInput->iGetAsyncKeyState(SDL_SCANCODE_LSHIFT))
351351
{
352-
if (dik == DIK_NUMPAD0)
352+
if (dik == SDL_SCANCODE_KP_0)
353353
hud_adj_mode = 0;
354-
if (dik == DIK_NUMPAD1)
354+
if (dik == SDL_SCANCODE_KP_1)
355355
hud_adj_mode = 1;
356-
if (dik == DIK_NUMPAD2)
356+
if (dik == SDL_SCANCODE_KP_2)
357357
hud_adj_mode = 2;
358-
if (dik == DIK_NUMPAD3)
358+
if (dik == SDL_SCANCODE_KP_3)
359359
hud_adj_mode = 3;
360-
if (dik == DIK_NUMPAD4)
360+
if (dik == SDL_SCANCODE_KP_4)
361361
hud_adj_mode = 4;
362-
if (dik == DIK_NUMPAD5)
362+
if (dik == SDL_SCANCODE_KP_5)
363363
hud_adj_mode = 5;
364-
if (dik == DIK_NUMPAD6)
364+
if (dik == SDL_SCANCODE_KP_6)
365365
hud_adj_mode = 6;
366-
if (dik == DIK_NUMPAD7)
366+
if (dik == SDL_SCANCODE_KP_7)
367367
hud_adj_mode = 7;
368-
if (dik == DIK_NUMPAD8)
368+
if (dik == SDL_SCANCODE_KP_8)
369369
hud_adj_mode = 8;
370-
if (dik == DIK_NUMPAD9)
370+
if (dik == SDL_SCANCODE_KP_9)
371371
hud_adj_mode = 9;
372372
}
373-
if (pInput->iGetAsyncKeyState(DIK_LCONTROL))
373+
if (pInput->iGetAsyncKeyState(SDL_SCANCODE_LCTRL))
374374
{
375-
if (dik == DIK_NUMPAD0)
375+
if (dik == SDL_SCANCODE_KP_0)
376376
hud_adj_item_idx = 0;
377-
if (dik == DIK_NUMPAD1)
377+
if (dik == SDL_SCANCODE_KP_1)
378378
hud_adj_item_idx = 1;
379379
}
380380
}

src/xrGame/ui/UIDebugFonts.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ void CUIDebugFonts::InitDebugFonts(Frect r)
2222

2323
bool CUIDebugFonts::OnKeyboardAction(int dik, EUIMessages keyboard_action)
2424
{
25-
if (DIK_ESCAPE == dik)
25+
if (SDL_SCANCODE_ESCAPE == dik)
2626
HideDialog();
2727

28-
if (DIK_F12 == dik)
28+
if (SDL_SCANCODE_F12 == dik)
2929
return false;
3030

3131
return true;

0 commit comments

Comments
 (0)