Autogenerated Beef bindings for raylib
Find a file
Braedon Lewis e2cee4b98f
Merge pull request #10 from Booklordofthedings/main
Fix issue with having to change project settings
2024-03-31 18:53:17 -04:00
.idea/.idea.raylib-beef/.idea Remove todo 2023-04-13 08:28:40 -04:00
generator added extra keyword case @checked to support raygui binding, set current culture to invariant to fix float parsing 2024-01-16 10:55:17 +01:00
img Create raylib-beef-logo.png 2023-03-19 14:42:02 -04:00
raylib-api@5e9f1551c3 Update raylib-api 2023-11-19 22:18:54 -05:00
raylib-beef added libraries 2024-04-01 00:00:15 +02:00
.gitattributes Initial commit 2023-03-19 12:57:34 -04:00
.gitignore Remove recovery folder 2023-03-19 13:59:17 -04:00
.gitmodules Add raylib-api as submodule 2023-03-19 14:05:29 -04:00
LICENSE Create LICENSE 2023-03-19 14:49:39 -04:00
raylib-beef.sln Initial commit 2023-03-19 12:57:34 -04:00
README.md fixed requirements 2024-03-31 23:57:59 +02:00

raylib-beef

logo

BeefLang bindings for Raylib 5.0.

Example

using System;
using RaylibBeef;
using static RaylibBeef.Raylib;

namespace example;

class Program
{
	public static int Main(String[] args)
	{
		InitWindow(800, 600, scope $"Raylib Beef {RAYLIB_VERSION_MAJOR}.{RAYLIB_VERSION_MINOR}.{RAYLIB_VERSION_PATCH}");
		InitAudioDevice();

		let beefMain = Color(165, 47, 78, 255);
		let beefOutline = Color(243, 157, 157, 255);

		while (!WindowShouldClose())
		{
			BeginDrawing();
			
			ClearBackground(RAYWHITE);

			DrawRectangle(GetScreenWidth() / 2 - 128, GetScreenHeight() / 2 - 128, 256, 256, beefOutline);
			DrawRectangle(GetScreenWidth() / 2 - 112, GetScreenHeight() / 2 - 112, 224, 224, beefMain);

			DrawText("raylib", GetScreenWidth() / 2 - 44, GetScreenHeight() / 2, 50, beefOutline);
			DrawText("beef", GetScreenWidth() / 2 - 62, GetScreenHeight() / 2 + 46, 50, beefOutline);

			DrawRectangle(GetScreenWidth() / 2 + 54, GetScreenHeight() / 2 + 54, 42, 42, beefOutline);
			DrawRectangle(GetScreenWidth() / 2 + 62, GetScreenHeight() / 2 + 62, 26, 26, RAYWHITE);

			DrawCircle(GetMouseX(), GetMouseY(), 20, beefOutline);
			DrawCircle(GetMouseX(), GetMouseY(), 8, beefMain);

			DrawFPS(20, 20);

			EndDrawing();
		}

		CloseAudioDevice();
		CloseWindow();

		return 0;
	}
}

Quick Start (using Beef IDE)

  1. Clone this repository to wherever you want
  2. Right-click on your workspace and select Add Existing Project and select the folder where the BeefProj.toml file is.

image

  1. Add raylib-beef as a dependency of your project

image

Static Linking

On Windows, default linking is set to dynamically link to raylib. This is because of some weird linking problems with MSVC. You can change that by selecting a different project configuration for raylib-beef in the Workspace settings. You can select from StaticDebug and StaticRelease.

image

Contribution

I'll be happy to resolve any issues or pull requests.