summaryrefslogtreecommitdiff
path: root/Djup.Native/src/LibDjup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Djup.Native/src/LibDjup.cs')
-rw-r--r--Djup.Native/src/LibDjup.cs54
1 files changed, 54 insertions, 0 deletions
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);
+}