Commit graph raylib/src/rcore.c
Author SHA1 Message Date
Jeffery Myers
4ed776368a
When the frame counter gets to 0, reset the FPS average counter. This allows the window to be closed and reopened with clean FPS stats. (#3445) 2023-10-23 10:11:50 +02:00
Ray
081fffd46e REVIEWED: Issue with functions definitions 2023-10-19 13:57:31 +02:00
Ray
982641228c REDESIGNED: Move platforms to separate directory #3313 2023-10-19 13:36:10 +02:00
Ray
53cd60bb29 REVIEWED: Move InitWindow()/CloseWindow() to rcore.c #3313 2023-10-18 00:03:47 +02:00
Ray
84818c96f2 ADDED: NEW PLATFORM: SDL (DESKTOP) rcore_desktop_sdl #3313 2023-10-16 00:51:44 +02:00
MichaelFiber
18bedbd095
[core] Change axisCount to be an array (#3421)
* Update `PLATFORM_DRM` implementation of `GetGamepadAxisCount`

* Update

* Update `PLATFORM_DRM` implementation of `GetGamepadName`

* Add example to test gamepad info functions
Fix typo

* Update new gamepad info example

* Move axis count update out of GamepadThread - race condition

* Remove pointless if statement

* Start integrating stuff from the mikesinput lib

* Add more logging

* Add semicolon

* Add forgotten static

* More fixes

* Update axisCount to be array

* More debugging

* Add forgotten index to ready check

* Add path logging

* Missing parenthesis

* Add missing slash

* Fix axis count being reset to 0

* Fix missing paren

* Test polling joystick button events

* Major updates

* Fix missing array index

* Fix another missing array index

* Update example

* dumb logging

* Wrong constant for ev.code handling

* More dumb logging

* Remove some logging

* Add FPS to gamepad info example and try for max FPS

* tweak

* Revert example

* Add fps back

* Clean up after merge

* Switch axisCount to be an array
2023-10-14 22:51:35 +02:00
Ray
b34c2ecbcb WARNING: REDESIGN: InitPlatform() to initialize all platform data #3313
`InitGraphicsDevice()` could be confusing because the function actually initialized many things: window, graphics, inputs, callbacks, timming, storage... restructured it.
2023-10-14 12:49:54 +02:00
Ray
4521a142c3 tweaks 2023-10-14 11:48:20 +02:00
Ray
005ba155c0 Minor tweaks 2023-10-14 10:56:09 +02:00
Ray
2e65bc675c Moved some platforms functions to generic rcore #3313
Reviewed `InitWindow()` to clearly note platform specific code
2023-10-13 14:14:16 +02:00
Ray
876e6b3a0d REVIEWED: TextFormat(), added "..." for truncation #3366
It seems more standard than [TRUN]
2023-10-11 20:25:09 +02:00
Ray
61af8e7631 REVIEWED: #3399, Fix #3366 2023-10-11 12:20:03 +02:00
Murlocohol
28fb58f0ea
[rtext] TextFormat() warn user if buffer overflow occured. (#3399)
* [rtext] TextFormat now alerts user to truncation.

* Update rtext.c

* Update rcore.c

* Update rtext.c
2023-10-11 12:15:40 +02:00
Ray
da9c2894fe Reorganized some functions, WaitTime() is common to all platforms 2023-10-11 12:10:38 +02:00
Ray
a2c5f01059 Reordered one function 2023-10-11 11:55:12 +02:00
Ray
0d175a69ae REVIEWED: Mouse and Touch functions generic to all platforms #3313 2023-10-11 11:36:44 +02:00
Ray
6ebfec99c5 Added gamepad functions as generic for all platforms 2023-10-11 11:14:03 +02:00
Ray
101a9b0445 Added comments and review some functions #3313 2023-10-10 11:59:41 +02:00
SuperUserNameMan
dfb0326d00
Update rcore.c (#3326) 2023-10-09 09:54:43 +02:00
Ray
682992e868 REVIEWED: Reorganize functions
`TakeScreenshot()` moved to `rcore.c`
2023-10-09 09:45:57 +02:00
Ray
5ed7717f0d REVIEWED: WaitTime(), added validation #3377 2023-10-09 01:21:46 +02:00
Ray
a0b30b0363 REVIEWED: SetupViewport() macOS #3313 2023-10-09 01:02:19 +02:00
Ray
df8d3a5afb REVIEWED: Some warnings #3313 2023-10-09 00:47:22 +02:00
Ray
d445fdaa19 WARNING: REDESIGN: Move platform specific data to platform submodules #3313
REVIEWED: Defines, macros, types and tweaks
2023-10-09 00:41:06 +02:00
Ray
bbbaae5562 Reviewed #3313 2023-10-08 23:38:52 +02:00
Ray
fecf56e15a
WARNING: rcore module split per-platform **BIG CHANGE** (#3388)
* 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 <michael@cubeofb.org>

* REVIEWED: `PLATFORM_DESKTOP` Windows building

* Revert "REVIEWED: `PLATFORM_DESKTOP` Windows building"

This reverts commit 71a12171f7.

* 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 bbdbecc01e.

* 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 <michael@cubeofb.org>

* 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 <42419558+michaelfiber@users.noreply.github.com>
Co-authored-by: MichaelFiber <michael@cubeofb.org>
Co-authored-by: ubkp <118854183+ubkp@users.noreply.github.com>
2023-10-08 18:36:07 +02:00
Brian E
7351240218
[rcore] reveiwed GetWorldToScreenEx (#3351)
* reveiwed GetWorldToScreenEx
Used the inputted "width" instead of global CORE.window.
Used Vector3Transform instead of quaternion.

* reverted accidental unrelated change

* reverted Vector3Transform back

* fixed mistyped result

---------

Co-authored-by: Brian-E <brian@intra.fo>
2023-10-01 23:00:25 +02:00
Ray
a2b3b1ebe4 REVIEWED: CompressData(), possible stack overflow
`struct sdefl` is almost 1MB, in some platforms it could generated a stack overflow, for example WebAssembly, where by default stack is only 65KB!
2023-09-20 21:23:43 +02:00
Ray
5c9cc3f9f7 Reviewed #3323 2023-09-18 12:07:40 +02:00
Ray
b9acbbbc66 Fix #3323 2023-09-18 11:50:37 +02:00
ubkp
8a1779b2ad
Rename windowM* to screenM* (#3312) 2023-09-14 11:57:23 +02:00
ubkp
719365f209
Add SetWindowMaxSize for desktop and web (#3309)
* Add SetWindowMaxSize for desktop and web

* Remove SizeInt and respective adjustments
2023-09-13 16:37:11 +02:00
Peter0x44
9d230d753b
Implement FLAG_WINDOW_RESIZABLE for web (#3305)
Fixes #3231
2023-09-11 19:03:33 +02:00
MichaelFiber
37f60e75e7
Remove unneeded #if (#3301)
Co-authored-by: MichaelFiber <michael@cubeofb.org>
2023-09-09 09:47:07 +02:00
Ray
b68d0850b1 Some code restructuring for input functions, consistency review 2023-09-08 20:01:52 +02:00
MichaelFiber
18e9784c6d
Remove PLATFORM_RPI (#3232)
* Remove PLATFORM_RPI

* remove build artifacts

---------

Co-authored-by: MichaelFiber <michael@cubeofb.org>
Co-authored-by: Ray <raysan5@gmail.com>
2023-09-07 17:42:28 +02:00
Ray
b0c6972e5c Update rcore.c 2023-09-06 23:33:29 +02:00
Ray
d7debba222 Mouse offset and scaling must be considered also on web! 2023-09-06 23:16:31 +02:00
Ray
bdda1efd44 Fix #3247 2023-09-04 18:43:25 +02:00
Ray
6e18d96e7a Some tweaks 2023-09-02 12:54:36 +02:00
Ray
8157d4283e REVIEWED: GetFileLength(), added comment #3262 2023-08-29 19:26:15 +02:00
Ray
150663f78a Use type name instead of valid specifier
long long --> long long int
2023-08-29 19:25:44 +02:00
Ethan Conneely
fc0d132566
Remove e from secondes (#3270) 2023-08-28 22:49:45 +02:00
Nickolas McDonald
9c9fba6a6c
[Feature] IsKey... safety checks and more (#3256)
* [Feature] Add GetKeyRepeat

* Update rcore.c

* Simpler design, only one repeat per frame

* Update config.h

* Update rcore.c

* Add KEYBOARD_KEYS_MASK

* Update config.h

* reversions

* Update rcore.c

* Update rcore.c

* change docs

* Update rcore.c

* Update rcore.c

* Update rcore.c

* Update rcore.c

* Update rcore.c

* Update raylib.h

* Update rcore.c

* Update rcore.c

* Update rcore.c

* Update rcore.c

* Update rcore.c

* Update rcore.c

* Update rcore.c

* Update rcore.c
2023-08-26 14:48:28 +02:00
ubkp
4fa66f2635
Fix SetClipboardText for web (#3257) 2023-08-26 14:40:30 +02:00
vitopigno
5ed83dfa29
Update rcore.c (#3255) 2023-08-21 00:36:00 +02:00
Ray
dfd0436428 Reviewed IsKeyPressedRepeat() #3248 2023-08-21 00:34:35 +02:00
actondev (Christos)
b3f82a148a
Add IsKeyPressedRepeat (desktop only) (#3245)
Since the key pressed are handle by comparing current vs previous
state (ie frame), a special way is needed to handle key repeats.
2023-08-20 23:53:20 +02:00
Ray
93f59a6f59 Review tabs and trail-spaces 2023-08-10 22:47:17 +02:00
RadsammyT
03ecf2202e
Fix typos in rcore.c comments (#3234)
* Fix typos in rcore.c comments

thought i corrected "dettach"
Fix typos in rcore.c comments

* 'fordward' > forward
2023-08-08 20:10:40 +02:00