-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[split] Fix compilation for web (and desktop) #3329
Conversation
@raysan5 I'm fairly happy with this first batch. I'm still testing but, in case you don't want that too many commits to pile up making it harder to review, I can submit other changes on a second batch. Also, some fixes here solve some issues on desktop in case you want to get those. |
@ubkp thanks for the review! we can merge it whenever you want! I prefer to keep merging it in small batches.
Sure! |
@raysan5 Awesome! Feel free to merge it then. The |
Merged! :) |
* Submodules (#3311) * Check in current state * Add submodules to Makefile and clean up some imports * Start moving InitGraphicsDeivce * Move android_main and CloseWindow() out of rcore * Move WindowShouldClose out of rcore * Move IsWindowHidden out of rcore * Move IsWindowMinimized out of rcore * Move IsWindowMaximized, IsWindowFocused and IsWindowResized out of rcore * Move ToggleFullscreen out of rcore * Move MaximizeWindow, MinimizeWindow and RestoreWindow out of rcore * Move 13 functions out of rcore: ToggleBorderlessWindowed SetWindowState ClearWindowState SetWindowIcon SetWindowIcons SetWindowTitle SetWindowPosition SetWindowMonitor SetWindowMinSize SetWindowMaxSize SetWindowSize SetWindowOpacity SetWindowFocused * Minor clean up, revert makefile change, include submodules directly in rcore * Fix makefile comment * Remove rcore.h from Makefile * Remove debug include * Move 18 functions from rcore to submodules GetWindowHandle GetMonitorCount GetCurrentMonitor GetMonitorPosition GetMonitorWidth GetMonitorHeight GetMonitorPhysicalHeight GetMonitorRefreshRate GetWindowPosition GetWindowScaleDPI GetMonitorName SetClipboardText GetClipboardText ShowCursor HideCursor EnableCursor DisableCursor GetTime * Move TakeScreenshot, OpenURL, GetGamepadName out of rcore into submodules * remove debugging #defines * Move GetMonitorPhysicalWidth from rcore to submodule * Move GetGamepadAxisCount from rcore * Move SetGamepadMappings out of rcore * Move GetMouseX, GetMouseY, GetMousePosition out of rcore * Move SetMousePosition out of rcore * Move GetMouseWheelMove out of rcore * Move the last functions out of rcore * Move shared function defs and some global var to rcore.h * Clean up rcore.c and rcore.h a little more * Remove unnecessary #define --------- Co-authored-by: MichaelFiber <[email protected]> * REVIEWED: `PLATFORM_DESKTOP` Windows building * Revert "REVIEWED: `PLATFORM_DESKTOP` Windows building" This reverts commit 71a1217. * Reviewed Windows building * [split] Fix compilation for web (and desktop) (#3329) * Fix compilation for web * Remove EM_ASM_INT from core_input_gestures_web example * Fix raymath undefined symbols for desktop and web * Remove raylib_opengl_interop from examples Makefile * Revert previous commit (8651c78) * Fix TraceLog for web and desktop * [split] `rcore`, `rcore_web` and `rcore_desktop` changes (batch 2) (#3334) * Fix formatting * Reapply commit 9d230d7 (#3305) that was missing * Reapplies commits 719365f (#3309) and 8a1779b (#3312) that were missing * Reapply commit 5c9cc3f (#3323) that was missing * Reapply commit a2b3b1e that was missing * Revert commit cef25c6 to fix macro redefined warning * Move rcore.h #include to after config.h to fix macro redefinitions warnings * [split] `rcore`, `web`, `desktop`, `android` changes (batch 3) (#3338) * First pass to remove unneeded platform macros for web * Second pass to remove unneeded platform macros for web * Move GetTouchX, GetTouchY, GetTouchPosition from rcore to web, desktop, android * Move SetMouseCursor from rcore to android, desktop, web * [split] `rcore`, `web`, `desktop`, `android` changes (batch 4) (#3343) * Fix ToggleBorderlessWindowed duplicated glfwSetWindowSize calls * First pass to remove unneeded platform macros for android * Second pass to remove unneeded platform macros for android * Remove unneeded platform macros for desktop * Relocate GetGamepadName and update SetGamepadMappings on android, desktop, web * Add missing comment to web * [split] `rcore`, `web`, `desktop`, `android` changes (batch 5) (#3345) * Move SetExitKey from core to android, desktop, web * Move some callbacks from core to desktop and web * Relocate emscripten callbacks on web * Relocate android callbacks on android * Revert "Relocate android callbacks on android" This reverts commit bbdbecc. * Updates UnloadVrStereoConfig on rcore * Update SetClipboardText on android * Fix screenMin/Max default values for android * [split] `rcore`, `drm` changes (#3347) * Tweak makefiles for PLATFORM_DRM and move rcore_drm's dependencies to rcore.h * Move drm functions to rcore_drm.c * Fix a typo in rcore.c * Add SetExitKey to rcore_drm.c --------- Co-authored-by: MichaelFiber <[email protected]> * Fix compilation for android (#3360) * Fix android include (#3364) * Reviewed platform split #3313 - Added file headers info - Added TRACELOG message for unimplemented functions - Reviewed code formatting and organization - Several code tweaks * REVIEWED: `GetDirectoryPath()` --------- Co-authored-by: MichaelFiber <[email protected]> Co-authored-by: MichaelFiber <[email protected]> Co-authored-by: ubkp <[email protected]>
PR changes
Fixes compilation for
PLATFORM_WEB
(R12).#include "GLFW/glfw3.h"
(R15) is necessary forCoreData
'sGLFWwindow *handle;
(R109) onPLATFORM_WEB
.Removes
EM_ASM_INT
fromcore_input_gestures_web
example (L311-L317) as per Fix compilation for PLATFORM_WEB #3328 (review).Fixes
undefined symbol
compilation errors fromraymath
forPLATFORM_DESKTOP
andPLATFORM_WEB
, by moving#define RAYMATH_IMPLEMENTATION
fromrcore.c
(L112) torcore.h
(R31).Alternative solution for item 3: b75e631 at [split] Including raymath.h in rcore.h is causing an issue #3331
Fixes
TraceLog
onPLATFORM_DESKTOP
andPLATFORM_WEB
by adding#define SUPPORT_TRACELOG
torcore.h
(R10). Also fixes thecore_custom_logging
example.Status
PLATFORM_WEB
,PLATFORM_DESKTOP
status #3339Environment
emscripten/emsdk
on Linux (Mint 21.1 64-bit).Edit 1: added line marks; added core_input_gestures_web fix.
Edit 2: updated status.
Edit 3: added fix for raymath undefined symbols for desktop and web; updated status.
Edit 4: added line marks; formatting.
Edit 5: updated status; updated comment regarding the raylib_opengl_interop example for web.
Edit 6, 7, 8, 9, 10, 11, 12, 13: updated status.
Edit 14: updated notes about examples/others.
Edit 15: linked alternative solution for item 3.
Edit 16: updated status and notes; formatting.
Edit 17: added fix for TraceLog and core_custom_logging example.
Edit 18: moved status to separate issue.