Commit Graph

2988 Commits

Author SHA1 Message Date
Ahmad Fatoum
3e0e91013f
Revert "CMake: make unsequenced modifications an error"
This reverts commit 23c1c0bdb2.

Because add_if_flag_compiles apparently allows unsequenced
even if the compiler doesn't support it..
2019-05-04 23:56:38 +02:00
Ahmad Fatoum
23c1c0bdb2
CMake: make unsequenced modifications an error
They not only result in discrepancies between different compiler,
but trigger undefined behavior. Avoid them by having them break
the CMake build and CI.
2019-05-04 23:20:29 +02:00
Ahmad Fatoum
43bfb979e5
examples: CMake: warn once only about macOS OpenGL deprecation
Otherwise compiling rlgl is too spammy. While at it remove
the now unneeded CheckIncludeFiles.
2019-05-04 23:05:30 +02:00
Ahmad Fatoum
ae2e48c77f
CMake: don't use system GLFW headers if using built-in GLFW
This fixes the current CI failure.
2019-05-04 23:04:52 +02:00
Ahmad Fatoum
7d57a64337
Travis CI: build, don't download, external GLFW
CI is failing because we still test with GLFW 3.2, while
the internal GLFW is 3.3. To avoid such breakages in future,
build and install our own GLFW instead of relying on an external
Debian package.
2019-05-04 23:04:52 +02:00
Ahmad Fatoum
36d8a648f0
external: glfw: reinstate export of GLFW_PKG_{DEPS,LIBS}
We were doing this before, but it was deleted during the
last GLFW update. Readd it to fix the associated macOS CI failure.

Fixes: cd934c9f6 ("Update GLFW to 3.3.1")
2019-05-04 22:28:21 +02:00
Ahmad Fatoum
2cda760312
examples: CMake: don't build core_loading_thread if no pthreads
The example requires pthreads and now C11 <stdatomic.h>, thus skip it
if either isn't available.

This also fixes the current Travis CI build failure for the
Windows configuration.
2019-05-04 21:23:41 +02:00
Ahmad Fatoum
6681fd7df2
examples: core_loading_thread: fix race condition
A plain variable is insuffecient for inter-thread communication. Both the
compiler and the processor may reorder accesses. The compiler could even
cache dataLoaded with the result that STATE_FINISHED becomes unreachable.

Fix this by using C11 atomic_bool, which guarantees sequential consistency.

This fixes #827.
2019-05-04 21:23:19 +02:00
Ahmad Fatoum
53d9beb534
examples: core_loading_thread: use symbolic names for state machine states
And while at it, use a switch clause to make the state machine
structure clearer.
2019-05-04 17:15:48 +02:00
Ray
0fe409bfa9 Renamed example 2019-05-03 17:57:36 +02:00
Ray
f53395694d Create examples_template.c 2019-05-03 17:56:58 +02:00
Ray
62f1511e5f Batch of 9 new shapes examples!
Some examples included in this batch require the included libraries: `easings.h` and `raygui.h`. Examples included:

 - shapes_bouncing_ball
 - shapes_collision_area
 - shapes_following_eyes
 - shapes_draw_circle_sector (requires raygui.h)
 - shapes_draw_rectangle_rounded (requires raygui.h)
 - shapes_draw_ring (requires raygui.h)
 - shapes_easings_ball_anim (requires easings.h)
 - shapes_easings_box_anim (requires easings.h)
 - shapes_easings_rectangle_array (requires easings.h)
2019-05-03 16:00:16 +02:00
Ray
0c53360a3a new example: textures_sprite_explosion 2019-05-03 15:56:07 +02:00
Ray
c6b7f9c5b0 Some minor comments 2019-05-03 15:55:24 +02:00
Ray
f44888e466 Force HighDPI on macOS 2019-05-03 09:45:16 +02:00
Ray
4d00b5a8bb
Merge pull request #824 from kawa-yoiko/highdpi-cmakeopt
Add SUPPORT_HIGH_DPI to CMakeOptions.txt
2019-05-03 09:42:48 +02:00
Shiqing
780cefc3b0 Add SUPPORT_HIGH_DPI to CMakeOptions.txt 2019-05-03 12:24:20 +08:00
Ray
0b2bad4205 Update models_first_person_maze.c 2019-05-02 13:24:02 +02:00
Ray
beda4180cd Added missing include 2019-05-02 13:15:05 +02:00
Ray
a9ebf8e10d new example: textures_sprite_button 2019-05-02 13:01:36 +02:00
Ray
34feacc148 new example: core_loading_thread
Data loading in a second thread with progress bar in main thread
2019-05-02 12:22:54 +02:00
Ray
d46160fb6e example review: models_first_person_maze
Added walls collision check
2019-05-02 12:22:15 +02:00
Ray
fc56f8d9ef Work on touch_as_mouse input -WIP- 2019-05-02 09:46:01 +02:00
Ray
73a54fcc3d Update Makefile 2019-05-02 00:15:46 +02:00
Ray
0f84f9f51f
Merge pull request #823 from Narice/master
Defined PI (#822)
2019-05-02 00:07:31 +02:00
Narice
a54af067c2
Added guards to PI define
Added guards to not redefine it if the user is using it with raylib.h
also added an 'f' at the end of the define to keep compliant with raylib's PI define
2019-05-01 22:03:32 +02:00
Narice
59c436c922
Defined PI (#822)
PI is not always defined in math.h, thus it must be defined in this header
2019-05-01 21:41:51 +02:00
Ray
c9025ed205 Corrected issue with texture rendering
Not sure if already corrected...
2019-05-01 16:15:33 +02:00
Ray
bb2841a26d WARNING: Support high DPI displays
This change could break things. So, I created SUPPORT_HIGH_DPI flag to enable it (disabled by default).

Basically, it detects HighDPI display and scales all drawing (and mouse input) appropiately to match the equivalent "standardDPI" screen size on highDPI. It uses screenScaling matrix to do that.

This scaling comes with some undesired effects, like aliasing on default font text (keep in mind that font is pixel-perfect, not intended for any non-rounded scale factor).

The only solution for this aliasing would be some AA postpro filter or implementing the highDPI scaling in a different way: rendering to a texture and scaling it with FILTER_BILINEAR, check `core_window_scale_letterbox.c` example for reference.

Use at your own risk.
2019-05-01 14:30:36 +02:00
raysan5
270f563964 Minor tweaks 2019-04-28 18:30:27 +02:00
raysan5
100c82e369 Review formatting to follow raylib style 2019-04-28 18:23:21 +02:00
Ray
fc6186a632
Merge pull request #821 from NerdThings/gamepad-rework
Gamepad Rework
2019-04-28 18:12:36 +02:00
Reece Mackie
a51f3be38f Fix web 2019-04-28 16:53:20 +01:00
Reece Mackie
f36ba6a2f4 Damn, made a mistake 2019-04-28 16:32:05 +01:00
Reece Mackie
948a442704 Update gamepad example to use new enums 2019-04-28 16:20:14 +01:00
Reece Mackie
86eba24970 This is dumb... 2019-04-28 16:08:07 +01:00
Reece Mackie
e69688437a Why does visual studio keep using tabs!!! 2019-04-28 16:06:56 +01:00
Reece Mackie
d42965b0b0 Fix tabs 2019-04-28 16:05:45 +01:00
Reece Mackie
3244ec2a1d Add another UWP comment for clarity 2019-04-28 16:03:23 +01:00
Reece Mackie
7ca856f9b7 Formatting changes 2019-04-28 15:59:39 +01:00
Reece Mackie
f8c6226826 Merge branch 'master' into gamepad-rework 2019-04-28 15:54:50 +01:00
raysan5
40940f4398 Some formatting review 2019-04-28 16:45:23 +02:00
raysan5
7c10f971c1 Expose enable/disable backface culling
Some tweaks on BeginVrDrawing()
2019-04-28 16:03:59 +02:00
raysan5
55cb13f1b8 Remove example on Android 2019-04-28 15:46:08 +02:00
raysan5
604a8c0b78 WARNING: Functions renamed
Two functions have been renamed for coherence; previous naming was confusing for several users:

 - DrawPolyEx()         ---> DrawTriangleFan()
 - DrawPolyExLines() ---> DrawLineStrip()
2019-04-28 14:45:46 +02:00
Reece Mackie
e0580e6322 Fix merge 2019-04-27 21:59:01 +01:00
Ray
f70a640b2d
Merge pull request #820 from NerdThings/readme-fix
Fix Readme
2019-04-27 22:48:32 +02:00
raysan5
e8c413b7cd Review UWP implementation
Basically, formating review and some variables naming to follow raylib conventions.
2019-04-27 22:47:03 +02:00
Reece Mackie
c1f33eb817 Line cleaning 2019-04-27 21:43:32 +01:00
Reece Mackie
3506e3bf21
Update README.md 2019-04-27 21:42:22 +01:00