thanks guenter, it worked. if anybody wants to know what i had to do, i had to create t_outlet pointers in my pd dataspace, and then do this in my constructor instead of just having multiple outlet_new statements with no specific return target :
x->p = outlet_new(&x->x_obj, gensym("float"));
and then in my perform function, instead of something like this:
outlet_float(x->x_obj.ob_outlet, x->yawout);
... i have this now:
outlet_float(x->p, x->pitchout);