- These functions return native memory to strings. However it was trying to free the native memory.
- I changed it so they return IntPtr internally and the public versions use Marshal.PtrToStringAnsi to copy it into a
string which fixes this issue.
- These functions have a similar api to System.IO functions in C#.
For example 'DirectoryExists' can be replaced with 'Directory.Exists'.
- I considered wrapping them to use `System.IO` internally however that is less flexible than using it
directly.
- Replaced Rlgl format usage with PixelFormat enum and update constants.
- Added new enums used with framebuffers.
- Added missing functions and fixed function naming.
- Set libraries to target netstandard2.1 and updated tests to net5.0. Still learning about the new features. Libraries may also change to net5.0
later if the newer features are useful enough to include directly in the library.
- Removing Platform.cs which was only used by netfx.
- Removing common string functions in Raylib that can easily be replaced with built in string functions from C#. Keeping a few
such as TextFormat for now as I am unsure if they will be useful later.
- Fixed typo in README.md.
- Changed Image format to use the PixelFormat enum.
- Changed Texture2D format to use the PixelFormat enum.
- Changed NPatchInfo type to use the NPatchType enum.
- Matrix in raylib is column major whereas in numerics it is row major. The type marshals and works but it needs to be transposed before it can be used. At first I looked into keeping the matrix
type and converting between the 2 as that made sense but I think using just the on type and documenting the difference is a better tradeoff. It may be easy to create bugs by forgetting to transpose but with good documentation I think this is better than having to deal with the 2 types. I may be wrong about this so we will see how it goes.
- Both bindings have causes confusion and issues in project setup. Moving them into separate libraries should make things clearer and easier to maintain.
- Changed Raylib-cs.proj to use just one target framework.
- Removed targets net47 and netcoreapp3.1 from Raylib-cs.csproj.
- Removed netcoreapp3.1 from dotnetcore.yml workflow.
- Testing multi-target options. Hopefully won't be needed with .NET 5.
Some issues getting multi-targeting to work well with OmniSharp in other projects so I may change this.