Skip to content

kevinw/raylib-odin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

odin-raylib

!!

NEWER AND MAINTAINED REPO HERE: ftommasi/raylib-odin

!!

Bindings for raylib 3.0.0, a small C gamedev library, for the odin programming language.

These are usable, but in a pre-alpha state and definitely a work in progress.

from Kevin Watters

Prerequisites

  • Windows 10 (for now)
  • Visual Studio 2017
  • A command-line prompt opened with the "x64 Native Tools Command Prompt for VS 2017" shortcut
  • odin on your PATH (built from odin's master branch is good)

Running the examples

examples/simple_demo

To run a simple demo:

odin run examples/simple_demo

You should see this:

a screenshot of a simple demo

examples/live_reload_demo

To run the live reload demo:

scripts\run_live_reload_demo

You should see the demo appear. It runs a background thread watching for changes in the source directory. When a change happens, it will rebuild the bin/game.dll file--which will then get automatically reloaded by the host process.

a screenshot of the live reload demo

Try editing some of the values in examples/live_reload_demo/game.odin and saving the file to see the changes instantly.

live reload example

examples/bunnymark

odin run examples/bunnymark

a screenshot of the bunnymark demo

examples/physac

odin run examples/physac

a screenshot of the physac demo

Modules

Bindings for raygui and raymath are in an alpha state. See examples/gui and examples/example_raymath.

Bindings

To rebuild the bindings to raylib, make sure you have raylib checked out into the directory above raylib-odin, and run scripts\generate_raylib_bindings.bat.

TODO

  • fix up bindgen code so that raylib.h doesn't need to be hand-tweaked
  • make everything work on OSX and Linux

Acknowledgements

About

Odin bindings for the raylib gamedev library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages