Skip to content

Commit

Permalink
Merge pull request #7 from ZeroElectric/5.0-dev
Browse files Browse the repository at this point in the history
5.0 dev
  • Loading branch information
Minmoose authored Nov 22, 2023
2 parents 39eb51d + ef766a4 commit ad29077
Show file tree
Hide file tree
Showing 84 changed files with 74,378 additions and 746 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ StyleCopReport.xml
*_h.h
*.ilk
*.meta
*.obj
#*.obj
*.iobj
*.pch
*.pdb
Expand Down
61 changes: 61 additions & 0 deletions AssetAttributions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
**Example Assets Attributions**

| resource | author | licence | notes |
| :------------------- | :---------: | :------ | :---- |
| country.mp3 | [@emegeme](https://github.com/emegeme) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Originally created for "DART that TARGET" game |
| target.ogg | [@emegeme](https://github.com/emegeme) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Originally created for "DART that TARGET" game |
| target.flac | [@emegeme](https://github.com/emegeme) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Originally created for "DART that TARGET" game |
| coin.wav | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [rFXGen](https://raylibtech.itch.io/rfxgen) |
| sound.wav | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [rFXGen](https://raylibtech.itch.io/rfxgen) |
| spring.wav | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [rFXGen](https://raylibtech.itch.io/rfxgen) |
| weird.wav | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [rFXGen](https://raylibtech.itch.io/rfxgen) |
| mini1111.xm | [tPORt](https://modarchive.org/index.php?request=view_by_moduleid&query=51891) | [Mod Archive Distribution license](https://modarchive.org/index.php?terms-upload) | - |
| models/obj/castle.obj,<br>models/obj/castle_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| models/obj/bridge.obj,<br>models/obj/bridge_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| models/obj/house.obj,<br>models/obj/house_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| models/obj/market.obj,<br>models/obj/market_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| models/obj/turret.obj,<br>models/obj/turret_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| models/obj/well.obj,<br>models/obj/well_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| models/obj/cube.obj,<br>models/obj/cube_diffuse.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| models/obj/plane.obj,<br>models/obj/plane_diffuse.png | [GiaHanLam](https://sketchfab.com/GiaHanLam) | [CC-BY](https://creativecommons.org/licenses/by/4.0/) | -
| models/iqm/guy.iqm,<br>models/iqm/guyanim.iqm,<br>models/iqm/guytex.png,<br>models/iqm/guy.blend | [@culacant](https://github.com/culacant) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| models/gltf/robot.glb,<br>models/gltf/robot.blend | ❔ | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | -
| models/vox/chr_knight.vox ||| - |
| models/vox/chr_sword.vox ||| - |
| models/vox/monu9.vox ||| - |
| billboard.png | [@emegeme](https://github.com/emegeme) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| cubicmap.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| cubicmap_atlas.png | [@emegeme](https://github.com/emegeme) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| heightmap.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| dresden_square_1k.hdr | [HDRIHaven](https://hdrihaven.com/hdri/?h=dresden_square) | [CC0](https://hdrihaven.com/p/license.php) | - |
| dresden_square_2k.hdr | [HDRIHaven](https://hdrihaven.com/hdri/?h=dresden_square) | [CC0](https://hdrihaven.com/p/license.php) | - |
| skybox.png ||| - |
| models/barracks.obj,<br> models/barracks_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| models/church.obj,<br> models/church_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| models/watermill.obj,<br> models/watermill_diffuse.png | [Alberto Cano](https://www.artstation.com/albertocano) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| fudesumi.png | [Eiden Marsal](https://www.artstation.com/marshall_z) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/) | - |
| mask.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [EffectTextureMaker](https://mebiusbox.github.io/contents/EffectTextureMaker/) |
| plasma.png | [@chriscamacho](https://github.com/chriscamacho) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| raysan.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| space.png ||| - |
| texel_checker.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [UV Checker Map Maker](http://uvchecker.byvalle.com/) |
| cubicmap.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| spark_flame.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [EffectTextureMaker](https://mebiusbox.github.io/contents/EffectTextureMaker/) |
| ps3.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| xbox.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | - |
| boom.wav | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [rFXGen](https://raylibtech.itch.io/rfxgen) |
| buttonfx.wav | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [rFXGen](https://raylibtech.itch.io/rfxgen) |
| button.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [rFXGen](https://raylibtech.itch.io/rfxgen) |
| spark_flame.png | [@raysan5](https://github.com/raysan5) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) | Made with [EffectTextureMaker](https://mebiusbox.github.io/contents/EffectTextureMaker/) |
| ninepatch_button.png | [@overdev](https://github.com/overdev) ||
| explosion.png | [Unity Labs Paris](https://blogs.unity3d.com/2016/11/28/free-vfx-image-sequences-flipbooks/) | [CC0](https://creativecommons.org/publicdomain/zero/1.0/) |
| parrots.png | [Kodak set](http://r0k.us/graphics/kodak/) | ❔ | Original name: `kodim23.png`
| cat.png ||| - |
| wabbit_alpha.png ||| - |
| custom_jupiter_crash.png | [Brian Kent (AEnigma)](https://www.dafont.com/es/aenigma.d188) | [Freeware](https://www.dafont.com/es/jupiter-crash.font) | Atlas created by [@raysan5](https://github.com/raysan5) |
| KAISG.ttf | [Dieter Steffmann](http://www.steffmann.de/wordpress/) | [Freeware](https://www.1001fonts.com/users/steffmann/) | [Kaiserzeit Gotisch](https://www.dafont.com/es/kaiserzeit-gotisch.font) font |
| fudesumi.png | [Eiden Marsal](https://www.artstation.com/marshall_z) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/) | - |
| scarfy.png | [Eiden Marsal](https://www.artstation.com/marshall_z) | [CC-BY-NC](https://creativecommons.org/licenses/by-nc/4.0/legalcode) | - |
| cyberpunk_street_background.png | [Luis Zuno](http://ansimuz.com/site/) | [CC-BY-3.0](http://creativecommons.org/licenses/by/3.0/) | [Cyberpunk Street Environment](https://ansimuz.itch.io/cyberpunk-street-environment) |
| cyberpunk_street_foreground.png | [Luis Zuno](http://ansimuz.com/site/) | [CC-BY-3.0](http://creativecommons.org/licenses/by/3.0/) | [Cyberpunk Street Environment](https://ansimuz.itch.io/cyberpunk-street-environment) |
| cyberpunk_street_midground.png | [Luis Zuno](http://ansimuz.com/site/) | [CC-BY-3.0](http://creativecommons.org/licenses/by/3.0/) | [Cyberpunk Street Environment](https://ansimuz.itch.io/cyberpunk-street-environment) |
2 changes: 1 addition & 1 deletion Build/AutoGen-LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// This file is licensed to you under the MPL-2.0.
// See the LICENSE file in the project's root for more info.
//
// Raylib-CSharp-Vinculum, .Net/C# bindings for raylib 4.5.
// Raylib-CSharp-Vinculum, .Net/C# bindings for raylib 5.0.
// Find Raylib-CSharp-Vinculum here: https://github.com/ZeroElectric/Raylib-CSharp-Vinculum
// Find raylib here: https://github.com/raysan5/raylib
//
Expand Down
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,52 @@
# 5.0 (Nov 22 2023), Raylib 5.0 | RayGUI 4.0

### Raylib & RayGUI Changes :

- Raylib 5.0
- [BRAKING] REMOVED: GenImageGradientH() and GenImageGradientV()
- [BRAKING] RENAMED: LoadFont*() parameter names for consistenc
- ADDED: New Splines drawing and evaluation API
- ADDED: IsKeyPressedRepeat() on PLATFORM_DESKTOP
- ADDED: SetWindowMaxSize() for desktop and web
- ADDED: LoadRandomSequence() / UnloadRandomSequence()
- ADDED: DrawCircleLinesV()
- ADDED: ExportImageToMemory()
- ADDED: GenImageGradientSquare()
- ADDED: GenImageLinearGradient()
- ADDED: LoadSoundAlias()
- ADDED: GetMasterVolume()
- REDESIGNED: LoadOBJ(), to avoid mesh splitting by materials
- REVIEWED: Support .vox model file version 200
- REVIEWED: Optimized and simplified the gesture system
- And much much more

#### With over 95 function changed & additions be sure to read up on all of the changes over on raylib's' [CHANGELOG]([CHANGELOG](https://github.com/raysan5/raylib/blob/master/CHANGELOG))!

- RayGUI 4.0
- [BRAKING] REDESIGNED: Multiple functions and what they return, check out raygui 4.0's [CHANGELOG]([CHANGELOG](https://github.com/raysan5/raygui/releases/tag/4.0)) for a detailed list of changes
- [BRAKING] REDESIGNED: All controls return result are now 'int'
- ADDED: GuiToggleSlider()
- ADDED: GuiColorPickerHSV() and GuiColorPanelHSV()
- ADDED: Multiple new icons, mostly compiler related
- ADDED: New enum values: GuiTextAlignment, GuiTextAlignmentVertical, GuiTextWrapMode


### Vinculum Changes
- Added two new examples
- SplinesDrawing
- MixedAudioProcessing
- Created a Attributions file for example assets
- Optimized the layout of multiple of the examples
- Optimized port of rcamera, #6
- Fixed .obj example files being missing
- Fixed a crash on Linux with the TestingProgram
- Fixed all examples with freecamera to behave properly

#### Known Issues:

- GuiCheckBox wrapper implementation does not have correct API, returns bool like the raygui 3.x API and not int.
- Many of the new API's do not have a managed sbyte* wrapper implementations.

# 4.5.1 (Apr 20 2023), Raygui 3.5

### Updated raygui to 3.5
Expand Down
2 changes: 1 addition & 1 deletion Libs/raygui
Submodule raygui updated 179 files
2 changes: 1 addition & 1 deletion Libs/raylib
Submodule raylib updated 221 files
2 changes: 1 addition & 1 deletion Libs/rres
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,23 @@
- Windows & Linux supported,
- Supports .Net 5+, Mono 6.4+, Core 3.0,
- 1-1 bindings + convenience wrappers to make it easier to use,
- Includes bindings for all of raylib's extras:
- Includes bindings for the following raylib extras:
- `raylib` : Core features, including Audio,
- `rlgl` : OpenGl abstraction,
- `raygui` : An immediate mode GUI framework,
- `physac` : A simple 2d physics framework,
- `rres` : A simple and easy-to-use file-format to package resources,
- `easings` : Use for simple animations (C# Managed Port),
- `raymath` : A game math library (C# Managed Port),
- `rcamera` : A basic camera system (Direct C# port of rcamera.h).
- Requires `unsafe` keyword for 3d workflows. A basic guide on pointers can be found [here](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/unsafe-code),
- A focus on performance. No runtime allocations if at all possible,
- A fork of [Raylib-CsLo](https://github.com/NotNotTech/Raylib-CsLo) as the maintainer wishes to step down,
- `rcamera` : A basic camera system (C# port of rcamera.h).
- Requires `unsafe` keyword. A basic guide on pointers can be found [here](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/unsafe-code),
- A focus on performance & minimal runtime allocations,
- A fork of [Raylib-CsLo](https://github.com/NotNotTech/Raylib-CsLo) as the maintainer wished to step down,
- Very little intellisense docs. [You can read the Raylib cheatsheet for some help](https://www.raylib.com/cheatsheet/cheatsheet.html) or [view the examples](https://github.com/ZeroElectric/Raylib-CSharp-Vinculum/tree/main/Source/Raylib-CSharp-Vinculum.ExampleCore)
- Go give Ray some love ❤️, https://github.com/sponsors/raysan5

> **Warning**:
> 3D users: **be sure you check the FAQ & Tips section below**,
> **be sure you check the FAQ & Tips section below**,
> especially on how you need to use `Matrix4x4.Transpose()` when sending Matricies
> to raylib.
Expand All @@ -30,7 +30,7 @@
> read the `Differences` section below
## Wait a minute haven't I seen this repository before?
Maybe! This repo is a fork of [Raylib-CsLo](https://github.com/NotNotTech/Raylib-CsLo), the Maintainer (jasonswearingen/Novaleaf) announced they wished to step down from the project and seeing as I use the project for a set a game-making tools I decided to fork the project and greatly optimize the project layout for better long term maintainability. Why did I change the name? Honestly the name `Raylib-CsLo` is kinda boring, and being inspired by projects with names like [Vortice](https://github.com/amerkoleci/Vortice.Windows), I chose the name `Vinculum [vin·cu·lum]` witch means **bond** in Latin, also I didn't want to "steal" the name, other then the name, the only real change from a end-user point of view is a namespace difference `Raylib-CsLo > ZeroElectric.Vinculum`
Maybe! This repo is a fork of [Raylib-CsLo](https://github.com/NotNotTech/Raylib-CsLo), the Maintainer (jasonswearingen/Novaleaf) announced they wished to step down from the project and seeing as I use the project for a set a game-development tools I decided to fork the project and greatly optimize the project layout for better long term maintainability. Why did I change the name? Honestly the name `Raylib-CsLo` is kind of boring, and being inspired by projects with names like [Vortice](https://github.com/amerkoleci/Vortice.Windows), I chose the name `Vinculum [vin·cu·lum]` witch means **bond** in Latin, also I didn't want to "steal" the name, other then the name, the only real change from a 'end-user' point of view is a namespace difference `Raylib-CsLo > ZeroElectric.Vinculum`

## What is **Raylib**?

Expand Down Expand Up @@ -59,7 +59,7 @@ Maybe! This repo is a fork of [Raylib-CsLo](https://github.com/NotNotTech/Raylib
### Prerequisites

- Visual Studio 2022 with the following workloads:
- .NET SDK (NET6+)
- .NET SDK (NET8+)
- Visual C++ Toolset
- MSVC v142 (or higher) x64/x86

Expand Down Expand Up @@ -89,7 +89,7 @@ Maybe! This repo is a fork of [Raylib-CsLo](https://github.com/NotNotTech/Raylib

### Prerequisites

- **.NET SDK (NET7+)**
- **.NET SDK (NET8+)**
- You can find more info on how to install .NET on Linux [here](https://learn.microsoft.com/en-us/dotnet/core/install/linux)

- **Install Build-Essential for linux**
Expand Down Expand Up @@ -172,7 +172,7 @@ public static class Program
```

- View code example collection [here](https://github.com/ZeroElectric/Raylib-CSharp-Vinculum/tree/main/Source/Raylib-CSharp-Vinculum.ExampleCore)
- raylib 4.5 cheatsheet [here](https://www.raylib.com/cheatsheet/cheatsheet.html)
- raylib 5.0 cheatsheet [here](https://www.raylib.com/cheatsheet/cheatsheet.html)
- raylib architecture design [here](https://github.com/raysan5/raylib/wiki/raylib-architecture)

# ❓ FAQ & Tips
Expand Down Expand Up @@ -204,7 +204,7 @@ public static class Program

### **Can or Should I use `RayMath`?**
- `ZeroElectric.Vinculum.RayMath` contains a lot of helpful methods for doing game related math.
- The `RayMath` helper methods have been translated into C#, this makes the code pretty fast, but if the same method exists under `System.Numerics` you should use that instead, because the .Net CLR treats things under System.Numerics special, and optimizes it better.
- The `RayMath` helper methods have been translated into C#, this makes the code pretty fast, but if the same method exists under `System.Numerics` you should use that instead, because the .Net CLR treats things under System.Numerics special, and optimizes better.

### **I ran the Example project in a profiler. What are all these `sbyte[]` arrays being allocated?**
- A pool of `sbyte[]` arrays are allocated for string marshalling purposes, to avoid runtime allocations.
Expand All @@ -226,7 +226,7 @@ public static class Program

# Known Issues

- When using `raygui`, if you close a raylib window after calling `RayGui.GuiLoadStyleDefault()` and then open a new raylib window (within the same running instance), multiple rayGui ui elements will be broken,
- When using `raygui`, if you close a window made with raylib after calling `RayGui.GuiLoadStyleDefault()` and then open a new raylib window (within the same running instance), multiple rayGUI ui elements will be broken,
- `Texture2D` doesn't exist, it's just an alias for `Texture`, use that instead,
- `LogCustom()` is ported but doesn't support variable length arguments,
- The `Text.Unicode` example doesn't render unicode properly.
Expand Down
Loading

0 comments on commit ad29077

Please sign in to comment.