mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-27 04:00:42 +00:00
- generalized the special key handling for skipping cutscenes.
This commit is contained in:
parent
0c5729b0f6
commit
9e40e49c2c
6 changed files with 21 additions and 14 deletions
|
@ -126,3 +126,14 @@ inline void resetForcedSyncInput()
|
|||
{
|
||||
gamesetinput = false;
|
||||
}
|
||||
|
||||
inline bool specialKeyEvent(event_t* ev)
|
||||
{
|
||||
if (ev->type == EV_KeyDown || ev->type == EV_KeyUp)
|
||||
{
|
||||
int key = ev->data1;
|
||||
if (key == KEY_VOLUMEDOWN || key == KEY_VOLUMEUP || (key > KEY_LASTJOYBUTTON && key < KEY_PAD_LTHUMB_RIGHT)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -59,16 +59,11 @@ IMPLEMENT_CLASS(DImageScreen, true, false)
|
|||
|
||||
bool DSkippableScreenJob::OnEvent(event_t* evt)
|
||||
{
|
||||
if (evt->type == EV_KeyDown)
|
||||
{
|
||||
auto& key = evt->data1;
|
||||
bool ignoredkeys = key == KEY_VOLUMEDOWN || key == KEY_VOLUMEUP || (key > KEY_LASTJOYBUTTON && key < KEY_PAD_LTHUMB_RIGHT);
|
||||
if (!ignoredkeys)
|
||||
if (evt->type == EV_KeyDown && !specialKeyEvent(evt))
|
||||
{
|
||||
state = skipped;
|
||||
Skipped();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -230,6 +225,7 @@ public:
|
|||
}
|
||||
|
||||
if (jobs[index].job->state != DScreenJob::running) return false;
|
||||
|
||||
return jobs[index].job->OnEvent(ev);
|
||||
}
|
||||
|
||||
|
|
|
@ -858,7 +858,7 @@ public:
|
|||
|
||||
bool OnEvent(event_t* ev) override
|
||||
{
|
||||
if (ev->type == EV_KeyDown)
|
||||
if (ev->type == EV_KeyDown && !specialKeyEvent(ev))
|
||||
{
|
||||
if ((displaystate & printStatsAll) != printStatsAll)
|
||||
{
|
||||
|
|
|
@ -400,7 +400,7 @@ public:
|
|||
|
||||
bool OnEvent(event_t* ev) override
|
||||
{
|
||||
if (ev->type == EV_KeyDown)
|
||||
if (ev->type == EV_KeyDown && !specialKeyEvent(ev))
|
||||
{
|
||||
if ((displaystate & printStatsAll) != printStatsAll)
|
||||
{
|
||||
|
|
|
@ -808,7 +808,7 @@ public:
|
|||
}
|
||||
return true;
|
||||
}
|
||||
state = skipped;
|
||||
if (!specialKeyEvent(ev)) state = skipped;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -1163,7 +1163,7 @@ private:
|
|||
|
||||
bool OnEvent(event_t* ev)
|
||||
{
|
||||
if (ev->type == EV_KeyDown) skiprequest = true;
|
||||
if (ev->type == EV_KeyDown && !specialKeyEvent(ev)) skiprequest = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1278,7 +1278,7 @@ public:
|
|||
|
||||
bool OnEvent(event_t* ev)
|
||||
{
|
||||
if (ev->type == EV_KeyDown) skiprequest = true;
|
||||
if (ev->type == EV_KeyDown && !specialKeyEvent(ev)) skiprequest = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -389,7 +389,7 @@ private:
|
|||
|
||||
bool OnEvent(event_t* ev) override
|
||||
{
|
||||
if (ev->type == EV_KeyDown)
|
||||
if (ev->type == EV_KeyDown && !specialKeyEvent(ev))
|
||||
{
|
||||
if (State >= s_BonusRest && State < &s_BonusRest[countof(s_BonusRest)])
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue