M_Circle3 M_CircleRead3(AG_DataSource *ds) { M_Circle3 C; C.p = M_ReadVector3(ds); C.r = M_ReadReal(ds); return (C); }
M_Circle2 M_CircleRead2(AG_DataSource *ds) { M_Circle2 C; C.p = M_ReadVector2(ds); C.r = M_ReadReal(ds); return (C); }
M_Line3 M_LineRead3(AG_DataSource *ds) { M_Line3 L; L.p = M_ReadVector3(ds); L.d = M_ReadVector3(ds); L.t = M_ReadReal(ds); return (L); }
M_Line2 M_LineRead2(AG_DataSource *ds) { M_Line2 L; L.p = M_ReadVector2(ds); L.d = M_ReadVector2(ds); L.t = M_ReadReal(ds); return (L); }
M_Vector * M_ReadVector_FPU(AG_DataSource *buf) { M_Vector *v; Uint i, n; n = (Uint)AG_ReadUint32(buf); v = M_VecNew(n); for (i = 0; i < n; i++) { v->v[i] = M_ReadReal(buf); } return (v); }