Skip to content

allyourcodebase/box2d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Box2D

This is the Box2D physics engine packaged for the Zig build system.

Usage

Add the dependency to your build.zig.zon:

zig fetch --save git+https://github.com/allyourcodebase/box2d#main

Use the dependency in your build.zig:

pub fn build(b: *std.Build) void {
    const target = b.standardTargetOptions(.{});
    const optimize = b.standardOptimizeOption(.{});

    const box2d = b.dependency("box2d", .{
        .target = target,
        .optimize = optimize,
    });

    const exe = b.addExecutable(.{
        // ...
    });
    exe.addIncludePath(box2d.path("."));
    exe.linkLibrary(box2d.artifact("box2d"));

    // ...
}

Import and use the C library:

const c = @cImport({
    @cInclude("box2d/box2d.h");
});

pub fn main() void {
    const world_def = c.b2DefaultWorldDef();
    const world = c.b2CreateWorld(&world_def);
    // ...
}

Examples

This build script can also run the official examples. From this repository run:

zig build -Dtest run

About

Box2D packaged for the Zig build system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages