Commit Graph

487 Commits

Author SHA1 Message Date
Ray
2536bea379 Added: ImageResizeCanvas() -WIP-
Added note idea on ImageFormat() for future redesign (to support
16bit-32bit pixel-formats)
2018-06-01 00:53:40 +02:00
Ray San
ec33e7d705 BREAKING CHANGE: Renamed SpriteFont type to Font
- Preparing MP3 files support
- Jumped version to raylib 2.0-dev (too many breaking changes...)
2018-05-04 16:59:48 +02:00
Ray San
6045062a05 Renamed some functions
- Renamed Begin3dMode() --> BeginMode3D()
- Renamed Begin2dMode() --> BeginMode2D()
- Renamed End3dMode() --> EndMode3D()
- Renamed End2dMode() --> EndMode2D()
2018-05-04 16:54:05 +02:00
Ray San
6324697ffd Rectangle parameters changed to float
- Some examples tweaks
- Reviewed ImageFormat()
- Use float for text fontSize
2018-05-04 16:25:31 +02:00
Ray San
9d103b7c2f Removed line breaks from functions
Useful to parse raylib.h to generate raylib-lua and Notepad++
intellisense XML info
2018-05-03 19:19:35 +02:00
raysan5
198d739256 BREAKING CHANGE: Renamed Camera -> Camera3D
Just added a fallback in the meantime...
2018-05-01 12:31:03 +02:00
raysan5
dff1028466 Replaced ColorToFloat() by ColorNormalize() 2018-04-29 18:39:46 +02:00
lumaio teon
5ef6cc1fb9
Add more key definitions 2018-04-13 17:14:04 -04:00
Ray San
4cc12ef2b3 Review camera definition on examples 2018-04-11 10:13:00 +02:00
Ray
8e44f7b3c7 Reviewed config.h formatting
Added raylib version to config
2018-04-09 23:01:20 +02:00
lumaio teon
d2cc5b88df
Removed useless GetCollisionRayMesh and libraylib.a 2018-04-07 03:49:56 -04:00
lumaio teon
d003c23ecf
Added GetCollisionRayModel 2018-04-06 12:04:09 -04:00
Ray
931b672c92 Added: ImageDrawRectangle()
Renamed SaveImageAs() to ExportImage() for consistency on what actually happens with data.
2018-04-04 12:02:20 +02:00
raysan5
bbdf9f4880 Review InitWindow() to avoid void pointer
Reviewed for PLATFORM_ANDROID and PLATFORM_UWP
2018-04-02 14:49:01 +02:00
Max Danielsson
5ecee69088 Add 3d orthographic projection mode 2018-03-25 18:33:19 +02:00
Ray
61e0e4b4f3 Complete review of raymath for API consistency 2018-03-16 13:47:01 +01:00
Ray
487bc613fd Updated raylib dev version 2018-03-15 12:37:52 +01:00
Ray
6c6d6776c0
Merge pull request #482 from a3f/master
raymath.h: Use C99 inline semantics
2018-03-15 12:27:40 +01:00
raysan5
a0127d8300 Corrected typo 2018-03-11 10:49:51 +01:00
Ray San
df50eada53 Added new functions
- SetWindowSize() to scale Windows in runtime
- SetMouseScale() to scale mouse input, useful when rendering game to a
RenderTexture2D that will be scaled to Window size (used on rFXGen tool)
2018-03-09 11:43:53 +01:00
Ray
fd2adbe62d Renamed CalculateBoundingBox() to MeshBoundingBox()
Renamed function for consistency with a possible Mesh manipulation functions (maybe added in a future). Naming follows Image*() manipulation functions.
2018-02-26 12:10:45 +01:00
Ahmad Fatoum
f52d2de582
raymath.h: Use C99 inline semantics
RAYMATH_EXTERN_INLINE was renamed to RAYMATH_HEADER_ONLY, which user code
may define if they want to use it as header-only library. If multiple
files in the same project define RAYMATH_HEADER_ONLY, they might each
have duplicate out-of-line definitions of the same functions.

By default, raymath.h exposes inline definitions, which instructs the
compiler _not_ to generate out-of-line definitons, if out-of-line
definitions are required, those of the file defined with
RAYLIB_IMPLEMENTATION are used instead. There may be only one such file.

In C++ mode, the compiler will select only one out-of-line definition
automatically, so no need to define a RAYLIB_IMPLEMENTATION.

Unfortunately, we have to remove raymath function declaration from
raylib.h as those declarations would lead to duplicate out-of-line
definitions which would yield linker errors. This problem didn't
exist with GNU89 or C++, because there multiple defintions are ok,
but in C99 they aren't.
2018-02-24 23:39:23 +01:00
Ahmad Fatoum
ed6962edd3
Make MatrixToFloat and Vector3ToFloat reentrant
Besides making it thread-safe, it suppresses a GCC warning
when making them static inline in an upcoming patch.
2018-02-24 23:39:17 +01:00
Ahmad Fatoum
a5881fb9cc
Revert "raymath.h: Use C99 inline semantics"
This reverts commit 6ffc8cb799.
and commit e4d7bbec1e.
which I pushed by mistake...
2018-02-24 15:40:08 +01:00
Ahmad Fatoum
6ffc8cb799
raymath.h: Use C99 inline semantics
RAYMATH_EXTERN_INLINE was renamed to RAYMATH_HEADER_ONLY, which user code
may define if they want to use it as header-only library. If multiple
files in the same project define RAYMATH_HEADER_ONLY, they might each
have duplicate out-of-line definitions of the same functions.

By default, raymath.h exposes inline definitions, which instructs the
compiler _not_ to generate out-of-line definitons, if out-of-line
definitions are required, those of the file defined with
RAYLIB_IMPLEMENTATION are used instead. There may be only one such file.

In C++ mode, the compiler will select only one out-of-line definition
automatically, so no need to define a RAYLIB_IMPLEMENTATION.

Unfortunately, we have to remove raymath function declaration from
raylib.h as those declarations would lead to duplicate out-of-line
definitions which would yield linker errors. This problem didn't
exist with GNU89 or C++, because there multiple defintions are ok,
but in C99 they aren't.
2018-02-24 15:37:37 +01:00
Ahmad Fatoum
e4d7bbec1e
Make MatrixToFloat and Vector3ToFloat reentrant
Besides making it thread-safe, it suppresses a GCC warning
when making them static inline in an upcoming patch.
2018-02-24 15:37:37 +01:00
Ray
077bef4286 Support 4 components mesh.tangent data
Added struct Vector4 for convenience
2018-02-24 12:31:32 +01:00
raysan5
4492a70a4b Support UTF8 basic characters on ImageTextEx()
Supported UTF8 range equivalent to [128..255] (80h..FFh)
Exposed and renamed text function GetGlyphIndex()
Renamed spriteFont parameter name to simply font
Small security check on transmission mission ending screen
2018-02-18 18:07:57 +01:00
Ray
36750ffb9a BREAKING CHANGE: Renamed function for consistency
Rename: GetHexValue() renamed to ColorToInt()
Added: ColorToHSV()
2018-02-12 11:55:22 +01:00
Ray
4d5d1e0434 Added function LoadShaderCode()
Allows loading of shader from text code string directly
2018-02-05 01:03:13 +01:00
raysan5
3a11cc5e31 Incremeted version to align with CMake 2018-02-04 13:44:41 +01:00
raysan5
6dc2f979cc Updated raylib version
Note that this version is under development and could be buggy on some
platforms...
2018-02-04 12:33:46 +01:00
raysan5
70e0070a85 Reviewed window initialization
In case graphic device could not be created it returns false instead of
failing with an error tracelog (and consequently closing the program).
Window initialization success could be checked with new function
IsWindowReady()
2018-02-04 12:26:28 +01:00
Ahmad Fatoum
26c9176a14
Return false from InitWindow if glfwInit or glfwCreateWindow fails
You can't do much with raylib if glfwInit or glfwCreateWindow fails,
currently it just exits by means of TraceLog(LOG_ERROR.
User code, however, might want to fall back to a text-only UI
or display a warning if raylib can't be used.
2018-02-03 14:53:58 +01:00
Ray San
d1ef6869a9 Added function DrawRectangleLinesEx() 2018-02-02 11:01:38 +01:00
Ray
58346414f7 Corrected typo 2018-01-31 15:32:40 +01:00
Ray
44c95af463 Added missing keys definitions 2018-01-31 14:08:08 +01:00
Ray
ce9f191f1b Added function: ImageMipmaps() 2018-01-18 00:23:45 +01:00
Ray
c8e97df233 Reviewed function GenImagePerlinNoise()
Added support for noise image offset
2018-01-17 00:43:30 +01:00
Ray
278d8575bd Added new function: ImageAlphaCrop() 2018-01-11 10:22:32 +01:00
raysan5
e4be917d1b Added new image functions
- Added: ImageAlphaClear()
- Added: ImageAlphaPremultiply()
- Reorganized some functions
2018-01-07 00:51:26 +01:00
raysan5
7caa3201d5 Improved pixel formats support
- Renamed enum TextureFormat to PixelFormat for consistency
- Added support for pixel format UNCOMPRESSED_R32
- Using GetPixelDataSize() where required
2018-01-06 13:43:48 +01:00
raysan5
1f0f8c33fa Added function declaration 2018-01-06 02:51:28 +01:00
raysan5
7fa2861160 Added function: GetPixelDataSize()
Just found I need that function...
2018-01-06 02:50:20 +01:00
raysan5
1a82e1ab26 Added function GetFileName()
Review comments
2018-01-02 02:26:05 +01:00
raysan5
e1baae0249 Removed function DrawRectangleT()
Functionality integrated in DrawRectangle() and selectable with config
flag USE_DEFAULT_FONT_TEXTURE
2018-01-01 16:54:32 +01:00
raysan5
b19e155b34 Support UNCOMPRESSED_R32G32B32A32 texture format 2017-12-28 17:58:37 +01:00
raysan5
0bd06eec51 Renamed function to SetTraceLog()
I think is clearer this way...
2017-12-24 16:49:54 +01:00
raysan5
e517d8fd16 Added function SetTraceLogTypes()
Trace log messages could be configured with this function to select wich
ones are shown
2017-12-24 16:47:33 +01:00
Ray
b63ffcfa0f Some code tweaks
Audio module requires a complete formatting review....
2017-12-20 00:34:31 +01:00
Ray San
5290390494 Expose GetTime() function to users
Monotonic time since InitWindow() could be retrieved with this function.
2017-12-19 14:06:54 +01:00
Ray San
53ad53d051 Manually review previous PR 2017-12-15 13:44:31 +01:00
user
2affac820e make raylib not clash with windows-header 2017-12-14 11:52:45 +01:00
user
48d0c93ace make GetTime available to user of library 2017-12-14 11:50:35 +01:00
user
b872de951b fix for GetMatrixModelview (former cl) 2017-12-14 11:49:31 +01:00
Ray
a6f9cc5629 Remove rres support
Let the user choose if using rres external library
2017-12-11 11:55:02 +01:00
Ray San
acbfba9250 Updated library features and dependencies 2017-12-05 13:22:26 +01:00
Ray
9d0ee6c2f6
Merge pull request #413 from mackron/dr/mini_al
mini_al integration
2017-12-05 11:23:16 +01:00
Ray
54d0acc3b6 Change version number for develop
Updated raylib version to 1.9-dev for development pourposes.

Next raylib version is planned to implement a big amount of changes, so
the version bump.
2017-12-05 00:05:05 +01:00
David Reid
60d7215b2a mini_al: Unify the buffer system for Sounds and AudioStreams. 2017-11-18 08:42:14 +10:00
David Reid
88d2810fa3 Bug fixes for Music with mini_al. 2017-11-14 21:15:50 +10:00
David Reid
ac4c911ad7 Work on porting Music to mini_al. 2017-11-12 21:55:24 +10:00
David Reid
68bf6c9701 Initial work on porting AudioStream to use mini_al. 2017-11-12 20:59:16 +10:00
raysan5
24b12e5e23 Remove PLATFORM_ checks from raylib header
Now header is truly multiplatform...

Actually still a small pending check on XBOX gamepad controls that
hopefully will be removed with next GLFW 3.3
2017-11-12 11:45:35 +01:00
raysan5
02dd4d32b5 Allow custom distortion shader - IN PROGRESS - 2017-11-12 11:00:28 +01:00
David Reid
b0852002b8 Rename SoundInternal to SoundData for consistency with MusicData. 2017-11-12 14:54:37 +10:00
David Reid
75433a670e Initial work on adding support for mini_al. 2017-11-12 14:17:05 +10:00
Wilhem Barbier
879c2f484b SetShaderValue take const pointer 2017-11-05 21:57:29 +01:00
Ray
9e0105a1a3 Corrected function name 2017-11-04 16:57:20 +01:00
Ray
539a9ca50e Corrected ImageTextEx()
- Added new function: GenImageColor()

ImageDraw() should be reviewed... specially alpha blending...
2017-10-25 01:24:17 +02:00
Ray San
7057d08369 Review VR functionality
To be more generic and configurable
2017-10-17 13:32:15 +02:00
raysan5
8928248c71 Review comments about raylib 2017-10-12 14:07:31 +02:00
Ray San
399d4b5f46 Check to avoid bool redefinition 2017-10-11 13:29:01 +02:00
Ray San
b2789949ee Working on Makefiles... 2017-10-02 14:12:03 +02:00
Ray
4f9de9527f Review gradient rectangle drawing
Added: DrawRectangleGradientV()
Added: DrawRectangleGradientH()
2017-09-30 00:46:31 +02:00
raysan5
20968830c0 Added mesh generation functions 2017-09-18 00:59:22 +02:00
raysan5
f3f6d3fd8e Added new functions
SetWindowTitle()
GetExtension()
2017-09-08 09:35:54 +02:00
raysan5
12cb3afd9e Added function DrawRectangleGradientEx()
Moved function DrawRectangleT() from text module to shapes
Added some comments
2017-08-27 21:02:24 +02:00
raysan5
88839b093c Added function DrawRectangleT()
Usefult to draw rectangles using default font texture
2017-08-06 10:44:50 +02:00
raysan5
a766e2c480 Updated Vector math to new naming 2017-07-22 22:15:50 +02:00
raysan5
c756227e11 Remove BOM from file encoding 2017-07-22 10:44:24 +02:00
raysan5
38d9fcb08e Moved some functions to raymath
Exposed some raymath useful functions to raylib API
2017-07-21 15:25:35 +02:00
raysan5
2679c4ae9b Review mesh loading and textures generation 2017-07-21 09:34:09 +02:00
raysan5
76c6f0b1e6 Working on PBR system
Moved PBR material loading to example, right decision?
2017-07-19 18:55:32 +02:00
raysan5
d368403a13 Working on PBR materials, renamed some data 2017-07-19 10:09:34 +02:00
Ray
6546474fa4 Manual integration of material-pbr into develop 2017-07-17 00:33:40 +02:00
raysan5
6589c808b5 Review some formatting for consistency 2017-07-02 19:29:01 +02:00
raysan5
9f09f6f550 Rename enum LogType names...
...to avoid possible conflicting symbols
2017-07-02 12:35:13 +02:00
Wilhem Barbier
786cd63057 Add a density parameter to GenImageRadialGradient 2017-06-28 17:27:47 +02:00
Ray
c3049a9b06 Merge pull request #311 from nounoursheureux/image_gen
Add more image generation functions: radial gradient and perlin noise
2017-06-28 16:20:25 +02:00
Wilhem Barbier
3fe268d004 Swap the two parameters 2017-06-28 15:38:34 +02:00
Wilhem Barbier
a0ac8ee2c4 Add more image generation functions: radial gradient and perlin noise 2017-06-28 15:29:56 +02:00
Wilhem Barbier
954757532a Add the SaveImageAs function 2017-06-28 14:32:44 +02:00
Wilhem Barbier
fcd13fd5d2 Add some functions to generate images
Namely:
- GenImageHorizontalV
- GenImageHorizontalH
- GenImageChecked
- GenImageWhiteNoise
- GenImageCellular

The gradient implementation may be a bit naive, for example it doesn't do any gamma correction.
2017-06-28 12:56:04 +02:00
Ray
5370fe18e0 Additional check for bool header definition 2017-06-11 23:58:46 +02:00
Ray
9819614276 Comments tweaks 2017-05-17 00:33:40 +02:00
Ray
5f09c71f98 Review comments for better organization 2017-05-15 11:30:09 +02:00
Ray
026f9829e5 Review header comments 2017-05-14 18:30:51 +02:00
Ray
35fe34ba0f Added some useful functions 2017-05-11 16:24:40 +02:00
Ray
0880be638e Renamed RayHitInfo variables 2017-05-10 00:57:48 +02:00
Ray
bac50fbba5 Review functions descriptions 2017-05-09 22:03:46 +02:00
Ray
50c887cb0a Support HDR R32G32B32 float textures loading 2017-05-08 12:31:47 +02:00
victorfisac
e197665e1d Added function to set window minimum dimensions...
useful when using FLAG_WINDOW_RESIZABLE.
2017-05-02 15:04:32 +02:00
Ray
d593bd0081 Some code tweaks 2017-04-30 13:03:31 +02:00
raysan5
cfec2b40a4 Organize structs vs enums 2017-04-22 22:35:19 +02:00
raysan5
b0f8ea27e3 Renamed function for lib consistency
LoadSpriteFontTTF() --> LoadSpriteFontEx()
2017-04-22 19:04:54 +02:00
Ray
ecfe31bf1d Make TraceLog() public to the API
enum LogType could require some revision...
2017-04-21 00:08:00 +02:00
raysan5
7e65c300b6 Make public TakeScreenshot() function 2017-04-16 13:47:49 +02:00
Ray
c3b8a41f95 Remove function declaration 2017-04-03 23:10:49 +02:00
Ray
080a79f0b0 Added IsFileExtension()
Replaced old GetExtension() function
Make IsFileExtension() public to the API
2017-03-29 00:35:42 +02:00
Ray
5387b45431 Working on configuration flags 2017-03-25 12:01:01 +01:00
Ray
59652c75b4 Review some comments 2017-03-20 20:34:44 +01:00
raysan5
8f5ff64420 Working on file header comments... 2017-03-19 12:52:58 +01:00
raysan5
5d1f661661 Remove Oculus support from code
Moved to custom example, now raylib only supports simulated VR
rendering.
Oculus code was too device dependant... waiting for OpenXR.
2017-03-14 01:05:22 +01:00
raysan5
3813722f17 Added function: DrawLineBezier() 2017-03-14 00:22:53 +01:00
raysan5
59038bae96 Added function: DrawLineEx()
Supports line thickness
2017-03-05 21:04:07 +01:00
raysan5
d1c9afd1d8 Work on timming functions...
It seems Sleep() behaves weird on my computer, disabled by default
returning to the busy wait loop... also re-implemented DrawFPS() to
avoid frame blitting...
2017-03-05 19:17:00 +01:00
raysan5
9cfaa81a7e Added some flags and functions to manage window
- SetWindowPosition(int x, int y);
- SetWindowMonitor(int monitor);
2017-03-05 10:55:29 +01:00
Ray
05cff44d0a Improved modules description -IN PROGRESS-
Working in modules configuration flags...
2017-02-16 00:50:02 +01:00
raysan5
05f039f85f Corrected issue with OpenAL being 'keg only' on OSX
Also reviewed issue with stdbool when compiling with clang
2017-02-11 23:34:41 +01:00
Ray
b4988777ef [audio] Renamed variable 2017-02-09 22:19:48 +01:00
Ray
f2f05a734d Added audio function: SetMusicLoopCount()
Useful to set number of repeats for a music, needs to be tested...
2017-02-06 01:03:58 +01:00
Ray
ac6b4d3830 Added audio function: SetMasterVolume() 2017-02-06 00:44:54 +01:00
raysan5
c4bd214cf0 Added function SetWindowIcon()
Only DESKTOP platforms (Windows, Linus, OSX)
2017-02-05 03:00:35 +01:00
raysan5
1a879ba08e Refactor SpriteFont struct
Now it uses CharInfo data, this way, it's better aligned with the future
RRES file format data layout for sprite font characters.
2017-02-05 02:59:39 +01:00
Ray
495108a2e9 Updated raylib version to 1.7
Preparing for next version... still some work left... :P
2017-01-29 23:08:19 +01:00
Ray
c85dfd4bc6 Remove unecessary spaces... 2017-01-28 23:02:30 +01:00
Ray
b681e8c277 Implemented Wait()
Now program is halted (OS signal call) for required amount of time every
frame, so CPU usage drops to zero, instead of using a busy wait loop.
2017-01-28 00:56:45 +01:00
Ray
37a64df7b9 Move lighting system out of raylib
Lighting is implemented as a raylib example now
2017-01-27 23:03:08 +01:00
raysan5
4a158d972d Added LoadText() function
Actually, renamed ReadTextFile() from rlgl and make it public
2017-01-15 01:09:15 +01:00
raysan5
658c280669 Lattest PR review
Function names, code formatting...
2017-01-05 19:33:05 +01:00
Joel Davis
d5d391faaf Added RaycastMesh function and example test case 2017-01-02 21:56:25 -08:00
Joel Davis
037da8879a Added RaycastGround and ray picking example 2016-12-31 15:06:39 -08:00
raysan5
202f45415c rRES raylib resources custom file format support
First version of custom raylib resources file format -IN DEVELOPMENT-
2016-12-27 17:42:22 +01:00
raysan5
852f3d4fd0 Review comments and formatting 2016-12-25 02:01:13 +01:00
Saggi Mizrahi
c394708c43 Change UpdateSound() to accept const void *
The function means to accept a const * so let's declare it.
Will allow passing const buffers in games.
Also constness is next to godliness!

Signed-off-by: Saggi Mizrahi <saggi@mizrahi.cc>
2016-12-22 03:25:42 +02:00
Ray
814507906f Improving rRES custom format support -IN PROGRESS-
Start removing old rRES functions.
2016-12-17 19:05:40 +01:00
Ray
f5d792e551 Update Lua naming
Replaced LUA by Lua
2016-11-25 22:26:36 +01:00
Ray
f1bcfc1352 Corrected bug on GenTextureMipmaps()
texture.mipmaps value needs to be updated, so, texture must be passed by
reference instead of by value
2016-11-22 12:14:55 +01:00
raysan5
bee283b12b Some tweaks around 2016-11-17 12:55:30 +01:00
raysan5
6d1b712a96 Reviewed modules comments 2016-11-16 18:46:13 +01:00
raysan5
9d3ad52160 Removed byte typedef 2016-11-15 19:15:25 +01:00
Ray
9fb6eda5f1 Improved text measurement 2016-11-13 23:54:36 +01:00
raysan5
ca96122a7b Raspberry Pi custom gamepad axis 2016-11-03 18:57:16 +01:00
raysan5
f2d61d4d43 Improved gamepad support on Raspberry Pi 2016-11-02 13:39:48 +01:00
raysan5
64f67f6e9f Improved gamepad support
new function: GetGamepadAxisCount()
new function: IsGamepadName()
2016-11-01 14:39:57 +01:00
raysan5
cc917fbac6 Improve SpriteFont support
LoadSpriteFontTTF() - TTF font loading with custom parameters
2016-10-31 15:38:15 +01:00
raysan5
988d39029f Support textures filtering 2016-10-29 22:17:19 +02:00
raysan5
02842a3e2f Review gamepad inputs
Added funtion: GetGamepadButtonPressed() - This function can be useful
for custom gamepad configuration
2016-10-27 13:41:43 +02:00
Ray
b8ce680511 Improved Android support 2016-10-18 00:15:23 +02:00