fixed back button on android

This commit is contained in:
Vadim Grigoruk 2018-08-09 23:18:52 +03:00
parent 4a02a07523
commit 3dbf040e19
5 changed files with 23 additions and 21 deletions

View File

@ -18,6 +18,7 @@ LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/moonscript \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/wren-0.1.0\src\include \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/sdl-gpu/include \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/fennel \
$(LOCAL_PATH)/../../../../include
# Add your application source files here...

View File

@ -40,6 +40,7 @@
[SDL_SCANCODE_0] = tic_key_0,
[SDL_SCANCODE_RETURN] = tic_key_return,
[SDL_SCANCODE_ESCAPE] = tic_key_escape,
[SDL_SCANCODE_AC_BACK] = tic_key_escape,
[SDL_SCANCODE_BACKSPACE] = tic_key_backspace,
[SDL_SCANCODE_TAB] = tic_key_tab,
[SDL_SCANCODE_SPACE] = tic_key_space,

View File

@ -1334,7 +1334,6 @@ static void processShortcuts()
if(keyWasPressedOnce(tic_key_escape))
{
impl.mode == TIC_MENU_MODE ? hideGameMenu() : showGameMenu();
// impl.gamepad.backProcessed = true;
}
else if(keyWasPressedOnce(tic_key_f11)) goFullscreen();
else if(keyWasPressedOnce(tic_key_return))

View File

@ -666,15 +666,7 @@ static void processJoysticks()
if(back)
{
tic_mem* tic = platform.studio->tic;
for(s32 i = 0; i < TIC80_KEY_BUFFER; i++)
{
if(!tic->ram.input.keyboard.keys[i])
{
tic->ram.input.keyboard.keys[i] = tic_key_escape;
break;
}
}
tic->ram.input.keyboard.keys[0] = tic_key_escape;
}
}
}
@ -688,7 +680,19 @@ static void processJoysticks()
static void processGamepad()
{
#if !defined(__EMSCRIPTEN__) && !defined(__MACOSX__)
processJoysticks();
{
platform.studio->tic->ram.input.gamepads.data = 0;
platform.studio->tic->ram.input.gamepads.data |= platform.gamepad.touch.data;
platform.studio->tic->ram.input.gamepads.data |= platform.gamepad.joystick.data;
}
}
static void processTouchInput()
{
#if !defined(__EMSCRIPTEN__) && !defined(__MACOSX__)
{
s32 devices = SDL_GetNumTouchDevices();
for (s32 i = 0; i < devices; i++)
@ -703,19 +707,12 @@ static void processGamepad()
? processTouchGamepad()
: processTouchKeyboard();
#endif
processJoysticks();
{
platform.studio->tic->ram.input.gamepads.data = 0;
platform.studio->tic->ram.input.gamepads.data |= platform.gamepad.touch.data;
platform.studio->tic->ram.input.gamepads.data |= platform.gamepad.joystick.data;
}
}
static void pollEvent()
{
tic80_input* input = &platform.studio->tic->ram.input;
tic_mem* tic = platform.studio->tic;
tic80_input* input = &tic->ram.input;
{
input->mouse.btns = 0;
@ -783,6 +780,7 @@ static void pollEvent()
processMouse();
processKeyboard();
processTouchInput();
processGamepad();
}
@ -1361,6 +1359,9 @@ static void emsGpuTick()
static s32 start(s32 argc, char **argv, const char* folder)
{
SDL_SetHint(SDL_HINT_WINRT_HANDLE_BACK_BUTTON, "1");
SDL_SetHint(SDL_HINT_ACCELEROMETER_AS_JOYSTICK, "0");
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK);
initSound();

View File

@ -29,7 +29,7 @@
#define TIC_VERSION_MAJOR 0
#define TIC_VERSION_MINOR 70
#define TIC_VERSION_PATCH 0
#define TIC_VERSION_STATUS "-dev.2"
#define TIC_VERSION_STATUS "-dev.5"
#if defined(TIC80_PRO)
#define TIC_VERSION_POST " Pro"