aboutsummaryrefslogtreecommitdiff
path: root/include/libsurvive/poser.h
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-03-11 16:24:13 -0600
committerJustin Berger <j.david.berger@gmail.com>2018-03-12 09:53:17 -0600
commitee0fd0be34cd6715b704be534b7e97087905571f (patch)
treec651c71625a8dbecc0b8293a1701a648eb836984 /include/libsurvive/poser.h
parent12f864db460dc6318694ec9e6d65f7740ae85749 (diff)
downloadlibsurvive-ee0fd0be34cd6715b704be534b7e97087905571f.tar.gz
libsurvive-ee0fd0be34cd6715b704be534b7e97087905571f.tar.bz2
Redirected posers to used passed in callbacks
Diffstat (limited to 'include/libsurvive/poser.h')
-rw-r--r--include/libsurvive/poser.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/libsurvive/poser.h b/include/libsurvive/poser.h
index 7e05184..57a8599 100644
--- a/include/libsurvive/poser.h
+++ b/include/libsurvive/poser.h
@@ -17,11 +17,20 @@ typedef enum PoserType_t
POSERDATA_DISASSOCIATE, //If you get this, it doesn't contain data. It just tells you to please disassociate from the current SurviveObject and delete your poserdata.
} PoserType;
+typedef void (*poser_raw_pose_func)(SurviveObject *so, uint8_t lighthouse, FLT *pose, void *user);
+typedef void (*poser_lighthouse_pose_func)(SurviveObject *so, uint8_t lighthouse, SurvivePose *pose, void *user);
+
typedef struct
{
PoserType pt;
+ poser_raw_pose_func rawposeproc;
+ poser_lighthouse_pose_func lighthouseposeproc;
+ void *userdata;
} PoserData;
+void PoserData_poser_raw_pose_func(PoserData *poser_data, SurviveObject *so, uint8_t lighthouse, FLT *pose);
+void PoserData_lighthouse_pose_func(PoserData *poser_data, SurviveObject *so, uint8_t lighthouse, SurvivePose *pose);
+
typedef struct
{
PoserData hdr;