Galactic Search Path Fetcher Loading and Executing Splines

Change-Id: Icdc3d76d269d8a1545dbd80b965f2a67fa9cb358
diff --git a/y2020/actors/auto_splines.h b/y2020/actors/auto_splines.h
index 5ea1748..4690fb8 100644
--- a/y2020/actors/auto_splines.h
+++ b/y2020/actors/auto_splines.h
@@ -20,7 +20,15 @@
  public:
   AutonomousSplines()
       : test_spline_(aos::JsonFileToFlatbuffer<frc971::MultiSpline>(
-            "splines/test_spline.json")) {}
+            "splines/test_spline.json")),
+        spline_red_a_(aos::JsonFileToFlatbuffer<frc971::MultiSpline>(
+            "splines/spline_red_a.json")),
+        spline_blue_a_(aos::JsonFileToFlatbuffer<frc971::MultiSpline>(
+            "splines/spline_blue_a.json")),
+        spline_red_b_(aos::JsonFileToFlatbuffer<frc971::MultiSpline>(
+            "splines/spline_red_b.json")),
+        spline_blue_b_(aos::JsonFileToFlatbuffer<frc971::MultiSpline>(
+            "splines/spline_blue_b.json")) {}
 
   static flatbuffers::Offset<frc971::MultiSpline> BasicSSpline(
       aos::Sender<frc971::control_loops::drivetrain::Goal>::Builder *builder,
@@ -33,9 +41,33 @@
     return aos::CopyFlatBuffer<frc971::MultiSpline>(test_spline_,
                                                     builder->fbb());
   }
+  flatbuffers::Offset<frc971::MultiSpline> SplineRedA(
+      aos::Sender<frc971::control_loops::drivetrain::Goal>::Builder *builder) {
+    return aos::CopyFlatBuffer<frc971::MultiSpline>(spline_red_a_,
+                                                    builder->fbb());
+  }
+  flatbuffers::Offset<frc971::MultiSpline> SplineBlueA(
+      aos::Sender<frc971::control_loops::drivetrain::Goal>::Builder *builder) {
+    return aos::CopyFlatBuffer<frc971::MultiSpline>(spline_blue_a_,
+                                                    builder->fbb());
+  }
+  flatbuffers::Offset<frc971::MultiSpline> SplineRedB(
+      aos::Sender<frc971::control_loops::drivetrain::Goal>::Builder *builder) {
+    return aos::CopyFlatBuffer<frc971::MultiSpline>(spline_red_b_,
+                                                    builder->fbb());
+  }
+  flatbuffers::Offset<frc971::MultiSpline> SplineBlueB(
+      aos::Sender<frc971::control_loops::drivetrain::Goal>::Builder *builder) {
+    return aos::CopyFlatBuffer<frc971::MultiSpline>(spline_blue_b_,
+                                                    builder->fbb());
+  }
 
  private:
   aos::FlatbufferDetachedBuffer<frc971::MultiSpline> test_spline_;
+  aos::FlatbufferDetachedBuffer<frc971::MultiSpline> spline_red_a_;
+  aos::FlatbufferDetachedBuffer<frc971::MultiSpline> spline_blue_a_;
+  aos::FlatbufferDetachedBuffer<frc971::MultiSpline> spline_red_b_;
+  aos::FlatbufferDetachedBuffer<frc971::MultiSpline> spline_blue_b_;
 };
 
 }  // namespace actors