I've just updated the jar with the beta posted above, but with no effect.
// Scale on parent
mc.getOriginRoom().setScale(scale);
// Scale inverted on billboards (which are children)
for (RoomObject3D ro3d: mc.getRooms()) {
ro3d.getBillBoardObject3D().setScale(bbscale);
You got my scaling right. Whatever I scale the parent, its children* is scaled with its reciprocal value (which worked fine before). This should leave the size of the billboards unchanged for the viewer.
Here are some numbers i use. scale is used on parent while bbscale on the billboards. What I get are bigger billboards (even on first setScale (for keeping the culumative out of the picture)).
scale=1.05, bbscale=0.952381, diff=1.0
scale=1.1024998, bbscale=0.90702957, diff=0.99999994
scale=1.1576248, bbscale=0.8638377, diff=1.0
scale=1.2155061, bbscale=0.82270265, diff=1.0000001
scale=1.2762814, bbscale=0.78352636, diff=1.0000001
scale=1.3400954, bbscale=0.74621564, diff=1.0000001
scale=1.4071001, bbscale=0.7106816, diff=1.0000001
*) Its childrens children actually.