aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bindings/cs/Demo/Program.cs11
-rw-r--r--bindings/cs/libsurvive.net/LibSurViveAPI.cs7
-rw-r--r--bindings/cs/libsurvive.net/cfunctions.cs2
-rw-r--r--include/libsurvive/survive.h4
-rw-r--r--src/survive.c4
5 files changed, 14 insertions, 14 deletions
diff --git a/bindings/cs/Demo/Program.cs b/bindings/cs/Demo/Program.cs
index aa98b6c..53c2307 100644
--- a/bindings/cs/Demo/Program.cs
+++ b/bindings/cs/Demo/Program.cs
@@ -12,13 +12,10 @@ namespace Demo
{
static void Main(string[] args)
{
- SurviveContext context = new SurviveContext(args);
- context.AddPoseUpdateCallback(HMDUpdate, -1);
-
-
- while (context.Poll() == 0) {
- }
-
+ LibSurViveAPI api = LibSurViveAPI.instance;
+
+ var so = api.GetSurviveObjectByName("HMD");
+
}
public static void HMDUpdate(int ObjectID, Vector3 pos)
diff --git a/bindings/cs/libsurvive.net/LibSurViveAPI.cs b/bindings/cs/libsurvive.net/LibSurViveAPI.cs
index 48336e8..aa2fdae 100644
--- a/bindings/cs/libsurvive.net/LibSurViveAPI.cs
+++ b/bindings/cs/libsurvive.net/LibSurViveAPI.cs
@@ -5,6 +5,7 @@ using System.Collections.Generic;
using libsurvive;
using System;
using System.Threading;
+using System.Runtime.InteropServices;
public class LibSurViveAPI
{
@@ -108,7 +109,7 @@ public class LibSurViveAPI
SetupConfigs configs = new SetupConfigs
{
- playbaskFile = "P:/c/libsurvive-data/lightcap-reformat/lightcap-reformat.log",
+ playbaskFile = @"C:\Users\justin\source\libsurvive-win-update\bindings\cs\Demo\lightcap-reformat.log",
configFile = "survive_conf.json",
playbackFactor = 1
};
@@ -320,8 +321,10 @@ public class SurviveObject
{
throw new Exception("Can't create SurviveObject with 0 pointer");
}
+ var ptr1 = cfunctions.Survive_object_pose(ptr);
+ pose = (SurvivePose)Marshal.PtrToStructure(ptr1, typeof(SurvivePose));
- //pose = cfunctions.Survive_object_pose(ptr);
+ //pose =
charge = cfunctions.Survive_object_charge(ptr);
charging = cfunctions.Survive_object_charging(ptr);
}
diff --git a/bindings/cs/libsurvive.net/cfunctions.cs b/bindings/cs/libsurvive.net/cfunctions.cs
index ab5f7fd..ce46d18 100644
--- a/bindings/cs/libsurvive.net/cfunctions.cs
+++ b/bindings/cs/libsurvive.net/cfunctions.cs
@@ -101,7 +101,7 @@ namespace libsurvive
public static extern bool Survive_object_charging(SurviveObjectPtr so);
[DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_object_pose")]
- public static extern SurvivePose Survive_object_pose(SurviveObjectPtr so);
+ public static extern IntPtr Survive_object_pose(SurviveObjectPtr so);
[DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_object_sensor_locations")]
diff --git a/include/libsurvive/survive.h b/include/libsurvive/survive.h
index 8a4183e..b829a52 100644
--- a/include/libsurvive/survive.h
+++ b/include/libsurvive/survive.h
@@ -122,8 +122,8 @@ struct SurviveObject {
SURVIVE_EXPORT const char *survive_object_codename(SurviveObject *so);
SURVIVE_EXPORT const char *survive_object_drivername(SurviveObject *so);
-SURVIVE_EXPORT const int8_t *survive_object_charge(SurviveObject *so);
-SURVIVE_EXPORT const bool *survive_object_charging(SurviveObject *so);
+SURVIVE_EXPORT const int8_t survive_object_charge(SurviveObject *so);
+SURVIVE_EXPORT const bool survive_object_charging(SurviveObject *so);
SURVIVE_EXPORT const SurvivePose *survive_object_pose(SurviveObject *so);
diff --git a/src/survive.c b/src/survive.c
index e4015de..f74de85 100644
--- a/src/survive.c
+++ b/src/survive.c
@@ -567,8 +567,8 @@ int survive_simple_inflate(struct SurviveContext *ctx, const char *input, int in
const char *survive_object_codename(SurviveObject *so) { return so->codename; }
const char *survive_object_drivername(SurviveObject *so) { return so->drivername; }
-const int8_t *survive_object_charge(SurviveObject *so) { return so->charge; }
-const bool *survive_object_charging(SurviveObject *so) { return so->charging; }
+const int8_t survive_object_charge(SurviveObject *so) { return so->charge; }
+const bool survive_object_charging(SurviveObject *so) { return so->charging; }
const SurvivePose *survive_object_pose(SurviveObject *so) { return &so->OutPose; }