|
|
@ -1949,6 +1949,7 @@ bool IsFileExtension(const char *fileName, const char *ext) |
|
|
|
|
|
|
|
if (fileExt != NULL) |
|
|
|
{ |
|
|
|
#if defined(SUPPORT_TEXT_MANIPULATION) |
|
|
|
int extCount = 0; |
|
|
|
const char **checkExts = TextSplit(ext, ';', &extCount); |
|
|
|
|
|
|
@ -1963,6 +1964,9 @@ bool IsFileExtension(const char *fileName, const char *ext) |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
#else |
|
|
|
if (strcmp(fileExt, ext) == 0) result = true; |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
return result; |
|
|
@ -2509,8 +2513,8 @@ float GetGamepadAxisMovement(int gamepad, int axis) |
|
|
|
|
|
|
|
#if !defined(PLATFORM_ANDROID) |
|
|
|
if ((gamepad < MAX_GAMEPADS) && CORE.Input.Gamepad.ready[gamepad] && (axis < MAX_GAMEPAD_AXIS) && |
|
|
|
(axis == GAMEPAD_AXIS_LEFT_TRIGGER || axis == GAMEPAD_AXIS_RIGHT_TRIGGER || |
|
|
|
fabsf(CORE.Input.Gamepad.axisState[gamepad][axis]) >= 0.2f)) value = CORE.Input.Gamepad.axisState[gamepad][axis]; |
|
|
|
(p">(axis == GAMEPAD_AXIS_LEFT_TRIGGER) || p">(axis == GAMEPAD_AXIS_RIGHT_TRIGGER) || |
|
|
|
p">(fabsf(CORE.Input.Gamepad.axisState[gamepad][axis]) >= 0.2f))) value = CORE.Input.Gamepad.axisState[gamepad][axis]; |
|
|
|
#endif |
|
|
|
|
|
|
|
return value; |
|
|
@ -3486,8 +3490,11 @@ static void InitTimer(void) |
|
|
|
static void Wait(float ms) |
|
|
|
{ |
|
|
|
#if defined(PLATFORM_UWP) |
|
|
|
UWPGetSleepFunc()(ms / 1000); |
|
|
|
#elif defined(SUPPORT_BUSY_WAIT_LOOP) |
|
|
|
UWPGetSleepFunc()(ms/1000); |
|
|
|
return; |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(SUPPORT_BUSY_WAIT_LOOP) |
|
|
|
double prevTime = GetTime(); |
|
|
|
double nextTime = 0.0; |
|
|
|
|
|
|
@ -3515,7 +3522,7 @@ static void Wait(float ms) |
|
|
|
usleep(ms*1000.0f); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(SUPPORT_HALFBUSY_WAIT_LOOP)// && !defined(PLATFORM_UWP) |
|
|
|
#if defined(SUPPORT_HALFBUSY_WAIT_LOOP) |
|
|
|
while (GetTime() < destTime) { } |
|
|
|
#endif |
|
|
|
#endif |
|
|
@ -3677,8 +3684,9 @@ static void PollInputEvents(void) |
|
|
|
// Get current gamepad state |
|
|
|
// NOTE: There is no callback available, so we get it manually |
|
|
|
// Get remapped buttons |
|
|
|
GLFWgamepadstate state; |
|
|
|
GLFWgamepadstate state = { 0 }; |
|
|
|
glfwGetGamepadState(i, &state); // This remapps all gamepads so they have their buttons mapped like an xbox controller |
|
|
|
|
|
|
|
const unsigned char *buttons = state.buttons; |
|
|
|
|
|
|
|
for (int k = 0; (buttons != NULL) && (k < GLFW_GAMEPAD_BUTTON_DPAD_LEFT + 1) && (k < MAX_GAMEPAD_BUTTONS); k++) |
|
|
@ -3705,7 +3713,7 @@ static void PollInputEvents(void) |
|
|
|
CORE.Input.Gamepad.currentState[i][GAMEPAD_BUTTON_LEFT_TRIGGER_2] = (char)(CORE.Input.Gamepad.axisState[i][GAMEPAD_AXIS_LEFT_TRIGGER] > 0.1); |
|
|
|
CORE.Input.Gamepad.currentState[i][GAMEPAD_BUTTON_RIGHT_TRIGGER_2] = (char)(CORE.Input.Gamepad.axisState[i][GAMEPAD_AXIS_RIGHT_TRIGGER] > 0.1); |
|
|
|
|
|
|
|
CORE.Input.Gamepad.axisCount = GLFW_GAMEPAD_AXIS_LAST + 1; |
|
|
|
CORE.Input.Gamepad.axisCount = GLFW_GAMEPAD_AXIS_LAST; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -4294,7 +4302,7 @@ static EM_BOOL EmscriptenFullscreenChangeCallback(int eventType, const Emscripte |
|
|
|
// Register keyboard input events |
|
|
|
static EM_BOOL EmscriptenKeyboardCallback(int eventType, const EmscriptenKeyboardEvent *keyEvent, void *userData) |
|
|
|
{ |
|
|
|
if ((eventType == EMSCRIPTEN_EVENT_KEYPRESS) && (keyEvent->key == 27)) // ESCAPE key |
|
|
|
if ((eventType == EMSCRIPTEN_EVENT_KEYPRESS) && (keyEvent->keyCode == 27)) // ESCAPE key |
|
|
|
{ |
|
|
|
emscripten_exit_pointerlock(); |
|
|
|
} |
|
|
|