Browse Source

Allow controller events to also interupt attract mode

pull/527/head
Anders Jenbo 6 years ago
parent
commit
faaddcfd28
  1. 60
      SourceX/DiabloUI/diabloui.cpp

60
SourceX/DiabloUI/diabloui.cpp

@ -189,6 +189,29 @@ void selhero_CatToName(char *in_buf, char *out_buf, int cnt)
void UiFocusNavigation(SDL_Event *event)
{
switch (event->type) {
case SDL_KEYUP:
case SDL_MOUSEBUTTONUP:
case SDL_MOUSEMOTION:
#ifndef USE_SDL1
case SDL_MOUSEWHEEL:
#endif
case SDL_JOYBUTTONUP:
case SDL_JOYAXISMOTION:
case SDL_JOYBALLMOTION:
case SDL_JOYHATMOTION:
#ifndef USE_SDL1
case SDL_FINGERUP:
case SDL_FINGERMOTION:
case SDL_CONTROLLERBUTTONUP:
case SDL_CONTROLLERAXISMOTION:
case SDL_WINDOWEVENT:
#endif
case SDL_SYSWMEVENT:
mainmenu_restart_repintro();
break;
}
switch (GetMenuAction(*event)) {
case MenuAction::SELECT:
UiFocusNavigationSelect();
@ -217,36 +240,6 @@ void UiFocusNavigation(SDL_Event *event)
break;
}
switch (event->type) {
case SDL_KEYUP:
case SDL_MOUSEBUTTONUP:
case SDL_MOUSEMOTION:
#ifndef USE_SDL1
case SDL_MOUSEWHEEL:
#endif
case SDL_JOYBUTTONUP:
case SDL_JOYAXISMOTION:
case SDL_JOYBALLMOTION:
case SDL_JOYHATMOTION:
#ifndef USE_SDL1
case SDL_FINGERUP:
case SDL_FINGERMOTION:
case SDL_CONTROLLERBUTTONUP:
case SDL_CONTROLLERAXISMOTION:
#endif
case SDL_SYSWMEVENT:
mainmenu_restart_repintro();
break;
#ifndef USE_SDL1
case SDL_WINDOWEVENT:
if (event->window.event == SDL_WINDOWEVENT_SHOWN)
gbActive = true;
else if (event->window.event == SDL_WINDOWEVENT_HIDDEN)
gbActive = false;
break;
#endif
}
if (SDL_IsTextInputActive()) {
switch (event->type) {
case SDL_KEYDOWN: {
@ -317,6 +310,13 @@ void UiHandleEvents(SDL_Event *event)
InitController();
return;
}
if (event->type == SDL_WINDOWEVENT) {
if (event->window.event == SDL_WINDOWEVENT_SHOWN)
gbActive = true;
else if (event->window.event == SDL_WINDOWEVENT_HIDDEN)
gbActive = false;
}
#endif
}

Loading…
Cancel
Save