Update to raylib 4.2 re-release
This commit is contained in:
parent
723c77688c
commit
55d024fbe3
2 changed files with 1 additions and 1 deletions
83
README.md
Executable file
83
README.md
Executable file
|
|
@ -0,0 +1,83 @@
|
|||

|
||||
|
||||
# raylib-zig
|
||||
|
||||
Manually tweaked, auto generated [raylib](https://github.com/raysan5/raylib) bindings for zig.
|
||||
|
||||
Bindings tested on raylib version 4.2.0 and Zig 0.9.1
|
||||
|
||||
Thanks to @jessrud, @mbcrocci, @franciscod, @Gertkeno, @alanoliveira, @sacredbirdman, @rcorre and @Ivan-Velickovic for their contributions to this binding.
|
||||
|
||||
The binding currently only supports a subset of raylib. For more information read [here](#technical-restrictions).
|
||||
|
||||
## Example
|
||||
|
||||
We can copy the default example with some minor changes:
|
||||
|
||||
```zig
|
||||
const rl = @import("raylib");
|
||||
|
||||
pub fn main() anyerror!void {
|
||||
// Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
const screenWidth = 800;
|
||||
const screenHeight = 450;
|
||||
|
||||
rl.InitWindow(screenWidth, screenHeight, "MyWindow");
|
||||
|
||||
rl.SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
// Main game loop
|
||||
while (!rl.WindowShouldClose()) { // Detect window close button or ESC key
|
||||
// Update
|
||||
//----------------------------------------------------------------------------------
|
||||
// TODO: Update your variables here
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
// Draw
|
||||
//----------------------------------------------------------------------------------
|
||||
rl.BeginDrawing();
|
||||
|
||||
rl.ClearBackground(rl.WHITE);
|
||||
|
||||
rl.DrawText("Congrats! You created your first window!", 190, 200, 20, rl.LIGHTGRAY);
|
||||
|
||||
rl.EndDrawing();
|
||||
//----------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
// De-Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
rl.CloseWindow(); // Close window and OpenGL context
|
||||
//--------------------------------------------------------------------------------------
|
||||
}
|
||||
```
|
||||
|
||||
## Technical restrictions
|
||||
|
||||
Due to zig being a relatively new language it does [not have full C ABI support](https://github.com/ziglang/zig/issues/1481) at the moment. For use that mainly means we
|
||||
can't use any functions that return structs that are less than 16 bytes large.
|
||||
|
||||
## Building the examples
|
||||
|
||||
To build all available examples simply `zig build examples`. To list available examples run `zig build --help`. If you want to run and examples, say `basic_window`
|
||||
run `zig build basic_window`
|
||||
|
||||
## Building and using
|
||||
|
||||
+ (Optional) Install raylib
|
||||
+ Execute `projectSetup.sh project_name`, this will create a folder with the name specified
|
||||
+ You can copy that folder anywhere you want and edit the source
|
||||
+ Run `zig build run` at any time to test your project
|
||||
|
||||
### When is the binding updated?
|
||||
|
||||
I plan on updating it every mayor release (2.5, 3.0, etc.). Keep in mind these are technically header files, so any implementation stuff should be updatable with some
|
||||
hacks on your side.
|
||||
|
||||
### What's to be done?
|
||||
|
||||
+ _(Done)_ Set up a proper package build and a build script for the examples
|
||||
+ Port all the examples
|
||||
+ Object orientation
|
||||
Loading…
Add table
Add a link
Reference in a new issue