Watch
2
0
Fork
You've already forked raylib-cs
0
Commit graph raylib-cs/Raylib-cs/types/Raylib.Utils.cs
Author SHA1 Message Date
tiger tiger tiger
565f0912ea
WASM support, using official binaries (#341)
* chg: New build system that uses the officially distributed binaries, bumped version to 8.0.0, simplified git workflow, removed deprecated OpenGL 1.1 functionality.

* chg: Modernize CI workflow, enable SourceLink

- Bump workflow actions to latest majors (Node 24); drop deprecated softprops/action-gh-release@v1
- Trigger push builds on main instead of master
- Create local nuget feed dir before pack (fixes NU1301)
- Enable Microsoft.SourceLink.GitHub for debugging symbols (ref PR #340)

* fix: centralized version data in Directory.build.props, and fixed various interop details that had incorrect function signatures

* chore: updated readme

* fix: version the native extract marker and chain download via DependsOnTargets

The .extracted marker now includes the raylib package name, so bumping
TargetRaylibTag re-extracts the new archive instead of silently keeping
(and packing/copying) the previous version's files.

_PrepareNativeLibrary and _StageWasmNative now depend directly on
_DownloadAndExtractInternal instead of CallTarget-ing it; dependency
targets run in the same project instance, so the resolved properties
(RaylibPackageName etc.) propagate naturally.

* fix: let the binding build for browser-wasm on both net8.0 and net10.0

The net8-era wasm workload (Microsoft.NET.Runtime.WebAssembly.Sdk 8.0.x,
auto-imported for RID browser-wasm) treats every browser-wasm project as
a wasm app: it forces OutputType=Exe after project evaluation (CS5001
for a classlib) and hooks its app-bundle build after Build, which errors
because a library has no assemblies to bundle. Opt Raylib-cs out via
DisableAutoWasmBuildApp (props time, before the workload defaults its
trigger) and pin OutputType back to Library in Directory.Build.targets
(evaluated after the workload props, so the assignment wins). net10's
wasm SDK needs neither workaround.

* chore: readme updated

* chg: simplifying build logic - a simple line in the documentation should save us the code here

* fix: Wrong signature of FrameBufferComplete

* chore: readme update

* feat: samples default to local project reference, and can optionally use the nuget package

* fix: Examples.csproj runs the download task when building locally
2026-07-20 18:39:19 +01:00
Oosaka
ef98ca456a
Fix LoadModel incorrect summary (#339) 2026-06-05 07:35:09 +01:00
1f07b4b4a4 Review Raylib.Utils 2026-05-25 08:46:28 +01:00
Dennis Steffen
21d83c60a9
Upgrade Raylib to 6.0 (#337)
* Updated target to Raylib 6 + synced invoke called with the changes in C. [WARNING: Breaking changes!]

* Added severial examples. Corrected towards the correct return type and add utilities to prevent working with pointers

* Additional resources from the Raylib repo.

* Fixed additional pinvokes to match with the new raylib bindings. [Warning breaking changes!]

* Fixing the QOL utils

* Fixing the Mesh struct

* Applying changes after review. Merged resources.LICENSE + raylib-cs.Native.csproj only targets dotnet8

* Updated README to reflect .NET 10 and Raylib 6 compatibility changes.

* Updated shader colors, adjusted car model scale, disabled HDR in SkyboxDemo, and fixed camera mode assignment. Removed unused `Capacity` field in FilePathList struct.

* Improved XML comments for consistency, fixed spacing and formatting across examples, added new resources to `resources.LICENSE`.

* Updated XML comment for `GetDirectoryFileCountEx` to clarify behavior and filtering options.

* Updated and clarified XML comments for methods and parameters, improved naming consistency, and refined shader-related functions. Renamed enums in `Shader.cs` for so it is inline with the upstream.

* Improved XML comments for clarity and consistency in `Model.cs` and `Mesh.cs`, updated method and variable names for better readability, and adjusted logic in span creation methods.

* Corrected XML comment capitalization in `Model.cs`.

---------

Co-authored-by: Meatcorps <info@meatcorps.nl>
2026-05-24 07:21:12 +01:00
Matorio
75aabd1cc0
Explicit core types and autonomous types. (#304)
* All the "var" variables were changed to explicit types on the raylib class
* "MakeDirectory" overload, and string version of "GetApplicationDirectory" and "GetWorkingDirectory" methods
* Added "Dimensions" property to "Texture2D"
* New overloads for the "LoadFileData" and "SaveFileData" methods
* Raymath's const "NativeLibName" is now referencing to "Raylib.NativeLibName"
* Color constructors are more readable
* Added "Dimensions" property to "Image"
* Changed all the "var" for explicit types on the "Logging" class
* Changed "Int64" for "long" on CBool, and using constructor on the operators instead setting the value manually
* Added indexer to "FilePathLists"
* Changed all "var" for explicit types on "Utf8Buffer"
* New "GetRandomSequence" method overloads in "Raylib.Utils" acepting "int" and "float"
* Added new extension "byte.Lerp"
* Added new extension "Log" for "TraceLogLevel"
* Constructors on Color no longer just truncate the float value, but also round it (+ 0.5f)
* New static method on Color, "Color.Lerp"
* Added static method "FromHSV" to Color
* Added new getter method "GetHSV" on Color
* Added index security on the FilePathList indexer
* Added Rectangle extension
* Added "MoveTowards" extensions to RaylibExtensions
* Added "TranslateLocal" and "TranslateGlobal" to Transform
* Removed unnecessary "partial" declarations
* Updating calls and docs
* Moved the "AudioCallback" delegate into the "AudioMixed.cs" File
* Properties and structs marked as read-only on the "Model.cs" file
* Updated the "README.md" to mentions Raylib-cs targets net6.0 and net8.0 (and also explicitly added that the
"STAThread" attribute comes from the "System" namespace)
* Added a few sizing utils to "Rectangle"
* Added "GetScreenCenter" to "Raylib.Utils"
2025-09-21 09:09:38 +01:00
JupiterRider
8384e36054
Update docs of some FromMemory-functions #305 (#306) 2025-07-28 12:27:06 +01:00
JupiterRider
a3dfd57b5a
Update to raylib 5.5 (#279) 2024-12-21 15:00:13 +00:00
Alexander Baggett
8f2902aca0
Implement Managed Code Friendly version of CheckCollisionPointPoly (#268) 2024-09-13 19:56:45 +00:00
Nicky McDonald
377a32a9db
Safe UpdateMeshBuffer Method (#262) 2024-08-23 06:54:38 +00:00
383ec91e95
Fix usage of uint in bindings (#246) 2024-05-25 10:34:38 +01:00
JupiterRider
502a583e07
UnloadMesh needs a value, not a pointer (#243) 2024-05-21 19:06:11 +01:00
Nicky McDonald
b049b4f88d
AttachAudioMixedProcessor Utils for easy callback (#215) 2024-02-24 08:44:13 +00:00
MrScautHD
43f1924faa
Port to Raylib-5.0.0 (#210)
Co-authored-by: ChrisDill <chris.rj.dill@gmail.com>
2023-12-27 12:17:57 +00:00
ff85d9ae83 Fix utility typo 2023-12-26 10:10:18 +00:00
47956acdd4
Fix GenImageText bug/add utility method (#213) 2023-12-26 10:00:15 +00:00
4a58a07dcd Simplify LoadModelAnimations util 2023-10-29 09:45:02 +00:00
MrScautHD
6d9505653f
Added camera methods without pointers (#205) 2023-10-22 14:59:43 +01:00
Nickolas McDonald
c642be6148
Improve utils for mesh generation and processing (#199)
* Add memory allocation to Raylib.Utils for memory allocation (#179)
* Add utils to Mesh for allocating and accessing mesh attributes (#179)
2023-09-09 18:01:59 +01:00
696955463f Add .editorconfig and apply formatting 2023-08-27 15:20:26 +01:00
23ed54cc24
BREAKING: Update names of methods, variables, and other elements (#181)
Breaking change to update naming across Raylib-cs to make it more consistent with C# naming conventions.

---------

Co-authored-by: MrScautHD <65916181+MrScautHD@users.noreply.github.com>
2023-08-14 21:33:48 +01:00
3f9cf16c93 Remove unused icon from tests 2023-08-12 23:04:49 +01:00
Nickolas McDonald
d067c6c0aa
[Fix #184] Seperate UTF8 from Ansi (#185) 2023-08-12 22:59:46 +01:00
MrScautHD
083a776aee
Adding a string method for OpenURL and SetGamepadMappings (#180) 2023-08-04 23:04:42 +01:00
Nickolas McDonald
28bca27917
Add managed methods for updating textures (#177) 2023-07-26 20:55:00 +01:00
ccf31c38e1 Update FromMemory utils to use fixed instead 2023-06-09 20:12:30 +01:00
b0cab0d257 Remove Text util methods 2023-06-04 18:00:18 +01:00
7cbb1bef64 Add additional LoadXFromMemory utility functions 2023-05-27 15:48:05 +01:00
99b121616a Fix typo in GetCodepoint util 2023-05-21 07:47:11 +01:00
af1c85ab04 Add ref util for ImageBlurGaussian 2023-05-21 07:32:40 +01:00
7e50d25e71 Review Camera3D functions and fix bool usage 2023-04-15 10:39:48 +01:00
d3e225a286
Update to raylib 4.5 (#149)
* Update bindings to raylib 4.5
* Review naming, comments and formatting
2023-03-30 20:01:55 +01:00
0d994b0992
Update to raylib 4.2 (#117)
Update bindings to use raylib 4.2.0. Review comments and utils.
2022-10-01 12:27:25 +01:00
f9284d4505
Point release 4.0.0.2 (#122) 2022-09-03 23:13:16 +10:00
Diogo Gomes
0ea640acaa
Fixed LoadImageAnim frames argument. (#119) 2022-08-24 17:50:30 +01:00
1db5428786 Review font functions 2022-02-15 19:59:26 +00:00
e5934b86ba 4.0 (#100)
* Fix formatting/update doc comments in Raylib.cs

* Update types in Raylib.cs to 4.0

* Remove app.config

* Update Raylib.cs functions

* Split Enums, Structs & Classes into own files

* Testing utils for Raylib.cs

* Update Raylib-cs.csproj

* Reorganize types
- Move into types folder
- Group types based on usage

* Fix parameter names

* Rename CloseAudioStream to UnloadAudioStream

* Remove ref SetShaderValue overloads

* Remove some constants from Raylib.cs

* Include README.md in package

* Replace old version of GetDroppedUtils

* Update README.md

* Remove Physac-cs and Raygui-cs
- Not actively maintained and a pain for users to setup...

* Update comments to xmldoc

* Rename Gestures enum to Gesture

* Minor fixes
- Rename Gestures enum to Gesture
- Update tests to net6.0

* Testing CBool type instead of bool

* Update XmlDoc comments

* Update build.yml to net6.0 for tests

* Remove Easings.cs
- Easings used to be part of raylib. It is now a separate extra library
so I am removing it from the main bindings.

* Update rlgl

* More XmlDoc comments

* Use CBool in structs

* Big unsafe update

* Fix typos and change refs to pointers in Rlgl

* Update LoggingUtils and Material

* Fix typo in Rlgl

* Update build.yml

* Rename RaylibUtils.cs to Raylib.Utils
now a partial class

* Convert some RLGL consts to Enums

Also added helper methods/overloads for related methods

* Make class Raylib partial

* Convert some text functions to not use ref

I dont think they will work. need testing

* Testing fixes for Text functions

* Create rlMultMatrixf safe overload

* Implement safe ModelAnimation

* Testing fix for ModelAnimation using wrapper struct

* Added TODOs

* Fix rlMultMatrixf
- Add missing ToFloatV functions to Raymath
- Fix rlMultMatrixf overload to use MatrixToFloatV

* Fix IsGestureDetected and formatting

* Add a few text tests

* Move wrapper functions into Raylib.Utils

* Remove ref from raylib bindings

* Multi-target net5.0

* Testing string approaches

* Fixing more util and unsafe functions

* Testing TraceLogCallback fix

Set lang version to C# 10

* Replace managed callbacks with unsafe delegates

* Update default LogConsole callback

* Setup unsafe/safe functions for math types in Raylib.cs

* Replace string in Rlgl with sbyte*

* Yet more string changes
- Use sbyte/byte correctly in Raylib.cs
- Using Marshal.StringToCoTaskMemUTF8
- Update utils string usage

* Fix typo bug and whitespace

* Fix DrawTextPro and more whitespace

* Remove unused ToString

* Add file functions back into Raylib

* Test paths filter for pull requests

* Change to paths-ignore filter

* Redo partial change

* Move binding functions into interop folder

Co-authored-by: Ben Parsons <9parsonsb@gmail.com>
2022-02-15 00:00:13 +11:00