Lemur 1.14, Zay-ES-Net 1.4.3, and SiO2 1.5 releases are up

Published to bintray and released on github. Going to update the web javadocs next.

Lemur 1.14 updates:

  • Added a default getId() implementation to BaseAppState so that it is compatible with the AppState interface in JME 3.3+.
  • Updated the style layer to clone cloneable values before applyting them to style targets. It will also deep clone lists and maps if necessary to allow for cloning child values. (Especially important for clonable action handlers in action maps.)
  • Fixed an NPE related to calling PasswordField.setOutputChar(null). Thanks, syluna.
  • Fixed GuiGlobals to add the LayerComparator to the Translucent bucket.
  • Modified GuiGlobals to support JME’s headless mode for writing Lemur-using command line tools.
  • Modified InputMapper to check for null listeners in the add/remove listener methods. Throws IllegalArgumentException if null.
  • Added Texture-based constructor to IconComponent;
  • Added IconComponent.setMargin(Vector2f)
  • Added QuadBackgroundComponent.setMargin(Vector2f)
  • Added TbtQuadBackgroundComponent…setMargin(Vector2f)

Zay-ES-Net bug fix:

  • Fixed an NPE in RemoteEntityData (presumably) when an entity set has been
    closed while messages from the server are still pending.

SiO2 1.4 and 1.5 updates:

  • Fixed a an issue where EntityContainer.stop() wasn’t clearing the internal entity set reference causing other issues if operations were performed on the container after stop.
  • Refactored GameLoop to allow setting a custom loop sleep strategy.
  • Added a NanoLoopSleepStrategy that uses LockSupport.parkNanos() to sleep and may perform better on some OSes.
  • Added a standard MovementState with default mappings for mouse, keyboard, and joystick and a default wiring to the standard JME camera. The movement target is configurable.
  • Added an initialize and terminate methods to MovementTarget for the MovementState to call when the target is set.
  • Added an AbstractMovementTarget class to shield subclasses from future interface changes.

Note: I did miss some things in the 1.4.0 release of SiO2 so best to jump straight to 1.5.0.

Hopefully I did them all correctly.

13 Likes

Great! Time for me to upgrade Horsepower Racing’s gradle build to use the new Lemur.

I’m still having issues building SiO2 from source using Gradle. I believe they’re related to configuration.compile.transitive which is set to false in 2 places.

Also, please update the JME version strings to “3.3.2-stable” in all Gradle scripts.

Why? Gradle will use whatever newer JME you specify. The library indicates the minimum JME that it supports.

Hmmm… I build it from source all the time.

Easier to help with errors if I know what they are, though.

1 Like

Here are the build errors:

sgold:~/Git/ext/July/SiO2$ ./gradlew build
bash: ./gradlew: Permission denied
sgold:~/Git/ext/July/SiO2$ chmod 755 gradlew
sgold:~/Git/ext/July/SiO2$ ./gradlew build
:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
:processResources UP-TO-DATE
:classes
:jar
:javadoc
:javadocJar
:sourcesJar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build
:demos:assemble UP-TO-DATE
:demos:check UP-TO-DATE
:demos:build UP-TO-DATE
:extensions:sio2-bullet:compileJava
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:43: error: package com.jme3.math does not exist
import com.jme3.math.Quaternion;
                    ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:44: error: package com.jme3.math does not exist
import com.jme3.math.Vector3f;
                    ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:53: error: cannot access Savable
public class EntityRigidBody extends PhysicsRigidBody 
       ^
  class file for com.jme3.export.Savable not found
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:59: error: cannot find symbol
    private Vector3f lastVelocity = new Vector3f();
            ^
  symbol:   class Vector3f
  location: class EntityRigidBody
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:102: error: cannot find symbol
    public Vector3f getPhysicsLocation( Vector3f trans ) {
                                        ^
  symbol:   class Vector3f
  location: class EntityRigidBody
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:102: error: cannot find symbol
    public Vector3f getPhysicsLocation( Vector3f trans ) {
           ^
  symbol:   class Vector3f
  location: class EntityRigidBody
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:107: error: cannot find symbol
    public Quaternion getPhysicsRotation( Quaternion rot ) {
                                          ^
  symbol:   class Quaternion
  location: class EntityRigidBody
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:107: error: cannot find symbol
    public Quaternion getPhysicsRotation( Quaternion rot ) {
           ^
  symbol:   class Quaternion
  location: class EntityRigidBody
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityRigidBody.java:118: error: cannot find symbol
    public Vector3f getLastVelocity() {
           ^
  symbol:   class Vector3f
  location: class EntityRigidBody
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityPhysicsObject.java:62: error: cannot find symbol
    public Vector3f getPhysicsLocation( Vector3f trans );
                                        ^
  symbol:   class Vector3f
  location: interface EntityPhysicsObject<T>
  where T is a type-variable:
    T extends PhysicsCollisionObject declared in interface EntityPhysicsObject
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityPhysicsObject.java:62: error: cannot find symbol
    public Vector3f getPhysicsLocation( Vector3f trans );
           ^
  symbol:   class Vector3f
  location: interface EntityPhysicsObject<T>
  where T is a type-variable:
    T extends PhysicsCollisionObject declared in interface EntityPhysicsObject
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityPhysicsObject.java:64: error: cannot find symbol
    public Quaternion getPhysicsRotation( Quaternion rot );
                                          ^
  symbol:   class Quaternion
  location: interface EntityPhysicsObject<T>
  where T is a type-variable:
    T extends PhysicsCollisionObject declared in interface EntityPhysicsObject
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityPhysicsObject.java:64: error: cannot find symbol
    public Quaternion getPhysicsRotation( Quaternion rot );
           ^
  symbol:   class Quaternion
  location: interface EntityPhysicsObject<T>
  where T is a type-variable:
    T extends PhysicsCollisionObject declared in interface EntityPhysicsObject
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:43: error: package com.jme3.app does not exist
import com.jme3.app.Application;
                   ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:44: error: package com.jme3.app does not exist
import com.jme3.app.SimpleApplication;
                   ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:45: error: package com.jme3.app.state does not exist
import com.jme3.app.state.BaseAppState;
                         ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:48: error: package com.jme3.material does not exist
import com.jme3.material.Material;
                        ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:49: error: package com.jme3.material.RenderState does not exist
import com.jme3.material.RenderState.BlendMode;
                                    ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:50: error: package com.jme3.math does not exist
import com.jme3.math.*;
^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:51: error: package com.jme3.renderer.queue.RenderQueue does not exist
import com.jme3.renderer.queue.RenderQueue.Bucket;
                                          ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:52: error: package com.jme3.scene does not exist
import com.jme3.scene.*;
^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:53: error: package com.jme3.scene.shape does not exist
import com.jme3.scene.shape.Box;
                           ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:54: error: package com.jme3.scene.debug does not exist
import com.jme3.scene.debug.Arrow;
                           ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:55: error: package com.jme3.util does not exist
import com.jme3.util.SafeArrayList;
                    ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:58: error: package com.simsilica.lemur does not exist
import com.simsilica.lemur.GuiGlobals;
                          ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:73: error: cannot find symbol
public class PhysicsDebugState extends BaseAppState {
                                       ^
  symbol: class BaseAppState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:81: error: cannot find symbol
    private Map<CollisionShape, Spatial> debugShapeCache = new HashMap<>();    
                                ^
  symbol:   class Spatial
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:83: error: cannot find symbol
    private Node debugRoot;   
            ^
  symbol:   class Node
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:86: error: cannot find symbol
    private ColorRGBA inactiveColor = new ColorRGBA(0, 0, 1, 0.5f);
            ^
  symbol:   class ColorRGBA
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:87: error: cannot find symbol
    private Material inactive;
            ^
  symbol:   class Material
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:89: error: cannot find symbol
    private ColorRGBA activeColor = new ColorRGBA(1, 1, 0, 0.5f);
            ^
  symbol:   class ColorRGBA
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:90: error: cannot find symbol
    private Material active;
            ^
  symbol:   class Material
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:92: error: cannot find symbol
    private ColorRGBA kinematicColor = new ColorRGBA(0.5f, 0.5f, 0.5f, 0.5f);
            ^
  symbol:   class ColorRGBA
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:93: error: cannot find symbol
    private Material kinematic;
            ^
  symbol:   class Material
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:95: error: cannot find symbol
    private ColorRGBA ghostColor = new ColorRGBA(0.1f, 0.5f, 0.5f, 0.25f);
            ^
  symbol:   class ColorRGBA
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:96: error: cannot find symbol
    private Material ghost;
            ^
  symbol:   class Material
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:98: error: cannot find symbol
    private SafeArrayList<BodyDebugView> views = new SafeArrayList<>(BodyDebugView.class);
            ^
  symbol:   class SafeArrayList
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:134: error: cannot find symbol
    protected void initialize( Application app ) {
                               ^
  symbol:   class Application
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:161: error: cannot find symbol
    protected void cleanup( Application app ) {
                            ^
  symbol:   class Application
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:205: error: cannot find symbol
    private Spatial getDebugShape( EntityId id, CollisionShape shape, boolean create ) {
            ^
  symbol:   class Spatial
  location: class PhysicsDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PositionAdapter.java:55: error: cannot find symbol
    public Vector3f getLocation( Entity e, int status );
           ^
  symbol:   class Vector3f
  location: interface PositionAdapter
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PositionAdapter.java:56: error: cannot find symbol
    public Quaternion getOrientation( Entity e, int status ); 
           ^
  symbol:   class Quaternion
  location: interface PositionAdapter
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/PhysicsDebugState.java:232: error: cannot find symbol
        private Spatial spatial;
                ^
  symbol:   class Spatial
  location: class PhysicsDebugState.BodyDebugView
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:43: error: package com.jme3.app does not exist
import com.jme3.app.Application;
                   ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:44: error: package com.jme3.app does not exist
import com.jme3.app.SimpleApplication;
                   ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:45: error: package com.jme3.app.state does not exist
import com.jme3.app.state.BaseAppState;
                         ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:48: error: package com.jme3.material does not exist
import com.jme3.material.Material;
                        ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:49: error: package com.jme3.material does not exist
import com.jme3.material.MatParamOverride;
                        ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:50: error: package com.jme3.math does not exist
import com.jme3.math.ColorRGBA;
                    ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:52: error: package com.jme3.renderer.queue.RenderQueue does not exist
import com.jme3.renderer.queue.RenderQueue.Bucket;
                                          ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:53: error: package com.jme3.scene does not exist
import com.jme3.scene.*;
^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:54: error: package com.jme3.scene.shape does not exist
import com.jme3.scene.shape.Box;
                           ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:55: error: package com.jme3.scene.debug does not exist
import com.jme3.scene.debug.Arrow;
                           ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:56: error: package com.jme3.shader does not exist
import com.jme3.shader.VarType;
                      ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:59: error: package com.simsilica.lemur does not exist
import com.simsilica.lemur.GuiGlobals;
                          ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:68: error: cannot find symbol
public class ContactDebugState extends BaseAppState {
                                       ^
  symbol: class BaseAppState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:74: error: cannot find symbol
    private Node debugRoot;   
            ^
  symbol:   class Node
  location: class ContactDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:41: error: package com.jme3.math does not exist
import com.jme3.math.*;
^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:165: error: cannot find symbol
    private class ContactView extends Node {
                                      ^
  symbol:   class Node
  location: class ContactDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:79: error: cannot find symbol
    private Material contactMaterial;    
            ^
  symbol:   class Material
  location: class ContactDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:91: error: cannot find symbol
    protected void initialize( Application app ) {
                               ^
  symbol:   class Application
  location: class ContactDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:102: error: cannot find symbol
    protected void cleanup( Application app ) {
                            ^
  symbol:   class Application
  location: class ContactDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:151: error: cannot find symbol
    protected ColorRGBA getContactColor( Contact c ) {
              ^
  symbol:   class ColorRGBA
  location: class ContactDebugState
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:61: error: cannot find symbol
    private Vector3f location;   
            ^
  symbol:   class Vector3f
  location: class Contact
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:62: error: cannot find symbol
    private Vector3f normal;
            ^
  symbol:   class Vector3f
  location: class Contact
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:69: error: cannot find symbol
                    Vector3f location, Vector3f normal, float energy ) {
                    ^
  symbol:   class Vector3f
  location: class Contact
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:69: error: cannot find symbol
                    Vector3f location, Vector3f normal, float energy ) {
                                       ^
  symbol:   class Vector3f
  location: class Contact
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:80: error: cannot find symbol
                                  Vector3f wp, Vector3f normal, float energy ) {
                                  ^
  symbol:   class Vector3f
  location: class Contact
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:80: error: cannot find symbol
                                  Vector3f wp, Vector3f normal, float energy ) {
                                               ^
  symbol:   class Vector3f
  location: class Contact
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:118: error: cannot find symbol
    public Vector3f getLocation() {
           ^
  symbol:   class Vector3f
  location: class Contact
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Contact.java:122: error: cannot find symbol
    public Vector3f getNormal() {
           ^
  symbol:   class Vector3f
  location: class Contact
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:167: error: cannot find symbol
        private Geometry arrowGeom;
                ^
  symbol:   class Geometry
  location: class ContactDebugState.ContactView
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:168: error: cannot find symbol
        private Arrow arrow;
                ^
  symbol:   class Arrow
  location: class ContactDebugState.ContactView
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/debug/ContactDebugState.java:169: error: cannot find symbol
        private MatParamOverride arrowColor = new MatParamOverride(VarType.Vector4, "Color", ColorRGBA.Red);
                ^
  symbol:   class MatParamOverride
  location: class ContactDebugState.ContactView
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:43: error: package com.jme3.math does not exist
import com.jme3.math.*;
^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:55: error: cannot find symbol
    private Vector3f location;
            ^
  symbol:   class Vector3f
  location: class SpawnPosition
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:56: error: cannot find symbol
    private Quaternion orientation;
            ^
  symbol:   class Quaternion
  location: class SpawnPosition
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:69: error: cannot find symbol
    public SpawnPosition( Vector3f location ) {
                          ^
  symbol:   class Vector3f
  location: class SpawnPosition
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:81: error: cannot find symbol
    public SpawnPosition( Vector3f location, double facing ) {
                          ^
  symbol:   class Vector3f
  location: class SpawnPosition
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:85: error: cannot find symbol
    public SpawnPosition( Vector3f location, Quaternion orientation ) {
                          ^
  symbol:   class Vector3f
  location: class SpawnPosition
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:85: error: cannot find symbol
    public SpawnPosition( Vector3f location, Quaternion orientation ) {
                                             ^
  symbol:   class Quaternion
  location: class SpawnPosition
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:90: error: cannot find symbol
    public Vector3f getLocation() {
           ^
  symbol:   class Vector3f
  location: class SpawnPosition
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/SpawnPosition.java:94: error: cannot find symbol
    public Quaternion getOrientation() {
           ^
  symbol:   class Quaternion
  location: class SpawnPosition
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Impulse.java:51: error: cannot find symbol
    private Vector3f linear;
            ^
  symbol:   class Vector3f
  location: class Impulse
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Impulse.java:52: error: cannot find symbol
    private Vector3f angular;
            ^
  symbol:   class Vector3f
  location: class Impulse
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Impulse.java:61: error: cannot find symbol
    public Impulse( Vector3f linear ) {
                    ^
  symbol:   class Vector3f
  location: class Impulse
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Impulse.java:65: error: cannot find symbol
    public Impulse( Vector3f linear, Vector3f angular ) {
                    ^
  symbol:   class Vector3f
  location: class Impulse
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Impulse.java:65: error: cannot find symbol
    public Impulse( Vector3f linear, Vector3f angular ) {
                                     ^
  symbol:   class Vector3f
  location: class Impulse
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Impulse.java:70: error: cannot find symbol
    public Vector3f getLinearVelocity() {
           ^
  symbol:   class Vector3f
  location: class Impulse
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/Impulse.java:74: error: cannot find symbol
    public Vector3f getAngularVelocity() {
           ^
  symbol:   class Vector3f
  location: class Impulse
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/DefaultContactPublisher.java:40: error: package com.jme3.math does not exist
import com.jme3.math.*;
^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/BulletSystem.java:50: error: package com.jme3.math does not exist
import com.jme3.math.*;
^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/BulletSystem.java:51: error: package com.jme3.util does not exist
import com.jme3.util.SafeArrayList;
                    ^
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/BulletSystem.java:76: error: cannot find symbol
    private Vector3f worldMin = new Vector3f(-10000f, -10000f, -10000f);
            ^
  symbol:   class Vector3f
  location: class BulletSystem
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/BulletSystem.java:77: error: cannot find symbol
    private Vector3f worldMax = new Vector3f(10000f, 10000f, 10000f);
            ^
  symbol:   class Vector3f
  location: class BulletSystem
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/BulletSystem.java:86: error: cannot find symbol
    private SafeArrayList<EntityPhysicsObject> mobs = new SafeArrayList<>(EntityPhysicsObject.class);
            ^
  symbol:   class SafeArrayList
  location: class BulletSystem
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/BulletSystem.java:89: error: cannot find symbol
    private SafeArrayList<EntityRigidBody> driverBodies = new SafeArrayList<>(EntityRigidBody.class); 
            ^
  symbol:   class SafeArrayList
  location: class BulletSystem
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/BulletSystem.java:91: error: cannot find symbol
    private SafeArrayList<PhysicsObjectListener> objectListeners = new SafeArrayList<>(PhysicsObjectListener.class); 
            ^
  symbol:   class SafeArrayList
  location: class BulletSystem
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/BulletSystem.java:93: error: cannot find symbol
    private SafeArrayList<EntityCollisionListener> collisionListeners = new SafeArrayList<>(EntityCollisionListener.class);
            ^
  symbol:   class SafeArrayList
  location: class BulletSystem
/home/sgold/Git/ext/July/SiO2/extensions/bullet/src/main/java/com/simsilica/bullet/EntityGhostObject.java:61: error: cannot find symbol
    private Vector3f vTemp;
            ^
  symbol:   class Vector3f
  location: class EntityGhostObject
:extensions:sio2-bullet:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':extensions:sio2-bullet:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 10.898 secs
sgold:~/Git/ext/July/SiO2$

I forgot that project even had a gradle wrapper. It failed for me to so I updated it… now it should work.

1 Like

That helped a lot. Thanks, Paul!

PS: If you also made the wrapper executable, that would save a step in the build process.

PPS: Now when I try to run the sio2-bullet-char demo, I get a NoClassDefFoundError:

sgold:~/Git/July/SiO2$ ./gradlew clean

BUILD SUCCESSFUL in 0s
5 actionable tasks: 4 executed, 1 up-to-date
sgold:~/Git/July/SiO2$ ./gradlew :demos:sio2-bullet-char-demo:run

> Task :compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7

> Task :extensions:sio2-bullet:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :demos:sio2-bullet-char-demo:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :demos:sio2-bullet-char-demo:run

(java:6536): GLib-GObject-WARNING **: 16:58:57.673: invalid cast from 'GtkToplevelAccessible' to 'JawToplevel'
Jul 04, 2020 4:59:00 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.3.0-SNAPSHOT
 * Branch: master
 * Git Hash: cdcf051
 * Build Date: 2019-12-30

(java:6536): GLib-GObject-WARNING **: 16:59:00.948: invalid cast from 'GtkToplevelAccessible' to 'JawToplevel'
Jul 04, 2020 4:59:01 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: LWJGL 2.9.3 context running on thread jME3 Main
 * Graphics Adapter: null
 * Driver Version: null
 * Scaling Factor: 1
Jul 04, 2020 4:59:01 PM com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
INFO: OpenGL Renderer Information
 * Vendor: NVIDIA Corporation
 * Renderer: GeForce GT 545/PCIe/SSE2
 * OpenGL Version: 4.6.0 NVIDIA 390.138
 * GLSL Version: 4.60 NVIDIA
 * Profile: Compatibility
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.ogre.MeshLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.ogre.SkeletonLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.ogre.MaterialLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.ogre.SceneLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.blender.BlenderModelLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.fbx.FbxLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.gltf.GltfLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.gltf.BinLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.gltf.GlbLoader
Jul 04, 2020 4:59:01 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.audio.plugins.OGGLoader
Jul 04, 2020 4:59:01 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio Renderer Information
 * Device: OpenAL Soft
 * Vendor: OpenAL Community
 * Renderer: OpenAL Soft
 * Version: 1.1 ALSOFT 1.15.1
 * Supported channels: 64
 * ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_loopback
 * AL extensions: AL_EXT_ALAW AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFTX_deferred_updates AL_SOFT_direct_channels AL_SOFT_loop_points AL_SOFT_source_latency
Jul 04, 2020 4:59:01 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
WARNING: Pausing audio device not supported.
Jul 04, 2020 4:59:01 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio effect extension version: 1.0
Jul 04, 2020 4:59:01 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFO: Audio max auxiliary sends: 4
INFO  [GuiGlobals  ] Initializing GuiGlobals with:com.simsilica.lemur.GuiGlobals@41073ed7
INFO  [GuiGlobals  ] Lemur build date:20190214
INFO  [BaseStyles  ] loadStyleResource(com/simsilica/lemur/style/base/glass-styles.groovy)
   INFO  [BaseStyles  ] Loading base resource:jar:file:/home/sgold/.gradle/caches/modules-2/files-2.1/com.simsilica/lemur-proto/1.10.0/f87da8c1cdd2c110373174902feec20c7cbe86ad/lemur-proto-1.10.0.jar!/com/simsilica/lemur/style/base/glass-styles.groovy
   INFO  [BaseStyles  ] Loading extension resources for:com/simsilica/lemur/style/base/glass-styles.groovyING [6s]
INFO  [BaseStyles  ] Loading extension resource:jar:file:/home/sgold/.gradle/caches/modules-2/files-2.1/com.simsilica/lemur-props/1.1.0/ed67bff45232e88a9dd3d14e98b90a5339297d00/lemur-props-1.1.0.jar!/com/simsilica/lemur/style/base/glass-styles.groovy
   INFO  [BaseStyles  ] Loading extension resource:jar:file:/home/sgold/.gradle/caches/modules-2/files-2.1/com.simsilica/lemur/1.12.0/6a4681ed63d9a9fa914a820a60728057cec9f16b/lemur-1.12.0.jar!/com/simsilica/lemur/style/base/glass-styles.groovy
   Jul 04, 2020 4:59:02 PM com.jme3.app.LegacyApplication handleError
SEVERE: Uncaught exception thrown in Thread[jME3 Main,5,main]
java.lang.NoClassDefFoundError: com/bulletphysics/collision/shapes/CollisionShape
        at com.simsilica.demo.bullet.Main.setupGameSystems(Main.java:199)
        at com.simsilica.demo.bullet.Main.simpleInitApp(Main.java:446)
        at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:239)
        at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:130)
        at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:211)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.bulletphysics.collision.shapes.CollisionShape
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 6 more


(java:6536): GLib-GObject-WARNING **: 16:59:02.520: invalid cast from 'GtkToplevelAccessible' to 'JawToplevel'

Perhaps the demo shouldn’t depend on jme3-*-3.3.0-SNAPSHOT.jar ?

It’s because locally I copy the jbullet.jar and stack-alloc.jars into the demo’s lib directory since JME’s usage of jbullet is all kinds of messed up right now.

I’ve just checked in the binaries for those jars so the demo should run “out of the box”.

I’ve never looked into setting executable flags in GIT before and windows has no such concept… but I’ll look into it at some point. (I actually use SVN for the checkout of a lot of these repos because I still can’t stand GIT even after using it daily for 5+ years now.)

2 Likes

Okay, I finally ran the char demo with jme3-jbullet. Cool demo!

It’s fairly easy to set the Git execute flag in a Linux environment. Something like this should work:

sgold:~/Git/July/SiO2$ chmod +x gradlew
sgold:~/Git/July/SiO2$ git add gradlew
sgold:~/Git/July/SiO2$ git commit -m 'execute permission'
[master 1892aa8] execute permission
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 gradlew
sgold:~/Git/July/SiO2$