From 745406dc65aecc438a53f96badc387a32b7a338f Mon Sep 17 00:00:00 2001 From: Joel Stålnacke Date: Thu, 19 Mar 2026 22:30:56 +0200 Subject: Add Mibo project The Djup project is DesktopGL project --- Djup.Native/src/LibDjup.cs | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Djup.Native/src/LibDjup.cs (limited to 'Djup.Native/src/LibDjup.cs') diff --git a/Djup.Native/src/LibDjup.cs b/Djup.Native/src/LibDjup.cs new file mode 100644 index 0000000..15dcdad --- /dev/null +++ b/Djup.Native/src/LibDjup.cs @@ -0,0 +1,54 @@ +using System.Runtime.InteropServices; + +namespace Djup.Native; + +public static partial class LibDjup +{ + const string LibraryName = "djup"; + const string Prefix = "dp_"; + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(hello_world))] + public static partial void hello_world(); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(get_num))] + public static partial int get_num(); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(get_vec2))] + public static partial Vec2 get_vec2(); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(vec2_mul))] + public static partial Vec2 vec2_mul(Vec2 v, float scalar); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(vec2_normal))] + public static partial Vec2 vec2_normal(Vec2 v); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(vec2_length))] + public static partial float vec2_length(Vec2 v); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(log_set_output))] + public static partial Vec2 log_set_output([MarshalAs(UnmanagedType.FunctionPtr)] LoggerDelegate logger); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(log_set_level))] + public static partial Vec2 log_set_level(LogLevel minLevel); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(physics_context_create))] + public static partial IntPtr physics_context_create(uint snapshots); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(physics_context_free))] + public static partial void physics_context_free(IntPtr context); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(physics_context_get_snapshot))] + public static partial IntPtr physics_context_get_snapshot(IntPtr context); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(physics_context_return_snapshot))] + public static partial void physics_context_return_snapshot(IntPtr context, IntPtr snapshot); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(physics_tick))] + public static partial int physics_tick(IntPtr currentSnapshot, double delta, IntPtr nextSnapshot); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(snapshot_put_player))] + public static unsafe partial int snapshot_put_player(IntPtr snapshot, uint playerId, Player *player); + + [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(snapshot_set_player_input))] + public static partial int snapshot_set_player_input(IntPtr snapshot, uint playerId, byte input); +} -- cgit v1.2.3