Draw.xz.SolidCircle is not a replacement for Draw.SolidCircleXZ

Draw.SolidCircleXZ’s obsoletion message says it should be replaced with Draw.xz.SolidCircle, but the two functions aren’t equivalent. Specifically, the float3 version of Draw.xz.SolidCircle swizzles the components of the center param:

public void SolidCircle (float3 center, float radius, float startAngle, float endAngle, Color color) {
	draw.PushColor(color);
	if (xy) draw.PushMatrix(XZ_TO_XY_MATRIX);
	draw.SolidCircleXZInternal(new float3(center.x, -center.z, center.y), radius, startAngle, endAngle);
	if (xy) draw.PopMatrix();
	draw.PopColor();
}

Is this a bug in SolidCircle (maybe that swizzling should only occur for xy circles?), or am I misunderstanding something about how it should be used?

Hi

You are right, that behavior was definitely buggy.
I’ll include a fix in the next update.

1 Like