diff --git a/tools/rlparser/output/raylib_api.sexpr b/tools/rlparser/output/raylib_api.sexpr
index 387b64c68..433d98615 100644
--- a/tools/rlparser/output/raylib_api.sexpr
+++ b/tools/rlparser/output/raylib_api.sexpr
@@ -6095,6 +6095,25 @@
((type "float") (name "frameB"))
((type "float") (name "blend"))))
+ ((name "UpdateModelAnimationBones")
+ (description "Update model animation pose (bones only)")
+ (return-type "void")
+ (params
+ ((type "Model") (name "model"))
+ ((type "ModelAnimation") (name "anim"))
+ ((type "float") (name "frame"))))
+
+ ((name "UpdateModelAnimationBonesEx")
+ (description "Update model animation bones to pose, blending two animations")
+ (return-type "void")
+ (params
+ ((type "Model") (name "model"))
+ ((type "ModelAnimation") (name "animA"))
+ ((type "float") (name "frameA"))
+ ((type "ModelAnimation") (name "animB"))
+ ((type "float") (name "frameB"))
+ ((type "float") (name "blend"))))
+
((name "UnloadModelAnimations")
(description "Unload animation array data")
(return-type "void")
diff --git a/tools/rlparser/output/raylib_api.txt b/tools/rlparser/output/raylib_api.txt
index 76f5c2bae..06d3de177 100644
--- a/tools/rlparser/output/raylib_api.txt
+++ b/tools/rlparser/output/raylib_api.txt
@@ -995,7 +995,7 @@ Callback 006: AudioCallback() (2 input parameters)
Param[1]: bufferData (type: void *)
Param[2]: frames (type: unsigned int)
-Functions found: 613
+Functions found: 615
Function 001: InitWindow() (3 input parameters)
Name: InitWindow
@@ -4489,19 +4489,36 @@ Function 537: UpdateModelAnimationEx() (6 input parameters)
Param[4]: animB (type: ModelAnimation)
Param[5]: frameB (type: float)
Param[6]: blend (type: float)
-Function 538: UnloadModelAnimations() (2 input parameters)
+Function 538: UpdateModelAnimationBones() (3 input parameters)
+ Name: UpdateModelAnimationBones
+ Return type: void
+ Description: Update model animation pose (bones only)
+ Param[1]: model (type: Model)
+ Param[2]: anim (type: ModelAnimation)
+ Param[3]: frame (type: float)
+Function 539: UpdateModelAnimationBonesEx() (6 input parameters)
+ Name: UpdateModelAnimationBonesEx
+ Return type: void
+ Description: Update model animation bones to pose, blending two animations
+ Param[1]: model (type: Model)
+ Param[2]: animA (type: ModelAnimation)
+ Param[3]: frameA (type: float)
+ Param[4]: animB (type: ModelAnimation)
+ Param[5]: frameB (type: float)
+ Param[6]: blend (type: float)
+Function 540: UnloadModelAnimations() (2 input parameters)
Name: UnloadModelAnimations
Return type: void
Description: Unload animation array data
Param[1]: animations (type: ModelAnimation *)
Param[2]: animCount (type: int)
-Function 539: IsModelAnimationValid() (2 input parameters)
+Function 541: IsModelAnimationValid() (2 input parameters)
Name: IsModelAnimationValid
Return type: bool
Description: Check model animation skeleton match
Param[1]: model (type: Model)
Param[2]: anim (type: ModelAnimation)
-Function 540: CheckCollisionSpheres() (4 input parameters)
+Function 542: CheckCollisionSpheres() (4 input parameters)
Name: CheckCollisionSpheres
Return type: bool
Description: Check collision between two spheres
@@ -4509,40 +4526,40 @@ Function 540: CheckCollisionSpheres() (4 input parameters)
Param[2]: radius1 (type: float)
Param[3]: center2 (type: Vector3)
Param[4]: radius2 (type: float)
-Function 541: CheckCollisionBoxes() (2 input parameters)
+Function 543: CheckCollisionBoxes() (2 input parameters)
Name: CheckCollisionBoxes
Return type: bool
Description: Check collision between two bounding boxes
Param[1]: box1 (type: BoundingBox)
Param[2]: box2 (type: BoundingBox)
-Function 542: CheckCollisionBoxSphere() (3 input parameters)
+Function 544: CheckCollisionBoxSphere() (3 input parameters)
Name: CheckCollisionBoxSphere
Return type: bool
Description: Check collision between box and sphere
Param[1]: box (type: BoundingBox)
Param[2]: center (type: Vector3)
Param[3]: radius (type: float)
-Function 543: GetRayCollisionSphere() (3 input parameters)
+Function 545: GetRayCollisionSphere() (3 input parameters)
Name: GetRayCollisionSphere
Return type: RayCollision
Description: Get collision info between ray and sphere
Param[1]: ray (type: Ray)
Param[2]: center (type: Vector3)
Param[3]: radius (type: float)
-Function 544: GetRayCollisionBox() (2 input parameters)
+Function 546: GetRayCollisionBox() (2 input parameters)
Name: GetRayCollisionBox
Return type: RayCollision
Description: Get collision info between ray and box
Param[1]: ray (type: Ray)
Param[2]: box (type: BoundingBox)
-Function 545: GetRayCollisionMesh() (3 input parameters)
+Function 547: GetRayCollisionMesh() (3 input parameters)
Name: GetRayCollisionMesh
Return type: RayCollision
Description: Get collision info between ray and mesh
Param[1]: ray (type: Ray)
Param[2]: mesh (type: Mesh)
Param[3]: transform (type: Matrix)
-Function 546: GetRayCollisionTriangle() (4 input parameters)
+Function 548: GetRayCollisionTriangle() (4 input parameters)
Name: GetRayCollisionTriangle
Return type: RayCollision
Description: Get collision info between ray and triangle
@@ -4550,7 +4567,7 @@ Function 546: GetRayCollisionTriangle() (4 input parameters)
Param[2]: p1 (type: Vector3)
Param[3]: p2 (type: Vector3)
Param[4]: p3 (type: Vector3)
-Function 547: GetRayCollisionQuad() (5 input parameters)
+Function 549: GetRayCollisionQuad() (5 input parameters)
Name: GetRayCollisionQuad
Return type: RayCollision
Description: Get collision info between ray and quad
@@ -4559,158 +4576,158 @@ Function 547: GetRayCollisionQuad() (5 input parameters)
Param[3]: p2 (type: Vector3)
Param[4]: p3 (type: Vector3)
Param[5]: p4 (type: Vector3)
-Function 548: InitAudioDevice() (0 input parameters)
+Function 550: InitAudioDevice() (0 input parameters)
Name: InitAudioDevice
Return type: void
Description: Initialize audio device and context
No input parameters
-Function 549: CloseAudioDevice() (0 input parameters)
+Function 551: CloseAudioDevice() (0 input parameters)
Name: CloseAudioDevice
Return type: void
Description: Close the audio device and context
No input parameters
-Function 550: IsAudioDeviceReady() (0 input parameters)
+Function 552: IsAudioDeviceReady() (0 input parameters)
Name: IsAudioDeviceReady
Return type: bool
Description: Check if audio device has been initialized successfully
No input parameters
-Function 551: SetMasterVolume() (1 input parameters)
+Function 553: SetMasterVolume() (1 input parameters)
Name: SetMasterVolume
Return type: void
Description: Set master volume (listener)
Param[1]: volume (type: float)
-Function 552: GetMasterVolume() (0 input parameters)
+Function 554: GetMasterVolume() (0 input parameters)
Name: GetMasterVolume
Return type: float
Description: Get master volume (listener)
No input parameters
-Function 553: LoadWave() (1 input parameters)
+Function 555: LoadWave() (1 input parameters)
Name: LoadWave
Return type: Wave
Description: Load wave data from file
Param[1]: fileName (type: const char *)
-Function 554: LoadWaveFromMemory() (3 input parameters)
+Function 556: LoadWaveFromMemory() (3 input parameters)
Name: LoadWaveFromMemory
Return type: Wave
Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
Param[1]: fileType (type: const char *)
Param[2]: fileData (type: const unsigned char *)
Param[3]: dataSize (type: int)
-Function 555: IsWaveValid() (1 input parameters)
+Function 557: IsWaveValid() (1 input parameters)
Name: IsWaveValid
Return type: bool
Description: Check if wave data is valid (data loaded and parameters)
Param[1]: wave (type: Wave)
-Function 556: LoadSound() (1 input parameters)
+Function 558: LoadSound() (1 input parameters)
Name: LoadSound
Return type: Sound
Description: Load sound from file
Param[1]: fileName (type: const char *)
-Function 557: LoadSoundFromWave() (1 input parameters)
+Function 559: LoadSoundFromWave() (1 input parameters)
Name: LoadSoundFromWave
Return type: Sound
Description: Load sound from wave data
Param[1]: wave (type: Wave)
-Function 558: LoadSoundAlias() (1 input parameters)
+Function 560: LoadSoundAlias() (1 input parameters)
Name: LoadSoundAlias
Return type: Sound
Description: Load sound alias, new sound that shares the same sample data as the source sound, does not own the sound data
Param[1]: source (type: Sound)
-Function 559: IsSoundValid() (1 input parameters)
+Function 561: IsSoundValid() (1 input parameters)
Name: IsSoundValid
Return type: bool
Description: Check if sound is valid (data loaded and buffers initialized)
Param[1]: sound (type: Sound)
-Function 560: UpdateSound() (3 input parameters)
+Function 562: UpdateSound() (3 input parameters)
Name: UpdateSound
Return type: void
Description: Update sound buffer with new data (default data format: 32 bit float, stereo)
Param[1]: sound (type: Sound)
Param[2]: data (type: const void *)
Param[3]: frameCount (type: int)
-Function 561: UnloadWave() (1 input parameters)
+Function 563: UnloadWave() (1 input parameters)
Name: UnloadWave
Return type: void
Description: Unload wave data
Param[1]: wave (type: Wave)
-Function 562: UnloadSound() (1 input parameters)
+Function 564: UnloadSound() (1 input parameters)
Name: UnloadSound
Return type: void
Description: Unload sound
Param[1]: sound (type: Sound)
-Function 563: UnloadSoundAlias() (1 input parameters)
+Function 565: UnloadSoundAlias() (1 input parameters)
Name: UnloadSoundAlias
Return type: void
Description: Unload sound alias (does not deallocate sample data)
Param[1]: alias (type: Sound)
-Function 564: ExportWave() (2 input parameters)
+Function 566: ExportWave() (2 input parameters)
Name: ExportWave
Return type: bool
Description: Export wave data to file, returns true on success
Param[1]: wave (type: Wave)
Param[2]: fileName (type: const char *)
-Function 565: ExportWaveAsCode() (2 input parameters)
+Function 567: ExportWaveAsCode() (2 input parameters)
Name: ExportWaveAsCode
Return type: bool
Description: Export wave sample data to code (.h), returns true on success
Param[1]: wave (type: Wave)
Param[2]: fileName (type: const char *)
-Function 566: PlaySound() (1 input parameters)
+Function 568: PlaySound() (1 input parameters)
Name: PlaySound
Return type: void
Description: Play a sound
Param[1]: sound (type: Sound)
-Function 567: StopSound() (1 input parameters)
+Function 569: StopSound() (1 input parameters)
Name: StopSound
Return type: void
Description: Stop playing a sound
Param[1]: sound (type: Sound)
-Function 568: PauseSound() (1 input parameters)
+Function 570: PauseSound() (1 input parameters)
Name: PauseSound
Return type: void
Description: Pause a sound
Param[1]: sound (type: Sound)
-Function 569: ResumeSound() (1 input parameters)
+Function 571: ResumeSound() (1 input parameters)
Name: ResumeSound
Return type: void
Description: Resume a paused sound
Param[1]: sound (type: Sound)
-Function 570: IsSoundPlaying() (1 input parameters)
+Function 572: IsSoundPlaying() (1 input parameters)
Name: IsSoundPlaying
Return type: bool
Description: Check if sound is currently playing
Param[1]: sound (type: Sound)
-Function 571: SetSoundVolume() (2 input parameters)
+Function 573: SetSoundVolume() (2 input parameters)
Name: SetSoundVolume
Return type: void
Description: Set volume for a sound (1.0 is max level)
Param[1]: sound (type: Sound)
Param[2]: volume (type: float)
-Function 572: SetSoundPitch() (2 input parameters)
+Function 574: SetSoundPitch() (2 input parameters)
Name: SetSoundPitch
Return type: void
Description: Set pitch for a sound (1.0 is base level)
Param[1]: sound (type: Sound)
Param[2]: pitch (type: float)
-Function 573: SetSoundPan() (2 input parameters)
+Function 575: SetSoundPan() (2 input parameters)
Name: SetSoundPan
Return type: void
Description: Set pan for a sound (-1.0 left, 0.0 center, 1.0 right)
Param[1]: sound (type: Sound)
Param[2]: pan (type: float)
-Function 574: WaveCopy() (1 input parameters)
+Function 576: WaveCopy() (1 input parameters)
Name: WaveCopy
Return type: Wave
Description: Copy a wave to a new wave
Param[1]: wave (type: Wave)
-Function 575: WaveCrop() (3 input parameters)
+Function 577: WaveCrop() (3 input parameters)
Name: WaveCrop
Return type: void
Description: Crop a wave to defined frames range
Param[1]: wave (type: Wave *)
Param[2]: initFrame (type: int)
Param[3]: finalFrame (type: int)
-Function 576: WaveFormat() (4 input parameters)
+Function 578: WaveFormat() (4 input parameters)
Name: WaveFormat
Return type: void
Description: Convert wave data to desired format
@@ -4718,203 +4735,203 @@ Function 576: WaveFormat() (4 input parameters)
Param[2]: sampleRate (type: int)
Param[3]: sampleSize (type: int)
Param[4]: channels (type: int)
-Function 577: LoadWaveSamples() (1 input parameters)
+Function 579: LoadWaveSamples() (1 input parameters)
Name: LoadWaveSamples
Return type: float *
Description: Load samples data from wave as a 32bit float data array
Param[1]: wave (type: Wave)
-Function 578: UnloadWaveSamples() (1 input parameters)
+Function 580: UnloadWaveSamples() (1 input parameters)
Name: UnloadWaveSamples
Return type: void
Description: Unload samples data loaded with LoadWaveSamples()
Param[1]: samples (type: float *)
-Function 579: LoadMusicStream() (1 input parameters)
+Function 581: LoadMusicStream() (1 input parameters)
Name: LoadMusicStream
Return type: Music
Description: Load music stream from file
Param[1]: fileName (type: const char *)
-Function 580: LoadMusicStreamFromMemory() (3 input parameters)
+Function 582: LoadMusicStreamFromMemory() (3 input parameters)
Name: LoadMusicStreamFromMemory
Return type: Music
Description: Load music stream from data
Param[1]: fileType (type: const char *)
Param[2]: data (type: const unsigned char *)
Param[3]: dataSize (type: int)
-Function 581: IsMusicValid() (1 input parameters)
+Function 583: IsMusicValid() (1 input parameters)
Name: IsMusicValid
Return type: bool
Description: Check if music stream is valid (context and buffers initialized)
Param[1]: music (type: Music)
-Function 582: UnloadMusicStream() (1 input parameters)
+Function 584: UnloadMusicStream() (1 input parameters)
Name: UnloadMusicStream
Return type: void
Description: Unload music stream
Param[1]: music (type: Music)
-Function 583: PlayMusicStream() (1 input parameters)
+Function 585: PlayMusicStream() (1 input parameters)
Name: PlayMusicStream
Return type: void
Description: Start music playing
Param[1]: music (type: Music)
-Function 584: IsMusicStreamPlaying() (1 input parameters)
+Function 586: IsMusicStreamPlaying() (1 input parameters)
Name: IsMusicStreamPlaying
Return type: bool
Description: Check if music is playing
Param[1]: music (type: Music)
-Function 585: UpdateMusicStream() (1 input parameters)
+Function 587: UpdateMusicStream() (1 input parameters)
Name: UpdateMusicStream
Return type: void
Description: Update buffers for music streaming
Param[1]: music (type: Music)
-Function 586: StopMusicStream() (1 input parameters)
+Function 588: StopMusicStream() (1 input parameters)
Name: StopMusicStream
Return type: void
Description: Stop music playing
Param[1]: music (type: Music)
-Function 587: PauseMusicStream() (1 input parameters)
+Function 589: PauseMusicStream() (1 input parameters)
Name: PauseMusicStream
Return type: void
Description: Pause music playing
Param[1]: music (type: Music)
-Function 588: ResumeMusicStream() (1 input parameters)
+Function 590: ResumeMusicStream() (1 input parameters)
Name: ResumeMusicStream
Return type: void
Description: Resume playing paused music
Param[1]: music (type: Music)
-Function 589: SeekMusicStream() (2 input parameters)
+Function 591: SeekMusicStream() (2 input parameters)
Name: SeekMusicStream
Return type: void
Description: Seek music to a position (in seconds)
Param[1]: music (type: Music)
Param[2]: position (type: float)
-Function 590: SetMusicVolume() (2 input parameters)
+Function 592: SetMusicVolume() (2 input parameters)
Name: SetMusicVolume
Return type: void
Description: Set volume for music (1.0 is max level)
Param[1]: music (type: Music)
Param[2]: volume (type: float)
-Function 591: SetMusicPitch() (2 input parameters)
+Function 593: SetMusicPitch() (2 input parameters)
Name: SetMusicPitch
Return type: void
Description: Set pitch for music (1.0 is base level)
Param[1]: music (type: Music)
Param[2]: pitch (type: float)
-Function 592: SetMusicPan() (2 input parameters)
+Function 594: SetMusicPan() (2 input parameters)
Name: SetMusicPan
Return type: void
Description: Set pan for music (-1.0 left, 0.0 center, 1.0 right)
Param[1]: music (type: Music)
Param[2]: pan (type: float)
-Function 593: GetMusicTimeLength() (1 input parameters)
+Function 595: GetMusicTimeLength() (1 input parameters)
Name: GetMusicTimeLength
Return type: float
Description: Get music time length (in seconds)
Param[1]: music (type: Music)
-Function 594: GetMusicTimePlayed() (1 input parameters)
+Function 596: GetMusicTimePlayed() (1 input parameters)
Name: GetMusicTimePlayed
Return type: float
Description: Get current music time played (in seconds)
Param[1]: music (type: Music)
-Function 595: LoadAudioStream() (3 input parameters)
+Function 597: LoadAudioStream() (3 input parameters)
Name: LoadAudioStream
Return type: AudioStream
Description: Load audio stream (to stream raw audio pcm data)
Param[1]: sampleRate (type: unsigned int)
Param[2]: sampleSize (type: unsigned int)
Param[3]: channels (type: unsigned int)
-Function 596: IsAudioStreamValid() (1 input parameters)
+Function 598: IsAudioStreamValid() (1 input parameters)
Name: IsAudioStreamValid
Return type: bool
Description: Check if an audio stream is valid (buffers initialized)
Param[1]: stream (type: AudioStream)
-Function 597: UnloadAudioStream() (1 input parameters)
+Function 599: UnloadAudioStream() (1 input parameters)
Name: UnloadAudioStream
Return type: void
Description: Unload audio stream and free memory
Param[1]: stream (type: AudioStream)
-Function 598: UpdateAudioStream() (3 input parameters)
+Function 600: UpdateAudioStream() (3 input parameters)
Name: UpdateAudioStream
Return type: void
Description: Update audio stream buffers with data
Param[1]: stream (type: AudioStream)
Param[2]: data (type: const void *)
Param[3]: frameCount (type: int)
-Function 599: IsAudioStreamProcessed() (1 input parameters)
+Function 601: IsAudioStreamProcessed() (1 input parameters)
Name: IsAudioStreamProcessed
Return type: bool
Description: Check if any audio stream buffers requires refill
Param[1]: stream (type: AudioStream)
-Function 600: PlayAudioStream() (1 input parameters)
+Function 602: PlayAudioStream() (1 input parameters)
Name: PlayAudioStream
Return type: void
Description: Play audio stream
Param[1]: stream (type: AudioStream)
-Function 601: PauseAudioStream() (1 input parameters)
+Function 603: PauseAudioStream() (1 input parameters)
Name: PauseAudioStream
Return type: void
Description: Pause audio stream
Param[1]: stream (type: AudioStream)
-Function 602: ResumeAudioStream() (1 input parameters)
+Function 604: ResumeAudioStream() (1 input parameters)
Name: ResumeAudioStream
Return type: void
Description: Resume audio stream
Param[1]: stream (type: AudioStream)
-Function 603: IsAudioStreamPlaying() (1 input parameters)
+Function 605: IsAudioStreamPlaying() (1 input parameters)
Name: IsAudioStreamPlaying
Return type: bool
Description: Check if audio stream is playing
Param[1]: stream (type: AudioStream)
-Function 604: StopAudioStream() (1 input parameters)
+Function 606: StopAudioStream() (1 input parameters)
Name: StopAudioStream
Return type: void
Description: Stop audio stream
Param[1]: stream (type: AudioStream)
-Function 605: SetAudioStreamVolume() (2 input parameters)
+Function 607: SetAudioStreamVolume() (2 input parameters)
Name: SetAudioStreamVolume
Return type: void
Description: Set volume for audio stream (1.0 is max level)
Param[1]: stream (type: AudioStream)
Param[2]: volume (type: float)
-Function 606: SetAudioStreamPitch() (2 input parameters)
+Function 608: SetAudioStreamPitch() (2 input parameters)
Name: SetAudioStreamPitch
Return type: void
Description: Set pitch for audio stream (1.0 is base level)
Param[1]: stream (type: AudioStream)
Param[2]: pitch (type: float)
-Function 607: SetAudioStreamPan() (2 input parameters)
+Function 609: SetAudioStreamPan() (2 input parameters)
Name: SetAudioStreamPan
Return type: void
Description: Set pan for audio stream (-1.0 left, 0.0 center, 1.0 right)
Param[1]: stream (type: AudioStream)
Param[2]: pan (type: float)
-Function 608: SetAudioStreamBufferSizeDefault() (1 input parameters)
+Function 610: SetAudioStreamBufferSizeDefault() (1 input parameters)
Name: SetAudioStreamBufferSizeDefault
Return type: void
Description: Default size for new audio streams
Param[1]: size (type: int)
-Function 609: SetAudioStreamCallback() (2 input parameters)
+Function 611: SetAudioStreamCallback() (2 input parameters)
Name: SetAudioStreamCallback
Return type: void
Description: Audio thread callback to request new data
Param[1]: stream (type: AudioStream)
Param[2]: callback (type: AudioCallback)
-Function 610: AttachAudioStreamProcessor() (2 input parameters)
+Function 612: AttachAudioStreamProcessor() (2 input parameters)
Name: AttachAudioStreamProcessor
Return type: void
Description: Attach audio stream processor to stream, receives frames x 2 samples as 'float' (stereo)
Param[1]: stream (type: AudioStream)
Param[2]: processor (type: AudioCallback)
-Function 611: DetachAudioStreamProcessor() (2 input parameters)
+Function 613: DetachAudioStreamProcessor() (2 input parameters)
Name: DetachAudioStreamProcessor
Return type: void
Description: Detach audio stream processor from stream
Param[1]: stream (type: AudioStream)
Param[2]: processor (type: AudioCallback)
-Function 612: AttachAudioMixedProcessor() (1 input parameters)
+Function 614: AttachAudioMixedProcessor() (1 input parameters)
Name: AttachAudioMixedProcessor
Return type: void
Description: Attach audio stream processor to the entire audio pipeline, receives frames x 2 samples as 'float' (stereo)
Param[1]: processor (type: AudioCallback)
-Function 613: DetachAudioMixedProcessor() (1 input parameters)
+Function 615: DetachAudioMixedProcessor() (1 input parameters)
Name: DetachAudioMixedProcessor
Return type: void
Description: Detach audio stream processor from the entire audio pipeline
diff --git a/tools/rlparser/output/raylib_api.xml b/tools/rlparser/output/raylib_api.xml
index 26066795b..e95636d0c 100644
--- a/tools/rlparser/output/raylib_api.xml
+++ b/tools/rlparser/output/raylib_api.xml
@@ -681,7 +681,7 @@
-
+
@@ -3023,6 +3023,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+