Commit Graph

1613 Commits

Author SHA1 Message Date
Ray
db96cf4a8b Corrected bug on OpenGL ES quads drawing 2018-12-18 16:52:18 +01:00
Ray
f822650a3b Support externally provided compilation flags
Useful in case raylib compilation want to be automated and compilation config flags provided by command line.
2018-12-18 00:20:08 +01:00
Ray
fe346fa8d8 Added a possible dependency include path for glfw 2018-12-16 00:44:09 +01:00
Ray
7d81e673ed ADDED: GenMeshPoly()
To generate 2D polygonal shape
2018-12-15 23:31:56 +01:00
Ray
4008a075a8 Added scissor functionality
To draw only in defined area of the screen
ADDED: BeginScissorMode(), EndScissorMode()
2018-12-15 23:30:55 +01:00
Ray
cbbd67ab5a Some code tweaks
- Reorganized some variables: Not used on OpenGL 1.1
- Now mipmaps can be generated on OpenGL 1.1 backend
- Renamed whiteTexture to defaultTextureId
2018-12-14 10:00:44 +01:00
Ray
97e40ced57 WARNING: BIG rewrite of rlgl module
This commit implements a big update of rlgl module, intended to optimize some parts. This change could break some code bases... hopefully not, but it could.
The BIG changes to the module are:
 - Replaced LINES-TRIANGLES-QUADS buffers by a single one, now all vertex data is accumulated on a single buffer and managed with registered draw calls. LINES-TRIANGLES-QUADS could be used the same way as before, rlgl will manage them carefully. That's a big improvement of the system.
 - Support multi-buffering if required. Just define MAX_BATCH_BUFFERING desired size (currently set to 1 batch). Should be enough for most of the situations.
 - Removed temporal accumulative buffers for matrix transformations, now transformations are directly applied to vertex when on rlVertex3f()
 - Reviewed rlPushMatrix()/rlPopMatrix() to be consistent with OpenGL 1.1, probably I should remove that ancient behaviour but... well, it was not consistent and now it is.
 - Minor tweaks: LoadText(), I broke it in last update... also multiple comments reviewed.
 - TODO: MAX_BATCH_ELEMENTS checking should probably be reviewed... done some tests and it works but...
2018-12-11 18:54:48 +01:00
Ray
7361ed24e2 Added support for .otf fonts
stb_truetype supports some .otf fonts, just exposed that functionality.
2018-12-10 00:29:52 +01:00
Ray
a8ac6e2ef9 Increase text management buffers size 2018-12-04 13:15:42 +01:00
Ray
5ef4661216 Comments removed 2018-12-03 16:48:01 +01:00
Ray
8b75a1a990 Improved textures wrap support 2018-12-03 12:00:05 +01:00
Ray
f552d43547 Reviewed some comments 2018-12-03 11:24:11 +01:00
Ray
5086c60e2f Replaced #defines by enums 2018-12-03 11:04:32 +01:00
Ray
1774260dab Some tweaks 2018-11-30 01:57:53 +01:00
Ray
874c0910e3 Replaced default release paths 2018-11-28 17:35:42 +01:00
Ray
ab0287bd4e Some tweaks to LoadText() 2018-11-28 12:34:03 +01:00
Ray
0bf82ff6f4 free memory for extList 2018-11-27 12:23:41 +01:00
Ray
b5c6736592 Reimplement ImageAlphaCrop() 2018-11-27 10:20:41 +01:00
Ray
69ae794465 Updated stb libs to latest version 2018-11-27 09:23:30 +01:00
Ray
969e48e3dd Enable SDL2 library for audio on Web
Solves audio cracking issues
2018-11-26 17:15:43 +01:00
Ray
c6b526de66 Support file drag & drop on Web
Using by default memory filesystem (MEMFS), provided by Emscripten
2018-11-26 17:15:00 +01:00
Ray
2deb35be27 Review emscripten path 2018-11-23 17:03:07 +01:00
Ray
bc8d3f30ec Updated to latest mini_al 2018-11-23 17:02:54 +01:00
Ray
83d90c6e49 Review totalSampleCount for OGG and FLAC 2018-11-23 11:58:45 +01:00
Ray
31d0fd820d Avoid program crash on audio device fail 2018-11-20 11:27:10 +01:00
Ray
ac23af9bf0 Review resources naming
raylib resource data file for Windows platform (containing raylib icon and metadata for executable file) has been renamed to a more consistent name: raylib.rc.data

Also required to work with tcc compiler.
2018-11-19 15:18:11 +01:00
Ray
ed269b8d9a Review RenderTexture drawing usage
Now `BeginTextureMode()` does not clean buffers automatically, that behaviour has been changed because there could be some case (i.e. painting software) where texture buffer does not ned to be cleared; user is responsible of clearing buffers using `ClearBackground()`
2018-11-19 09:40:01 +01:00
Ray
829538249f
Merge pull request #683 from iwoplaza/patch-1
Update core.c
2018-11-19 09:27:45 +01:00
Ray
fcb2b74342 Corrected issue with MSAA 2018-11-19 09:23:38 +01:00
Ray
de02f14283 Updated mini_al 2018-11-17 10:04:12 +01:00
Ray
6351971c7f Corrected typo 2018-11-17 10:03:40 +01:00
Ray
c8385aba83 Review SetWindowIcon() 2018-11-17 00:46:42 +01:00
Michael Vetter
8f70c3baed Check for single apostrophe in OpenURL()
When doing a8dffc63fb I was not aware that
printing a warning and not executing the code would be an option. I only
learned that through 618f220851.

So I propose that we allow all URLs except if the string contains a `'`.
Which could end the URL and call another command via `system()`.

Related to https://github.com/raysan5/raylib/issues/686
2018-11-13 10:59:52 +01:00
Ray
618f220851 OpenURL() - Added small security check 2018-11-12 14:59:31 +01:00
Michael Vetter
a8dffc63fb Add warning to OpenURL()
See https://github.com/raysan5/raylib/issues/686
2018-11-12 12:32:41 +01:00
Ray
30a1edd40e Review OpenURL() 2018-11-12 00:34:32 +01:00
Michael Vetter
80dbe636cd core: OpenURL() fix xdg-open call
Calling just `xdg-open` is not right. One needs to pack the URL in `'`.
If we don't do this then some special characters (like ampersand) will
be executed.

Maybe this is true for Windows and Apple case too, but I don't own any
such system. So please merge this, and if it's true for more cases let's
use `sprintf()` in the other cases too.
2018-11-10 08:36:15 +01:00
Michael Vetter
4c83cee810 core: Use dynamic string in OpenURL()
OpenURL() is a function that most games probably will never need.
Wasting 512 bytes to store of a static char to store an the URL is not
wise.

I propose to have it dynamic building the string on the fly.
2018-11-10 08:29:53 +01:00
Ray
5167f78d5f ADDED: OpenURL()
Corrected bug on ImageDrawRectangleLines()
2018-11-09 23:09:02 +01:00
Ray
6428317739 Corrected 1px thick issue 2018-11-07 22:50:27 +01:00
Ray
e17bd422fa Corrected issue with line drawing 2018-11-07 22:31:35 +01:00
GoblinBob
8e219272e5
Update core.c
Some projects need the buffer to not be empited when drawing to the render texture. I would suggest making maybe a variation of the function if you'd like to keep backwards compatibility, maybe like: BeginTextureModeNoClear() ?
2018-11-07 21:06:00 +01:00
Ray
b356ef5564 Modifies some Image functions
REVIEWED: ImageDrawRectangle()
ADDED: ImageDrawRectangleLines()
2018-11-07 17:58:26 +01:00
Ray
065994219e Review parameter issue with MSVC 2018-11-06 16:11:11 +01:00
Ray
fc1c9505ba Remove end-line spaces 2018-11-06 15:10:50 +01:00
Ray
e340517a73 Support custom texture on shapes drawing
By default, internal white texture was used to draw most of the shapes; some time ago, support for white font character from default internal font was added. That way, all basic drawing (shapes, text) could be performed without a texture change and in a single drawing pass.

Now, we move a step further and we allow configuring the texture (and rectangle) used to do the shapes drawing.
2018-11-06 15:06:01 +01:00
Ray
c79b342f0b Corrected issue with sampleCount 2018-11-05 10:22:59 +01:00
Ray
0f6f326a86 Add flag: SUPPORT_EVENTS_WAITING
Wait for input events passively (sleep) instead of polling events actively every frame
2018-10-31 23:19:29 +01:00
Ray
f7667aad8d Reviewed audio issues
- Updated dr_mp3 and implemented it
- Reviewed sampleCount vs frameCount
- Reviewed XM playing (some weird things...)
2018-10-31 17:04:24 +01:00
Ray
b051f7778f Corrected typo 2018-10-29 16:39:54 +01:00
Ray
298203a41a ADDED: Some functions...
text:     IsEqualText() -WIP-
audio:  SaveWAV()
audio:  ExportWaveAsCode()
textures:  ExportImageAsCode()
2018-10-29 16:18:06 +01:00
Michael Vetter
b13c9716e4 Fix GetDirectoryFiles description
The comment sais it allows max 256 files, but the MAX_DIRECTORY_FILES
define actually is set to 512.
2018-10-25 16:18:44 +02:00
Michael Vetter
65b5de962d Use seperate blog for MAX_FILEPATH_LENGTH define
Let's have a seperate if linux block for this. Since we will need to
define MAX_FILEPATH_LENGTH for all other cases. And its more readable
like this.
2018-10-25 16:16:44 +02:00
Michael Vetter
9bad248b54 Use filepath define
On Linux systems the length of the path is defined in linux/limits.h as
PATH_MAX.
Lets use that for MAX_FILEPATH_LENGTH, which is a define that we can
find in some comments in the code that is actually never used. Instead
often we see 256 handwritten.
So lets have MAX_FILEPATH_LENGTH as a proper define, being set to
PATH_MAX on Linux and to 256 on Windows systems.
2018-10-25 16:09:38 +02:00
Ray
fc6f5a92f3 Reviewed functions definition 2018-10-24 22:24:59 +02:00
Ray
72431c6c36 Code tweaks 2018-10-24 13:45:17 +02:00
Ray
550dd40cb3 ADDED: SplitText() function 2018-10-23 15:43:19 +02:00
Ray
b5bcf2c934 Review code formatting for RPI inputs 2018-10-22 11:48:16 +02:00
Ray
0694caaa22
Merge pull request #674 from Berni8k/master
Added RaspberryPi option to ignore duplicate touchscreens (Default on)
2018-10-22 09:23:17 +02:00
Berni8k
3d825eb973 Added RaspberryPi option to ignore duplicate touchscreens (On by default) 2018-10-21 15:06:40 +01:00
Ray
30f2483bdb
Merge pull request #672 from Berni8k/master
RaspberryPi Mouse and touch overhaul
2018-10-21 09:56:26 +02:00
Berni8k
e07ec6a2e8 Overhaul mouse and touch for RaspberryPi \n\nNow all '/dev/input/event*' devices are now used for input. No longer uses '/dev/input/mouse*', keyboard and gamepad continue to use existing method\nMultitouch is now supported on RPi with 10 point multitouch\nFixed bugs with IsMouseButtonPressed(Used to constantly fire when holding button) and GetMouseWheelMove(Did not work)\n Fixed exesive CPU usage of GamepadThread 2018-10-21 00:09:17 +01:00
Ray
bd383fe219 Tweak for OpenGL 2.1
Why am I still supporting this???
2018-10-20 12:48:03 +02:00
Ray
161b18edea Reviewed possible issue with external libs 2018-10-20 12:30:37 +02:00
Ray
1f4866276a Corrected typo 2018-10-19 21:50:50 +02:00
Ray
16914dfaa2 Reviewed possible issue with...
...disposing RenderTexture.
2018-10-19 21:40:34 +02:00
Ray
2759218368 Added comment on issue 2018-10-19 16:17:44 +02:00
Ray
3b674cd281 Some security checks on font loading 2018-10-18 17:48:33 +02:00
Ray
764766bfb2 Some formatting tweaks 2018-10-18 16:00:11 +02:00
Dillon Jones
59bbad9360 Remove non-Windows includes from Makefile 2018-10-18 07:31:22 -04:00
Ray
c2aa1fed7b Removed OpenAL backend 2018-10-18 11:38:42 +02:00
Ray
8bac72f4fa Working on MP3 loading
Loading full mp3 file works but loading for music streaming does not work, it seems total number of samples is not obtained correctly from mp3 file...
2018-10-17 19:39:16 +02:00
Ray
8a88e65a94 Update src/external/dr_mp3.h 2018-10-17 19:37:53 +02:00
Ray
b8b8936cd7 Review defines 2018-10-16 10:53:01 +02:00
Michael Vetter
d8331bde3a Add FileExists() function 2018-10-14 14:21:02 +02:00
raysan5
68d2b0c071 Corrected description 2018-10-13 16:30:44 +02:00
raysan5
cd6c362485 Corrected func name typo 2018-10-13 16:00:54 +02:00
raysan5
c7b601b624 Renamed new PR function
RENAME: GetLastWriteTime() to GetFileModTime()
2018-10-13 15:59:17 +02:00
ChrisDill
c2b36af60f Added GetLastWriteTime to allow for file reloading
- Added a function to get the last write time of a file. I used this so I can reload files or resources if the time since they were last loaded changes.
2018-10-12 13:53:36 +01:00
Ahmad Fatoum
5945805b15
CMake: remove erroneous status message
OPENGL_VERSION is the version requested by the user,
not the detected one...
2018-10-11 13:52:25 +02:00
Ahmad Fatoum
9b25da5f98
CMake: Fix build breakage trying to set OpenGL version
Fixes #660.
2018-10-11 13:41:47 +02:00
Ray
a12cafe84d
Merge pull request #659 from noshbar/text-memory-leak
Fixes memory leak in text.c
2018-10-11 00:21:25 +02:00
Ray
126ab49221 Minor tweaks 2018-10-10 23:55:36 +02:00
Ray
b8b8e6ab7d
Merge pull request #656 from noshbar/vs2017-fix
Physac.h fix for variable array size declaration.
2018-10-10 23:44:20 +02:00
noshbar
ec6b21bd91 Fixes memory leak in text.c
GenImageFontAtlas() allocates an array of stbrp_rect for the packing functions, but it never frees them.
2018-10-10 22:41:20 +02:00
noshbar
ccaf462cbf GenImageFontAtlas prototype in raylib.h is incorrect.
The prototype of GenImageFontAtlas() in the main raylib.h header has a set of swapped parameter names.
Going through the usage of the function within raylib itself, it appears as if the correct order is:
1) charsCount
2) fontSize

However, it's exposed to the world as the other way around, which may cause some major confusion.
2018-10-10 22:28:17 +02:00
noshbar
7f7f3b7cd5 Physac.h fix for variable array size declaration.
Generating the projects using CMake, targeting VS2017, results in an error when compiling.
This is due to physac.h trying to make a 'vertices' array of size 'int count', making it const does not work, either.

This changes the static declaration to a malloc/free combo.

Tested using the physics-demo.
2018-10-10 21:52:50 +02:00
Ray
f238b9ea3c Small tweak to avoid warning 2018-10-10 12:31:55 +02:00
Ray
a511337ce8 ADDED: GetFileNameWithoutExt 2018-10-10 12:01:59 +02:00
Ray
555fdec958 Corrected issues with VS2017 compilation 2018-10-09 00:20:39 +02:00
Ray
2320c2febf ADDED: ImageExtractPalette() 2018-10-08 18:57:33 +02:00
Ray
4f5937e89b OSX native window keeps breaking... 2018-10-08 18:51:41 +02:00
Ray
717cf77129 Corrected issue with dirent.h inclusion...
...and MacOSX OBJC types definition...
2018-10-08 18:38:39 +02:00
Ray
2652e7d1c1 Avoid multiple gl.h inclusions
Expose native Cocoa Window again...
2018-10-08 18:08:39 +02:00
Ray
81d28c5784 dirent.h implementation for MSVC
This implementation is a bit limited, does not support wide characters directories but it's a temporal solution...

This solution uses "io.h" (like MinGW provided one) while other modern solutions use the "windows.h", that result in duplicate symbols issues... need to review it carefully.
2018-10-08 16:55:01 +02:00
Ray
6e4bd60978 Trying to include dirent.h for MSVC 2018-10-08 16:25:47 +02:00
Ray
2d324f22a7 Corrected issue with native window handler on OSX
Could not be retrieved for now...
2018-10-08 16:12:09 +02:00
Ray
97f6454982 Corrected issue with native handler on OSX 2018-10-08 13:29:42 +02:00
Ray
ca1e309d9d Corrected issue with GetWindowHandle()
Not supported for the moment, issues with Linux (symbol `Font` redefined) and OSX (NSGL type redefined)
2018-10-08 13:14:15 +02:00
Ray
2feea87b61 Multiple changes, check description
REVIEW: Reorganized global variables for consistency
ADDED: GetWindowHandle() to get native window handle
ADDED: GetDirectoryFiles() to get files list for a DIR
2018-10-08 12:29:02 +02:00