From e4ea116857464707d2508ae66f8feae8b68d5594 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 10 Nov 2023 19:25:28 +0100 Subject: [PATCH] Reviewing automation events on web... --- examples/core/core_automation_events.c | 8 ++++++++ src/platforms/rcore_desktop.c | 2 +- src/platforms/rcore_web.c | 9 +++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/examples/core/core_automation_events.c b/examples/core/core_automation_events.c index 136e1e50b..3ca3d4ede 100644 --- a/examples/core/core_automation_events.c +++ b/examples/core/core_automation_events.c @@ -211,6 +211,8 @@ int main(void) eventRecording = false; ExportAutomationEventList(aelist, "automation.rae"); + + TraceLog(LOG_INFO, "RECORDED FRAMES: %i", aelist.count); } else { @@ -245,6 +247,9 @@ int main(void) // NOTE: Multiple events could be executed in a single frame while (playFrameCounter == aelist.events[currentPlayFrame].frame) { + TraceLog(LOG_INFO, "PLAYING: PlayFrameCount: %i | currentPlayFrame: %i | Event Frame: %i, param: %i | current Time: %f", + playFrameCounter, currentPlayFrame, aelist.events[currentPlayFrame].frame, aelist.events[currentPlayFrame].params[0]); + PlayAutomationEvent(aelist.events[currentPlayFrame]); currentPlayFrame++; @@ -253,6 +258,9 @@ int main(void) eventPlaying = false; currentPlayFrame = 0; playFrameCounter = 0; + + TraceLog(LOG_INFO, "FINISH PLAYING!"); + break; } } diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 426d9fc01..5a3627cde 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -1106,12 +1106,12 @@ void PollInputEvents(void) // Reset keys/chars pressed registered CORE.Input.Keyboard.keyPressedQueueCount = 0; CORE.Input.Keyboard.charPressedQueueCount = 0; - // Reset key repeats for (int i = 0; i < MAX_KEYBOARD_KEYS; i++) CORE.Input.Keyboard.keyRepeatInFrame[i] = 0; // Reset last gamepad button/axis registered state CORE.Input.Gamepad.lastButtonPressed = 0; // GAMEPAD_BUTTON_UNKNOWN //CORE.Input.Gamepad.axisCount = 0; + // Keyboard/Mouse input polling (automatically managed by GLFW3 through callback) // Register previous keys states diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index 1fe4d5841..2b9da11b4 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -559,12 +559,12 @@ void PollInputEvents(void) // Reset keys/chars pressed registered CORE.Input.Keyboard.keyPressedQueueCount = 0; CORE.Input.Keyboard.charPressedQueueCount = 0; - // Reset key repeats for (int i = 0; i < MAX_KEYBOARD_KEYS; i++) CORE.Input.Keyboard.keyRepeatInFrame[i] = 0; // Reset last gamepad button/axis registered state CORE.Input.Gamepad.lastButtonPressed = 0; // GAMEPAD_BUTTON_UNKNOWN //CORE.Input.Gamepad.axisCount = 0; + // Keyboard/Mouse input polling (automatically managed by GLFW3 through callback) // Register previous keys states @@ -592,7 +592,6 @@ void PollInputEvents(void) // so, if mouse is not moved it returns a (0, 0) position... this behaviour should be reviewed! //for (int i = 0; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.position[i] = (Vector2){ 0, 0 }; - CORE.Window.resizedLastFrame = false; // Gamepad support using emscripten API // NOTE: GLFW3 joystick functionality not available in web @@ -661,6 +660,12 @@ void PollInputEvents(void) CORE.Input.Gamepad.axisCount[i] = gamepadState.numAxes; } } + + CORE.Window.resizedLastFrame = false; + + // This code does not seem to do anything?? + //if (CORE.Window.eventWaiting) glfwWaitEvents(); // Wait for in input events before continue (drawing is paused) + //else glfwPollEvents(); // Poll input events: keyboard/mouse/window events (callbacks) }