Commit Graph

3408 Commits

Author SHA1 Message Date
Ray
24dae29a03 Review latest PR and some formatting 2021-03-22 20:41:33 +01:00
Jeffery Myers
2c0a533948
[AUDIO] Music Looping enhancements (#1665)
* Add loop functions for music files.
Tell xm tracker to loop tracker when loop state changes.
Don't let looped xm tracker streams restart, they are infinite
Use modulo to make time tracker for xm looped streams work correctly.

* Remove loop functions, set XM loop in update based on flag.
Formatting cleanups.

Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-03-22 20:36:13 +01:00
Jeffery Myers
b573ff3e7a
[AUDIO] Use device native sample rates (#1660)
* Init MinAudio to a sample rate of 0 to let the device pick the rate.
Read the rate from the device after it starts up.
Convert AUDIO_DEVICE_SAMPLE_RATE from a #def into an int, that is set from the device's rate
Set all sample systems to use the AUDIO_DEVICE_SAMPLE_RATE as the target rate to minimize resampling.

* use device sample rate instead of separate var
let config define a device sample rate if it wants to, but let the default be 0 for native rate.

* Don't use fixed sample rates for tracker files.
Remove config default audio buffer size and replace with a function that computes one for a reasonable frame rate at the output sample rate.
2021-03-21 22:07:55 +01:00
Ray
c37f61d31f REVIEWED: rlgl module #1523 2021-03-21 20:31:35 +01:00
Ray
2f943aaff0 Reverting align change #1658 2021-03-21 18:32:05 +01:00
Ray
ed4ca6a7f3 WARNING: BREAKING: rlgl module redesign -WIP-
- Some rlgl functions have been moved to core
 - Some functions have been made internal to rlgl
 - rlgl functions prefixed with rl*()
2021-03-21 01:29:31 +01:00
Ray
f4f6f665f7 Fixed possible issue with memory alignment #1658 2021-03-20 21:02:20 +01:00
Ray
dcde99bbb8 Corrected issue with HighDPI on macOS 2021-03-20 20:58:24 +01:00
Ray
95f9a6171b Review HighDPI macOS support #1510 2021-03-20 20:06:38 +01:00
Sean Heber
f4d6bad607
Considering the window's scale when setting the viewport. (#1659)
This appears to fix the issue with macOS windows opening with the wrong scale.
2021-03-20 19:57:29 +01:00
Ray
a76fcaba3e BIG CHANGE: REDESIGNED: Vr device simulator #1582
Vr simulator has been moved to core module and completely redesigned. Now user is in charge of stereo-render fbo and also in full control of distortion shader. Code is a bit more complex but better aligned with other raylib examples.
2021-03-20 18:36:25 +01:00
Ray
5049137715 Added KEY_NULL #520 2021-03-20 13:08:13 +01:00
Ray
4fb6f4af75 Merge branch 'master' of https://github.com/raysan5/raylib 2021-03-20 13:02:53 +01:00
Ray
95282edaf9 REVIEWED: HighDPI support on macOS retina #1510 2021-03-20 13:02:44 +01:00
Rabia Alhaffar
96e5e0dfb2
Fixed funny typo mistake... (#1657) 2021-03-20 01:18:44 +01:00
Ray
442abaab72 Updated example assets 2021-03-19 22:39:39 +01:00
Ray
5967c1ba1a REVIEWED: BeginMode3D() 2021-03-19 21:55:47 +01:00
Ray
9909068714 Removed trailing spaces 2021-03-19 19:43:44 +01:00
Ray
e28f754fbe Reviewed latest PR: formatting and some comments 2021-03-19 19:42:36 +01:00
Chris
45670fbf2d
Optimize DrawTexturePro and DrawRectanglePro transformations (#1632)
* Optimize DrawTexturePro and DrawRectanglePro transformations
- Add check so rotation is only applied if rotation != 0.0f.
- Replace matrix usage by calculating the vertex data directly.

* Fix error with windows build and trim whitespace
2021-03-19 19:19:10 +01:00
frithrah
2f367a905e
Changed DrawRing and DrawCircleSector angle params from int to float to allow greater accuracy. (#1656)
Co-authored-by: Simon <simon@frithrah.com>
2021-03-19 19:13:55 +01:00
Ray
fe9181c1b4 REVIEWED: QuaternionFromEuler() #1651 2021-03-19 18:24:12 +01:00
Ray
3e25760950 REMOVED: GetMouseCursor()
This function could be confusing depending on the context, it's better to let the user track the current active cursor
2021-03-19 18:20:14 +01:00
Ray
8527dbc6e2 WARNING: REMOVED: GamepadNumber enum 2021-03-19 18:16:05 +01:00
Ray
07d82a91c5 WARNING: BREAKING: RENAMED: camera.type to camera.projection 2021-03-19 13:56:46 +01:00
Ray
d4e2c331b1 REVIEWED: BeginMode3D()
Simplified some code
2021-03-19 13:20:23 +01:00
Ray
a1d9987e7c WARNING: BREAKING: REVIEWED some enums naming
Now enum names are more consistent between them.
2021-03-19 13:19:54 +01:00
Ray
664fbb87f5 REVIEWED: Material params #1649
Just assigned a fixed memory size for custom Material parameters in case of being required, so we shouldn't worry about allocating/freeing them.
2021-03-18 13:57:53 +01:00
Ray
ca1f2f9078 REVIEWED: MatrixRotateZYX() #1642 2021-03-18 13:47:18 +01:00
Ray
8b0574a217 REVIEWED: DrawLine3D() #1643 2021-03-18 13:41:58 +01:00
Ray
2b9d81c9bc REVIEWED: QuaternionFromEuler() #1651 2021-03-18 13:38:56 +01:00
Ray
1cc838cef4 Update textures.c 2021-03-17 19:37:03 +01:00
Ray
aba69146f2 Support instancing in OpenGL ES 2.0 if available
Checking for extension and enabling it if available
2021-03-17 13:56:00 +01:00
Ray
3c76b5cc8e Update to latest emscripten 2021-03-17 13:53:31 +01:00
Hristo Stamenov
bc9194690c
Implement UnloadModelAnimations (#1648) 2021-03-14 19:30:18 +01:00
Ray
f7e48c95cd Added some comments on libc dependencies 2021-03-14 14:14:51 +01:00
Ray
1afd56dbf6 Use UnloadFileData() 2021-03-14 14:14:31 +01:00
Hristo Stamenov
f9b79403d1
Improve gltf support (#1647)
* Implement a load values from accessor function.
Added some more value types for the different GLTF attributes.
Fixed crash when loading animated triangle.

* Split GLTF model loading into separate functions for readability.

* Fixed the already working models that I broke when introducing GLTFReadValue.
Improved the example for gltf models to be able to switch between a few models.

* Removed license from screen. It is pu inside a license file anyway.

* Small improvements on the naming of functions
Removed (*model). and replaced it with model->
2021-03-14 12:09:31 +01:00
Ray
01e28263be WARNING: VERY BREAKING CHANGE: Renamed some enum values for consistency
Some enums values have been renamed to be more consistent and also provide a more detailed description:
 - ShaderLocationIndex:    LOC_VERTEX_POSITION -> SHADER_SHADER_LOC_VERTEX_POSITION
 - ShaderUniformDataType:  UNIFORM_VEC2 -> SHADER_UNIFORM_VEC2
 - MaterialMapType: MAP_ALBEDO -> MATERIAL_MAP_ALBEDO
 - PixelFormat: UNCOMPRESSED_GRAYSCALE -> PIXELFORMAT_UNCOMPRESSED_GRAYSCALE
2021-03-14 11:05:51 +01:00
Ray
fe3256be9f Renamed some functions to use latest raylib version 2021-03-12 18:00:36 +01:00
Ray
0872365938 Add config flag: SUPPORT_WINMM_HIGHRES_TIMER #1641
Useful to avoid WinMM requirement and useful to avoid possible performance issues.
2021-03-12 17:18:48 +01:00
Ray
755ed388b2 Minor tweak to avoid warning 2021-03-12 17:17:53 +01:00
Hristo Stamenov
5c2983f510
Gltf model and animations exploring problems (#1635)
* Added bone binding to whole mesh and not only set vertices.
+ Also added missed setting of the animation count.
+ Removed double ; on one line

* Added more of the gltf sample models

https://github.com/KhronosGroup/glTF-Sample-Models
We need to make it working for all of them.

* Binding to initial bind pose added.

* Fix cube disappearing bug because lerpPercent could be Inf.

* Fixed for rigged figure also
2021-03-09 00:11:08 +01:00
Ray
f0ab4723b9 Merge branch 'master' of https://github.com/raysan5/raylib 2021-03-09 00:07:19 +01:00
Ray
b7f2059dc3 Update miniaudio.h 2021-03-09 00:07:08 +01:00
Hristo Stamenov
ef9f67749a
Fix fullscreen resolution (#1637)
* Always try to set vsync.
Use the internal monitor function to correctly get the display for windows.

* Modified how fullscreen gets toggled.

- Removed the unsetting and setting of the resize callback function. Instead of that I moved the fullscreen flag setting into a more correct place before setting the fullscreen so that this flag can be used in the callback.
- In the resize callback now window size is only set when it is not fullscreen resulting in preserving the window size.
- When going fullscreen the larges resolution is used so that there are no problems of the type when you minimize the window you cannot use anything else in your desktop because the resolution might be too low. If a low res effect is desired one should use render texture (this is the approach all game engines use).

* Set correct return to window in case of fail to get monitor.

* Set the refresh rate on the mode.

* Made changes based on review from @raysan5

Co-authored-by: Jeffery Myers <JeffM2501@gmail.com>
2021-03-08 22:51:10 +01:00
Ray
8a30a2408c ADDED: Required callbacks
Removed memory allocation callbacks
2021-03-08 18:48:27 +01:00
Jeffery Myers
3e6f0d7372
Always try to set vsync. (#1636)
Use the internal monitor function to correctly get the display for windows.
2021-03-08 18:08:37 +01:00
Ray
0d096b43c2 Update some comments to warn users about callbacks 2021-03-04 20:44:22 +01:00
Ray
b084552808 ADDED: Config flag: SUPPORT_STANDARD_FILEIO
This new flag allows omitting stdio.h library in case of a custom implementation is used.
2021-03-04 20:36:04 +01:00
Ray
7ad1370193 Some naming tweaks 2021-03-04 20:22:58 +01:00
Ray
1ed72b7812 Minor struct organization tweak 2021-03-04 12:08:54 +01:00
Ray
c4a7c702b4 FEATURE: Several callbacks added -WIP- #1523 #1329
NOTE: This feature is still under consideration and not complete.
2021-03-04 12:06:28 +01:00
Ray
ca22a87949 REVIEWED: TextFormat() #1626 2021-03-03 19:55:09 +01:00
Ray
c938d71d15 Corrected issue with enums renamed 2021-03-03 19:51:23 +01:00
Ray
0b108c2087 Corrected bug 2021-03-03 19:49:10 +01:00
Ray
dfe797060a WARNING: BREAKING: RENAMED: enums values
RENAMED: TextureFilterMode values
RENAMED: TextureWrapMode values
2021-03-03 19:47:37 +01:00
Ray
408f5aedb8 WARNING: BREAKING: RENAMED enum values
RENAMED: CubemapLayoutType and NPatchType
2021-03-03 19:36:28 +01:00
hristo
81908f7960
Removing +1 on comparing extesnions because this way it checked the file extension without the . against the file extension with the . resulting in always false. (#1629) 2021-03-03 15:41:15 +01:00
Ray
ab36fbf24a Reviewed defines, try to avoid elif statements 2021-03-02 12:45:23 +01:00
Ray
2a5ce96047 REVIEWED: Wait() to support FreeBSD #1618 2021-03-02 12:44:53 +01:00
Ray
01b3c97c42 Some misc tweaks 2021-03-02 02:03:52 +01:00
Ray
8df56c5843 REVIEWED: rlUnloadMesh() 2021-03-02 01:41:30 +01:00
Ray
c514431e79 REVIEWED: rlUnloadMesh() 2021-03-02 01:35:30 +01:00
Ray
bcc4418ff0 REVIEWED: GetFileExtension() to include the dot #1523 2021-03-02 01:07:08 +01:00
Ray
2ff5fa73e9 REVIEWED: rlUnloadMesh() #1615 2021-03-02 00:34:10 +01:00
Ray
742206c1f2 Review formatting 2021-03-02 00:31:04 +01:00
masterex1000
4e6253b546
Add check to flip quaternion (#1624) 2021-03-02 00:29:48 +01:00
Ray
5902cc6d9b REVIEWED: GetScreen*() #1570
Now GetScreenWidth() and GetScreenHeight() return the current fbo width and height.
2021-03-01 23:51:32 +01:00
Ray
3f6a08535f REVIEWED: CheckCollisionLines() 2021-03-01 23:39:08 +01:00
Jeffery Myers
0f10c44578
Fixes gl state after HDR texture functions. (#1621)
Updates skybox demo to show how to do both HDR and non HDR skyboxes

Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-02-28 23:31:25 +01:00
Ray
58e4efbba8 Review bug on OpenGL 1.1 2021-02-26 13:40:43 +01:00
Agnis "NeZvērs" Aldiņš
ead339fa96
LoadMusicStreamFromMemory OGG support (#1613) 2021-02-25 11:55:08 +01:00
Agnis "NeZvērs" Aldiņš
24839c7cfb
jar_xm_create_context_safe requesting const char* (#1611)
Fixing compiler warning for passing (unsigned char*) to (const char*)
2021-02-24 12:23:39 +01:00
Chris Sinclair
84ab4ce007
Patch up GLTF Skeleton loading (#1610)
* Add support for u8 bone indicies when loading glTF

* Fix segfault for glTF animations not keyframed at 0

When loading glTF animations we lerp between keyframes, and previously
assume that if the frame we are considering has a later keyframe, there
must be a previous keyframe. This is not true if the animation's first
keyframe is some time into the animation. In this case we now
effectively clamp to that first keyframe for any time prior to it.

* Respect parent bones tranform when loading glTF animations

We previously assumed that when loading glTF animations, the bones were
ordered with those higher up the skeleton tree (i.e. closer to the root)
came first in the list of nodes. This may not be true, so now we
repeatedly loop, preparing each level of the skeleton tree one after the
other, starting at the root level. This ensures that any parent
transforms are applied before transforming any child bones.

We also ensure that we have forced the loading of animation data before
attempting to interpolate to generate the animation frames for use
later, without this no animations are applied.

Finally we remove the check that assumed the first node in the nodes
list is the root, and use an invalid index value as the sentinal value
for when a node has no parent. Previously this was 0, which made
distinguishing between root nodes and children of the first node
impossible.
2021-02-24 09:25:20 +01:00
Agnis "NeZvērs" Aldiņš
0cb748f30b
LoadMusicStreamFromMemory wav mp3 flac support (#1609) 2021-02-24 09:22:21 +01:00
Agnis "NeZvērs" Aldiņš
209445ccde
LoadMusicStreamFromMemory (#1606)
* define SUPPORT_FILEFORMAT_MOD in config.h

* RLAPI LoadModuleFromData() definition in raylib.h

* LoadModuleFromData() definition in raudio.h

* LoadModuleFromData implementation in raudio.c

* Rename API to LoadMusicStreamFromMemory & default unload.

* raudio.c tabs to spaces

* Styling curly bracket and removing dev debugging TRACELOG

Co-authored-by: nezvers <agnis16@inbox.lv>
2021-02-22 19:45:52 +01:00
Ray
ef8318f5e3 [models] Move vboId ALLOC/FREE to rlgl module #1603
Actually, it seems more logical that rlgl takes care of OpenGL data than the models module...

Also, models module loaded vertex data is unloaded by models module.
2021-02-21 12:09:52 +01:00
Jeffery Myers
48a7cd3c87
[Examples] Fix typecast warnings in examples. (#1601)
* Fixing typecast warnings generated by visual studio 2019 in examples.

* Changes to fixes based on feedback

Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-02-20 23:37:32 +01:00
Paul Jurczak
82cdd88ffe
Fixed DrawLineEx (#1598)
* Fixed DrawLineEx

Corrected the issue https://github.com/raysan5/raylib/issues/1596

* Removed raymath dependency for DrawLineEx
2021-02-20 23:35:43 +01:00
Jeffery Myers
0726491ef8
Fixes to make rnet and it's examples build on Windows in visual studio 2019. (#1602)
Mostly typecasts, and some int to unsigned short changes, and including the windsock 2 library in the examples.

Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-02-20 21:13:20 +01:00
Jeffery Myers
eb47cc5e93
Fix warnings generated by Visual Studio 2019 in new model loading code. (#1600)
Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-02-20 19:42:32 +01:00
Jeffery Myers
2375464213
[Physics] Fix typecast warnings generated by visual studio 2019 (#1599)
* More warning fixes for physics and math

* fix a crash introduced with the warning changed.

Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-02-20 11:15:40 +01:00
Jeffery Myers
0f5aab3a1c
check to make sure parent bone is not null before trying to compute its offset from the root (#1594) 2021-02-16 10:29:00 +01:00
Chris
ccb083af52
[raudio] Fix load and unload issues with Music (#1588)
* Add MUSIC_AUDIO_NONE to MusicContextType and format fixes
- Useful to check the context type to see if the format is recognized. Defaulting to wav causes issues where formats are assumed to
be wav.

* Fix memory issues with LoadMusicStream and UnloadMusicStream
- Set ctxType and ctxData even if the format fails to load.
- Set ctxData to NULL if it fails and check for null inside UnloadMusicStream.
- Change RL_MALLOC when loading formats to RL_CALLOC to prevent undefined behavior.
- Add NULL check when unloading xm file.
2021-02-14 17:37:34 +01:00
jpe230
c7476f0aa5
Fix support of touchscreens for RPI (#1586)
-Checks for absolute pressure in absolute events to simulate a touch or a left mouse click.
-Updates touch position on absolute events.
2021-02-14 17:36:24 +01:00
raysan5
f3df64210b Update physac.h 2021-02-14 16:47:47 +01:00
raysan5
7035435948 Update core.c 2021-02-14 16:47:19 +01:00
raysan5
0c63c7c907 Possible callbacks -WIP- 2021-02-14 16:47:08 +01:00
raysan5
2b1ec5d8d2 Review some comments 2021-02-14 16:46:33 +01:00
BrokenKeyboard
d93b8f6544
Fix spelling mistake (#1581)
Sorry if this is a bit of a useless pr
2021-02-09 22:29:01 +01:00
raysan5
9619e5cbf8 Review some warnings and formatting 2021-02-09 13:23:06 +01:00
raysan5
4e68524871 REMOVED: GetGamepadButton() internal func 2021-02-09 12:14:50 +01:00
masterex1000
52d0e86cc6
Poll inputs after frame sleep (#1573) 2021-02-08 16:57:19 +01:00
hristo
70965f20d5
Disabling WindowSizeCallback around fullscreen toggle. (#1480)
* Disabling WindowSizeCallback around fullscreen toggle.

#1294 fixed the issue that toggle fullscreen changes the screen size because of the WindowSizeCallback. The proposed edit by @raysan5 was to comment out WindowSizeCallback which I essentially simplified to disable the callback around the set window monitor functions.

The developers using the ToggleFullscreen function should be aware that they need to size the screen correctly on that same frame. Otherwise they should check if fullscreen and size properly using the GetMonitorWidth and GetMonitorHeight functions.

* Update core.c

Fix issue from merge
2021-02-07 20:55:27 +01:00
raysan5
67206a5415 Review latest PR formating 2021-02-07 20:52:11 +01:00
Gil Barbosa Reis
9081defd46
Fix initialize GLFW's Joystick subsystem before window is created on Desktop platforms (#1554) (#1572) 2021-02-07 20:49:37 +01:00
raysan5
090c790e50 Review formating for latest PR 2021-02-07 20:47:40 +01:00
hristo
6be1be4573
Fix wrong values shown for monitor width and height in pixels when fullscreen is toggled. (#1479)
This solves issue #1322 which in my opinion was prematurely closed. As the monitor resolution is expected to be the maximum that the monitor supports. My change is that as per GLFW documentation you can get all current video modes sorted by max resolution. When you toggle fullscreen the first video mode returned would be the current screen resolution setup but that doesn't help if you want to know the maximum supported.
2021-02-07 20:44:38 +01:00
raysan5
c49ce58f02 REVIEWED: Multichannel sound system #1548
I don't like this solution but I think it's valid in the meantime....
2021-02-07 19:20:30 +01:00
raysan5
b2215cf017 REVIEWED: Replace GetImageData() by LoadImageColors() 2021-02-06 13:29:22 +01:00
raysan5
0f309b9b16 REMOVED: MeshNormalsSmooth() #1421
Current implementation is probably wrong and it should be reimplemented from scratch, in the meantime, I prefer to remove the function.
2021-02-05 19:49:05 +01:00
raysan5
edb54c6cb1 REVIEWED: CloseAudioBufferPool(), uninit buffers properly #1548 2021-02-05 19:45:13 +01:00
raysan5
5663c81803 REVIEWED: raudio: Some LOG_ERROR -> LOG_WARNING #1562 2021-02-05 19:19:44 +01:00
raysan5
56ff944def Update miniaudio to v0.10.32 #1562 2021-02-05 19:18:44 +01:00
raysan5
62ccec0ac5 REMOVED: SetTraceLogExit()
I feel nobody has ever used this function...
2021-02-05 14:36:28 +01:00
raysan5
421e5d4829 REVIEWED: DecompressData() 2021-02-05 14:35:43 +01:00
kernelkinetic
e831bf02c5
removed redundant call to eglGetConfig (https://github.com/raysan5/raylib/issues/1550) (#1567) 2021-02-05 13:55:09 +01:00
raysan5
97a7875648 REVIEWED: Gamepad issues on Android 2021-02-05 13:52:25 +01:00
raysan5
4407533a41 REVIEWED: DecompressData(), memory reallocation 2021-02-05 13:52:01 +01:00
Ray
3431d58586 Designing some callbacks -WIP- 2021-02-05 10:17:21 +01:00
raysan5
005bc4c414 REVIEWED: LoadShaderProgram() #1563
Try to avoid a possible false-positive memory leak...
2021-02-02 12:33:01 +01:00
raysan5
ed9c10a3e6 Update raudio.c 2021-02-02 11:42:49 +01:00
hristo
c8e427ad23
Update loading of gltf animation. (#1561)
This is to account for GLTF info being more like instructions on how to build your animation instead of verbose description of each pose.
2021-02-02 10:49:42 +01:00
raysan5
96db787657 REVIEWED: Gamepad system, specially for RPI 2021-01-31 03:07:26 +01:00
Jeffery Myers
e818dc27cd
Use local (") includes for GLFW since it is included with the source tree. (#1557)
This change helps some platforms produce fewer errors/warnings.

Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-01-30 22:22:14 +01:00
raysan5
bc332018f6 REVIEWED: SetGamepadMappings()
return value for all platforms
2021-01-28 18:37:52 +01:00
hristo
731ab15d57
Gltf animation support (#1551)
* Added example for gltf animation and split some functions for loading model animations into IQM and GLTF similar to how models are being loaded.

* Removed wrongly duplicated function

* Bone loading for gltf model (not working at this point)

* Loading info about vertex to joint connection but animation is still not working

* Skeleton and pose is correctly loaded. Need to communicate about interpolation in GLTF

* The model almost looks like a real person on animation.

* Fixed model loading with bones.

Also updated license info on the model.

* Cleaned up some code and updated examples.

* Fix identation issues

* Fix identation issues

* Fix identation issues
2021-01-28 11:29:06 +01:00
hristo
88a6f16c9a
Documentation cmake (#1549)
* Documenting the compiler flags

* Moved some android compiler flags and added documentation on them too.

* Some more restructuring.

Removed unnecessary comments that were self described by the code.
Added some more explanations around certain parts of CMake and especially around compiler flags.
2021-01-26 14:34:27 +01:00
hristo
f3ce3a6f74
Removing config.h.in file (#1546)
CMake relied on this file for configurations and also was interfering in the regular config.h by having a separate definition if building with CMake. This was not entirely correct so instead we will define compile time definitions separately through CMake (CompileDefinitions.cmake) and also will use the provided EXTERNAL_CONFIG_FLAGS that I found that will not use config.h in through the build process.

I also introduced a new compiler option (CUSTOMIZE_BUILD) that when OFF will use the default config.h and when ON will show other options for redefining your own options.

Fixed an error in rlgl.h where if you have both RLGL_STANDALONE and SUPPORT_VR_SIMULATOR you get a compile time error.
2021-01-25 10:47:53 +01:00
hristo
4bf7b00013
Removing test file. (#1545)
This test file is just testing compilation with the library works correctly but is no longer needed because:
- it is not cross platform
- it taps into the CTest system which is better suited for real unit/integration tests
- it can be incorporated into the pipeline of github actions instead in the future
2021-01-25 10:44:30 +01:00
Ray
f4f208c4ae ADDED: UploadMesh() #1529
Upload mesh data to GPU and get VAO/VBO identifiers
2021-01-22 12:16:19 +01:00
Ray
721768bdb0 Remove automatic pointer lock on mouse click #1513 2021-01-22 11:57:57 +01:00
Ray
f2c0981c57 Review typo 2021-01-22 11:57:18 +01:00
hristo
05dfbf3cd4
Remove STATIC and SHARED variables. (#1542)
As described in the official documentation https://cmake.org/cmake/help/v3.0/variable/BUILD_SHARED_LIBS.html this flag is global by default and controls if the library will be built as a shared or a static library allowing us to define only one call to the add_library function (without specifying its type). It is also added as an option to be visible in CMake GUI applications.
2021-01-22 00:07:22 +01:00
Ray
18ab694f70 ADDED: SetGamepadMappings() #1506 2021-01-21 14:39:03 +01:00
Ray
677f420bf0 REVIEWED: physac module and examples #1525 2021-01-20 20:55:12 +01:00
Ray
d20efde49d Merge branch 'master' of https://github.com/raysan5/raylib 2021-01-20 17:07:06 +01:00
Ray
01b7509a39 Review screen capture / gif recording #1540 2021-01-20 17:06:53 +01:00
hristo
6cc27e9797
Fix cmake build error dirent (#1536)
* Better ignore support for idea projects.

Added a wildcard at the end because different configurations would have a diffeerent build directory.

* Removed external from being a relative include directory for target raylib.

Fixes #1533
2021-01-16 14:04:01 +01:00
Gil Barbosa Reis
1866be0475
Fix absolute path handling in GetFileName and GetDirectoryPath (#1534) (#1535) 2021-01-16 10:33:13 +01:00
Ray
eb7820b2b0 Review comment 2021-01-15 00:20:35 +01:00
Ray
b7f275efb3 Review warning 2021-01-15 00:20:23 +01:00
Ray
186e52c4d8 REVIEWED: DecompressData()
Corrected bug!
2021-01-14 20:42:01 +01:00
hristo
9821725c6b
Big cmake changes (#1514)
* Delete emscripten.cmake

This file is not needed at this point. EMSDK provides a toolchain file that has a lot more things in it and is better supported. Project currently works fine with the documentation provided in Emscripten SDK on how to build projects.

* First pass file separation.

The main two files are cleaner now. Only important things can be seen. Major changes include:
- raylib_static is now the alias instead of raylib
- Repeating segments are removed and pulled into separate files into <root>/cmake
- File is reordered to make more sense
- Installs are better structured
- Library is build into an output directory "raylib" instead of "src"
- All public header files are now set as a public header file
- Source files need to be listed (it is a bad practice to capture them using wildcards and file globs)
- CMakeLists are better commented

* Second pass on the example dirs.

They are quite complex so I'm more hesitant to do major changes. Also it works pretty well. Noticed that I forgot one of the seperated files and added it into src/CMakeLists.txt.

* Returned the header copy as it was convenient to have the public headers copied.

* A better description to the variable RAYLIB_IS_MAIN

Co-authored-by: Rob Loach <robloach@gmail.com>

* Remove debug message

Co-authored-by: Rob Loach <robloach@gmail.com>

* Improvements based on review.

* Simplify the install condition to not be platform specific as it was before.

Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>

* Remove some CMAKE variables as they don't affect the build in any way

Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>

Co-authored-by: Rob Loach <robloach@gmail.com>
Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
2021-01-13 23:10:02 +01:00
Ray
a0a840101c Update miniaudio to v0.10.30 #1518 2021-01-12 22:51:26 +01:00
Ray
5d1d590692 REDESIGN: Compresion API
Now it compresses/decompresses valid DEFLATE streams instead of zlib streams. It uses the minimal and efficient libraries: sdefl/sinfl.
2021-01-12 21:15:11 +01:00
Ray
dfa11e22cf Add comments 2021-01-12 20:25:09 +01:00
Ray
c256b26629 Reorder function 2021-01-12 20:24:58 +01:00
Dmitry Matveyev
04a1bb1390
Reorder typedefs in physac.h to be in header part (#1528) 2021-01-12 20:12:14 +01:00
Ray
bbc09288bd rlOrtho() reverted change 2021-01-09 12:37:21 +01:00
Jeffery Myers
b76dc06297
It's top-bottom not bottom-top in GL space. (#1517) 2021-01-07 23:13:44 +01:00
badlydrawnrod
49f9bff260
Fix keyboard state change detection on RPI (#1488)
* Fix keyboard state change detection on RPI

* Rework RaspberryPi evdev keyboard input.

- Extract evdev keyboard handling into PollKeyboardEvents()
- Move keyboard polling to main thread
- Rename EventThreadSpawn() to ConfigureEvdevDevice() as it doesn't necessarily spawn threads
- Remove unused code (KeyEventFifo and lastKeyPressed)

* Replace tabs with 4 spaces.
2021-01-06 20:46:12 +01:00
Kirottu
22da9087b1
Include SUPPORT_DATA_STORAGE flag for building with CMake (#1515)
* Update CMakeOptions.txt

* Update config.h.in
2021-01-06 20:45:32 +01:00
Victor Gallet
a6cd6eedbe
Remove unused condition in 'GenerateMipmaps' function for GRAPHICS_API_OPENGL_11 (#1496) 2021-01-06 13:27:32 +01:00
raysan5
7bd33e4406 Review rlOrtho() to avoid return in the middle of the function
I usually try to avoid any return in the middle of functions, I try to keep them always at the end of the functions.
2021-01-06 13:26:55 +01:00
Jeffery Myers
5d4aada526
Don't create an ortho matrix when the viewport is 0 in any axis. (#1504)
* Don't create an ortho matrix when the viewport is 0 in any axis.
Not all compilers divide by 0 and return inf, some segfault.
The matrix is not used by anything when minimized, so it just needs to not be called.

* Better fix that always ensures the rlgl matrix is always valid

* Better fix that always ensures the rlgl matrix is always valid
2021-01-06 13:21:58 +01:00
hristo
551597d579
Removed a repeating allocation of memory (#1507)
Resolves #1495
This line allocated some memory that was already allocated in the beginning of the function and was essentially creating a leak.
2021-01-03 22:43:09 +01:00
Chris
320732ae6b
Update mappings.h in glfw using GenerateMappings.cmake (#1505) 2021-01-02 21:46:39 +01:00
raysan5
d7b4b9e485 Update year to 2021 2021-01-02 18:15:13 +01:00
Victor Gallet
57fef97433
Modify the check condition for the screen window height and width. It can't be less than zero because it's an unsigned int (#1497) 2020-12-31 13:29:35 +01:00
Victor Gallet
03278a74bf
Avoid dereferencing a null pointer in the 'LoadMaterials' function in the models module (#1498) 2020-12-31 13:28:53 +01:00
Victor Gallet
9fe153ae29
Avoid dereferencing a null pointer in the 'LoadSounsFromWave' function if the audioBuffer is null (#1499) 2020-12-31 13:28:16 +01:00
Jeffery Myers
4c8bebc0d7
Add a current monitor function for window mode windows. (#1492) 2020-12-30 17:29:39 +01:00
Jeffery Myers
24b6dcf29f
lookup the returned monitor in the list of monitors to get an index. (#1490) 2020-12-30 00:08:56 +01:00
raysan5
9ed29725a0 Review code formatting 2020-12-29 20:42:29 +01:00
Jeffery Myers
59bb759855
Faster version of ImageClearBackground and ImageDrawRectangleRec (#1487)
* Don't use DrawRect to clear an image, a pixel loop is an order of magnitude faster.

* Update ImageDrawRectangle to be faster too.
2020-12-29 20:39:53 +01:00
hristo
75c6fd047b
Monitor utilites (#1485)
* Added a new utility function to get the current monitor.

Some of the other functions rely on passing on a monitor id but we only have a function for querying the count of monitors available.

* Updated the comment to correctly reflect the function action
2020-12-29 13:37:08 +01:00
hristo
d3db690c42
I noticed that toggle fullscreen always gets the primary monitor when its more intuitive to use the monitor that the window is currently in. (#1486)
This monitor should even probably be passed as an id instead to make it more consistent with the rest of the API but this would break existing applications so I am hesitant to change the function signature directly.
2020-12-29 13:35:47 +01:00
raysan5
521ed1cef0 Review DrawLineBezierQuad(), formating and aprameters order 2020-12-26 13:09:34 +01:00
Violet White
de13fca3b1
Add Quadratic Bezier drawing (#1468)
* Add quadratic bezier to shapes.c

* Add DrawLineBezierQuad to header
2020-12-26 13:04:38 +01:00
raysan5
ea0f6c7a26 Replace TABS by 4 spaces 2020-12-24 23:07:52 +01:00
raysan5
ec3845fa9f Review some RPI4 tracelogs 2020-12-24 19:09:05 +01:00
raysan5
3e041a27b1 Update Makefile 2020-12-24 19:08:02 +01:00
raysan5
5ffce8f230 Review tracelog messages for DRM platform 2020-12-24 17:56:08 +01:00
raysan5
d9a9bacb48 Review formatting 2020-12-23 20:30:00 +01:00
raysan5
7e459dc38b Review Android Makefiles to required version 2020-12-23 17:05:51 +01:00
raysan5
f8a2903cec Review issues when compiling for Android 2020-12-23 17:05:07 +01:00
raysan5
0a9e080998 Remove trailing spaces 2020-12-23 15:03:26 +01:00
raysan5
59949bf848 Update resource file 2020-12-23 13:48:43 +01:00
raysan5
aa38532cc3 Remove unused variable 2020-12-23 13:03:13 +01:00
raysan5
9216e96315 Corrected typo 2020-12-23 13:02:40 +01:00
raysan5
0da827d754 Corrected small issue 2020-12-23 12:54:57 +01:00
raysan5
b78ee13791 ADDED: CheckCollisionLines()
Removed function from raymath
2020-12-23 12:45:53 +01:00
Victor Gallet
668b3e4cfb
[Math Feature]: Add two functions for Vector2 to know if two lines intersect and two segments intersect (#1466)
* Add a function to know if two lines intersect each other and if yes, get the intersection point

* Remove indents

* Rework the declaration of the 'Vector2LineIntersect' function, and add the 'Vector2SegmentIntersect' function

* Remove bad indents

* Fix compilation issues

* Fix compilation error

* Fix compilation error

* Replace keyword '_Bool' by 'bool'
2020-12-21 21:04:02 +01:00
Ray
976932e05e Set version for raylib 3.5 2020-12-19 20:38:49 +01:00
Ray
d82113ec34 Camera funcs, review params names
Just for a better consistency
2020-12-19 20:14:34 +01:00
Ray
9097d0b4ef REVIEW: CheckCollisionSpheres() params naming 2020-12-19 20:05:32 +01:00
Ray
f30354fc35 Minor tweak 2020-12-19 20:01:07 +01:00
Ray
d2d72b1dfb ADDED: MemAlloc() / MemFree() #1440
Exposing internal memory allocator/free, useful for advance users when required
2020-12-19 19:43:25 +01:00
Ray
cbf7369a3d Update raylib.h 2020-12-19 19:28:06 +01:00
Ray
2374281204 Avoid *Rec suffix in some variables
Pefixing/Suffixing some data type identifier in the variables is not a convention used in raylib, just reviewed it for consistency...

Still, I kept the *Rec suffix in some functions.
2020-12-19 19:27:31 +01:00
Ray
015e715278 Corrected DrawTextRecEx() bug 2020-12-19 19:12:51 +01:00
Ray
e404a18226 Support font chars padding on drawing #1432
Previous implementation did not consider any padding while drawing the characters on screen (despite being available on the font atlas), so, only minimum character area was drawn.

If some text effect shader was required (shadow, glow, outline...), there was no space in the drawn quad to draw that pixels effect.

This commit corrects that issue.
2020-12-19 12:16:23 +01:00
Ray
51e8f37688 Minimal tweak 2020-12-19 00:22:58 +01:00
Ray
c36a6f3d9f Update textures.c 2020-12-19 00:01:14 +01:00
Ray
e07bc372a1 WARNING: RENAMED several functions for consistency #1440
This is a BREAKING CHANGE!

To address the linked issue, several functions have been renamed and couterpart functions have been created to free loaded memory:
 - RENAMED: GetImageData() -> LoadImageColors()
 - RENAMED: GetImagePalette() -> LoadImagePalette()
 - RENAMED: GetWaveData() -> LoadWaveSamples()
 - ADDED: UnloadImageColors()
 - ADDED: UnloadImagePalette()
 - ADDED: UnloadWaveSamples()
2020-12-18 21:03:08 +01:00
Ray
5dd142beb6 Added some Web checks for missing GLFW functions 2020-12-18 19:32:52 +01:00
Ray
96542269d0 WARNING: GetKeyPressed() <-> GetCharPressed() #1336
Previous GetKeyPressed() method was actually returning unicode codepoints equivalent values instead of the key-code of the pressed key. So, it has been replaced by GetCharPressed(), returning unicode codepoints and GetKeyPressed() now returns key-codes.
2020-12-18 18:58:02 +01:00
hristo
0987507ef5
Add headers to install cmake (#1462)
* Changed extension for web from .bc to .a

I did this to support vcpkg expectation. When using the library from vcpkg for web you would install it using vcpkg install raylib:wasm32-emscripten but also vcpkg expects the output lib to be with .a extension instead of .bc

Doesn't make a difference for standalone builds or when raylib is used as a subdirectory dependency.

* Added headers to install targets to fix vcpkg usage

Currently vcpkg works by installing the cmake target into its packages directory. The problem is that install only copies the public header at this point so we need to add the others to the install targets.
2020-12-16 19:11:21 +01:00
Andrea Fontana
ef0dcaabf9
Changing JPG compression (#1463)
Since I don't think the purpose of raylib is to save space compressing image, I think it could be a good idea to keep quality from 90 to 100.
2020-12-16 19:07:18 +01:00
Ray
f5b4656801 Added additional charsPadding initialization #1432 2020-12-14 23:51:55 +01:00
Ray
5f690819e7 REVIEWED: Font struct, added charsPadding #1432 -WIP-
Not implemented usage of this variable yet but already setup for the future... some functions require review to consider it on drawing...
2020-12-14 23:47:11 +01:00
Ray
e69f2f0c26 REVIEWED: DrawGrid(), issue with buffer limits check #1417 2020-12-14 23:39:12 +01:00
Ray
d360a49f36 ADDED: UnloadFileData() / UnloadFileText() #1440 2020-12-14 20:47:58 +01:00
Ray
cd3eb3d8bd Added some security checks on GenMesh*() #1454 2020-12-14 20:41:58 +01:00
Jeffery Myers
7a0e73331d
Add mesh collision function so we can check meshes directly instead of having to put them in a model. (#1459)
Make model collision function call the mesh function.
2020-12-14 19:26:32 +01:00
hristo
a840d8a77d
Changed extension for web from .bc to .a (#1461)
I did this to support vcpkg expectation. When using the library from vcpkg for web you would install it using vcpkg install raylib:wasm32-emscripten but also vcpkg expects the output lib to be with .a extension instead of .bc

Doesn't make a difference for standalone builds or when raylib is used as a subdirectory dependency.
2020-12-14 19:24:56 +01:00
hristo
6e79476650
Fixed the build for web using CMake. (#1452)
* Fixed the build for web using CMake.

I found that the build for me was failing and I added some if defined checks in the core.c file where the glfwSetWindowAttrib was used. (error: implicit declaration of function 'glfwSetWindowAttrib' is invalid in C99 [-Werror,-Wimplicit-function-declaration])

I also changed some values in the toolchain file so that it correctly uses the .bat files when on windows.

* Cleaned up the additional variables (they are not important)

* Added more improvements to cmakelists

Added the option to use the system provided Emscripten toolchain to be more uniform with other libraries.

Fixed and issue which prevented example being built from cmake and also building with html extensions properly.

* Fixed ENUM to STRING because of a missed warning
2020-12-13 20:29:47 +01:00
Jeffery Myers
342d4faf14
Add options to set line width and aliasing to rlGL layer. (#1457)
* Add options to set line width and aliasing to rlGL layer.

* Don't do line smoothing in OpenGLES
2020-12-13 10:58:24 +01:00
Ray
e6ae4879f6 Added security check to pitch change #1450 2020-12-12 13:07:46 +01:00
Ray
459c4754dc Reviewed SetAudioBufferPitch() #1450 2020-12-12 13:01:31 +01:00
Jeffery Myers
039503e7c2
Add functions to enable/disable depth writes to go with functions for depth tests. (#1451) 2020-12-05 21:53:19 +01:00
Jeffery Myers
03df593263
Add function to get the position of a monitor (and fix some comments) (#1449) 2020-12-05 21:51:20 +01:00
Ray
62406259d7 Corrected minor windows flags issues 2020-12-03 20:33:46 +01:00
Ray
d1119816d7 Review comment 2020-12-03 20:16:46 +01:00
Ray
0540f0ad32 Review window flags 2020-12-03 20:16:35 +01:00
Ray
63d33d7a7a Update CMakeLists.txt 2020-12-02 08:27:43 +01:00
Ray
60928ec82c ADDED: UnloadModelKeepMeshes() #1441 2020-12-01 23:44:10 +01:00
Ray
0481053dad Review for issue #1446 2020-12-01 23:23:30 +01:00
Ray
59be7b9c29 Update CMakeLists.txt 2020-12-01 23:21:35 +01:00
Ray
83916bd3c2 Updated GLFW to latest 3.4 (github master - 16Nov2020)
WARNING: Some CMake files not changed
WARNING: glfw_native.h contains custom changes
2020-11-30 09:11:22 +01:00
Ray
23ed67cce0 Review some config options 2020-11-30 09:00:40 +01:00
Jeffery Myers
df249f5513
Fix typecast warnings in raylib code as reported by visual studio 2019 (#1443) 2020-11-30 08:14:11 +01:00
Random
0322fc28d4
optimized MatrixLookAt (#1442) 2020-11-29 10:08:22 +01:00
raysan5
d6f4f3ee88 REMOVED: GetImageDataNormalized()
Let the advance users manage it as they want...
2020-11-28 19:11:31 +01:00
raysan5
14c1ee2681 ADDED: UnloadFontData() 2020-11-28 19:07:41 +01:00
Ray
3d1ae3500c REVIEWED: Window state flags -WIP-
WARNING: Several functions removed, replaced by SetWindowState() / ClearWindowState() equivalents, only for advance users.
ADDED: ClearWindowState() to reset window state
REMOVED: HideWindow() / UnhideWindow()
REMOVED: DecorateWindow() / UndecorateWindow()
2020-11-23 23:46:05 +01:00
Ray
468a0bedd8 REDESIGNED: Window state config #1367 -WIP-
Some flags not working properly yet...
2020-11-23 00:49:27 +01:00
Ray
a560fe9a1e Added some comments 2020-11-22 10:56:17 +01:00
Ray
bb9d734f69 Exposing some file access results to user layer #1420 2020-11-22 00:10:16 +01:00
Ray
36dc302c25 Reverted to previous working version #1434 2020-11-21 14:14:25 +01:00
Ray
4eae76302f REPLACED: rgif.h by msf_gif.h
The improvement in performance is considerable!
2020-11-20 00:34:18 +01:00
Ray
7f6cd93d62 WARNING: Multiple funcs reviewed!
There were some problems about frameCount vs sampleCount that could cause some breaks.

raylib audio structs stores sampleCount = frameCount*channels.

Most libraries return framesCount instead of sampleCount.

stb_vorbis seems to refer to framesCount as samples.

All required functions have been reviewed.
2020-11-19 20:11:11 +01:00
Ray
72e51cd6de Review formating 2020-11-19 20:06:35 +01:00
Ray
700bff5fd8 Version tweak 2020-11-19 20:01:40 +01:00
Ray
9471794449 Update to latest tiniobjloader
WARNING: OBJ loading is broken at this point...
2020-11-17 00:30:12 +01:00
Ray
a54d9f734b rlUpdateTexture(): Corrected issue 2020-11-16 15:18:05 +01:00
Ray
f448542dd2 Review issues with FLAC loading 2020-11-16 12:20:50 +01:00
raysan5
4d5ee7953c Updated tinyobjloader 2020-11-15 14:31:43 +01:00
raysan5
cb517d0050 Update tinyobj_loader_c.h 2020-11-15 14:19:55 +01:00
raysan5
a3d33d9222 Update tinyobj_loader_c.h 2020-11-15 14:18:59 +01:00
raysan5
82d61a5875 Updated stb_image v2.26 and stb_image_write v1.15 2020-11-15 14:11:36 +01:00
raysan5
66f9fbaa88 Update cgltf.h
v1.8
2020-11-15 14:06:39 +01:00
raysan5
321f55bce1 Update audio libraries #1423
miniaudio -> v0.10.25
dr_wav -> v0.12.14
dr_mp3 -> v0.6.19
dr_flac -> v0.12.22
2020-11-15 14:04:28 +01:00
raysan5
8ff2b387f9 Review code formating 2020-11-15 13:17:11 +01:00
Ilya3point999K
bd287efa4c
Fixed zero-window upscaling (#1428)
There is no zero-check, so window upscales to nothing.
SetupFramebuffer() is kinda wrong, it uses not its params, but global variables. I won't touch it, maybe it has purpose
2020-11-15 13:13:21 +01:00
raysan5
9b2b660f91 Commented new feature 2020-11-15 13:10:12 +01:00
raysan5
55dc8171f8 [text] Consider characters padding -WIP- #1432 2020-11-15 12:39:59 +01:00
Ray
3e1cd487df Remove trailing spaces 2020-11-03 23:47:33 +01:00
kernelkinetic
f46514b855
Fixed keyboard stuttering but for cmake only (#1422)
* fixed mouse movements are bound to the screen resolution (https://github.com/raysan5/raylib/issues/1392)

* fixed keyboard stuttering on PLATFORM_RPI and PLATFORM_DRM (https://github.com/raysan5/raylib/issues/1392)

* fixed keyboard stuttering on PLATFORM_RPI and PLATFORM_DRM (https://github.com/raysan5/raylib/issues/1392)
2020-11-03 23:39:56 +01:00
Ray
05ab39ed9f REVIEWED: SaveFileText() error checking 2020-11-01 19:42:50 +01:00
Ray
5ac9cb04c2 Reverted ChangeDirectory() redesign
It returns true on success again
2020-11-01 19:06:21 +01:00
Ray
01d9af12f7 REDESIGNED: ChangeDirectory()
Not returning error code (or success), just log if it fails
2020-11-01 18:14:55 +01:00
Ray
8e15dae5ed Review contributed examples 2020-11-01 13:39:48 +01:00
Dominus Iniquitatis
fc1fc250e7
A couple of little comment fixes (#1416) 2020-10-31 14:40:35 +01:00
Ray
fbc51e822b REDESIGNED: Multiple sampler2D usage on batch system
New implementation allow enabling additional textures per batch only.
2020-10-31 11:48:44 +01:00
Ray
8a16348131 Support multiple sample2D on batch drawing #1333 2020-10-29 20:22:52 +01:00
Ray
60d874caf8 REVIEWED: GetWindowScaleDPI() #1086 2020-10-29 19:29:59 +01:00
Ray
d99ac093d4 Support additional texture units for default batch system #1333
This path requires some testing...
2020-10-26 20:13:08 +01:00
Ray
d9e591f235 Review some comments 2020-10-26 20:11:58 +01:00
raysan5
482b8a5e7e Some tweaks 2020-10-24 10:37:15 +02:00
Ray
f12db180cd Reviewed PR #1407 2020-10-21 11:08:37 +02:00
Chance Snow
9833fe45eb
Added desktop cursor getter and setter functions (#1407)
* [core] Added desktop cursor getter and setter functions

* Example: Set mouse cursor in text input box

* Setup standard cursors _after_ GLFW window initialization

* Remove old `int GetMouseWheelMove` declaration
2020-10-21 10:55:52 +02:00
kernelkinetic
3c9f7263e5
fixed mouse movements are bound to the screen resolution (https://github.com/raysan5/raylib/issues/1392) (#1410) 2020-10-13 22:26:40 +02:00
raysan5
c62c4df749 Updated miniaudio #1402 2020-10-10 19:25:23 +02:00
chriscamacho
6ebf6b4e72
allow for multiple materials in obj files (#1408)
* allow for multiple materials in obj files also fix obj_loader hash map issues

* minor fix for warning

Co-authored-by: codifies <nospam@antispam.com>
2020-10-08 20:31:59 +02:00
Ray
41192c6d4a Replace 0.f by 0.0f 2020-10-05 20:19:18 +02:00
Doyle
b29311c7ca
mouse: Return float movement for precise scrolling where possible (#1397) 2020-10-05 20:16:23 +02:00
Ray
a4ea9f872f Review "aggregate initializations" #1403 2020-10-05 20:04:33 +02:00
Daniel-Junior Dubé
a8685ee4fd
Add Vector2Reflect to raymath.h (#1400)
Vector3Reflect exists but not Vector2Reflect. The code is pretty much the same.
I'm not sure what RMDEF does, but I added it to match other function definitions (haven't done much C programming, maybe I'm missing something). Can someone explain to me what it does?
2020-10-04 12:12:52 +02:00
Tobias Jammer
0c29ca8166
Fix 1393 (#1395) 2020-09-29 17:57:28 +02:00
Ray
a850246030 Review Texture type
Texture type also maps to Texture2D and TextureCubemap
2020-09-28 00:40:32 +02:00
raysan5
446f9fff00 Added note 2020-09-27 11:14:49 +02:00
seanpringle
4bcddc3b15
[wip] rlDrawMeshInstanced (#1318)
* rlDrawMeshInstanced first attempt

* rlDrawMeshInstanced OpenGL 3.3 and VAO checks

* rlDrawMeshInstanced GetShaderAttribLocation; comments

* example instanced shader

* RLGL_STANDALONE RAYMATH_STANDALONE Vector4

* apply suggested naming changes; add instanced mesh example

* remove orphan variables
2020-09-27 10:29:05 +02:00
kernelkinetic
e90b4d8915
Platform DRM (#1388)
* updated README.md

* fixed CMakeLists.txt to allow building and debugging with Visual Studio Code and CMAKE Tools extension

* added PLATFORM_DRM
contains mouse pointer code from https://github.com/chriscamacho

* removed redundant cleanup in InitGraphicsDevice

* fixed DRM connector mode selection

* added choosen DRM connected mode to log output

* added respecting TargetFPS on DRM mode selection, default to 60

* added support for GetMonitorRefreshRate

* changed SUPPORT_MOUSE_CURSOR_RPI to SUPPORT_MOUSE_CURSOR_NATIVE

* changed avoidProgressive to allowInterlaced

* cleanup, function extraction and improved mode selection

* README reverted to original for PR

* line endings fixed for core.c

* removed old code

* mouse pointer reverted to small square

* replaced SetGraphicDeviceName() by DEFAULT_GRAPHIC_DEVICE_DRM

Co-authored-by: kernelkinetic <kernelkinetic@outlook.com>
2020-09-27 10:18:43 +02:00
raysan5
c2e56f2604 REVIEW: GenTextureCubemap(), avoid using models.c functions
- DrawCube() belongs to models.c -> rl*() alternative should be used
2020-09-26 11:51:42 +02:00
raysan5
b9053eebe7 Added new GIF recording library (not used yet) 2020-09-26 11:41:49 +02:00
raysan5
eef82b04ac REVIEW: Replace rlglDraw() calls by DrawRenderBatch() internal calls 2020-09-25 18:19:19 +02:00
raysan5
fe8bf2fa55 REVIEWED: GenTextureCubemap(), use rlgl functionality only
Function has been reviewed to avoid any direct OpenGL call and use rlgl functionality, also, GenDrawCube() has been replaced by the internal batch system with DrawCube().

WARNING: rlEnableTexture() call must be issued after enabling the current framebuffer when using batch mechanism because it includes a set of security checks to avoid batch overflow and push/pop matrix operations.
2020-09-25 18:14:46 +02:00
Adam Griffiths
b9ece86ffd
Add join_paths and join prefix with include/lib dirs (#1383)
Fixes #1380: incorrect usage of CMake paths which causes issues
on some more complicated environments (NixOS especially).
2020-09-25 16:20:49 +02:00
raysan5
032b2db398 REVIEWED: GenTextureCubemap()
Added some tracelog messages
2020-09-21 13:18:53 +02:00
coderoth
c05dbb4581
Updated joystick mappings with latest version of gamecontrollerdb (executed GenerateMappings.cmake), so that raylib can identify more joysticks (#1381) 2020-09-19 21:51:32 +02:00
raysan5
789c5fbdf9 Updated build script to generate .a on WebAssembly
This is the recommended way
2020-09-18 20:53:57 +02:00
raysan5
4a242c2889 Updated library build script for HTML5 (emscripten 2.0.4) 2020-09-18 20:48:25 +02:00
raysan5
b5d50ee51a EXAMPLE: models_skybox works on OpenGL ES 2.0 2020-09-18 20:47:39 +02:00
raysan5
79d63e6ca1 Review comment 2020-09-18 16:44:28 +02:00
raysan5
152665ff48 REDESIGNED: GenTexture*() #721
Functions have been redesigned to use rlgl and allow to externalize them (aka removing them from rlgl because they use custom shaders...).
2020-09-18 13:50:51 +02:00
raysan5
ccda320be4 REVIEWED: rlFramebufferAttach() to support texture layers
Required to attach multiple color textures and multiple cubemap faces
2020-09-18 11:37:57 +02:00
kernelkinetic
6038c8fdd5
fixed wrong error message for input device on RPI (#1379)
* fixed wrong error message for input device

* error message without errnofor input device on RPI
 to prevent from including additional header

Co-authored-by: kkl <klingenberger@bfmc.de>
2020-09-18 08:52:52 +02:00
raysan5
04406c0f1a Corrected minor framebuffer issue on OpenGL ES 2.0 2020-09-18 02:14:05 +02:00
raysan5
cdc8850e68 WARNING: REDESIGN of rlgl framebuffers API #721
This redesign allows more flexibility when creating RenderTexture and a simplification (and hopefully removal) of `GenTexture*()` functions, that should not belong to this model but the user code, due to the use of custom shaders.

Also, this new API opens the door for a possible GBuffers type and advance rendering possibilities...

Some functions of the API have been also simplified or even removed.

rlgl module can be used as an standalone library, so, a version for the library has been added: v3.1.0, matching current raylib version.
2020-09-18 02:11:49 +02:00
raysan5
fa2c114636 WARNING: struct RenderTexture2D: Removed depthTexture
Not required anymore, attachment type is queried when required
2020-09-17 13:44:03 +02:00
raysan5
cbdb9bfe42 REVIEWED: UnloadShader() issue
Avoid unloading default shader, raylib will take care of it
2020-09-16 16:33:17 +02:00
raysan5
b870b9f828 Minor: remove tabs 2020-09-16 13:17:31 +02:00
raysan5
90befff4b8 Make sure to detach data before deleting
Before deleting certain objects, they must be detached from their parents. That's the case for shader objects after linkage to shader program and also for the texture/cubemaps/renderbuffers attached to framebuffers. If objects are deleted before detached, they are kept in memory to avoid accessing deleted data.
2020-09-16 13:17:16 +02:00
raysan5
11fbd49b73 Avoid GETCWD() warning #1371 2020-09-16 11:44:48 +02:00
raysan5
43d82c1f21 Add security checks when loading data from memory 2020-09-16 11:33:56 +02:00
raysan5
c5c156d65e Review GenDrawCube() and GenDrawQuad()
Better organized and commented
2020-09-15 13:44:04 +02:00
raysan5
2d96196d25 REVIEWED: SaveWAV() to use memory write insted of file 2020-09-15 13:17:10 +02:00
raysan5
0983d7b45c Solved issues when compiled for OpenGL 1.1 2020-09-15 11:30:20 +02:00
Ray
8cf0be4b6c Review memory loading functions signesness 2020-09-14 19:20:38 +02:00
raysan5
5073619962 REVIEWED: GetTextureData(), allow retrieving 32bit float data 2020-09-14 16:03:45 +02:00
raysan5
43b9113c0c Reverted some previous changes... 2020-09-14 15:55:31 +02:00
raysan5
d7853127db Reviewed some structs to reduce size and padding
Also updated raylib Wiki about struct sizes in 32bit and 64bit
2020-09-14 15:36:50 +02:00
Ray
c196b09d33 Remove function declaration added by error 2020-09-13 16:43:19 +02:00
Ray
db652daf42 ADDED: LoadFontFromMemory() (TTF only) #1327 2020-09-13 16:42:31 +02:00
Ray
88c5deac87 WARNING: REDESIGNED: LoadFontData() 2020-09-13 16:41:52 +02:00
Ray
250a0e3592 Minor tweak 2020-09-13 16:40:34 +02:00
Ray
63b739bbfa Corrected issue on log 2020-09-13 16:01:51 +02:00
Ray
dace2172d1 Update cgltf library to v1.7 2020-09-13 15:55:48 +02:00
Ray
5b60a743bd ADDED: LoadWaveFromMemory() #1327 2020-09-13 15:38:57 +02:00
Ray
768b29dd74 ADDED: LoadImageFromMemory() #1327 2020-09-13 15:37:15 +02:00
Ray
cb8cbb038b WARNING: RENAMED: GetExtension() to GetFileExtension() 2020-09-13 14:07:08 +02:00
raysan5
f1ed8be5d7 REDESIGNED: ColorFromHSV()
Replaced Vector3 by direct values, easier to use and understand
2020-09-07 19:33:06 +02:00
raysan5
85d5744679 REVIEW: glfwSetWindowMaximizeCallback() not available on web 2020-09-07 15:34:21 +02:00
raysan5
1134024985 Update rlgl.h 2020-09-01 21:27:47 +02:00
raysan5
05cdaf7d01 MOVED: rlUnproject() [rlgl] -> Vector3Unproject() [raymath] 2020-09-01 21:08:45 +02:00
raysan5
a1422ba1c1 Review custom blend modes mechanism
rlBlendMode() has been added to rlgl to be used on BLEND_CUSTOM. This functionality is exposed to advance users.

In any case, new blending modes could be added if required.
2020-09-01 21:02:19 +02:00
cedemax
bfafb80cde
Multiple blendmodes (#1324)
Co-authored-by: max <max.cedercreutz@cetopo.com>
2020-09-01 20:33:49 +02:00
Juan Medina
dcbe481a28
adding new windows functions (#1357) 2020-09-01 20:29:13 +02:00
raysan5
ffe2364334 Update miniaudio to version 0.10.18 2020-08-30 20:01:38 +02:00
raysan5
8b5485f822 Remove unused variable 2020-08-30 20:00:56 +02:00
raysan5
945a02798b DrawTextEx(): Minor tweak 2020-08-29 13:57:59 +02:00
raysan5
d0ebeb1713 Reorder some functions 2020-08-23 21:18:39 +02:00
raysan5
ea832628c4 Review last PR formatting to follow raylib standards 2020-08-23 21:10:59 +02:00
chriscamacho
d140dc81c0
work on quat and matrix math - deleted multiple copies of raymath.h causing issues (#1359)
Co-authored-by: codifies <nospam@antispam.com>
2020-08-23 21:01:26 +02:00
raysan5
816856eb75 Corrected compiling issue
When using USE_PTHREADS=1 on libraylib.bc compilation, program requires --shared-memory passed to the linker and despite it compiles, it fails on execution (at least for me).
2020-08-23 21:01:10 +02:00
raysan5
e785ca73b5 Review compilation parameter for objective C code on GLFW 2020-08-20 19:37:03 +02:00
raysan5
06ff1ce2aa Minor tweak for consistency 2020-08-20 19:31:54 +02:00
raysan5
b499b50154 Avoid architecture selection on gcc, use correct gcc version instead
Review raylib resource file for DLL compilation
2020-08-20 17:37:01 +02:00
raysan5
249708dbb8 Support externally provided library name
It can be useful in some cases qhen compiling for multiple architectures
2020-08-19 19:11:18 +02:00
raysan5
1e9de0f9ff Review Android arch names to lowercase 2020-08-19 16:51:43 +02:00
raysan5
44dd1fc7f5 Trying to configure android_native_app_glue target compilation 2020-08-19 16:30:33 +02:00
raysan5
48f0dfa18e Update Makefile 2020-08-19 16:25:51 +02:00
raysan5
ac0362d30e Update Makefile 2020-08-19 16:17:27 +02:00
raysan5
34c8f4c39c Update Makefile 2020-08-19 16:13:16 +02:00
raysan5
cc8626f6bb Update Makefile 2020-08-19 15:47:36 +02:00
raysan5
1316183b3a Trying to automate Android building... 2020-08-19 15:21:20 +02:00
raysan5
3416858d1c Update Makefile 2020-08-19 14:04:53 +02:00
raysan5
0d05004468 Added resource file for DLL compilation info 2020-08-19 11:59:50 +02:00
raysan5
d98c471883 Add LDFLAGS when required 2020-08-19 11:25:13 +02:00
raysan5
05b3ca0a83 Update Makefile 2020-08-19 10:38:53 +02:00
raysan5
ab8ec9adad Support multiple build architectures (x86, x64) 2020-08-17 23:23:42 +02:00
raysan5
090490389e Improved Makefile clean on Windows 2020-08-17 22:41:26 +02:00
raysan5
921f0c02e2 Update Makefile 2020-08-17 22:27:22 +02:00
raysan5
2d0811d94c Update Makefile 2020-08-17 20:38:06 +02:00
raysan5
c32ae480af RENAMED: FormatText() -> TextFormat()
This function was renamed for consistency in raylib 3.0, just unified all examples to use TextFormat() instead of FormatText()
2020-08-16 11:28:15 +02:00
Ray
7b346dbbe1 Review issue with .fnt -> .png path #1351
When .fnt file is in the .exe path, image path was wrongly calculated
2020-08-15 11:32:23 +02:00
raysan5
ad1b3330b7 Support mulstiple WAV sampleSize for MusicStream #1340
24bit per sample is not supported internally and automatically converted 16bit
2020-08-11 19:08:07 +02:00
Ahmad Fatoum
6108ba89df CMake: don't use raylib_static name for MinGW on Windows
There are no *.lib files that could overwrite each other when building
both static and shared versions of raylib at once. So just use the
normal library name without _static suffix.
2020-08-08 01:11:45 +02:00
raysan5
2c7dc70878 Reset close status for next frame #1339 2020-08-06 11:47:46 +02:00
Rfaile313
9e75f870bb
Update Makefile for web (#1332)
When you install emsdk out of the box, the directory is no longer `$(EMSDK_PATH)/python/33.7.4_64bit` but rather `$(EMSDK_PATH)/python/3.7.4-pywin32_64bit` noting the `3.7.4-pywin32_64bit` change on the last file.

Thus, without adjusting this in the raylib Makefile it will throw an error:

```
PS C:\raylib\raylib\src> make PLATFORM=PLATFORM_WEB -B                                                                  emcc -c core.c -Wall -D_DEFAULT_SOURCE -Wno-missing-braces -Werror=pointer-arith -fno-strict-aliasing -std=gnu99 -Os -s USE_GLFW=3 -I. -Iexternal/glfw/include -Iexternal/glfw/deps/mingw -DPLATFORM_WEB -DGRAPHICS_API_OPENGL_ES2              '"python"' is not recognized as an internal or external command,                                                        operable program or batch file.  
```

However, changing this line in the Makefile compiles raylib for web as expected

`"raylib library generated (libraylib.bc)!"`
2020-08-02 20:21:59 +02:00
raysan5
6e9e7bd6bc LoadSound(): Use memory loading (WAV, OGG, MP3, FLAC) #1312 2020-07-31 12:13:04 +02:00
seanpringle
1d895616f7
rlCheckErrors (#1321)
* rlglCheckErrors

* rlglCheckErrors LOG_WARNING

* rename to rlCheckErrors; improve messages; revert core.c
2020-07-30 12:50:20 +02:00
raysan5
9c2ff464b0 Support pthreads on PLATFORM_WEB compilation 2020-07-28 20:36:10 +02:00
raysan5
20301d1e5d Corrected issue with framebuffer size storage #1298 2020-07-28 11:44:45 +02:00
Ray
b5eb104b08 Consider empty title for window #1323 2020-07-24 18:20:37 +02:00
Ray
14d37464ad DrawTriangleFan(): Add a comment about vertex order #1316 2020-07-22 11:12:04 +02:00
seanpringle
cebcdea80f
[wip] MeshNormalsSmooth() (#1317)
* MeshSmoothNormals() by average

* wrong comment

* spelling

* use correct function naming convention
2020-07-20 11:05:18 +02:00
raysan5
6ec847a93f Find a better mechanism to avoid FBO on OpenGL 2.1 if required #1290 2020-07-17 19:41:38 +02:00
raysan5
feedf332a8 Issue with render size assignment on RPI/Android #1314 2020-07-17 18:39:31 +02:00
raysan5
642f42bb4f Reviewed comment in LoadIQM() #1315 2020-07-17 18:22:09 +02:00
seanpringle
bdd253a66a
clamp ray hit y position to ground plane height (#1311) 2020-07-15 11:13:03 +02:00
Random
7760575d3f
fix emcc warning (-Wparentheses-equality) (#1310) 2020-07-14 21:25:21 +02:00
raysan5
dd5f448f25 Update Makefile Android 2020-07-14 19:09:58 +02:00
raysan5
0b52c57a24 Update Makefile emsdk paths 2020-07-14 19:07:51 +02:00
raysan5
d2d50bc60f Update miniaudio to v0.10.14 2020-07-14 18:59:00 +02:00
seanpringle
a9d676a5fd
scale perspective top calc for near culing plane (#1309) 2020-07-14 10:36:22 +02:00
raysan5
bf429a0058 Remove conditional __EMSCRIPTEN__
Not required anymore
2020-07-13 18:57:46 +02:00
Random
4de362b405
Updated miniaudio to v0.10.13, fixes emscripten compilation error (#1306) 2020-07-13 18:56:17 +02:00
raysan5
0db0e6acd8 WARNING: REMOVED: LoadImageEx()
Reason for removal: This function forces a specific Image data format, it copies data internally (it could be confusing and lead to memory leaks), it's redundant, there is a simpler alternative and raylib promotes using structures directly
2020-07-10 19:18:29 +02:00
raysan5
7199dd570f REVIEW: Pointer lock emscripten API does not work #1241
It seems some internals change recently due to web security reasons and some emscripten HTML5 funtionalities like pointerLock or fullscreen modes behave very weird or just don't work as expected
2020-07-10 18:23:17 +02:00
raysan5
3f4c6fee11 Correct issue when not supporting GIF format 2020-07-10 17:24:37 +02:00
raysan5
c57323f29c ADDED: LoadImageAnim() to load animated sequence of images 2020-07-10 13:59:01 +02:00
raysan5
fa7799143e Update miniaudio to v0.10.12, solves #1288 2020-07-10 13:29:42 +02:00
raysan5
57dc8a91dd Disable FBO support on OpenGL 2.1 #1290 2020-07-10 13:14:56 +02:00
Random
86a8f1d5d5
Chromium needs a larger audio buffer (#1300)
* Chromium needs a larger audio buffer: https://github.com/dr-soft/miniaudio/issues/150

* changed PLATFORM_WEB to __EMSCRIPTEN__
2020-07-10 12:34:35 +02:00
raysan5
0877019fb6 Review comment 2020-07-10 12:15:52 +02:00
Terry Nguyen
871cd1a76a
Free leaked allocations from render objects (#1302) 2020-07-09 20:42:20 +02:00
Doyle
00fda3be65
Fix incorrect color transform to 255 space (#1297) 2020-07-05 20:02:32 +02:00
Ray
5986eee6ab Expose additional configuration options
Some internal defines have been exposed in config.h
2020-06-30 11:05:09 +02:00
Vlad Adrian
4d71e9b44f
Added new function DrawTextureTiled() (#1291)
* Implemented DrawTextureTiled()

* Example added
2020-06-27 23:59:14 +02:00
Ray
eae6e6a828 Minor format tweak 2020-06-27 14:11:21 +02:00
Ray
5b294b7cff Corrected issue with OpenGL 1.1 support 2020-06-27 14:10:53 +02:00
Ray
ba39a1b304 ADDED: UpdateTextureRec() 2020-06-25 16:26:59 +02:00
Shylie
25fb24ba7d
[add] GetMonitorRefreshRate(int monitor); (#1289) 2020-06-24 18:28:57 +02:00
Ray
38530ebf12 REVIEWED: ToggleFullscreen(), issue #1287 2020-06-23 00:39:06 +02:00
Ray
bd13d4a471 Add missing include 2020-06-23 00:33:51 +02:00
raysan5
e18c4c1158 REVIEWED: ColorAlphaBlend(), support tint color 2020-06-20 23:32:32 +02:00
raysan5
7ed7116e27 REVIEWED: ColorAlphaBlend(), integers-version, optimized #1218 2020-06-20 19:57:09 +02:00
raysan5
5a862bce29 REVIEWED: ImageDraw(), consider negative source offset properly #1283 2020-06-20 18:49:15 +02:00
raysan5
da582e2eec REVIEWED: ImageDraw() #1283 2020-06-20 18:10:21 +02:00
raysan5
c078640fa5 Commented Fade() macro 2020-06-16 10:37:31 +02:00
raysan5
afcc584fb6 RE-ADDED: Fade() function to avoid multiple breaking changes
Probably there is a better way to do this but this is a temporary solution for backward compatibility
2020-06-16 10:36:05 +02:00
raysan5
589d606000 REDESIGNED: ImageDraw(), optimized #1218
After multiple tests and lot of redesign, current implementation is the fastest one. It also considers several fast-paths for maximum speed!
2020-06-15 12:06:41 +02:00
raysan5
32c0a7a135 Small code optimization 2020-06-15 12:05:03 +02:00
raysan5
bfa6544030 REDESIGNED: ImageResize(), optimized #1218 2020-06-15 12:04:18 +02:00
raysan5
691c1f9391 REDESIGNED: ImageFromImage(), optimized #1218 2020-06-15 12:03:33 +02:00
raysan5
ad954dc7ab WARNING: BIG CHANGE: Move Color functions to texture module
WARNING: Some functions ADDED and some RENAMED:
- RENAMED: Fade() -> ColorAlpha() [Added #define for compatibility]
- ADDED: ColorAlphaBlend()
- ADDED: GetPixelColor()
- ADDED: SetPixelColor()
2020-06-15 12:02:50 +02:00
raysan5
ec09fea29a REDESIGNED: ImageDraw(), optimization #1218
Trying a new optimization approach, some additional functions added, they will be probably exposed soon.
2020-06-11 22:47:25 +02:00
raysan5
15bfe44e73 REVIEWED: ImageDraw(), optimizations test #1218
Despite all the effort put on function optimization, dealing with alpha blending is complex, considering src and dst could have different pixel format...
2020-06-11 12:47:47 +02:00
raysan5
a6e6a99cb6 REDESIGNED: ImageAlphaClear(), optimized #1218 2020-06-10 23:10:16 +02:00
raysan5
4745ebeed5 REVIEWED: ImageResizeCanvas(), optimization #1218
Optimized to avoid ImageCrop() calls, now we define the source image rectangle and we just copy that data over the new canvas.
2020-06-10 21:21:37 +02:00
raysan5
dea0279a74 REVIEWED: ExportImage(), optimized 2020-06-09 19:52:10 +02:00
raysan5
7ef0fb4192 REVERTED: ExportImage() changes
Always using RGBA for now.
2020-06-08 21:18:42 +02:00
raysan5
82f7dd017e REVIEWED: ImageAlphaPremultiply(), optimization 2020-06-08 18:24:53 +02:00
raysan5
40bc6afdbd REVIEWED: ImageAlphaClear(), minor optimization 2020-06-08 18:23:59 +02:00
Chang Si Yuan
6264c4901b
Fix wrong height used when using scissor mode with render texture of different height from window (#1272) 2020-06-08 10:32:23 +02:00
Chang Si Yuan
73cc33b493
Fix extra memory allocated when updating color buffer in mesh (#1271) 2020-06-08 10:31:39 +02:00
raysan5
87592e2625 Update textures.c 2020-06-07 20:32:43 +02:00
raysan5
d0e9228660 REDESIGNED: ImageResizeCanvas(), optimized #1218 2020-06-07 18:33:30 +02:00
raysan5
a9fb0aa207 ImageToPOT() renamed parameter 2020-06-07 18:32:20 +02:00
raysan5
b5174a9990 REVIEWED: ImageCrop() #1218
Further optimization, moving data line-by-line
Old optimization left for reference
2020-06-07 12:57:57 +02:00
raysan5
b7d53ce314 REVIEWED: ImageToPOT() #1218
Using ImageResizeCanvas()
2020-06-07 12:56:47 +02:00
raysan5
78c3d619f9 REVIEWED: ImageAlphaCrop() #1218
Now uses GetImageAlphaBorder()
2020-06-07 12:33:42 +02:00
raysan5
02ff68e1a3 REDESIGNED: ImageCrop(), optimized #1218 2020-06-07 12:16:27 +02:00
raysan5
7cf1e76d53 REVIEWED: ExportImage(), optimized #1218
Avoid GetImageData() retrieval and free
2020-06-07 11:57:22 +02:00
raysan5
776e4a37ef REDESIGNED: ImageRotateCCW(), optimized #1218 2020-06-07 11:53:13 +02:00
raysan5
79e2fbe0c6 REDESIGNED: ImageRotateCW(), optimized #1218 2020-06-07 11:52:55 +02:00
raysan5
d278eae4a3 REDESIGNED: ImageFlipHorizontal(), optimized #1218
Added several optimized options for future reference (if required)
2020-06-07 11:52:21 +02:00
raysan5
93d6dd3023 REDESIGNED: ImageFlipVertical(), optimized #1218 2020-06-07 11:51:26 +02:00
raysan5
5d0b2c796e Remove warning from GetDirectoryPath() 2020-06-07 11:50:03 +02:00
frithrah
e07512e213
Fixed buffer overflow in GenMeshPoly (#1269)
Co-authored-by: frithrah <simon@frithrah.com>
2020-06-05 19:13:31 +02:00
raysan5
3792951023 REVIEWED: GetPixelDataSize() to consider compressed data properly 2020-06-02 23:08:34 +02:00
raysan5
a4333035c7 Use TRACELOG() macro instead of TraceLog() function 2020-06-02 23:07:42 +02:00
raysan5
b00ab118c6 [examples] text_font_sdf - Corrected bug 2020-06-02 23:07:11 +02:00
branlix3000
0e1d7d6430
Fixing Android build from Linux. Letting ANDROID_NDK to be modified at compile time. Default path to the ANDROID_TOOLCHAIN have changed in the latest Android command-line tools release. (#1264)
Co-authored-by: Branlix 3000 <branlix@3000.3k>
2020-05-31 21:18:33 +02:00
jvocaturo
6e84120b89
fix bug in QuaternionFromVector3ToVector3 (#1263) 2020-05-27 17:52:23 +02:00
raysan5
c43e889e39 Corrected bug on TextJoin() 2020-05-27 13:45:11 +02:00
ChrisDill
aff47d1564
Added bool IsCursorOnScreen(void). (#1262)
- The Mouse struct already stores cursorOnScreen. This function simply exposes it to the usage code.
2020-05-26 11:59:25 +02:00
raysan5
1c5df677e1 REDESIGNED: ExportWaveAsCode() to use memory buffer 2020-05-24 15:48:07 +02:00
raysan5
b0f245d8c5 Review ExportImageAsCode() comment 2020-05-24 15:47:15 +02:00
raysan5
8120547639 Added LoadWAV()/SaveWAV() memory buffer sample code
It could be useful in a future...
2020-05-24 00:20:32 +02:00
raysan5
a6fcd32339 Support WAV music streaming #1198
Switched custom WAV laoding/saving funtionality to drwav library, it also provides the required mechanisms to stream wav data.
2020-05-23 23:19:59 +02:00
raysan5
427e543d84 Corrected issue
Compression API requires functions provided by stbi_image_write (DEFLATE compression)
2020-05-23 23:17:34 +02:00
raysan5
fe5fe230b9 Update dr_wav.h 2020-05-23 23:16:40 +02:00
raysan5
394bf00ba5 REDESIGNED: ExportMesh() to use memory buffer #1232
This change could introduce an issue on dataSize precalculation...
2020-05-23 19:48:40 +02:00
raysan5
4e8e90b6df Add note comment on ExportImageAsCode() 2020-05-23 19:46:58 +02:00
raysan5
0bcb892975 REDESIGNED: LoadIQM(), LoadModelAnimations() to use mem buffers 2020-05-23 19:24:15 +02:00
raysan5
94789dd24a Review usage of sizeof(), unify conventions
All functions requiring sizeof() now follow the same convention:

NUM_ELEMENTS*NUM_SUBELEMENTS*sizeof()
2020-05-23 19:23:40 +02:00
raysan5
b95673f701 Use RL_FREE() instead of free() 2020-05-23 19:21:46 +02:00
raysan5
d3dece3343 REDESIGNED: ExportImageAsCode() to use memory buffer #1232 2020-05-23 18:24:53 +02:00
raysan5
c1e0978555 Replaced strncat() by memcpy() in some functions 2020-05-23 18:05:41 +02:00
raysan5
795c079c55 Corrected issues on LoadPKM() 2020-05-23 18:04:58 +02:00
raysan5
c1bb051e61 Avoid some warnings 2020-05-22 02:26:47 +02:00
raysan5
76f8e84901 Reviewed LoadBMFont() to load data from memory #1232 2020-05-22 02:19:45 +02:00
raysan5
70cd2f1edf Tweak 2020-05-22 02:18:50 +02:00
raysan5
0e56bc2929 Replace file accesses by memory accesses
Several functions used to load external files have been reviewed to just load the full file with LoadFileData() and load data from memory from there. This way all file access functionality is centralized in utils module.

Functions reviewed: LoadDDS(), LoadPKM(), LoadKTX(), LoadPVR(), LoadASTC(), SaveKTX()
2020-05-22 01:47:30 +02:00
raysan5
a2955bc5b3 Corrected issue with multichannel on CloseAudioDevice() 2020-05-22 00:32:23 +02:00
raysan5
cdbe1b6190 Review buffer limits on rectangle drawing 2020-05-21 18:57:45 +02:00
raysan5
b3eea3d322 Avoid loading texcoords and normasl from model if not existent 2020-05-18 18:35:47 +02:00
raysan5
6acb7bcfe4 Avoid glGetStringi() on OpenGL 2.1 2020-05-18 13:24:21 +02:00
Random
d9a96c4ca0
added BLEND_SET (#1251)
* added BLEND_SET

* renamed BLEND_SET to BLEND_ADD_COLORS
2020-05-16 13:39:38 +02:00
Noor Wachid
abb94bd2ff
Adding Normalize and Remap functions (#1247)
* Adding Norm and Remap functions

// Normalize input value within input range
// Remap input value within input range to output range

* Rename Norm to Normalize

To make it uniforms with Raylib's functions

* Calculate Remap without other functions
2020-05-15 13:08:28 +02:00
ThePituLegend
d14c51aa2a
Introduced Vector2 and Vector3 Square Lenght. (#1248)
* Introduced Vector2 and Vector3 Square Lenght.

* Square length functions renamed
2020-05-14 22:31:58 +02:00
raysan5
7b001164ef Review formatting GetPRevDirectoryPath() 2020-05-14 17:37:54 +02:00
raysan5
64d44d131d Emscripten fullscreen -WIP- 2020-05-14 17:35:26 +02:00
ivn
730375faf7
fix bug in GetPrevDirectoryPath on Unix-like systems (#1246) 2020-05-14 17:30:32 +02:00
raysan5
257f232d41 WARNING: BREAKING CHANGE: Review audio looping system
Current looping system was broken, `loopCount` has been converted to `bool looping` and user can enable/disable with `music.looping = false`. `SetMusicLoopCount()` has been removed.
2020-05-14 14:00:37 +02:00
raysan5
3a33fe0fd9 Avoid LoadImageEx() usage internally
At this point LoadImageEx() could be removed from raylib... still thinking about it...
2020-05-14 13:37:52 +02:00
raysan5
65b7047111 Remove some [textures] function dependencies
- LoadFontDefault() -> Some code simplifications
 - LoadFontFromImage() -> Avoid LoadImageEx()
 - LoadFontData() -> Avoid GenImageColor(), ImageFormat()
 - LoadBMFont() -> Avoid ImageCopy(), ImageFormat()
2020-05-14 13:36:22 +02:00
raysan5
ca6016cc71 TextToInteger() always exposed 2020-05-14 13:32:57 +02:00
raysan5
4ec40e720c GenMeshCubicmap() added comments and simplification 2020-05-11 17:54:23 +02:00
GoldenThumbs
763aa5b8a2
Fixed Generated Normals for GenMeshCubicmap (#1244)
Just flipped the signs of `n5` and `n6` at lines `2021` and `2022`.
2020-05-11 11:41:21 +02:00
raysan5
4e3ab8f27d Update config.h.in 2020-05-09 17:37:02 +02:00
raysan5
3a4e3d8747 Update CMakeOptions.txt 2020-05-09 17:36:16 +02:00
raysan5
3a6af2cc57 Remove SUPPORT_IMAGE_DRAWING flag
ImageDraw() is actually used in multiple functions and it aslo depends on several functions...
2020-05-09 17:17:54 +02:00
raysan5
913ef1d56f Misc code reviews 2020-05-09 13:05:54 +02:00
Mickaël Malécot
0bd64b7975
Gamepad axis bug fixes and improvement (#1228)
* Fix gamepad axis count

* Fix Xbox axis drawing

* Ignore low axis values

* Revert "Fix gamepad axis count"

This reverts commit f08ae4bf

* Fix GamepadAxis API

* Fix conflict with master

* Revert Gamepad MAX definitions

* Revert MAX_GAMEPAD_AXIS update
2020-05-09 12:39:41 +02:00
raysan5
7efed56b66 Added [text] flag: SUPPORT_TEXT_MANIPULATION 2020-05-09 12:38:33 +02:00
raysan5
7a1d3d807f WARNING: RENAMED: ImageExtractPalette() -> GetImagePalette() 2020-05-09 12:07:18 +02:00
raysan5
cb3bdf09c6 Merge branch 'master' of https://github.com/raysan5/raylib 2020-05-09 12:05:08 +02:00
raysan5
959447d8ed Reorganized texture functions
Removed ImageAlphaMask() dependency on [text] LoadBMFont()
2020-05-09 12:05:00 +02:00
sikor666
db4a618c6f
Fix materials loading for IQM models (#1227) 2020-05-08 20:27:10 +02:00
armageddon421
df5c522049
Update CMakeLists.txt to fix CMake build for Raspberry Pi (#1229) 2020-05-07 22:22:09 +02:00
raysan5
d357b116fe Reviewed missing check for JPG 2020-05-07 18:08:35 +02:00
raysan5
6fa6757a8b Comment tweak 2020-05-07 13:39:41 +02:00
raysan5
f6ca045735 ADDED: DrawTriangle3D() and DrawTriangleStrip3D()
Those functions could be very useful for custom triangle data drawing, using internal batch system.
2020-05-07 12:46:45 +02:00
raysan5
2e8299742b Comments review 2020-05-07 12:45:44 +02:00
raysan5
67d8b43b0e Review first person movement Y waving
Some comments added
2020-05-07 12:45:23 +02:00
raysan5
fdad1f023b Avoid all MSVC compile warnings
Most warning were related to types conversion (casting required) and unsigned/signed types comparisons.

Added preprocessor directives (_CRT_SECURE_NO_DEPRECATE; _CRT_NONSTDC_NO_DEPRECATE) to avoid warnings about unsafe functions, those functions are safe while used properly and recommended alternatives are MS only.

Some external libraries still generate warnings.
2020-05-06 19:12:09 +02:00
raysan5
526c85773f Replace deprectared usleep() calls 2020-05-06 11:33:08 +02:00
raysan5
b8055925bf Update raymath.h 2020-05-01 18:19:54 +02:00
raysan5
af744b07c3 Review latest PR formatting 2020-05-01 18:04:47 +02:00
Anata
4583987fb9
Add Vector2MoveTowards function (#1233) 2020-05-01 17:50:41 +02:00
raysan5
c83477ffca WARNING: Big internal redesign!
Created RenderBatch type and related functions to allow rlgl users creating custom and separate render batches and not only rely on one internal render batch.

This feature has not been exposed on raylib yet because it implies some breaking changes. Right now a custom RenderBatch is just used internally in rlgl.
2020-05-01 17:34:43 +02:00
raysan5
51c3bef497 Review exposed #defines and allow user re-defining
There are multiple #define values around raylib, usually not exposed for redefinition, just reviewed all of them to allow users redefining them on compile time if required.

Also, multiple #define have been renamed and commented.
2020-05-01 17:31:44 +02:00
raysan5
1c15dc7292 Reviewed UWP update
Mostly code formatting tweaks
2020-04-30 21:00:09 +02:00
raysan5
0981dde9d4 Remove strcmp() requirement 2020-04-30 20:17:16 +02:00
raysan5
4ca4326bf9 Review LoadGLTF() to read from memory buffer 2020-04-30 19:51:57 +02:00
Reece Mackie
4b03860810
UWP rework (#1231)
* First draft of UWP rework.

* Read desc

- Moved UWP specific functions to uwp_events.h
- Removed BaseApp.
- Implemented example UWP lifecycle.

* Added GIF recording and screenshot support.

* Character inputs and filesystem stuff

* Fix game closing on Xbox when B is pressed.

* Fix the gamepad binding hack

* Add as many keys as I believe are possible.

* Implemented mouse locking of a sort.

* Remove rogue todo, the rest are for a game dev using this example.

* Implemented touch how I "think" it should work. I cant test this.

* Review.
2020-04-30 19:48:39 +02:00
raysan5
ac8f436c3b Init CORE.Window.focused 2020-04-29 20:55:17 +02:00
raysan5
94ab5e2aab Review issue with vertex batch overflow #1223 2020-04-27 18:02:54 +02:00
raysan5
6e2d39c51b ADDED: IsWindowFocused() 2020-04-27 17:41:29 +02:00
raysan5
72cc3e0530 Corrected issue #1203 2020-04-26 13:23:03 +02:00
raysan5
8e59ecb50c ADDED: GetWindowScaleDPI() 2020-04-24 23:17:32 +02:00
Kevin Yonan
dd7dd1ac8b
Mempool and other Allocators Optimization (#1211)
Optimizations of allocators.
Renamed 'Stack' to 'Arena'.
Replaced certain define constants with an anonymous enum.
Refactored MemPool to no longer require active or deferred defragging.
2020-04-22 13:11:45 +02:00
flashback-fx
596499416f
Update easings.h (#1210)
Make easings.h use powf and sqrtf instead of pow and sqrt.
2020-04-21 21:17:58 +02:00
raysan5
baf5e02f43 Remove comment 2020-04-16 13:48:47 +02:00
raysan5
8d51ad567f Review UWP project -WIP- 2020-04-13 16:40:04 +02:00
G3bE
32387317bf
Make raymath more consistent (#1197)
* Make raymath naming and functions more consistent

* Minor fixes

* Fix examples

* Fix Physac

* New naming rules

* Apply naming to Quaternion functions

* Apply to models.c

* Remove *MulitplyValue / *DivideValue
2020-04-13 16:32:45 +02:00
raysan5
cc816345bf WARNING: API BREAK: Removed LoadImagePro()
Actually this function is useless and potentially dangerous, internally, a shallow copy of data was done. Same could be accomplished accesing image.data directly.
2020-04-10 19:26:36 +02:00
raysan5
b132da0ac2 WARNING: API BREAK: Reviewed ImageDrawText*() params order
To unify with DrawText*() equivalent functions
2020-04-10 19:10:15 +02:00
raysan5
d419602c99 Review display size init for RPI 2020-04-09 23:50:00 +02:00
raysan5
926651b708 Optimized ImageDrawPixel()
Now it's blazing fast. It modifies image.data directly.

Previous version could take up to 3-4 seconds to draw a line... now it takes some nanoseconds...
2020-04-09 22:44:10 +02:00
raysan5
0abe557af1 Fixed issue with ImageDrawLine() 2020-04-08 12:37:52 +02:00
Ahmad Fatoum
6c9f6cf084 Revert "CMake: Don't create symlinks on unsupporting file systems (#539)"
As noted in #539, the symlink check was to support compiling raylib on
VirtualBox vboxfs as no symlinks are supported there.

With me using Linux as daily driver outside VirtualBox now, this 'feature'
is most likely unused by anyone, but still annoys other users (#791).
Just revert it and be done with it. If there are really others building
raylib on vboxfs or a similarly crippled file system under Linux, they
should now step forward when their build breaks.

This reverts commit b8ca51fd01.
2020-04-08 11:01:26 +02:00
raysan5
42f09eb2b8 Delete .gitignore 2020-04-07 18:52:07 +02:00
raysan5
ef9e9bfa7d Review Android piepline
- Removed generate_android_toolchain, since version r21 AndroidNDK it's the toolchain
 - Removed external lib native_app_glue, provided by AndroidNDK
2020-04-07 17:54:08 +02:00
raysan5
f31b87fae8 Remove ANGLE project
Actually, project just adds 50MB of ANGLE libraries not related to raylib.
Also reviewed UWP project to consume ANGLE from the NuGet package.
2020-04-07 17:43:21 +02:00
raysan5
62b7064e90 Corrected issue with depth initialization #1179 2020-04-06 19:58:28 +02:00
Louis Johnson
4f40f8bc47
added log warning for unsupported file extension for music stream (#1176)
* added log warning for unsupported file extension for music stream

* updated error log message for music stream when file format isn't supported
2020-04-06 11:26:09 +02:00
Benjamin Stigsen
2d6303e9fe
Allow for empty replacement string (#1178) 2020-04-05 22:42:59 +02:00
raysan5
90fb53bccc Review android_fopen() to support SDCard access 2020-04-05 17:51:27 +02:00
raysan5
4ceb4d3bf3 Some code tweaks, comments and defines 2020-04-05 17:50:37 +02:00
Benjamin Stigsen
9c280bc7af
TextReplace changes (#1172)
- Added NULL return if the replacement string (`by`) is empty
- Reordered sanity checks since there's no need to initialize variables if the strings are invalid.
2020-04-04 14:25:57 +02:00
SasLuca
8444c3f705
Fixed offset check in GenImageFontAtlas (#1171)
* Fixed offset check in GenImageFontAtlas

* Fixed code formatting to follow raylib notation rules
2020-04-02 23:53:29 +02:00
raysan5
adb20569be Review shared library building 2020-04-01 11:06:05 +02:00
Ray
6a8b1079c1 Update project version for release 2020-03-30 23:42:17 +02:00
raysan5
8da6307456 Get icons back on shell.html
It seems there is some related issue on emscripten side... but I'll keep the icons here despite not displayed properly for the moment.
2020-03-30 21:34:45 +02:00
raysan5
e469f4ebf7 Update config.h, enable some file-formats by default 2020-03-30 17:42:42 +02:00
raysan5
8941cf3e66 Update textures.c 2020-03-30 17:42:19 +02:00
raysan5
fc7ec5e907 Update raylib.h 2020-03-30 17:11:35 +02:00
Dani Martin
1a948849f3
[cppcheck] Fix minor warnings in models.c and raudio.c (#1162)
Errores fixes:
models.c,2843 Either the condition 'fileData!=NULL' is redundant or there is possible null pointer dereference: fileData.
raudio.c,805, 806, 807, 808, %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'.
2020-03-30 17:08:01 +02:00
raysan5
e8a8d544c5 Review formating and signegness issues 2020-03-30 14:38:16 +02:00
Dani Martin
62cdb2299b
[cppcheck] Improvements in SaveStorageValue() in core.c (#1160)
* [cppcheck] Improvements in SaveStorageValue() in core.c

in file core.c cppcheck shows errors only in function SaveStorageValue():

* Common realloc mistake: 'fileData' nulled but not freed upon failure
* Memory pointed to by 'fileData' is freed twice.

Validation:
* Tested examples/core/core_storage_values.c
* Launched Unit Test for this function
* Rerun CPPCHECK afer fix

* [cppcheck] Change functions header to accept only positive position in files

Changes:
* Functions SaveStorageValue(), LoadStorageValue() (core.c)
* Functions LoadFileData(), SaveFileData() (utils.c)
* Headers in raylib.h

Validation:
* Tested examples/core/core_storage_values.c
* Launched Unit Test for these functions
* Rerun CPPCHECK afer fix
2020-03-30 13:51:36 +02:00
Valentin Lemière
41582f0448
Fix "variable is reassigned before use" linter warning on raymath.h (#1158) 2020-03-29 22:03:10 +02:00
raysan5
733ed972f7 Reorganize image functions 2020-03-29 13:37:33 +02:00
raysan5
5d7050bdf9 Reorganize image/texture functions for consistency 2020-03-29 13:31:12 +02:00
Rob Loach
a025636fa1
Update ImageDraw*() functions to match arguments of Draw*() (#1156)
* Update ImageDraw*() functions to match arguments of Draw*()

Updated draw functions:
ImageDrawPixel()
ImageDrawPixelV()
ImageDrawCircle()
ImageDrawCircleV()
ImageDrawLine()
ImageDrawLineV()
ImageDrawRectangle()
ImageDrawRectangleV()
ImageDrawRectangleRec()

* [nodepadpp] Update Notepad++ ImageDraw defintions

This updates the Notepad++ definitions with the updated ImageDraw methods.

* [examples] Add ImageDraw calls to textures_image_drawing

* Update ImageDraw*() methods
2020-03-29 12:43:34 +02:00
raysan5
66e0d774bd Revert "Update compilation warning flags (#1151)"
This reverts commit 2528854664.
2020-03-28 18:39:56 +01:00
raysan5
e333eb415b Update window rc 2020-03-28 18:27:56 +01:00
raysan5
d28e73849b Review TRACELOG() messages 2020-03-27 18:49:21 +01:00
raysan5
d7b15ac1cf Review TRACELOG() categories 2020-03-27 18:45:37 +01:00
raysan5
c0c775e45d [rlgl] Review TRACELOG() messages, categorized 2020-03-27 18:31:36 +01:00
raysan5
b5842434c2 Corrected missing semicolon 2020-03-27 18:31:16 +01:00
raysan5
c7e9951795 [core] Review TRACELOG() messages, categorized 2020-03-27 18:06:09 +01:00
raysan5
70ed975b99 [models] Review TRACELOG() messages, categorized 2020-03-27 17:43:51 +01:00
raysan5
7e2b1b4ff0 [textures] Review TRACELOG() messages 2020-03-27 17:43:38 +01:00
raysan5
915b5f370b [raudio] Review TRACELOG() messages, categorized 2020-03-27 17:43:24 +01:00
raysan5
0c6c421508 [raudio] Review TRACELOG() messages, categorized 2020-03-27 17:16:30 +01:00
raysan5
bc2c6251f8 [text] Review TRACELOG() messages, categorized 2020-03-27 17:16:07 +01:00
raysan5
b9dd459d5a [textures] Review TRACELOG() messages, categorized 2020-03-27 17:15:44 +01:00
raysan5
28da2522fe [utils] Review TRACELOG() messages, categorized 2020-03-27 17:15:26 +01:00
Dani Martin
2528854664
Update compilation warning flags (#1151)
* Update compilation warning flags

Removed the -Wall flag that allow many warnings and added manually all the warning flags that don't generate warnings in the src/external folder.
Specifically, these are some of the flags reporting errors in src/external:

-Wmissing-prototypes
-Wunused-variable
-Wunused-value
-Wunused-parameter
-Wunused-function

* Uptade compilation flags in examples with missing -std=c99
2020-03-26 18:48:34 +01:00
raysan5
7ae7a87f8a Remove trail spaces 2020-03-25 19:41:51 +01:00
raysan5
3d41c1b6cd Minor tweaks 2020-03-25 19:38:55 +01:00
raysan5
96005f2566 ADDED: IsWindowFullscreen() 2020-03-25 18:52:38 +01:00
raysan5
e37d021cd3 Enable IQM models support on config.h 2020-03-25 18:51:46 +01:00
raysan5
133a882556 Update config.h 2020-03-25 18:39:28 +01:00
Random
e07281f8bd
Fixed DrawTextRecEx() selection when wordwrap is ON (again) (#1149) 2020-03-25 10:27:43 +01:00
raysan5
d657537821 Support mtl loading by tinyobj_parse_obj() #1134
I don't like this solution but well... let's use it for the moment...
2020-03-24 18:42:57 +01:00
Ádám Dóda
584e2d664c
GenMeshHeightmap flat shading normals (#1140) 2020-03-24 13:27:49 +01:00
raysan5
51a8e1d692 Remove define not required 2020-03-24 13:26:34 +01:00
Doyle
da836a732c
Android: Better track touch input returned from IsMouse*() (#1144)
* Android: Better track touch input returned from IsMouse*()

Switch to actually tracking touch input to use for "mouse" input rather
than the gestures system. The gesture system as an abstraction ontop of
raw touch input loses some information needed to map to "mouse"
input.

Before,
- IsMouseButtonReleased() triggers immediately after the initial touch
(because GESTURE_TAP activates immediately on touch) instead of waiting for the
touch to be released.
- IsMouseButtonUp() returns false, when it should just be the opposite
of IsMouseButtonDown().
- IsMouseButtonDown() returns true only after GESTURE_HOLD (which
activates after some period of time after GESTURE_TAP), when instead it
should just be true whenever there is touch input i.e. gesture !=
GESTURE_NONE or alternatively when any input is received on the screen.

After this PR, touches map closer to mouse input.
- IsMouseButtonReleased() triggers when touch is released (last frame
was touched, this frame not touched).
- IsMouseButtonUp() returns the opposite of IsMouseButtonDown()
- IsMouseButtonDown() is true when
(AMOTION_EVENT_ACTION_DOWN || AMOTION_EVENT_ACTION_MOVE) and false when
(AMOTION_EVENT_ACTION_UP)

* RPI: Include index check for RPI in GetTouchPosition()
2020-03-24 13:23:34 +01:00
Ahmad Fatoum
0229f9b1a4 CMakeLists.txt: report generated CMAKE_CONFIGURATION_TYPES
We might want to customize this in feature for multi-config builds (e.g.
a Visual studio build with both Debug and Release configurations).

Output the variable value for user awareness.
2020-03-24 06:37:22 +01:00
raysan5
fcdb120935 Comment tweaks 2020-03-23 20:24:20 +01:00
raysan5
8f45370073 Comment tweaks 2020-03-23 20:24:09 +01:00
raysan5
5aebd2a16c Review formating from PR #1138 2020-03-21 20:30:40 +01:00
Sourav Gupta
574c689ff7
Added draw functions to ImageDraw*() (#1138)
Added draw functions:
ImageClearBackground()
ImageDrawPixel()
ImageDrawLineEx()
ImageDrawCircle()
2020-03-21 20:23:50 +01:00
Doyle
01e035e28b
Android: Track touch motion across screen (#1137)
This was working in 2.6 but no longer does in current git tree.
It appears touch position is only tracked on
AMOTION_EVENT_ACTION_[DOWN|UP], which only registers the initial touch
on the screen. Subsequent movement is not tracked into CORE.

Touch position and the Gesture System appears to be updated twice in
AndroidInputCallback in what looks like perhaps a copy paste error (code
is identical) with the exception of tracking AMOTION_EVENT_ACTION_UP in
the 2nd copy of the code (but this is not necessary to track).

If you need to track the first touch or release touch position, you can
do so with checking IsMouseButton[Pressed|Released] on the same frame.

This patch makes it so the touch position is always updated, and merges the
duplicated code into 1 singular code path.
2020-03-19 16:56:48 +01:00
raysan5
4af4483f5f Added security check in case init fails #1135 2020-03-17 20:57:01 +01:00
raysan5
2344941974 Replace external libraries custom allocators by raylib ones #1074
NOTE: Two libraries still use custom allocators: glfw and stb_vorbis
2020-03-17 13:40:07 +01:00
raysan5
71b06caed4 Corrected typo 2020-03-15 17:06:08 +01:00
raysan5
4611406c68 REVIEWED: ImageTextEx() to support line breaks #1131
NOTE: This functionality has an important issue, line space is fixed to 1.5 font.baseSize pixels, depending on the font and how it has been generated that spacing could be too wide or too narrow...
2020-03-15 16:18:48 +01:00
Doyle
427be604b9
Android: Set display.[width, height] before screen size check (#1132)
In `InitGraphicsDevice(...)`, the Android section has a screen security check
like other platforms- but CORE.display.width, CORE.display.height are
not set yet, so the security check sets it to 0. So ensure we query the
device's screen width and height before the screen size security check.

This also gives you the ability to run a proper full-screen application
on Android without any scaling and guess work on the target device by
setting screen width and height to 0 in `InitWindow(...)` and using
`GetScreen[Width|Height]()` to get the actual values.
2020-03-15 15:56:43 +01:00
Ray
d57b5ac89a Added note on transparent framebuffer w/o X11 on RPI 2020-03-12 17:47:35 +01:00
Ray
7fa12844ed [text] TextToUpper(): Added note on diacritics 2020-03-12 13:02:09 +01:00
Ray
4c728f0b54 Minor tweaks 2020-03-09 18:45:37 +01:00
Ray
5895fb6adc Address issue #1125 2020-03-09 13:01:10 +01:00
SasLuca
680f9d5772
Changed if to else if. (#1122) 2020-03-08 18:03:23 +01:00
Ray
c67bc02dd1 Reviewed missing include 2020-03-07 21:54:54 +01:00
Ray
fb2ed693e4 Android: Support file saving to internal data storage 2020-03-05 18:12:41 +01:00
Ray
966e8adcf9 Reviewed and Updated Android compilation scripts 2020-03-05 12:25:39 +01:00
Ray
c3386300d3 Remove comment 2020-03-04 18:23:31 +01:00
Ray
74c486201d ADDED: LoadFileText() and SaveFileText()
Improved file access checks
2020-03-04 00:21:46 +01:00
Ray
6b8f30964d WARNING: Corrected issue with IsKeyDown() #1119 2020-03-03 16:43:15 +01:00
Ray
dc2e5c1751 Update core.c 2020-03-03 16:10:31 +01:00
Ray
645a5b2507 Avoid icons in shell
Very weird... lately icons are not properly displayed on browser!
2020-03-03 15:53:13 +01:00
Ray
3a073db029 REVIEWED: Mouse/Touch input system
After several reviews, now it seems everything works as expected.
2020-03-03 14:58:54 +01:00
Ray
a6297a2be1 Some code tweaks 2020-03-03 01:21:06 +01:00
Ray
8724cf2ea5 Support any mouse button for gesture detection 2020-03-02 13:29:36 +01:00
Ray
08615d3247 Review some comment 2020-03-02 12:22:57 +01:00
i-right-i
3c2ee1cc75
Update raymath.h (#1118)
* Update raymath.h

Added Vector2Rotate Function.

* Update raymath.h
2020-03-02 10:22:08 +01:00
Ray
2f5a7ddcc6 Added comment on IsMouseButtonDown() issue
IsMouseButtonDown() does not process touch state down properly, state is reseted every frame...
2020-03-02 00:07:06 +01:00
Ray
18a9982126 Reviewed IsMouseButtonDown() 2020-03-01 01:29:34 +01:00
Ray
7428747ef0 REDESIGNED input system for better mouse/touch support 2020-02-29 22:10:23 +01:00
Ray
1ee6290fcf Replaced fabs() by fabsf() when required 2020-02-28 12:54:39 +01:00
brankoku
572969d8b7
LoadText() tweak (#1113)
Guarantee string is zero-terminated
2020-02-28 08:23:05 +01:00
Ray
f2247c6f0a REVIEWED: LoadText() 2020-02-28 00:32:46 +01:00
Ray
05992a6fce Tweaks 2020-02-27 16:37:32 +01:00
Ray
c8464bc731 Corrected return value 2020-02-27 16:22:34 +01:00
Ray
b2098a2d60 REDESIGN: ExportImage()
Use new file I/O ABI
2020-02-27 16:15:58 +01:00
Ray
ac73e3b5e2 REDESIGN: ExportWave()
Use new file I/O ABI
2020-02-27 16:15:20 +01:00
Ray
1be68d8cfe Tweak on variable init 2020-02-27 16:14:50 +01:00
Ray
eb86d69a38 Review default config flags 2020-02-27 16:14:31 +01:00
Ray
acfa967e89 Corrected issue with variable name 2020-02-27 13:56:27 +01:00
Ray
5ff0776235 Remove trail spaces and some tweaks 2020-02-27 13:33:09 +01:00
Ray
2a408d789c REDESIGNED: LoadImage() -WIP-
Using new file I/O ABI
2020-02-27 13:21:51 +01:00
Ray
5100cb3e7f REDESIGNED: LoadImageRaw(), LoadAnimatedGIF()
Using new file I/O ABI
2020-02-27 13:21:21 +01:00
Ray
b029fb6d31 REDESIGNED: LoadFontEx()
Using new file I/O ABI
2020-02-27 13:19:58 +01:00
Ray
245ba2a152 LoadText(): Added comment 2020-02-27 13:19:13 +01:00
Ray
89ecad1e29 Review macros 2020-02-27 13:18:55 +01:00
Ray
23bde477e5 REDESIGN: LoadStorageValue()/SaveStorageValue()
Using new file I/O ABI
2020-02-27 13:18:15 +01:00
Ray
5aed36e76d Tweaks on fullsccreen detection... 2020-02-26 23:42:06 +01:00
Ray
e5b5aea998 WARNING: RENAMED: Storage functions
Renamed functions for consistency:

 - StorageLoadValue() > LoadStorageValue()
 - StorageSaveValue() > SaveStorageValue()
2020-02-26 23:40:53 +01:00
Ray
fadd74358b Security check 2020-02-26 23:38:12 +01:00
Ray
fa4e0c1a26 Reviewed example 2020-02-26 20:47:08 +01:00
Ray
1046449339 ADDED: LoadFileData(), SaveFileData() 2020-02-26 20:29:33 +01:00
Ray
c5d5d19443 Remove trail spaces 2020-02-26 20:23:55 +01:00
Ray
0f783aab34 Remove TraceLog() dependency on standalone mode 2020-02-26 20:23:36 +01:00
Ray
7849db65e0 Remove TraceLog() dependency on standalone mode 2020-02-26 20:23:06 +01:00
Ray
9b5a796213 Use float math functions 2020-02-26 20:20:52 +01:00
Ray
32e374d941 [core] SetWindowSize() try to support PLATFORM_WEB -WIP- 2020-02-24 12:35:53 +01:00
Ray
113a580021 [rlgl] LoadText() variable scope improvement 2020-02-24 12:05:54 +01:00
Ray
a77273d8d8 Make sure current text buffer is empty #1109 2020-02-24 11:15:02 +01:00
Ray
310fd9b147 Update to latest emscripten toolchain
Corrected issue on web compilation
2020-02-22 17:21:10 +01:00
Ray
01d8642520 Merge branch 'master' of https://github.com/raysan5/raylib 2020-02-22 10:38:37 +01:00
Ray
30f3e49f3d Improve inputs on Android 2020-02-22 10:38:32 +01:00
Ray
0b8aded399 Support ToggleFullscreen() on web 2020-02-22 10:37:43 +01:00
Ray
d2aeafcf1e Update Makefile 2020-02-22 10:36:34 +01:00
Ray
81881a120c Comment tweak 2020-02-22 10:36:20 +01:00
Tyler Jessilynn Bezera
e7fdf8a13d
Expand GLTF Model support (#1108)
* Update GLTF support to include loading color for albdeo (saved in the color value of the materialmap), support occlussion and emmission maps.. as well as some quality of life updates.

* clean up to use single image
2020-02-22 10:17:30 +01:00
Ray
a750bcceec Support links on WebAssembly 2020-02-21 01:13:41 +01:00
Ray
67d0bf75a7 Update Makefile paths to use emscripten upstream
Note that emscripten upstream branch implements the new asyncify implementation, expected to be faster than emterpreter one.
2020-02-20 23:00:29 +01:00
Ray
a8a21312e1 Removed TABS 2020-02-20 13:46:49 +01:00
Ray
42dad5df95 [rnet] Renamed some functions 2020-02-20 13:46:33 +01:00
Ray
e176a476c0 [rnet] Review network examples formatting 2020-02-20 12:42:37 +01:00
Ray
faff512140 [rnet] Convert to header-only
Some functions renamed
2020-02-19 18:15:59 +01:00
Ray
946a6cb280 Review mouse inputs 2020-02-19 12:44:57 +01:00
Ray
7d789763d6 Update API version 2020-02-19 12:35:30 +01:00
Ray
d62a2f793f Improved GetFPS() calculation for average 2020-02-19 12:20:15 +01:00
Ray
9eefcb7939 Update miniaudio.h 2020-02-19 12:19:41 +01:00
o3o
36bf8a60d8
Fix #1103 (#1104)
Fix 1102
2020-02-18 23:19:30 +01:00
Ray
6d1cdf25a7 [rnet] Review module formating
Align formating with other raylib modules coding style.
2020-02-18 18:15:22 +01:00
Ray
51db3b589d Review function name on RAUDIO_STANDALONE 2020-02-18 18:14:22 +01:00
Ray
b18940d3c6 Remove spaces 2020-02-18 18:03:28 +01:00
Ray
3f25c52a29 Some security checks in case music is not properly loaded 2020-02-18 16:30:52 +01:00
Ray
39e73ccc4d [text] TextLength() security check 2020-02-17 00:47:05 +01:00
Ray
df4b55d657 Comment fprintf() calls 2020-02-17 00:46:41 +01:00
Ray
23b75281ad Add function prototype 2020-02-14 23:10:02 +01:00
Ray
91b2dc2aa9 [raudio] ADDED: SetAudioStreamBufferSizeDefault()
There could be some cases where we need to define the internal audio buffer size, now it's possible.

RENAMED: InitAudioBuffer() to LoadAudioBuffer()
RENAMED: CloseAudioBuffer() to UnloadAudioBuffer()

Renamed some defines and reviewed some comments.
2020-02-14 17:13:37 +01:00
Ray
7459a5c6ef Remove "No Audio Buffer" traces 2020-02-14 11:44:50 +01:00
Ray
8820baf5cc Update miniaudio.h 2020-02-13 11:41:33 +01:00
Ray
3b3e163c48 [raudio] Corrected issue with OGG sound loading 2020-02-13 11:41:28 +01:00
Ray
83fb4613c1 Review some RPI issues 2020-02-13 00:13:56 +01:00
Ray
1b20182d33 Updated periodSize reference 2020-02-12 14:45:02 +01:00
Ray
7dfe42d6d0 Trace log comment review 2020-02-12 13:49:08 +01:00
Ray
55f0647213 [core] Avoid pixel bleeding issue on MSAA 2020-02-12 13:48:50 +01:00
Ray
484c6b360f Reviewed Cppcheck issues #1098 2020-02-12 13:16:18 +01:00
SasLuca
dec85f741a
Fixed memory leaks in textures.c (#1097) 2020-02-11 22:25:27 +01:00
Ray
87d5b51256 REVIEWED: GetDirectoryPath()
Check if provided path is a full path containing system root letter: C:\
2020-02-11 19:12:49 +01:00
Ray
aa3b413390 SUPPORT_HALFBUSY_WAIT_LOOP 2020-02-11 19:01:29 +01:00
raysan5
49145e90a2 Remove spacing 2020-02-10 13:16:34 +01:00
raysan5
28e12a6c6a [raudio] Update to latest miniaudio 0.10 2020-02-10 12:42:40 +01:00
raysan5
131132f17d Minor tweaks 2020-02-10 10:56:48 +01:00
raysan5
884e868e92 Review DEBUG trace log and custom allocators
Not exposing some data structures
2020-02-10 10:56:39 +01:00
raysan5
becd3c3831 REVIEWED: GenMeshCylinder(), solved issue #1088 2020-02-09 21:04:03 +01:00
raysan5
34fafb733f Corrected issue with toupper() usage 2020-02-09 16:11:32 +01:00