# raylib-ada

Ada bindings for Raylib 5.1 library, written and configured manually for the most part.

Important note for users:
- Currently, bindings are stable and finished, but being tested. When I test them, this notice will be removed.
- If you want to start writing an Ada program using these bindings, it's better to wait when testing is done!
- Variadic functions and function pointers were completely removed due to "language barrier"...
- Some function names and function arguments were renamed to follow pedantic naming style and Ada conventions.
- If you "Init" something, you "Deinit" it later, if you "Close" something, that means you "Opened" it...
- Also, if you "Alloc(ated)" something, you have to "Dealloc(ate) it later, not "Free" it, you didn't "Imprison" it.
- Sorry...
- There are examples, you can compile and run them, this is all still being tested...
- First of all, run 'sudo sh install.sh', then 'sh compile.sh' and see the results with 'ls' command. Thanks.
- All files in './example/resource/' folder are under CC0 license, downloaded from opengameart.org.

Compile:
```bash
$ sh compile.sh
```

Install:
```bash
$ sudo sh install.sh
```

```ada
with Raylib;
use  Raylib;

procedure Window is
begin
	Open_Window (720, 360, "Heyo Raylib!" & ASCII.NUL);
	--
	Main_Loop: loop
		exit when Window_Should_Close;
		--
		Begin_Drawing;
		Clear_Background (Blue);
		End_Drawing;
	end loop Main_Loop;
	--
	Close_Window;
end Window;
```