diff options
author | Justin Berger <j.david.berger@gmail.com> | 2018-04-03 15:11:12 -0600 |
---|---|---|
committer | Justin Berger <j.david.berger@gmail.com> | 2018-04-03 17:01:14 -0600 |
commit | 18b20af7195b94889924156de2b4aa704b2c7391 (patch) | |
tree | 0eb3e3ab817341595167a949f67d5c0ba1dd879f /src/poser.c | |
parent | d3d159772f1684082d7a545fbb3028d98d803308 (diff) | |
download | libsurvive-18b20af7195b94889924156de2b4aa704b2c7391.tar.gz libsurvive-18b20af7195b94889924156de2b4aa704b2c7391.tar.bz2 |
Refactor pose function to get timecode and not lh
Diffstat (limited to 'src/poser.c')
-rw-r--r-- | src/poser.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/poser.c b/src/poser.c index 9a0de24..20334f7 100644 --- a/src/poser.c +++ b/src/poser.c @@ -7,11 +7,29 @@ #define _USE_MATH_DEFINES // for C #include <math.h> -void PoserData_poser_raw_pose_func(PoserData *poser_data, SurviveObject *so, uint8_t lighthouse, SurvivePose *pose) { - if (poser_data->rawposeproc) { - poser_data->rawposeproc(so, lighthouse, pose, poser_data->userdata); +static uint32_t PoserData_timecode(PoserData *poser_data) { + switch (poser_data->pt) { + case POSERDATA_LIGHT: { + PoserDataLight *lightData = (PoserDataLight *)poser_data; + return lightData->timecode; + } + case POSERDATA_FULL_SCENE: { + PoserDataFullScene* pdfs = (PoserDataFullScene *)(poser_data); + return -1; + } + case POSERDATA_IMU: { + PoserDataIMU *imuData = (PoserDataIMU *)poser_data; + return imuData->timecode; + } + } + return -1; +} + +void PoserData_poser_pose_func(PoserData *poser_data, SurviveObject *so, SurvivePose *pose) { + if (poser_data->poseproc) { + poser_data->poseproc(so, PoserData_timecode(poser_data), pose, poser_data->userdata); } else { - so->ctx->rawposeproc(so, lighthouse, pose); + so->ctx->poseproc(so, PoserData_timecode(poser_data), pose); } } |