aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/poser.c3
-rw-r--r--src/poser_sba.c9
2 files changed, 9 insertions, 3 deletions
diff --git a/src/poser.c b/src/poser.c
index 7dcdc33..ea5812e 100644
--- a/src/poser.c
+++ b/src/poser.c
@@ -21,7 +21,8 @@ void PoserData_lighthouse_pose_func(PoserData *poser_data, SurviveObject *so, ui
if (quatmagnitude(lighthouse_pose->Rot) == 0) {
SurviveContext *ctx = so->ctx;
- SV_ERROR("Pose func called with invalid pose.");
+ SV_INFO("Pose func called with invalid pose.");
+ return;
}
// Assume that the space solved for is valid but completely arbitrary. We are going to do a few things:
diff --git a/src/poser_sba.c b/src/poser_sba.c
index 226f387..82fbd56 100644
--- a/src/poser_sba.c
+++ b/src/poser_sba.c
@@ -439,8 +439,13 @@ static double run_sba(survive_calibration_config options, PoserDataFullScene *pd
if (status >= 0) {
SurvivePose additionalTx = {};
- PoserData_lighthouse_pose_func(&pdfs->hdr, so, 0, &additionalTx, &sbactx.camera_params[0], &sbactx.obj_pose);
- PoserData_lighthouse_pose_func(&pdfs->hdr, so, 1, &additionalTx, &sbactx.camera_params[1], &sbactx.obj_pose);
+ for (int i = 0; i < NUM_LIGHTHOUSES; i++) {
+ if (quatmagnitude(sbactx.camera_params[i].Rot) != 0) {
+ PoserData_lighthouse_pose_func(&pdfs->hdr, so, i, &additionalTx, &sbactx.camera_params[i],
+ &sbactx.obj_pose);
+ }
+ }
+
} else {
SurviveContext *ctx = so->ctx;
SV_INFO("SBA was unable to run %d", status);