diff --git a/jme3-core/src/main/java/com/jme3/effect/shapes/EmitterSphereShape.java b/jme3-core/src/main/java/com/jme3/effect/shapes/EmitterSphereShape.java index 99d76205d4..a74eeaf39e 100644 --- a/jme3-core/src/main/java/com/jme3/effect/shapes/EmitterSphereShape.java +++ b/jme3-core/src/main/java/com/jme3/effect/shapes/EmitterSphereShape.java @@ -96,10 +96,12 @@ public void cloneFields( Cloner cloner, Object original ) { @Override public void getRandomPoint(Vector3f store) { do { - store.x = (FastMath.nextRandomFloat() * 2f - 1f) * radius; - store.y = (FastMath.nextRandomFloat() * 2f - 1f) * radius; - store.z = (FastMath.nextRandomFloat() * 2f - 1f) * radius; - } while (store.distance(center) > radius); + store.x = (FastMath.nextRandomFloat() * 2f - 1f); + store.y = (FastMath.nextRandomFloat() * 2f - 1f); + store.z = (FastMath.nextRandomFloat() * 2f - 1f); + } while (store.lengthSquared() > 1); + store.multLocal(radius); + store.addLocal(center); } @Override diff --git a/jme3-plugins/src/xml/java/com/jme3/export/xml/DOMInputCapsule.java b/jme3-plugins/src/xml/java/com/jme3/export/xml/DOMInputCapsule.java index a8ba4f7aab..6b0eb39b75 100644 --- a/jme3-plugins/src/xml/java/com/jme3/export/xml/DOMInputCapsule.java +++ b/jme3-plugins/src/xml/java/com/jme3/export/xml/DOMInputCapsule.java @@ -974,14 +974,13 @@ private Savable readSavableFromCurrentElem(Savable defVal) throws ret = referencedSavables.get(reference); } else { String className = currentElem.getNodeName(); - if (defVal != null) { - className = defVal.getClass().getName(); - } else if (currentElem.hasAttribute("class")) { + if (currentElem.hasAttribute("class")) { className = currentElem.getAttribute("class"); + } else if (defVal != null) { + className = defVal.getClass().getName(); } tmp = SavableClassUtil.fromName(className, null); - String versionsStr = currentElem.getAttribute("savable_versions"); if (versionsStr != null && !versionsStr.equals("")){ String[] versionStr = versionsStr.split(","); @@ -1508,4 +1507,4 @@ protected String[] parseTokens(String inString) { ? zeroStrings : outStrings; } -} \ No newline at end of file +}