OSDN Git Service

Swig generated files
authorXoppa <contact@xoppa.nl>
Wed, 20 Mar 2013 17:32:36 +0000 (18:32 +0100)
committerXoppa <contact@xoppa.nl>
Wed, 20 Mar 2013 17:32:36 +0000 (18:32 +0100)
16 files changed:
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/BaseContactAddedListener.java [deleted file]
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/BaseContactProcessedListener.java [deleted file]
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ContactAddedListenerByObject.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ContactAddedListenerByValue.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ContactAddedListenerByWrapper.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ContactDestroyedListener.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ContactProcessedListenerByObject.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/ContactProcessedListenerByValue.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/GdxCollisionObjectBridge.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/SWIGTYPE_p_BaseContactAddedListener.java [new file with mode: 0644]
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/SWIGTYPE_p_BaseContactProcessedListener.java [new file with mode: 0644]
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/btCollisionObject.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/gdxBullet.java
extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/gdxBulletJNI.java
extensions/gdx-bullet/jni/swig-src/gdxBullet_wrap.cpp
extensions/gdx-bullet/jni/swig-src/gdxBullet_wrap.h

diff --git a/extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/BaseContactAddedListener.java b/extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/BaseContactAddedListener.java
deleted file mode 100644 (file)
index e612242..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 2.0.9
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-package com.badlogic.gdx.physics.bullet;
-
-import com.badlogic.gdx.math.Vector3;
-import com.badlogic.gdx.math.Quaternion;
-import com.badlogic.gdx.math.Matrix3;
-import com.badlogic.gdx.math.Matrix4;
-
-public class BaseContactAddedListener {
-  private long swigCPtr;
-  protected boolean swigCMemOwn;
-
-  protected BaseContactAddedListener(long cPtr, boolean cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = cPtr;
-  }
-
-  public static long getCPtr(BaseContactAddedListener obj) {
-    return (obj == null) ? 0 : obj.swigCPtr;
-  }
-
-  protected void finalize() {
-    delete();
-  }
-
-  public synchronized void delete() {
-    if (swigCPtr != 0) {
-      if (swigCMemOwn) {
-        swigCMemOwn = false;
-        gdxBulletJNI.delete_BaseContactAddedListener(swigCPtr);
-      }
-      swigCPtr = 0;
-    }
-  }
-
-  public void enable() {
-    gdxBulletJNI.BaseContactAddedListener_enable(swigCPtr, this);
-  }
-
-  public void disable() {
-    gdxBulletJNI.BaseContactAddedListener_disable(swigCPtr, this);
-  }
-
-  public boolean isEnabled() {
-    return gdxBulletJNI.BaseContactAddedListener_isEnabled(swigCPtr, this);
-  }
-
-  public BaseContactAddedListener() {
-    this(gdxBulletJNI.new_BaseContactAddedListener(), true);
-  }
-
-}
diff --git a/extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/BaseContactProcessedListener.java b/extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/BaseContactProcessedListener.java
deleted file mode 100644 (file)
index 6503dfa..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 2.0.9
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-package com.badlogic.gdx.physics.bullet;
-
-import com.badlogic.gdx.math.Vector3;
-import com.badlogic.gdx.math.Quaternion;
-import com.badlogic.gdx.math.Matrix3;
-import com.badlogic.gdx.math.Matrix4;
-
-public class BaseContactProcessedListener {
-  private long swigCPtr;
-  protected boolean swigCMemOwn;
-
-  protected BaseContactProcessedListener(long cPtr, boolean cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = cPtr;
-  }
-
-  public static long getCPtr(BaseContactProcessedListener obj) {
-    return (obj == null) ? 0 : obj.swigCPtr;
-  }
-
-  protected void finalize() {
-    delete();
-  }
-
-  public synchronized void delete() {
-    if (swigCPtr != 0) {
-      if (swigCMemOwn) {
-        swigCMemOwn = false;
-        gdxBulletJNI.delete_BaseContactProcessedListener(swigCPtr);
-      }
-      swigCPtr = 0;
-    }
-  }
-
-  public void enable() {
-    gdxBulletJNI.BaseContactProcessedListener_enable(swigCPtr, this);
-  }
-
-  public void disable() {
-    gdxBulletJNI.BaseContactProcessedListener_disable(swigCPtr, this);
-  }
-
-  public boolean isEnabled() {
-    return gdxBulletJNI.BaseContactProcessedListener_isEnabled(swigCPtr, this);
-  }
-
-  public BaseContactProcessedListener() {
-    this(gdxBulletJNI.new_BaseContactProcessedListener(), true);
-  }
-
-}
index 92e50b6..4a0dda2 100644 (file)
@@ -13,11 +13,12 @@ import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
 import com.badlogic.gdx.math.Matrix4;
 
-public class ContactAddedListenerByObject extends BaseContactAddedListener {
+public class ContactAddedListenerByObject {
   private long swigCPtr;
+  protected boolean swigCMemOwn;
 
   protected ContactAddedListenerByObject(long cPtr, boolean cMemoryOwn) {
-    super(gdxBulletJNI.ContactAddedListenerByObject_SWIGUpcast(cPtr), cMemoryOwn);
+    swigCMemOwn = cMemoryOwn;
     swigCPtr = cPtr;
   }
 
@@ -37,7 +38,6 @@ public class ContactAddedListenerByObject extends BaseContactAddedListener {
       }
       swigCPtr = 0;
     }
-    super.delete();
   }
 
   protected void swigDirectorDisconnect() {
@@ -55,8 +55,8 @@ public class ContactAddedListenerByObject extends BaseContactAddedListener {
     gdxBulletJNI.ContactAddedListenerByObject_change_ownership(this, swigCPtr, true);
   }
 
-  public boolean onContactAdded(btManifoldPoint cp, btCollisionObject colObj0Wrap, int partId0, int index0, btCollisionObject colObj1Wrap, int partId1, int index1) {
-    return gdxBulletJNI.ContactAddedListenerByObject_onContactAdded(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, btCollisionObject.getCPtr(colObj0Wrap), colObj0Wrap, partId0, index0, btCollisionObject.getCPtr(colObj1Wrap), colObj1Wrap, partId1, index1);
+  public boolean onContactAdded(btManifoldPoint cp, btCollisionObject colObj0, int partId0, int index0, boolean match0, btCollisionObject colObj1, int partId1, int index1, boolean match1) {
+    return gdxBulletJNI.ContactAddedListenerByObject_onContactAdded(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, btCollisionObject.getCPtr(colObj0), colObj0, partId0, index0, match0, btCollisionObject.getCPtr(colObj1), colObj1, partId1, index1, match1);
   }
 
   public ContactAddedListenerByObject() {
index 846c6b7..c8d31cd 100644 (file)
@@ -13,11 +13,12 @@ import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
 import com.badlogic.gdx.math.Matrix4;
 
-public class ContactAddedListenerByValue extends BaseContactAddedListener {
+public class ContactAddedListenerByValue {
   private long swigCPtr;
+  protected boolean swigCMemOwn;
 
   protected ContactAddedListenerByValue(long cPtr, boolean cMemoryOwn) {
-    super(gdxBulletJNI.ContactAddedListenerByValue_SWIGUpcast(cPtr), cMemoryOwn);
+    swigCMemOwn = cMemoryOwn;
     swigCPtr = cPtr;
   }
 
@@ -37,7 +38,6 @@ public class ContactAddedListenerByValue extends BaseContactAddedListener {
       }
       swigCPtr = 0;
     }
-    super.delete();
   }
 
   protected void swigDirectorDisconnect() {
@@ -55,8 +55,8 @@ public class ContactAddedListenerByValue extends BaseContactAddedListener {
     gdxBulletJNI.ContactAddedListenerByValue_change_ownership(this, swigCPtr, true);
   }
 
-  public boolean onContactAdded(btManifoldPoint cp, int userValue0, int partId0, int index0, int userValue1, int partId1, int index1) {
-    return gdxBulletJNI.ContactAddedListenerByValue_onContactAdded(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, userValue0, partId0, index0, userValue1, partId1, index1);
+  public boolean onContactAdded(btManifoldPoint cp, int userValue0, int partId0, int index0, boolean match0, int userValue1, int partId1, int index1, boolean match1) {
+    return gdxBulletJNI.ContactAddedListenerByValue_onContactAdded(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, userValue0, partId0, index0, match0, userValue1, partId1, index1, match1);
   }
 
   public ContactAddedListenerByValue() {
index 1d4befa..2f82b49 100644 (file)
@@ -13,11 +13,12 @@ import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
 import com.badlogic.gdx.math.Matrix4;
 
-public class ContactAddedListenerByWrapper extends BaseContactAddedListener {
+public class ContactAddedListenerByWrapper {
   private long swigCPtr;
+  protected boolean swigCMemOwn;
 
   protected ContactAddedListenerByWrapper(long cPtr, boolean cMemoryOwn) {
-    super(gdxBulletJNI.ContactAddedListenerByWrapper_SWIGUpcast(cPtr), cMemoryOwn);
+    swigCMemOwn = cMemoryOwn;
     swigCPtr = cPtr;
   }
 
@@ -37,7 +38,6 @@ public class ContactAddedListenerByWrapper extends BaseContactAddedListener {
       }
       swigCPtr = 0;
     }
-    super.delete();
   }
 
   protected void swigDirectorDisconnect() {
@@ -55,8 +55,8 @@ public class ContactAddedListenerByWrapper extends BaseContactAddedListener {
     gdxBulletJNI.ContactAddedListenerByWrapper_change_ownership(this, swigCPtr, true);
   }
 
-  public boolean onContactAdded(btManifoldPoint cp, btCollisionObjectWrapper colObj0Wrap, int partId0, int index0, btCollisionObjectWrapper colObj1Wrap, int partId1, int index1) {
-    return gdxBulletJNI.ContactAddedListenerByWrapper_onContactAdded(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, btCollisionObjectWrapper.getCPtr(colObj0Wrap), colObj0Wrap, partId0, index0, btCollisionObjectWrapper.getCPtr(colObj1Wrap), colObj1Wrap, partId1, index1);
+  public boolean onContactAdded(btManifoldPoint cp, btCollisionObjectWrapper colObj0Wrap, int partId0, int index0, boolean match0, btCollisionObjectWrapper colObj1Wrap, int partId1, int index1, boolean match1) {
+    return gdxBulletJNI.ContactAddedListenerByWrapper_onContactAdded(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, btCollisionObjectWrapper.getCPtr(colObj0Wrap), colObj0Wrap, partId0, index0, match0, btCollisionObjectWrapper.getCPtr(colObj1Wrap), colObj1Wrap, partId1, index1, match1);
   }
 
   public ContactAddedListenerByWrapper() {
index ec59a28..2804233 100644 (file)
@@ -55,8 +55,13 @@ public class ContactDestroyedListener {
     gdxBulletJNI.ContactDestroyedListener_change_ownership(this, swigCPtr, true);
   }
 
-  public boolean onContactDestroyed(int manifoldPointUserValue) {
-    return gdxBulletJNI.ContactDestroyedListener_onContactDestroyed(swigCPtr, this, manifoldPointUserValue);
+  public ContactDestroyedListener() {
+    this(gdxBulletJNI.new_ContactDestroyedListener(), true);
+    gdxBulletJNI.ContactDestroyedListener_director_connect(this, swigCPtr, swigCMemOwn, true);
+  }
+
+  public void onContactDestroyed(int manifoldPointUserValue) {
+    gdxBulletJNI.ContactDestroyedListener_onContactDestroyed(swigCPtr, this, manifoldPointUserValue);
   }
 
   public void enable() {
@@ -71,9 +76,4 @@ public class ContactDestroyedListener {
     return gdxBulletJNI.ContactDestroyedListener_isEnabled(swigCPtr, this);
   }
 
-  public ContactDestroyedListener() {
-    this(gdxBulletJNI.new_ContactDestroyedListener(), true);
-    gdxBulletJNI.ContactDestroyedListener_director_connect(this, swigCPtr, swigCMemOwn, true);
-  }
-
 }
index 0f209fe..0f42eb9 100644 (file)
@@ -13,11 +13,12 @@ import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
 import com.badlogic.gdx.math.Matrix4;
 
-public class ContactProcessedListenerByObject extends BaseContactProcessedListener {
+public class ContactProcessedListenerByObject {
   private long swigCPtr;
+  protected boolean swigCMemOwn;
 
   protected ContactProcessedListenerByObject(long cPtr, boolean cMemoryOwn) {
-    super(gdxBulletJNI.ContactProcessedListenerByObject_SWIGUpcast(cPtr), cMemoryOwn);
+    swigCMemOwn = cMemoryOwn;
     swigCPtr = cPtr;
   }
 
@@ -37,7 +38,6 @@ public class ContactProcessedListenerByObject extends BaseContactProcessedListen
       }
       swigCPtr = 0;
     }
-    super.delete();
   }
 
   protected void swigDirectorDisconnect() {
@@ -55,8 +55,8 @@ public class ContactProcessedListenerByObject extends BaseContactProcessedListen
     gdxBulletJNI.ContactProcessedListenerByObject_change_ownership(this, swigCPtr, true);
   }
 
-  public boolean onContactProcessed(btManifoldPoint cp, btCollisionObject colObj0, btCollisionObject colObj1) {
-    return gdxBulletJNI.ContactProcessedListenerByObject_onContactProcessed(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, btCollisionObject.getCPtr(colObj0), colObj0, btCollisionObject.getCPtr(colObj1), colObj1);
+  public void onContactProcessed(btManifoldPoint cp, btCollisionObject colObj0, boolean match0, btCollisionObject colObj1, boolean match1) {
+    gdxBulletJNI.ContactProcessedListenerByObject_onContactProcessed(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, btCollisionObject.getCPtr(colObj0), colObj0, match0, btCollisionObject.getCPtr(colObj1), colObj1, match1);
   }
 
   public ContactProcessedListenerByObject() {
index 191581f..0e68a97 100644 (file)
@@ -13,11 +13,12 @@ import com.badlogic.gdx.math.Quaternion;
 import com.badlogic.gdx.math.Matrix3;
 import com.badlogic.gdx.math.Matrix4;
 
-public class ContactProcessedListenerByValue extends BaseContactProcessedListener {
+public class ContactProcessedListenerByValue {
   private long swigCPtr;
+  protected boolean swigCMemOwn;
 
   protected ContactProcessedListenerByValue(long cPtr, boolean cMemoryOwn) {
-    super(gdxBulletJNI.ContactProcessedListenerByValue_SWIGUpcast(cPtr), cMemoryOwn);
+    swigCMemOwn = cMemoryOwn;
     swigCPtr = cPtr;
   }
 
@@ -37,7 +38,6 @@ public class ContactProcessedListenerByValue extends BaseContactProcessedListene
       }
       swigCPtr = 0;
     }
-    super.delete();
   }
 
   protected void swigDirectorDisconnect() {
@@ -55,8 +55,8 @@ public class ContactProcessedListenerByValue extends BaseContactProcessedListene
     gdxBulletJNI.ContactProcessedListenerByValue_change_ownership(this, swigCPtr, true);
   }
 
-  public boolean onContactProcessed(btManifoldPoint cp, int userValue0, int userValue1) {
-    return gdxBulletJNI.ContactProcessedListenerByValue_onContactProcessed(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, userValue0, userValue1);
+  public boolean onContactProcessed(btManifoldPoint cp, int userValue0, boolean match0, int userValue1, boolean match1) {
+    return gdxBulletJNI.ContactProcessedListenerByValue_onContactProcessed(swigCPtr, this, btManifoldPoint.getCPtr(cp), cp, userValue0, match0, userValue1, match1);
   }
 
   public ContactProcessedListenerByValue() {
index 1b5726c..183b798 100644 (file)
@@ -48,6 +48,22 @@ public class GdxCollisionObjectBridge {
     return gdxBulletJNI.GdxCollisionObjectBridge_userValue_get(swigCPtr, this);
   }
 
+  public void setContactCallbackFlag(int value) {
+    gdxBulletJNI.GdxCollisionObjectBridge_contactCallbackFlag_set(swigCPtr, this, value);
+  }
+
+  public int getContactCallbackFlag() {
+    return gdxBulletJNI.GdxCollisionObjectBridge_contactCallbackFlag_get(swigCPtr, this);
+  }
+
+  public void setContactCallbackFilter(int value) {
+    gdxBulletJNI.GdxCollisionObjectBridge_contactCallbackFilter_set(swigCPtr, this, value);
+  }
+
+  public int getContactCallbackFilter() {
+    return gdxBulletJNI.GdxCollisionObjectBridge_contactCallbackFilter_get(swigCPtr, this);
+  }
+
   public GdxCollisionObjectBridge() {
     this(gdxBulletJNI.new_GdxCollisionObjectBridge(), true);
   }
diff --git a/extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/SWIGTYPE_p_BaseContactAddedListener.java b/extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/SWIGTYPE_p_BaseContactAddedListener.java
new file mode 100644 (file)
index 0000000..9abe3d9
--- /dev/null
@@ -0,0 +1,26 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 2.0.9
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+package com.badlogic.gdx.physics.bullet;
+
+public class SWIGTYPE_p_BaseContactAddedListener {
+  private long swigCPtr;
+
+  protected SWIGTYPE_p_BaseContactAddedListener(long cPtr, boolean futureUse) {
+    swigCPtr = cPtr;
+  }
+
+  protected SWIGTYPE_p_BaseContactAddedListener() {
+    swigCPtr = 0;
+  }
+
+  public static long getCPtr(SWIGTYPE_p_BaseContactAddedListener obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
+}
+
diff --git a/extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/SWIGTYPE_p_BaseContactProcessedListener.java b/extensions/gdx-bullet/jni/swig-src/com/badlogic/gdx/physics/bullet/SWIGTYPE_p_BaseContactProcessedListener.java
new file mode 100644 (file)
index 0000000..998223d
--- /dev/null
@@ -0,0 +1,26 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 2.0.9
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+package com.badlogic.gdx.physics.bullet;
+
+public class SWIGTYPE_p_BaseContactProcessedListener {
+  private long swigCPtr;
+
+  protected SWIGTYPE_p_BaseContactProcessedListener(long cPtr, boolean futureUse) {
+    swigCPtr = cPtr;
+  }
+
+  protected SWIGTYPE_p_BaseContactProcessedListener() {
+    swigCPtr = 0;
+  }
+
+  public static long getCPtr(SWIGTYPE_p_BaseContactProcessedListener obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
+}
+
index 673e400..371bf33 100755 (executable)
@@ -18,25 +18,40 @@ public class btCollisionObject implements
  {\r
        public final static com.badlogic.gdx.utils.LongMap<btCollisionObject> instances = new com.badlogic.gdx.utils.LongMap<btCollisionObject>();\r
        \r
+       public static btCollisionObject getInstance(final long swigCPtr) {\r
+               return instances.get(swigCPtr);\r
+       }\r
+       \r
        public static btCollisionObject getInstance(final long swigCPtr, boolean owner) {\r
-               btCollisionObject result = instances.get(swigCPtr);\r
+               btCollisionObject result = getInstance(swigCPtr);\r
                if (result == null)\r
                        result = new btCollisionObject(swigCPtr, owner);\r
                return result;\r
        }\r
        \r
+       public static void addInstance(final btCollisionObject obj) {\r
+               instances.put(getCPtr(obj), obj);\r
+       }\r
+       \r
+       public static void removeInstance(final btCollisionObject obj) {\r
+               instances.remove(getCPtr(obj));\r
+       }\r
+       \r
        private long swigCPtr;\r
        protected boolean swigCMemOwn;\r
-       public GdxCollisionObjectBridge gdxBridge;\r
+       protected GdxCollisionObjectBridge gdxBridge;\r
+       protected int userValue;\r
+       protected int contactCallbackFlag = 1;\r
+       protected int contactCallbackFilter;\r
        \r
        public Object userData;\r
        \r
        protected btCollisionObject(long cPtr, boolean cMemoryOwn) {\r
                swigCMemOwn = cMemoryOwn;\r
                swigCPtr = cPtr;\r
-               instances.put(cPtr, this);\r
                gdxBridge = new GdxCollisionObjectBridge();\r
                internalSetGdxBridge(gdxBridge);\r
+               addInstance(this);\r
        }\r
        \r
        @Override\r
@@ -55,18 +70,50 @@ public class btCollisionObject implements
        public static long getCPtr(btCollisionObject obj) {\r
                return (obj == null) ? 0 : obj.swigCPtr;\r
        }\r
+       \r
+       /** @return A user definable value set using {@link #setUserValue(int)}, intended to quickly identify the collision object */ \r
+       public int getUserValue() {\r
+               return userValue;\r
+       }\r
+       \r
+       /** @param value A user definable value which allows you to quickly identify this collision object. Some frequently called\r
+        * methods rather return this value than the collision object itself to minimize JNI overhead. */\r
+       public void setUserValue(int value) {\r
+               gdxBridge.setUserValue(userValue = value);\r
+       }\r
+       \r
+       /** @return The flag (defaults to 1) used to filter contact callbacks with this object */\r
+       public int getContactCallbackFlag() {\r
+               return contactCallbackFlag;\r
+       }\r
+       \r
+       /** @param flag The new flag used to filter contact callbacks with this object */\r
+       public void setContactCallbackFlag(int flag) {\r
+               gdxBridge.setContactCallbackFlag(contactCallbackFlag = flag);\r
+       }\r
+       \r
+       /** @return The filter (default to 0) that is used to match the flag of the other object for a contact callback to be triggered */\r
+       public int getContactCallbackFilter() {\r
+               return contactCallbackFilter;\r
+       }\r
+       \r
+       /** @param filter The new filter that is used to match the flag of the other object for a contact callback to be triggered */\r
+       public void setContactCallbackFilter(int filter) {\r
+               gdxBridge.setContactCallbackFilter(contactCallbackFilter = filter);\r
+       }\r
 \r
   protected void finalize() {\r
     delete();\r
   }\r
 \r
   public synchronized void delete()  {\r
-    if (gdxBridge != null) {\r
+    if (swigCPtr != 0)\r
+      removeInstance(this);\r
+       if (gdxBridge != null) {\r
        gdxBridge.delete();\r
        gdxBridge = null;\r
     }\r
     if (swigCPtr != 0) {\r
-      instances.remove(swigCPtr);\r
       if (swigCMemOwn) {\r
         swigCMemOwn = false;\r
         gdxBulletJNI.delete_btCollisionObject(swigCPtr);\r
@@ -337,14 +384,6 @@ public class btCollisionObject implements
     gdxBulletJNI.btCollisionObject_getInterpolationAngularVelocity__SWIG_1(swigCPtr, this, out);\r
   }\r
 \r
-  public int getUserValue() {\r
-    return gdxBulletJNI.btCollisionObject_getUserValue(swigCPtr, this);\r
-  }\r
-\r
-  public void setUserValue(int value) {\r
-    gdxBulletJNI.btCollisionObject_setUserValue(swigCPtr, this, value);\r
-  }\r
-\r
   public final static class CollisionFlags {\r
     public final static int CF_STATIC_OBJECT = 1;\r
     public final static int CF_KINEMATIC_OBJECT = 2;\r
index ac5f86d..3ae9c34 100755 (executable)
@@ -371,6 +371,14 @@ public class gdxBullet implements gdxBulletConstants {
     return gdxBulletJNI.BT_NULL_PAIR_get();\r
   }\r
 \r
+  public static boolean gdxCheckFilter(int filter, int flag) {\r
+    return gdxBulletJNI.gdxCheckFilter__SWIG_0(filter, flag);\r
+  }\r
+\r
+  public static boolean gdxCheckFilter(btCollisionObject colObj0, btCollisionObject colObj1) {\r
+    return gdxBulletJNI.gdxCheckFilter__SWIG_1(btCollisionObject.getCPtr(colObj0), colObj0, btCollisionObject.getCPtr(colObj1), colObj1);\r
+  }\r
+\r
   public static void setGDeactivationTime(float value) {\r
     gdxBulletJNI.gDeactivationTime_set(value);\r
   }\r
@@ -442,6 +450,45 @@ public class gdxBullet implements gdxBulletConstants {
     gdxBulletJNI.InternalTickCallback_CB(btDynamicsWorld.getCPtr(world), world, timeStep);\r
   }\r
 \r
+  public static boolean ContactAddedListener_CB(btManifoldPoint cp, btCollisionObjectWrapper colObj0Wrap, int partId0, int index0, btCollisionObjectWrapper colObj1Wrap, int partId1, int index1) {\r
+    return gdxBulletJNI.ContactAddedListener_CB(btManifoldPoint.getCPtr(cp), cp, btCollisionObjectWrapper.getCPtr(colObj0Wrap), colObj0Wrap, partId0, index0, btCollisionObjectWrapper.getCPtr(colObj1Wrap), colObj1Wrap, partId1, index1);\r
+  }\r
+\r
+  public static void setCurrentContactAddedListener(SWIGTYPE_p_BaseContactAddedListener value) {\r
+    gdxBulletJNI.currentContactAddedListener_set(SWIGTYPE_p_BaseContactAddedListener.getCPtr(value));\r
+  }\r
+\r
+  public static SWIGTYPE_p_BaseContactAddedListener getCurrentContactAddedListener() {\r
+    long cPtr = gdxBulletJNI.currentContactAddedListener_get();\r
+    return (cPtr == 0) ? null : new SWIGTYPE_p_BaseContactAddedListener(cPtr, false);\r
+  }\r
+\r
+  public static boolean ContactProcessedListener_CB(btManifoldPoint cp, SWIGTYPE_p_void body0, SWIGTYPE_p_void body1) {\r
+    return gdxBulletJNI.ContactProcessedListener_CB(btManifoldPoint.getCPtr(cp), cp, SWIGTYPE_p_void.getCPtr(body0), SWIGTYPE_p_void.getCPtr(body1));\r
+  }\r
+\r
+  public static void setCurrentContactProcessedListener(SWIGTYPE_p_BaseContactProcessedListener value) {\r
+    gdxBulletJNI.currentContactProcessedListener_set(SWIGTYPE_p_BaseContactProcessedListener.getCPtr(value));\r
+  }\r
+\r
+  public static SWIGTYPE_p_BaseContactProcessedListener getCurrentContactProcessedListener() {\r
+    long cPtr = gdxBulletJNI.currentContactProcessedListener_get();\r
+    return (cPtr == 0) ? null : new SWIGTYPE_p_BaseContactProcessedListener(cPtr, false);\r
+  }\r
+\r
+  public static boolean ContactDestroyedListener_CB(SWIGTYPE_p_void userPersistentData) {\r
+    return gdxBulletJNI.ContactDestroyedListener_CB(SWIGTYPE_p_void.getCPtr(userPersistentData));\r
+  }\r
+\r
+  public static void setCurrentContactDestroyedListener(ContactDestroyedListener value) {\r
+    gdxBulletJNI.currentContactDestroyedListener_set(ContactDestroyedListener.getCPtr(value), value);\r
+  }\r
+\r
+  public static ContactDestroyedListener getCurrentContactDestroyedListener() {\r
+    long cPtr = gdxBulletJNI.currentContactDestroyedListener_get();\r
+    return (cPtr == 0) ? null : new ContactDestroyedListener(cPtr, false);\r
+  }\r
+\r
   public static float resolveSingleCollision(btRigidBody body1, btCollisionObject colObj2, Vector3 contactPositionWorld, Vector3 contactNormalOnB, btContactSolverInfo solverInfo, float distance) {\r
     return gdxBulletJNI.resolveSingleCollision(btRigidBody.getCPtr(body1), body1, btCollisionObject.getCPtr(colObj2), colObj2, contactPositionWorld, contactNormalOnB, btContactSolverInfo.getCPtr(solverInfo), solverInfo, distance);\r
   }\r
index e885433..f262fc3 100755 (executable)
@@ -1745,8 +1745,6 @@ public class gdxBulletJNI {
   public final static native void btCollisionObject_getInterpolationWorldTransform__SWIG_2(long jarg1, btCollisionObject jarg1_, Matrix4 jarg2);\r
   public final static native void btCollisionObject_getInterpolationLinearVelocity__SWIG_1(long jarg1, btCollisionObject jarg1_, Vector3 jarg2);\r
   public final static native void btCollisionObject_getInterpolationAngularVelocity__SWIG_1(long jarg1, btCollisionObject jarg1_, Vector3 jarg2);\r
-  public final static native int btCollisionObject_getUserValue(long jarg1, btCollisionObject jarg1_);\r
-  public final static native void btCollisionObject_setUserValue(long jarg1, btCollisionObject jarg1_, int jarg2);\r
   public final static native void btCollisionObjectDoubleData_m_broadphaseHandle_set(long jarg1, btCollisionObjectDoubleData jarg1_, long jarg2);\r
   public final static native long btCollisionObjectDoubleData_m_broadphaseHandle_get(long jarg1, btCollisionObjectDoubleData jarg1_);\r
   public final static native void btCollisionObjectDoubleData_m_collisionShape_set(long jarg1, btCollisionObjectDoubleData jarg1_, long jarg2);\r
@@ -1847,8 +1845,14 @@ public class gdxBulletJNI {
   public final static native void delete_btCollisionObjectFloatData(long jarg1);\r
   public final static native void GdxCollisionObjectBridge_userValue_set(long jarg1, GdxCollisionObjectBridge jarg1_, int jarg2);\r
   public final static native int GdxCollisionObjectBridge_userValue_get(long jarg1, GdxCollisionObjectBridge jarg1_);\r
+  public final static native void GdxCollisionObjectBridge_contactCallbackFlag_set(long jarg1, GdxCollisionObjectBridge jarg1_, int jarg2);\r
+  public final static native int GdxCollisionObjectBridge_contactCallbackFlag_get(long jarg1, GdxCollisionObjectBridge jarg1_);\r
+  public final static native void GdxCollisionObjectBridge_contactCallbackFilter_set(long jarg1, GdxCollisionObjectBridge jarg1_, int jarg2);\r
+  public final static native int GdxCollisionObjectBridge_contactCallbackFilter_get(long jarg1, GdxCollisionObjectBridge jarg1_);\r
   public final static native long new_GdxCollisionObjectBridge();\r
   public final static native void delete_GdxCollisionObjectBridge(long jarg1);\r
+  public final static native boolean gdxCheckFilter__SWIG_0(int jarg1, int jarg2);\r
+  public final static native boolean gdxCheckFilter__SWIG_1(long jarg1, btCollisionObject jarg1_, long jarg2, btCollisionObject jarg2_);\r
   public final static native void btRigidBodyConstructionInfo_m_mass_set(long jarg1, btRigidBodyConstructionInfo jarg1_, float jarg2);\r
   public final static native float btRigidBodyConstructionInfo_m_mass_get(long jarg1, btRigidBodyConstructionInfo jarg1_);\r
   public final static native void btRigidBodyConstructionInfo_m_motionState_set(long jarg1, btRigidBodyConstructionInfo jarg1_, long jarg2, btMotionState jarg2_);\r
@@ -2869,47 +2873,46 @@ public class gdxBulletJNI {
   public final static native void delete_InternalTickCallback(long jarg1);\r
   public final static native void InternalTickCallback_director_connect(InternalTickCallback obj, long cptr, boolean mem_own, boolean weak_global);\r
   public final static native void InternalTickCallback_change_ownership(InternalTickCallback obj, long cptr, boolean take_or_release);\r
-  public final static native void BaseContactAddedListener_enable(long jarg1, BaseContactAddedListener jarg1_);\r
-  public final static native void BaseContactAddedListener_disable(long jarg1, BaseContactAddedListener jarg1_);\r
-  public final static native boolean BaseContactAddedListener_isEnabled(long jarg1, BaseContactAddedListener jarg1_);\r
-  public final static native long new_BaseContactAddedListener();\r
-  public final static native void delete_BaseContactAddedListener(long jarg1);\r
-  public final static native boolean ContactAddedListenerByWrapper_onContactAdded(long jarg1, ContactAddedListenerByWrapper jarg1_, long jarg2, btManifoldPoint jarg2_, long jarg3, btCollisionObjectWrapper jarg3_, int jarg4, int jarg5, long jarg6, btCollisionObjectWrapper jarg6_, int jarg7, int jarg8);\r
+  public final static native boolean ContactAddedListener_CB(long jarg1, btManifoldPoint jarg1_, long jarg2, btCollisionObjectWrapper jarg2_, int jarg3, int jarg4, long jarg5, btCollisionObjectWrapper jarg5_, int jarg6, int jarg7);\r
+  public final static native void currentContactAddedListener_set(long jarg1);\r
+  public final static native long currentContactAddedListener_get();\r
+  public final static native boolean ContactAddedListenerByWrapper_onContactAdded(long jarg1, ContactAddedListenerByWrapper jarg1_, long jarg2, btManifoldPoint jarg2_, long jarg3, btCollisionObjectWrapper jarg3_, int jarg4, int jarg5, boolean jarg6, long jarg7, btCollisionObjectWrapper jarg7_, int jarg8, int jarg9, boolean jarg10);\r
   public final static native long new_ContactAddedListenerByWrapper();\r
   public final static native void delete_ContactAddedListenerByWrapper(long jarg1);\r
   public final static native void ContactAddedListenerByWrapper_director_connect(ContactAddedListenerByWrapper obj, long cptr, boolean mem_own, boolean weak_global);\r
   public final static native void ContactAddedListenerByWrapper_change_ownership(ContactAddedListenerByWrapper obj, long cptr, boolean take_or_release);\r
-  public final static native boolean ContactAddedListenerByObject_onContactAdded(long jarg1, ContactAddedListenerByObject jarg1_, long jarg2, btManifoldPoint jarg2_, long jarg3, btCollisionObject jarg3_, int jarg4, int jarg5, long jarg6, btCollisionObject jarg6_, int jarg7, int jarg8);\r
+  public final static native boolean ContactAddedListenerByObject_onContactAdded(long jarg1, ContactAddedListenerByObject jarg1_, long jarg2, btManifoldPoint jarg2_, long jarg3, btCollisionObject jarg3_, int jarg4, int jarg5, boolean jarg6, long jarg7, btCollisionObject jarg7_, int jarg8, int jarg9, boolean jarg10);\r
   public final static native long new_ContactAddedListenerByObject();\r
   public final static native void delete_ContactAddedListenerByObject(long jarg1);\r
   public final static native void ContactAddedListenerByObject_director_connect(ContactAddedListenerByObject obj, long cptr, boolean mem_own, boolean weak_global);\r
   public final static native void ContactAddedListenerByObject_change_ownership(ContactAddedListenerByObject obj, long cptr, boolean take_or_release);\r
-  public final static native boolean ContactAddedListenerByValue_onContactAdded(long jarg1, ContactAddedListenerByValue jarg1_, long jarg2, btManifoldPoint jarg2_, int jarg3, int jarg4, int jarg5, int jarg6, int jarg7, int jarg8);\r
+  public final static native boolean ContactAddedListenerByValue_onContactAdded(long jarg1, ContactAddedListenerByValue jarg1_, long jarg2, btManifoldPoint jarg2_, int jarg3, int jarg4, int jarg5, boolean jarg6, int jarg7, int jarg8, int jarg9, boolean jarg10);\r
   public final static native long new_ContactAddedListenerByValue();\r
   public final static native void delete_ContactAddedListenerByValue(long jarg1);\r
   public final static native void ContactAddedListenerByValue_director_connect(ContactAddedListenerByValue obj, long cptr, boolean mem_own, boolean weak_global);\r
   public final static native void ContactAddedListenerByValue_change_ownership(ContactAddedListenerByValue obj, long cptr, boolean take_or_release);\r
-  public final static native void BaseContactProcessedListener_enable(long jarg1, BaseContactProcessedListener jarg1_);\r
-  public final static native void BaseContactProcessedListener_disable(long jarg1, BaseContactProcessedListener jarg1_);\r
-  public final static native boolean BaseContactProcessedListener_isEnabled(long jarg1, BaseContactProcessedListener jarg1_);\r
-  public final static native long new_BaseContactProcessedListener();\r
-  public final static native void delete_BaseContactProcessedListener(long jarg1);\r
-  public final static native boolean ContactProcessedListenerByObject_onContactProcessed(long jarg1, ContactProcessedListenerByObject jarg1_, long jarg2, btManifoldPoint jarg2_, long jarg3, btCollisionObject jarg3_, long jarg4, btCollisionObject jarg4_);\r
+  public final static native boolean ContactProcessedListener_CB(long jarg1, btManifoldPoint jarg1_, long jarg2, long jarg3);\r
+  public final static native void currentContactProcessedListener_set(long jarg1);\r
+  public final static native long currentContactProcessedListener_get();\r
+  public final static native void ContactProcessedListenerByObject_onContactProcessed(long jarg1, ContactProcessedListenerByObject jarg1_, long jarg2, btManifoldPoint jarg2_, long jarg3, btCollisionObject jarg3_, boolean jarg4, long jarg5, btCollisionObject jarg5_, boolean jarg6);\r
   public final static native long new_ContactProcessedListenerByObject();\r
   public final static native void delete_ContactProcessedListenerByObject(long jarg1);\r
   public final static native void ContactProcessedListenerByObject_director_connect(ContactProcessedListenerByObject obj, long cptr, boolean mem_own, boolean weak_global);\r
   public final static native void ContactProcessedListenerByObject_change_ownership(ContactProcessedListenerByObject obj, long cptr, boolean take_or_release);\r
-  public final static native boolean ContactProcessedListenerByValue_onContactProcessed(long jarg1, ContactProcessedListenerByValue jarg1_, long jarg2, btManifoldPoint jarg2_, int jarg3, int jarg4);\r
+  public final static native boolean ContactProcessedListenerByValue_onContactProcessed(long jarg1, ContactProcessedListenerByValue jarg1_, long jarg2, btManifoldPoint jarg2_, int jarg3, boolean jarg4, int jarg5, boolean jarg6);\r
   public final static native long new_ContactProcessedListenerByValue();\r
   public final static native void delete_ContactProcessedListenerByValue(long jarg1);\r
   public final static native void ContactProcessedListenerByValue_director_connect(ContactProcessedListenerByValue obj, long cptr, boolean mem_own, boolean weak_global);\r
   public final static native void ContactProcessedListenerByValue_change_ownership(ContactProcessedListenerByValue obj, long cptr, boolean take_or_release);\r
-  public final static native boolean ContactDestroyedListener_onContactDestroyed(long jarg1, ContactDestroyedListener jarg1_, int jarg2);\r
+  public final static native boolean ContactDestroyedListener_CB(long jarg1);\r
+  public final static native void currentContactDestroyedListener_set(long jarg1, ContactDestroyedListener jarg1_);\r
+  public final static native long currentContactDestroyedListener_get();\r
+  public final static native long new_ContactDestroyedListener();\r
+  public final static native void delete_ContactDestroyedListener(long jarg1);\r
+  public final static native void ContactDestroyedListener_onContactDestroyed(long jarg1, ContactDestroyedListener jarg1_, int jarg2);\r
   public final static native void ContactDestroyedListener_enable(long jarg1, ContactDestroyedListener jarg1_);\r
   public final static native void ContactDestroyedListener_disable(long jarg1, ContactDestroyedListener jarg1_);\r
   public final static native boolean ContactDestroyedListener_isEnabled(long jarg1, ContactDestroyedListener jarg1_);\r
-  public final static native long new_ContactDestroyedListener();\r
-  public final static native void delete_ContactDestroyedListener(long jarg1);\r
   public final static native void ContactDestroyedListener_director_connect(ContactDestroyedListener obj, long cptr, boolean mem_own, boolean weak_global);\r
   public final static native void ContactDestroyedListener_change_ownership(ContactDestroyedListener obj, long cptr, boolean take_or_release);\r
   public final static native long new_btSimpleDynamicsWorld(long jarg1, btDispatcher jarg1_, long jarg2, btBroadphaseInterface jarg2_, long jarg3, btConstraintSolver jarg3_, long jarg4, btCollisionConfiguration jarg4_);\r
@@ -4659,11 +4662,6 @@ public class gdxBulletJNI {
   public final static native long btTypedConstraint_SWIGUpcast(long jarg1);\r
   public final static native long btMultiSphereShape_SWIGUpcast(long jarg1);\r
   public final static native long btDynamicsWorld_SWIGUpcast(long jarg1);\r
-  public final static native long ContactAddedListenerByWrapper_SWIGUpcast(long jarg1);\r
-  public final static native long ContactAddedListenerByObject_SWIGUpcast(long jarg1);\r
-  public final static native long ContactAddedListenerByValue_SWIGUpcast(long jarg1);\r
-  public final static native long ContactProcessedListenerByObject_SWIGUpcast(long jarg1);\r
-  public final static native long ContactProcessedListenerByValue_SWIGUpcast(long jarg1);\r
   public final static native long btSimpleDynamicsWorld_SWIGUpcast(long jarg1);\r
   public final static native long btDiscreteDynamicsWorld_SWIGUpcast(long jarg1);\r
   public final static native long btCharacterControllerInterface_SWIGUpcast(long jarg1);\r
@@ -4812,23 +4810,23 @@ public class gdxBulletJNI {
   public static void SwigDirector_InternalTickCallback_onInternalTick(InternalTickCallback self, long dynamicsWorld, float timeStep) {\r
     self.onInternalTick((dynamicsWorld == 0) ? null : new btDynamicsWorld(dynamicsWorld, false), timeStep);\r
   }\r
-  public static boolean SwigDirector_ContactAddedListenerByWrapper_onContactAdded(ContactAddedListenerByWrapper self, long cp, long colObj0Wrap, int partId0, int index0, long colObj1Wrap, int partId1, int index1) {\r
-    return self.onContactAdded(new btManifoldPoint(cp, false), (colObj0Wrap == 0) ? null : new btCollisionObjectWrapper(colObj0Wrap, false), partId0, index0, (colObj1Wrap == 0) ? null : new btCollisionObjectWrapper(colObj1Wrap, false), partId1, index1);\r
+  public static boolean SwigDirector_ContactAddedListenerByWrapper_onContactAdded(ContactAddedListenerByWrapper self, long cp, long colObj0Wrap, int partId0, int index0, boolean match0, long colObj1Wrap, int partId1, int index1, boolean match1) {\r
+    return self.onContactAdded(new btManifoldPoint(cp, false), (colObj0Wrap == 0) ? null : new btCollisionObjectWrapper(colObj0Wrap, false), partId0, index0, match0, (colObj1Wrap == 0) ? null : new btCollisionObjectWrapper(colObj1Wrap, false), partId1, index1, match1);\r
   }\r
-  public static boolean SwigDirector_ContactAddedListenerByObject_onContactAdded(ContactAddedListenerByObject self, long cp, long colObj0Wrap, int partId0, int index0, long colObj1Wrap, int partId1, int index1) {\r
-    return self.onContactAdded(new btManifoldPoint(cp, false), (colObj0Wrap == 0) ? null : new btCollisionObject(colObj0Wrap, false), partId0, index0, (colObj1Wrap == 0) ? null : new btCollisionObject(colObj1Wrap, false), partId1, index1);\r
+  public static boolean SwigDirector_ContactAddedListenerByObject_onContactAdded(ContactAddedListenerByObject self, long cp, long colObj0, int partId0, int index0, boolean match0, long colObj1, int partId1, int index1, boolean match1) {\r
+    return self.onContactAdded(new btManifoldPoint(cp, false), (colObj0 == 0) ? null : new btCollisionObject(colObj0, false), partId0, index0, match0, (colObj1 == 0) ? null : new btCollisionObject(colObj1, false), partId1, index1, match1);\r
   }\r
-  public static boolean SwigDirector_ContactAddedListenerByValue_onContactAdded(ContactAddedListenerByValue self, long cp, int userValue0, int partId0, int index0, int userValue1, int partId1, int index1) {\r
-    return self.onContactAdded(new btManifoldPoint(cp, false), userValue0, partId0, index0, userValue1, partId1, index1);\r
+  public static boolean SwigDirector_ContactAddedListenerByValue_onContactAdded(ContactAddedListenerByValue self, long cp, int userValue0, int partId0, int index0, boolean match0, int userValue1, int partId1, int index1, boolean match1) {\r
+    return self.onContactAdded(new btManifoldPoint(cp, false), userValue0, partId0, index0, match0, userValue1, partId1, index1, match1);\r
   }\r
-  public static boolean SwigDirector_ContactProcessedListenerByObject_onContactProcessed(ContactProcessedListenerByObject self, long cp, long colObj0, long colObj1) {\r
-    return self.onContactProcessed(new btManifoldPoint(cp, false), (colObj0 == 0) ? null : new btCollisionObject(colObj0, false), (colObj1 == 0) ? null : new btCollisionObject(colObj1, false));\r
+  public static void SwigDirector_ContactProcessedListenerByObject_onContactProcessed(ContactProcessedListenerByObject self, long cp, long colObj0, boolean match0, long colObj1, boolean match1) {\r
+    self.onContactProcessed(new btManifoldPoint(cp, false), (colObj0 == 0) ? null : new btCollisionObject(colObj0, false), match0, (colObj1 == 0) ? null : new btCollisionObject(colObj1, false), match1);\r
   }\r
-  public static boolean SwigDirector_ContactProcessedListenerByValue_onContactProcessed(ContactProcessedListenerByValue self, long cp, int userValue0, int userValue1) {\r
-    return self.onContactProcessed(new btManifoldPoint(cp, false), userValue0, userValue1);\r
+  public static boolean SwigDirector_ContactProcessedListenerByValue_onContactProcessed(ContactProcessedListenerByValue self, long cp, int userValue0, boolean match0, int userValue1, boolean match1) {\r
+    return self.onContactProcessed(new btManifoldPoint(cp, false), userValue0, match0, userValue1, match1);\r
   }\r
-  public static boolean SwigDirector_ContactDestroyedListener_onContactDestroyed(ContactDestroyedListener self, int manifoldPointUserValue) {\r
-    return self.onContactDestroyed(manifoldPointUserValue);\r
+  public static void SwigDirector_ContactDestroyedListener_onContactDestroyed(ContactDestroyedListener self, int manifoldPointUserValue) {\r
+    self.onContactDestroyed(manifoldPointUserValue);\r
   }\r
 \r
   private final static native void swig_module_init();\r
index d5e6932..1974690 100755 (executable)
@@ -1816,12 +1816,6 @@ SWIGINTERN void btCollisionObject_getInterpolationLinearVelocity__SWIG_1(btColli
 SWIGINTERN void btCollisionObject_getInterpolationAngularVelocity__SWIG_1(btCollisionObject *self,btVector3 &out){\r
                out = self->getInterpolationAngularVelocity();\r
        }\r
-SWIGINTERN int btCollisionObject_getUserValue(btCollisionObject *self){\r
-               return ((GdxCollisionObjectBridge*)(self->getUserPointer()))->userValue;;\r
-       }\r
-SWIGINTERN void btCollisionObject_setUserValue(btCollisionObject *self,int value){\r
-               ((GdxCollisionObjectBridge*)(self->getUserPointer()))->userValue = value;\r
-       }\r
 \r
 #include <BulletDynamics/Dynamics/btRigidBody.h>\r
 \r
@@ -3804,7 +3798,7 @@ void SwigDirector_InternalTickCallback::swig_connect_director(JNIEnv *jenv, jobj
 SwigDirector_ContactAddedListenerByWrapper::SwigDirector_ContactAddedListenerByWrapper(JNIEnv *jenv) : ContactAddedListenerByWrapper(), Swig::Director(jenv) {\r
 }\r
 \r
-bool SwigDirector_ContactAddedListenerByWrapper::onContactAdded(btManifoldPoint &cp, btCollisionObjectWrapper const *colObj0Wrap, int partId0, int index0, btCollisionObjectWrapper const *colObj1Wrap, int partId1, int index1) {\r
+bool SwigDirector_ContactAddedListenerByWrapper::onContactAdded(btManifoldPoint &cp, btCollisionObjectWrapper const *colObj0Wrap, int partId0, int index0, bool match0, btCollisionObjectWrapper const *colObj1Wrap, int partId1, int index1, bool match1) {\r
   bool c_result = SwigValueInit< bool >() ;\r
   jboolean jresult = 0 ;\r
   JNIEnvWrapper swigjnienv(this) ;\r
@@ -3814,9 +3808,11 @@ bool SwigDirector_ContactAddedListenerByWrapper::onContactAdded(btManifoldPoint
   jlong jcolObj0Wrap = 0 ;\r
   jint jpartId0  ;\r
   jint jindex0  ;\r
+  jboolean jmatch0  ;\r
   jlong jcolObj1Wrap = 0 ;\r
   jint jpartId1  ;\r
   jint jindex1  ;\r
+  jboolean jmatch1  ;\r
   \r
   if (!swig_override[0]) {\r
     SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method ContactAddedListenerByWrapper::onContactAdded.");\r
@@ -3828,10 +3824,12 @@ bool SwigDirector_ContactAddedListenerByWrapper::onContactAdded(btManifoldPoint
     *((btCollisionObjectWrapper **)&jcolObj0Wrap) = (btCollisionObjectWrapper *) colObj0Wrap; \r
     jpartId0 = (jint) partId0;\r
     jindex0 = (jint) index0;\r
+    jmatch0 = (jboolean) match0;\r
     *((btCollisionObjectWrapper **)&jcolObj1Wrap) = (btCollisionObjectWrapper *) colObj1Wrap; \r
     jpartId1 = (jint) partId1;\r
     jindex1 = (jint) index1;\r
-    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[38], swigjobj, jcp, jcolObj0Wrap, jpartId0, jindex0, jcolObj1Wrap, jpartId1, jindex1);\r
+    jmatch1 = (jboolean) match1;\r
+    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[38], swigjobj, jcp, jcolObj0Wrap, jpartId0, jindex0, jmatch0, jcolObj1Wrap, jpartId1, jindex1, jmatch1);\r
     if (jenv->ExceptionCheck() == JNI_TRUE) return c_result;\r
     c_result = jresult ? true : false; \r
   } else {\r
@@ -3848,7 +3846,7 @@ void SwigDirector_ContactAddedListenerByWrapper::swig_connect_director(JNIEnv *j
     jmethodID base_methid;\r
   } methods[] = {\r
     {\r
-      "onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;Lcom/badlogic/gdx/physics/bullet/btCollisionObjectWrapper;IILcom/badlogic/gdx/physics/bullet/btCollisionObjectWrapper;II)Z", NULL \r
+      "onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;Lcom/badlogic/gdx/physics/bullet/btCollisionObjectWrapper;IIZLcom/badlogic/gdx/physics/bullet/btCollisionObjectWrapper;IIZ)Z", NULL \r
     }\r
   };\r
   \r
@@ -3880,19 +3878,21 @@ void SwigDirector_ContactAddedListenerByWrapper::swig_connect_director(JNIEnv *j
 SwigDirector_ContactAddedListenerByObject::SwigDirector_ContactAddedListenerByObject(JNIEnv *jenv) : ContactAddedListenerByObject(), Swig::Director(jenv) {\r
 }\r
 \r
-bool SwigDirector_ContactAddedListenerByObject::onContactAdded(btManifoldPoint &cp, btCollisionObject const *colObj0Wrap, int partId0, int index0, btCollisionObject const *colObj1Wrap, int partId1, int index1) {\r
+bool SwigDirector_ContactAddedListenerByObject::onContactAdded(btManifoldPoint &cp, btCollisionObject const *colObj0, int partId0, int index0, bool match0, btCollisionObject const *colObj1, int partId1, int index1, bool match1) {\r
   bool c_result = SwigValueInit< bool >() ;\r
   jboolean jresult = 0 ;\r
   JNIEnvWrapper swigjnienv(this) ;\r
   JNIEnv * jenv = swigjnienv.getJNIEnv() ;\r
   jobject swigjobj = (jobject) NULL ;\r
   jlong jcp = 0 ;\r
-  jlong jcolObj0Wrap = 0 ;\r
+  jlong jcolObj0 = 0 ;\r
   jint jpartId0  ;\r
   jint jindex0  ;\r
-  jlong jcolObj1Wrap = 0 ;\r
+  jboolean jmatch0  ;\r
+  jlong jcolObj1 = 0 ;\r
   jint jpartId1  ;\r
   jint jindex1  ;\r
+  jboolean jmatch1  ;\r
   \r
   if (!swig_override[0]) {\r
     SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method ContactAddedListenerByObject::onContactAdded.");\r
@@ -3901,13 +3901,15 @@ bool SwigDirector_ContactAddedListenerByObject::onContactAdded(btManifoldPoint &
   swigjobj = swig_get_self(jenv);\r
   if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {\r
     *(btManifoldPoint **)&jcp = (btManifoldPoint *) &cp; \r
-    *((btCollisionObject **)&jcolObj0Wrap) = (btCollisionObject *) colObj0Wrap\r
+    *((btCollisionObject **)&jcolObj0) = (btCollisionObject *) colObj0\r
     jpartId0 = (jint) partId0;\r
     jindex0 = (jint) index0;\r
-    *((btCollisionObject **)&jcolObj1Wrap) = (btCollisionObject *) colObj1Wrap; \r
+    jmatch0 = (jboolean) match0;\r
+    *((btCollisionObject **)&jcolObj1) = (btCollisionObject *) colObj1; \r
     jpartId1 = (jint) partId1;\r
     jindex1 = (jint) index1;\r
-    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[39], swigjobj, jcp, jcolObj0Wrap, jpartId0, jindex0, jcolObj1Wrap, jpartId1, jindex1);\r
+    jmatch1 = (jboolean) match1;\r
+    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[39], swigjobj, jcp, jcolObj0, jpartId0, jindex0, jmatch0, jcolObj1, jpartId1, jindex1, jmatch1);\r
     if (jenv->ExceptionCheck() == JNI_TRUE) return c_result;\r
     c_result = jresult ? true : false; \r
   } else {\r
@@ -3924,7 +3926,7 @@ void SwigDirector_ContactAddedListenerByObject::swig_connect_director(JNIEnv *je
     jmethodID base_methid;\r
   } methods[] = {\r
     {\r
-      "onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;Lcom/badlogic/gdx/physics/bullet/btCollisionObject;IILcom/badlogic/gdx/physics/bullet/btCollisionObject;II)Z", NULL \r
+      "onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;Lcom/badlogic/gdx/physics/bullet/btCollisionObject;IIZLcom/badlogic/gdx/physics/bullet/btCollisionObject;IIZ)Z", NULL \r
     }\r
   };\r
   \r
@@ -3956,7 +3958,7 @@ void SwigDirector_ContactAddedListenerByObject::swig_connect_director(JNIEnv *je
 SwigDirector_ContactAddedListenerByValue::SwigDirector_ContactAddedListenerByValue(JNIEnv *jenv) : ContactAddedListenerByValue(), Swig::Director(jenv) {\r
 }\r
 \r
-bool SwigDirector_ContactAddedListenerByValue::onContactAdded(btManifoldPoint &cp, int userValue0, int partId0, int index0, int userValue1, int partId1, int index1) {\r
+bool SwigDirector_ContactAddedListenerByValue::onContactAdded(btManifoldPoint &cp, int userValue0, int partId0, int index0, bool match0, int userValue1, int partId1, int index1, bool match1) {\r
   bool c_result = SwigValueInit< bool >() ;\r
   jboolean jresult = 0 ;\r
   JNIEnvWrapper swigjnienv(this) ;\r
@@ -3966,9 +3968,11 @@ bool SwigDirector_ContactAddedListenerByValue::onContactAdded(btManifoldPoint &c
   jint juserValue0  ;\r
   jint jpartId0  ;\r
   jint jindex0  ;\r
+  jboolean jmatch0  ;\r
   jint juserValue1  ;\r
   jint jpartId1  ;\r
   jint jindex1  ;\r
+  jboolean jmatch1  ;\r
   \r
   if (!swig_override[0]) {\r
     SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method ContactAddedListenerByValue::onContactAdded.");\r
@@ -3980,10 +3984,12 @@ bool SwigDirector_ContactAddedListenerByValue::onContactAdded(btManifoldPoint &c
     juserValue0 = (jint) userValue0;\r
     jpartId0 = (jint) partId0;\r
     jindex0 = (jint) index0;\r
+    jmatch0 = (jboolean) match0;\r
     juserValue1 = (jint) userValue1;\r
     jpartId1 = (jint) partId1;\r
     jindex1 = (jint) index1;\r
-    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[40], swigjobj, jcp, juserValue0, jpartId0, jindex0, juserValue1, jpartId1, jindex1);\r
+    jmatch1 = (jboolean) match1;\r
+    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[40], swigjobj, jcp, juserValue0, jpartId0, jindex0, jmatch0, juserValue1, jpartId1, jindex1, jmatch1);\r
     if (jenv->ExceptionCheck() == JNI_TRUE) return c_result;\r
     c_result = jresult ? true : false; \r
   } else {\r
@@ -4000,7 +4006,7 @@ void SwigDirector_ContactAddedListenerByValue::swig_connect_director(JNIEnv *jen
     jmethodID base_methid;\r
   } methods[] = {\r
     {\r
-      "onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;IIIIII)Z", NULL \r
+      "onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;IIIZIIIZ)Z", NULL \r
     }\r
   };\r
   \r
@@ -4032,33 +4038,33 @@ void SwigDirector_ContactAddedListenerByValue::swig_connect_director(JNIEnv *jen
 SwigDirector_ContactProcessedListenerByObject::SwigDirector_ContactProcessedListenerByObject(JNIEnv *jenv) : ContactProcessedListenerByObject(), Swig::Director(jenv) {\r
 }\r
 \r
-bool SwigDirector_ContactProcessedListenerByObject::onContactProcessed(btManifoldPoint &cp, btCollisionObject const *colObj0, btCollisionObject const *colObj1) {\r
-  bool c_result = SwigValueInit< bool >() ;\r
-  jboolean jresult = 0 ;\r
+void SwigDirector_ContactProcessedListenerByObject::onContactProcessed(btManifoldPoint &cp, btCollisionObject const *colObj0, bool match0, btCollisionObject const *colObj1, bool match1) {\r
   JNIEnvWrapper swigjnienv(this) ;\r
   JNIEnv * jenv = swigjnienv.getJNIEnv() ;\r
   jobject swigjobj = (jobject) NULL ;\r
   jlong jcp = 0 ;\r
   jlong jcolObj0 = 0 ;\r
+  jboolean jmatch0  ;\r
   jlong jcolObj1 = 0 ;\r
+  jboolean jmatch1  ;\r
   \r
   if (!swig_override[0]) {\r
     SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method ContactProcessedListenerByObject::onContactProcessed.");\r
-    return c_result;\r
+    return;\r
   }\r
   swigjobj = swig_get_self(jenv);\r
   if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {\r
     *(btManifoldPoint **)&jcp = (btManifoldPoint *) &cp; \r
     *((btCollisionObject **)&jcolObj0) = (btCollisionObject *) colObj0; \r
+    jmatch0 = (jboolean) match0;\r
     *((btCollisionObject **)&jcolObj1) = (btCollisionObject *) colObj1; \r
-    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[41], swigjobj, jcp, jcolObj0, jcolObj1);\r
-    if (jenv->ExceptionCheck() == JNI_TRUE) return c_result;\r
-    c_result = jresult ? true : false; \r
+    jmatch1 = (jboolean) match1;\r
+    jenv->CallStaticVoidMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[41], swigjobj, jcp, jcolObj0, jmatch0, jcolObj1, jmatch1);\r
+    if (jenv->ExceptionCheck() == JNI_TRUE) return ;\r
   } else {\r
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null upcall object");\r
   }\r
   if (swigjobj) jenv->DeleteLocalRef(swigjobj);\r
-  return c_result;\r
 }\r
 \r
 void SwigDirector_ContactProcessedListenerByObject::swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global) {\r
@@ -4068,7 +4074,7 @@ void SwigDirector_ContactProcessedListenerByObject::swig_connect_director(JNIEnv
     jmethodID base_methid;\r
   } methods[] = {\r
     {\r
-      "onContactProcessed", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;Lcom/badlogic/gdx/physics/bullet/btCollisionObject;Lcom/badlogic/gdx/physics/bullet/btCollisionObject;)Z", NULL \r
+      "onContactProcessed", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;Lcom/badlogic/gdx/physics/bullet/btCollisionObject;ZLcom/badlogic/gdx/physics/bullet/btCollisionObject;Z)V", NULL \r
     }\r
   };\r
   \r
@@ -4100,7 +4106,7 @@ void SwigDirector_ContactProcessedListenerByObject::swig_connect_director(JNIEnv
 SwigDirector_ContactProcessedListenerByValue::SwigDirector_ContactProcessedListenerByValue(JNIEnv *jenv) : ContactProcessedListenerByValue(), Swig::Director(jenv) {\r
 }\r
 \r
-bool SwigDirector_ContactProcessedListenerByValue::onContactProcessed(btManifoldPoint &cp, int userValue0, int userValue1) {\r
+bool SwigDirector_ContactProcessedListenerByValue::onContactProcessed(btManifoldPoint &cp, int userValue0, bool match0, int userValue1, bool match1) {\r
   bool c_result = SwigValueInit< bool >() ;\r
   jboolean jresult = 0 ;\r
   JNIEnvWrapper swigjnienv(this) ;\r
@@ -4108,7 +4114,9 @@ bool SwigDirector_ContactProcessedListenerByValue::onContactProcessed(btManifold
   jobject swigjobj = (jobject) NULL ;\r
   jlong jcp = 0 ;\r
   jint juserValue0  ;\r
+  jboolean jmatch0  ;\r
   jint juserValue1  ;\r
+  jboolean jmatch1  ;\r
   \r
   if (!swig_override[0]) {\r
     SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method ContactProcessedListenerByValue::onContactProcessed.");\r
@@ -4118,8 +4126,10 @@ bool SwigDirector_ContactProcessedListenerByValue::onContactProcessed(btManifold
   if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {\r
     *(btManifoldPoint **)&jcp = (btManifoldPoint *) &cp; \r
     juserValue0 = (jint) userValue0;\r
+    jmatch0 = (jboolean) match0;\r
     juserValue1 = (jint) userValue1;\r
-    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[42], swigjobj, jcp, juserValue0, juserValue1);\r
+    jmatch1 = (jboolean) match1;\r
+    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[42], swigjobj, jcp, juserValue0, jmatch0, juserValue1, jmatch1);\r
     if (jenv->ExceptionCheck() == JNI_TRUE) return c_result;\r
     c_result = jresult ? true : false; \r
   } else {\r
@@ -4136,7 +4146,7 @@ void SwigDirector_ContactProcessedListenerByValue::swig_connect_director(JNIEnv
     jmethodID base_methid;\r
   } methods[] = {\r
     {\r
-      "onContactProcessed", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;II)Z", NULL \r
+      "onContactProcessed", "(Lcom/badlogic/gdx/physics/bullet/btManifoldPoint;IZIZ)Z", NULL \r
     }\r
   };\r
   \r
@@ -4168,9 +4178,7 @@ void SwigDirector_ContactProcessedListenerByValue::swig_connect_director(JNIEnv
 SwigDirector_ContactDestroyedListener::SwigDirector_ContactDestroyedListener(JNIEnv *jenv) : ContactDestroyedListener(), Swig::Director(jenv) {\r
 }\r
 \r
-bool SwigDirector_ContactDestroyedListener::onContactDestroyed(int manifoldPointUserValue) {\r
-  bool c_result = SwigValueInit< bool >() ;\r
-  jboolean jresult = 0 ;\r
+void SwigDirector_ContactDestroyedListener::onContactDestroyed(int manifoldPointUserValue) {\r
   JNIEnvWrapper swigjnienv(this) ;\r
   JNIEnv * jenv = swigjnienv.getJNIEnv() ;\r
   jobject swigjobj = (jobject) NULL ;\r
@@ -4178,19 +4186,17 @@ bool SwigDirector_ContactDestroyedListener::onContactDestroyed(int manifoldPoint
   \r
   if (!swig_override[0]) {\r
     SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method ContactDestroyedListener::onContactDestroyed.");\r
-    return c_result;\r
+    return;\r
   }\r
   swigjobj = swig_get_self(jenv);\r
   if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {\r
     jmanifoldPointUserValue = (jint) manifoldPointUserValue;\r
-    jresult = (jboolean) jenv->CallStaticBooleanMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[43], swigjobj, jmanifoldPointUserValue);\r
-    if (jenv->ExceptionCheck() == JNI_TRUE) return c_result;\r
-    c_result = jresult ? true : false; \r
+    jenv->CallStaticVoidMethod(Swig::jclass_gdxBulletJNI, Swig::director_methids[43], swigjobj, jmanifoldPointUserValue);\r
+    if (jenv->ExceptionCheck() == JNI_TRUE) return ;\r
   } else {\r
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null upcall object");\r
   }\r
   if (swigjobj) jenv->DeleteLocalRef(swigjobj);\r
-  return c_result;\r
 }\r
 \r
 void SwigDirector_ContactDestroyedListener::swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global) {\r
@@ -4200,7 +4206,7 @@ void SwigDirector_ContactDestroyedListener::swig_connect_director(JNIEnv *jenv,
     jmethodID base_methid;\r
   } methods[] = {\r
     {\r
-      "onContactDestroyed", "(I)Z", NULL \r
+      "onContactDestroyed", "(I)V", NULL \r
     }\r
   };\r
   \r
@@ -32775,34 +32781,6 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btColl
 }\r
 \r
 \r
-SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1getUserValue(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
-  jint jresult = 0 ;\r
-  btCollisionObject *arg1 = (btCollisionObject *) 0 ;\r
-  int result;\r
-  \r
-  (void)jenv;\r
-  (void)jcls;\r
-  (void)jarg1_;\r
-  arg1 = *(btCollisionObject **)&jarg1; \r
-  result = (int)btCollisionObject_getUserValue(arg1);\r
-  jresult = (jint)result; \r
-  return jresult;\r
-}\r
-\r
-\r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObject_1setUserValue(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {\r
-  btCollisionObject *arg1 = (btCollisionObject *) 0 ;\r
-  int arg2 ;\r
-  \r
-  (void)jenv;\r
-  (void)jcls;\r
-  (void)jarg1_;\r
-  arg1 = *(btCollisionObject **)&jarg1; \r
-  arg2 = (int)jarg2; \r
-  btCollisionObject_setUserValue(arg1,arg2);\r
-}\r
-\r
-\r
 SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btCollisionObjectDoubleData_1m_1broadphaseHandle_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {\r
   btCollisionObjectDoubleData *arg1 = (btCollisionObjectDoubleData *) 0 ;\r
   void *arg2 = (void *) 0 ;\r
@@ -34242,6 +34220,62 @@ SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_GdxCol
 }\r
 \r
 \r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_GdxCollisionObjectBridge_1contactCallbackFlag_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {\r
+  GdxCollisionObjectBridge *arg1 = (GdxCollisionObjectBridge *) 0 ;\r
+  int arg2 ;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
+  (void)jarg1_;\r
+  arg1 = *(GdxCollisionObjectBridge **)&jarg1; \r
+  arg2 = (int)jarg2; \r
+  if (arg1) (arg1)->contactCallbackFlag = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_GdxCollisionObjectBridge_1contactCallbackFlag_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
+  jint jresult = 0 ;\r
+  GdxCollisionObjectBridge *arg1 = (GdxCollisionObjectBridge *) 0 ;\r
+  int result;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
+  (void)jarg1_;\r
+  arg1 = *(GdxCollisionObjectBridge **)&jarg1; \r
+  result = (int) ((arg1)->contactCallbackFlag);\r
+  jresult = (jint)result; \r
+  return jresult;\r
+}\r
+\r
+\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_GdxCollisionObjectBridge_1contactCallbackFilter_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {\r
+  GdxCollisionObjectBridge *arg1 = (GdxCollisionObjectBridge *) 0 ;\r
+  int arg2 ;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
+  (void)jarg1_;\r
+  arg1 = *(GdxCollisionObjectBridge **)&jarg1; \r
+  arg2 = (int)jarg2; \r
+  if (arg1) (arg1)->contactCallbackFilter = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT jint JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_GdxCollisionObjectBridge_1contactCallbackFilter_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
+  jint jresult = 0 ;\r
+  GdxCollisionObjectBridge *arg1 = (GdxCollisionObjectBridge *) 0 ;\r
+  int result;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
+  (void)jarg1_;\r
+  arg1 = *(GdxCollisionObjectBridge **)&jarg1; \r
+  result = (int) ((arg1)->contactCallbackFilter);\r
+  jresult = (jint)result; \r
+  return jresult;\r
+}\r
+\r
+\r
 SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1GdxCollisionObjectBridge(JNIEnv *jenv, jclass jcls) {\r
   jlong jresult = 0 ;\r
   GdxCollisionObjectBridge *result = 0 ;\r
@@ -34264,6 +34298,40 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete
 }\r
 \r
 \r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_gdxCheckFilter_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2) {\r
+  jboolean jresult = 0 ;\r
+  int arg1 ;\r
+  int arg2 ;\r
+  bool result;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
+  arg1 = (int)jarg1; \r
+  arg2 = (int)jarg2; \r
+  result = (bool)gdxCheckFilter(arg1,arg2);\r
+  jresult = (jboolean)result; \r
+  return jresult;\r
+}\r
+\r
+\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_gdxCheckFilter_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {\r
+  jboolean jresult = 0 ;\r
+  btCollisionObject *arg1 = (btCollisionObject *) 0 ;\r
+  btCollisionObject *arg2 = (btCollisionObject *) 0 ;\r
+  bool result;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
+  (void)jarg1_;\r
+  (void)jarg2_;\r
+  arg1 = *(btCollisionObject **)&jarg1; \r
+  arg2 = *(btCollisionObject **)&jarg2; \r
+  result = (bool)gdxCheckFilter((btCollisionObject const *)arg1,(btCollisionObject const *)arg2);\r
+  jresult = (jboolean)result; \r
+  return jresult;\r
+}\r
+\r
+\r
 SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btRigidBodyConstructionInfo_1m_1mass_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2) {\r
   btRigidBodyConstructionInfo *arg1 = (btRigidBodyConstructionInfo *) 0 ;\r
   btScalar arg2 ;\r
@@ -50185,75 +50253,73 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Intern
 }\r
 \r
 \r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_BaseContactAddedListener_1enable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
-  BaseContactAddedListener *arg1 = (BaseContactAddedListener *) 0 ;\r
-  \r
-  (void)jenv;\r
-  (void)jcls;\r
-  (void)jarg1_;\r
-  arg1 = *(BaseContactAddedListener **)&jarg1; \r
-  (arg1)->enable();\r
-}\r
-\r
-\r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_BaseContactAddedListener_1disable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
-  BaseContactAddedListener *arg1 = (BaseContactAddedListener *) 0 ;\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListener_1CB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_, jint jarg6, jint jarg7) {\r
+  jboolean jresult = 0 ;\r
+  btManifoldPoint *arg1 = 0 ;\r
+  btCollisionObjectWrapper *arg2 = (btCollisionObjectWrapper *) 0 ;\r
+  int arg3 ;\r
+  int arg4 ;\r
+  btCollisionObjectWrapper *arg5 = (btCollisionObjectWrapper *) 0 ;\r
+  int arg6 ;\r
+  int arg7 ;\r
+  bool result;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
   (void)jarg1_;\r
-  arg1 = *(BaseContactAddedListener **)&jarg1; \r
-  (arg1)->disable();\r
+  (void)jarg2_;\r
+  (void)jarg5_;\r
+  arg1 = *(btManifoldPoint **)&jarg1;\r
+  if (!arg1) {\r
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btManifoldPoint & reference is null");\r
+    return 0;\r
+  } \r
+  arg2 = *(btCollisionObjectWrapper **)&jarg2; \r
+  arg3 = (int)jarg3; \r
+  arg4 = (int)jarg4; \r
+  arg5 = *(btCollisionObjectWrapper **)&jarg5; \r
+  arg6 = (int)jarg6; \r
+  arg7 = (int)jarg7; \r
+  result = (bool)ContactAddedListener_CB(*arg1,(btCollisionObjectWrapper const *)arg2,arg3,arg4,(btCollisionObjectWrapper const *)arg5,arg6,arg7);\r
+  jresult = (jboolean)result; \r
+  return jresult;\r
 }\r
 \r
 \r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_BaseContactAddedListener_1isEnabled(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
-  jboolean jresult = 0 ;\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_currentContactAddedListener_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
   BaseContactAddedListener *arg1 = (BaseContactAddedListener *) 0 ;\r
-  bool result;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
-  (void)jarg1_;\r
   arg1 = *(BaseContactAddedListener **)&jarg1; \r
-  result = (bool)(arg1)->isEnabled();\r
-  jresult = (jboolean)result; \r
-  return jresult;\r
+  currentContactAddedListener = arg1;\r
 }\r
 \r
 \r
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1BaseContactAddedListener(JNIEnv *jenv, jclass jcls) {\r
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_currentContactAddedListener_1get(JNIEnv *jenv, jclass jcls) {\r
   jlong jresult = 0 ;\r
   BaseContactAddedListener *result = 0 ;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
-  result = (BaseContactAddedListener *)new BaseContactAddedListener();\r
+  result = (BaseContactAddedListener *)currentContactAddedListener;\r
   *(BaseContactAddedListener **)&jresult = result; \r
   return jresult;\r
 }\r
 \r
 \r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete_1BaseContactAddedListener(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
-  BaseContactAddedListener *arg1 = (BaseContactAddedListener *) 0 ;\r
-  \r
-  (void)jenv;\r
-  (void)jcls;\r
-  arg1 = *(BaseContactAddedListener **)&jarg1; \r
-  delete arg1;\r
-}\r
-\r
-\r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByWrapper_1onContactAdded(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jint jarg4, jint jarg5, jlong jarg6, jobject jarg6_, jint jarg7, jint jarg8) {\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByWrapper_1onContactAdded(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jint jarg4, jint jarg5, jboolean jarg6, jlong jarg7, jobject jarg7_, jint jarg8, jint jarg9, jboolean jarg10) {\r
   jboolean jresult = 0 ;\r
   ContactAddedListenerByWrapper *arg1 = (ContactAddedListenerByWrapper *) 0 ;\r
   btManifoldPoint *arg2 = 0 ;\r
   btCollisionObjectWrapper *arg3 = (btCollisionObjectWrapper *) 0 ;\r
   int arg4 ;\r
   int arg5 ;\r
-  btCollisionObjectWrapper *arg6 = (btCollisionObjectWrapper *) 0 ;\r
-  int arg7 ;\r
+  bool arg6 ;\r
+  btCollisionObjectWrapper *arg7 = (btCollisionObjectWrapper *) 0 ;\r
   int arg8 ;\r
+  int arg9 ;\r
+  bool arg10 ;\r
   bool result;\r
   \r
   (void)jenv;\r
@@ -50261,7 +50327,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Co
   (void)jarg1_;\r
   (void)jarg2_;\r
   (void)jarg3_;\r
-  (void)jarg6_;\r
+  (void)jarg7_;\r
   arg1 = *(ContactAddedListenerByWrapper **)&jarg1; \r
   arg2 = *(btManifoldPoint **)&jarg2;\r
   if (!arg2) {\r
@@ -50271,10 +50337,12 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Co
   arg3 = *(btCollisionObjectWrapper **)&jarg3; \r
   arg4 = (int)jarg4; \r
   arg5 = (int)jarg5; \r
-  arg6 = *(btCollisionObjectWrapper **)&jarg6\r
-  arg7 = (int)jarg7; \r
+  arg6 = jarg6 ? true : false\r
+  arg7 = *(btCollisionObjectWrapper **)&jarg7; \r
   arg8 = (int)jarg8; \r
-  result = (bool)(arg1)->onContactAdded(*arg2,(btCollisionObjectWrapper const *)arg3,arg4,arg5,(btCollisionObjectWrapper const *)arg6,arg7,arg8);\r
+  arg9 = (int)jarg9; \r
+  arg10 = jarg10 ? true : false; \r
+  result = (bool)(arg1)->onContactAdded(*arg2,(btCollisionObjectWrapper const *)arg3,arg4,arg5,arg6,(btCollisionObjectWrapper const *)arg7,arg8,arg9,arg10);\r
   jresult = (jboolean)result; \r
   return jresult;\r
 }\r
@@ -50322,16 +50390,18 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Contac
 }\r
 \r
 \r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByObject_1onContactAdded(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jint jarg4, jint jarg5, jlong jarg6, jobject jarg6_, jint jarg7, jint jarg8) {\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByObject_1onContactAdded(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jint jarg4, jint jarg5, jboolean jarg6, jlong jarg7, jobject jarg7_, jint jarg8, jint jarg9, jboolean jarg10) {\r
   jboolean jresult = 0 ;\r
   ContactAddedListenerByObject *arg1 = (ContactAddedListenerByObject *) 0 ;\r
   btManifoldPoint *arg2 = 0 ;\r
   btCollisionObject *arg3 = (btCollisionObject *) 0 ;\r
   int arg4 ;\r
   int arg5 ;\r
-  btCollisionObject *arg6 = (btCollisionObject *) 0 ;\r
-  int arg7 ;\r
+  bool arg6 ;\r
+  btCollisionObject *arg7 = (btCollisionObject *) 0 ;\r
   int arg8 ;\r
+  int arg9 ;\r
+  bool arg10 ;\r
   bool result;\r
   \r
   (void)jenv;\r
@@ -50339,7 +50409,7 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Co
   (void)jarg1_;\r
   (void)jarg2_;\r
   (void)jarg3_;\r
-  (void)jarg6_;\r
+  (void)jarg7_;\r
   arg1 = *(ContactAddedListenerByObject **)&jarg1; \r
   arg2 = *(btManifoldPoint **)&jarg2;\r
   if (!arg2) {\r
@@ -50349,10 +50419,12 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Co
   arg3 = *(btCollisionObject **)&jarg3; \r
   arg4 = (int)jarg4; \r
   arg5 = (int)jarg5; \r
-  arg6 = *(btCollisionObject **)&jarg6\r
-  arg7 = (int)jarg7; \r
+  arg6 = jarg6 ? true : false\r
+  arg7 = *(btCollisionObject **)&jarg7; \r
   arg8 = (int)jarg8; \r
-  result = (bool)(arg1)->onContactAdded(*arg2,(btCollisionObject const *)arg3,arg4,arg5,(btCollisionObject const *)arg6,arg7,arg8);\r
+  arg9 = (int)jarg9; \r
+  arg10 = jarg10 ? true : false; \r
+  result = (bool)(arg1)->onContactAdded(*arg2,(btCollisionObject const *)arg3,arg4,arg5,arg6,(btCollisionObject const *)arg7,arg8,arg9,arg10);\r
   jresult = (jboolean)result; \r
   return jresult;\r
 }\r
@@ -50400,16 +50472,18 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Contac
 }\r
 \r
 \r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByValue_1onContactAdded(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jint jarg3, jint jarg4, jint jarg5, jint jarg6, jint jarg7, jint jarg8) {\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByValue_1onContactAdded(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jint jarg3, jint jarg4, jint jarg5, jboolean jarg6, jint jarg7, jint jarg8, jint jarg9, jboolean jarg10) {\r
   jboolean jresult = 0 ;\r
   ContactAddedListenerByValue *arg1 = (ContactAddedListenerByValue *) 0 ;\r
   btManifoldPoint *arg2 = 0 ;\r
   int arg3 ;\r
   int arg4 ;\r
   int arg5 ;\r
-  int arg6 ;\r
+  bool arg6 ;\r
   int arg7 ;\r
   int arg8 ;\r
+  int arg9 ;\r
+  bool arg10 ;\r
   bool result;\r
   \r
   (void)jenv;\r
@@ -50425,10 +50499,12 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Co
   arg3 = (int)jarg3; \r
   arg4 = (int)jarg4; \r
   arg5 = (int)jarg5; \r
-  arg6 = (int)jarg6\r
+  arg6 = jarg6 ? true : false\r
   arg7 = (int)jarg7; \r
   arg8 = (int)jarg8; \r
-  result = (bool)(arg1)->onContactAdded(*arg2,arg3,arg4,arg5,arg6,arg7,arg8);\r
+  arg9 = (int)jarg9; \r
+  arg10 = jarg10 ? true : false; \r
+  result = (bool)(arg1)->onContactAdded(*arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10);\r
   jresult = (jboolean)result; \r
   return jresult;\r
 }\r
@@ -50476,90 +50552,76 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Contac
 }\r
 \r
 \r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_BaseContactProcessedListener_1enable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
-  BaseContactProcessedListener *arg1 = (BaseContactProcessedListener *) 0 ;\r
-  \r
-  (void)jenv;\r
-  (void)jcls;\r
-  (void)jarg1_;\r
-  arg1 = *(BaseContactProcessedListener **)&jarg1; \r
-  (arg1)->enable();\r
-}\r
-\r
-\r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_BaseContactProcessedListener_1disable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
-  BaseContactProcessedListener *arg1 = (BaseContactProcessedListener *) 0 ;\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactProcessedListener_1CB(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {\r
+  jboolean jresult = 0 ;\r
+  btManifoldPoint *arg1 = 0 ;\r
+  void *arg2 = (void *) 0 ;\r
+  void *arg3 = (void *) 0 ;\r
+  bool result;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
   (void)jarg1_;\r
-  arg1 = *(BaseContactProcessedListener **)&jarg1; \r
-  (arg1)->disable();\r
+  arg1 = *(btManifoldPoint **)&jarg1;\r
+  if (!arg1) {\r
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btManifoldPoint & reference is null");\r
+    return 0;\r
+  } \r
+  arg2 = *(void **)&jarg2; \r
+  arg3 = *(void **)&jarg3; \r
+  result = (bool)ContactProcessedListener_CB(*arg1,arg2,arg3);\r
+  jresult = (jboolean)result; \r
+  return jresult;\r
 }\r
 \r
 \r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_BaseContactProcessedListener_1isEnabled(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
-  jboolean jresult = 0 ;\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_currentContactProcessedListener_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
   BaseContactProcessedListener *arg1 = (BaseContactProcessedListener *) 0 ;\r
-  bool result;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
-  (void)jarg1_;\r
   arg1 = *(BaseContactProcessedListener **)&jarg1; \r
-  result = (bool)(arg1)->isEnabled();\r
-  jresult = (jboolean)result; \r
-  return jresult;\r
+  currentContactProcessedListener = arg1;\r
 }\r
 \r
 \r
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1BaseContactProcessedListener(JNIEnv *jenv, jclass jcls) {\r
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_currentContactProcessedListener_1get(JNIEnv *jenv, jclass jcls) {\r
   jlong jresult = 0 ;\r
   BaseContactProcessedListener *result = 0 ;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
-  result = (BaseContactProcessedListener *)new BaseContactProcessedListener();\r
+  result = (BaseContactProcessedListener *)currentContactProcessedListener;\r
   *(BaseContactProcessedListener **)&jresult = result; \r
   return jresult;\r
 }\r
 \r
 \r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete_1BaseContactProcessedListener(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
-  BaseContactProcessedListener *arg1 = (BaseContactProcessedListener *) 0 ;\r
-  \r
-  (void)jenv;\r
-  (void)jcls;\r
-  arg1 = *(BaseContactProcessedListener **)&jarg1; \r
-  delete arg1;\r
-}\r
-\r
-\r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactProcessedListenerByObject_1onContactProcessed(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_) {\r
-  jboolean jresult = 0 ;\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactProcessedListenerByObject_1onContactProcessed(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jboolean jarg4, jlong jarg5, jobject jarg5_, jboolean jarg6) {\r
   ContactProcessedListenerByObject *arg1 = (ContactProcessedListenerByObject *) 0 ;\r
   btManifoldPoint *arg2 = 0 ;\r
   btCollisionObject *arg3 = (btCollisionObject *) 0 ;\r
-  btCollisionObject *arg4 = (btCollisionObject *) 0 ;\r
-  bool result;\r
+  bool arg4 ;\r
+  btCollisionObject *arg5 = (btCollisionObject *) 0 ;\r
+  bool arg6 ;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
   (void)jarg1_;\r
   (void)jarg2_;\r
   (void)jarg3_;\r
-  (void)jarg4_;\r
+  (void)jarg5_;\r
   arg1 = *(ContactProcessedListenerByObject **)&jarg1; \r
   arg2 = *(btManifoldPoint **)&jarg2;\r
   if (!arg2) {\r
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "btManifoldPoint & reference is null");\r
-    return 0;\r
+    return ;\r
   } \r
   arg3 = *(btCollisionObject **)&jarg3; \r
-  arg4 = *(btCollisionObject **)&jarg4\r
-  result = (bool)(arg1)->onContactProcessed(*arg2,(btCollisionObject const *)arg3,(btCollisionObject const *)arg4);\r
-  jresult = (jboolean)result\r
-  return jresult;\r
+  arg4 = jarg4 ? true : false\r
+  arg5 = *(btCollisionObject **)&jarg5; \r
+  arg6 = jarg6 ? true : false\r
+  (arg1)->onContactProcessed(*arg2,(btCollisionObject const *)arg3,arg4,(btCollisionObject const *)arg5,arg6);\r
 }\r
 \r
 \r
@@ -50605,12 +50667,14 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Contac
 }\r
 \r
 \r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactProcessedListenerByValue_1onContactProcessed(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jint jarg3, jint jarg4) {\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactProcessedListenerByValue_1onContactProcessed(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jint jarg3, jboolean jarg4, jint jarg5, jboolean jarg6) {\r
   jboolean jresult = 0 ;\r
   ContactProcessedListenerByValue *arg1 = (ContactProcessedListenerByValue *) 0 ;\r
   btManifoldPoint *arg2 = 0 ;\r
   int arg3 ;\r
-  int arg4 ;\r
+  bool arg4 ;\r
+  int arg5 ;\r
+  bool arg6 ;\r
   bool result;\r
   \r
   (void)jenv;\r
@@ -50624,8 +50688,10 @@ SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Co
     return 0;\r
   } \r
   arg3 = (int)jarg3; \r
-  arg4 = (int)jarg4; \r
-  result = (bool)(arg1)->onContactProcessed(*arg2,arg3,arg4);\r
+  arg4 = jarg4 ? true : false; \r
+  arg5 = (int)jarg5; \r
+  arg6 = jarg6 ? true : false; \r
+  result = (bool)(arg1)->onContactProcessed(*arg2,arg3,arg4,arg5,arg6);\r
   jresult = (jboolean)result; \r
   return jresult;\r
 }\r
@@ -50673,79 +50739,112 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_Contac
 }\r
 \r
 \r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1onContactDestroyed(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1CB(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
   jboolean jresult = 0 ;\r
-  ContactDestroyedListener *arg1 = (ContactDestroyedListener *) 0 ;\r
-  int arg2 ;\r
+  void *arg1 = (void *) 0 ;\r
   bool result;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
-  (void)jarg1_;\r
-  arg1 = *(ContactDestroyedListener **)&jarg1; \r
-  arg2 = (int)jarg2; \r
-  result = (bool)(arg1)->onContactDestroyed(arg2);\r
+  arg1 = *(void **)&jarg1; \r
+  result = (bool)ContactDestroyedListener_CB(arg1);\r
   jresult = (jboolean)result; \r
   return jresult;\r
 }\r
 \r
 \r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1enable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_currentContactDestroyedListener_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
   ContactDestroyedListener *arg1 = (ContactDestroyedListener *) 0 ;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
   (void)jarg1_;\r
   arg1 = *(ContactDestroyedListener **)&jarg1; \r
-  (arg1)->enable();\r
+  currentContactDestroyedListener = arg1;\r
 }\r
 \r
 \r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1disable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_currentContactDestroyedListener_1get(JNIEnv *jenv, jclass jcls) {\r
+  jlong jresult = 0 ;\r
+  ContactDestroyedListener *result = 0 ;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
+  result = (ContactDestroyedListener *)currentContactDestroyedListener;\r
+  *(ContactDestroyedListener **)&jresult = result; \r
+  return jresult;\r
+}\r
+\r
+\r
+SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1ContactDestroyedListener(JNIEnv *jenv, jclass jcls) {\r
+  jlong jresult = 0 ;\r
+  ContactDestroyedListener *result = 0 ;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
+  result = (ContactDestroyedListener *)new SwigDirector_ContactDestroyedListener(jenv);\r
+  *(ContactDestroyedListener **)&jresult = result; \r
+  return jresult;\r
+}\r
+\r
+\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete_1ContactDestroyedListener(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
   ContactDestroyedListener *arg1 = (ContactDestroyedListener *) 0 ;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
+  arg1 = *(ContactDestroyedListener **)&jarg1; \r
+  delete arg1;\r
+}\r
+\r
+\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1onContactDestroyed(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {\r
+  ContactDestroyedListener *arg1 = (ContactDestroyedListener *) 0 ;\r
+  int arg2 ;\r
+  \r
+  (void)jenv;\r
+  (void)jcls;\r
   (void)jarg1_;\r
   arg1 = *(ContactDestroyedListener **)&jarg1; \r
-  (arg1)->disable();\r
+  arg2 = (int)jarg2; \r
+  (arg1)->onContactDestroyed(arg2);\r
 }\r
 \r
 \r
-SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1isEnabled(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
-  jboolean jresult = 0 ;\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1enable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
   ContactDestroyedListener *arg1 = (ContactDestroyedListener *) 0 ;\r
-  bool result;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
   (void)jarg1_;\r
   arg1 = *(ContactDestroyedListener **)&jarg1; \r
-  result = (bool)(arg1)->isEnabled();\r
-  jresult = (jboolean)result; \r
-  return jresult;\r
+  (arg1)->enable();\r
 }\r
 \r
 \r
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_new_1ContactDestroyedListener(JNIEnv *jenv, jclass jcls) {\r
-  jlong jresult = 0 ;\r
-  ContactDestroyedListener *result = 0 ;\r
+SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1disable(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
+  ContactDestroyedListener *arg1 = (ContactDestroyedListener *) 0 ;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
-  result = (ContactDestroyedListener *)new SwigDirector_ContactDestroyedListener(jenv);\r
-  *(ContactDestroyedListener **)&jresult = result\r
-  return jresult;\r
+  (void)jarg1_;\r
+  arg1 = *(ContactDestroyedListener **)&jarg1\r
+  (arg1)->disable();\r
 }\r
 \r
 \r
-SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_delete_1ContactDestroyedListener(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
+SWIGEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactDestroyedListener_1isEnabled(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {\r
+  jboolean jresult = 0 ;\r
   ContactDestroyedListener *arg1 = (ContactDestroyedListener *) 0 ;\r
+  bool result;\r
   \r
   (void)jenv;\r
   (void)jcls;\r
+  (void)jarg1_;\r
   arg1 = *(ContactDestroyedListener **)&jarg1; \r
-  delete arg1;\r
+  result = (bool)(arg1)->isEnabled();\r
+  jresult = (jboolean)result; \r
+  return jresult;\r
 }\r
 \r
 \r
@@ -77723,46 +77822,6 @@ SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btDyn
     return baseptr;\r
 }\r
 \r
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByWrapper_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
-    jlong baseptr = 0;\r
-    (void)jenv;\r
-    (void)jcls;\r
-    *(BaseContactAddedListener **)&baseptr = *(ContactAddedListenerByWrapper **)&jarg1;\r
-    return baseptr;\r
-}\r
-\r
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByObject_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
-    jlong baseptr = 0;\r
-    (void)jenv;\r
-    (void)jcls;\r
-    *(BaseContactAddedListener **)&baseptr = *(ContactAddedListenerByObject **)&jarg1;\r
-    return baseptr;\r
-}\r
-\r
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactAddedListenerByValue_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
-    jlong baseptr = 0;\r
-    (void)jenv;\r
-    (void)jcls;\r
-    *(BaseContactAddedListener **)&baseptr = *(ContactAddedListenerByValue **)&jarg1;\r
-    return baseptr;\r
-}\r
-\r
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactProcessedListenerByObject_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
-    jlong baseptr = 0;\r
-    (void)jenv;\r
-    (void)jcls;\r
-    *(BaseContactProcessedListener **)&baseptr = *(ContactProcessedListenerByObject **)&jarg1;\r
-    return baseptr;\r
-}\r
-\r
-SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_ContactProcessedListenerByValue_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
-    jlong baseptr = 0;\r
-    (void)jenv;\r
-    (void)jcls;\r
-    *(BaseContactProcessedListener **)&baseptr = *(ContactProcessedListenerByValue **)&jarg1;\r
-    return baseptr;\r
-}\r
-\r
 SWIGEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_btSimpleDynamicsWorld_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) {\r
     jlong baseptr = 0;\r
     (void)jenv;\r
@@ -78149,22 +78208,22 @@ SWIGEXPORT void JNICALL Java_com_badlogic_gdx_physics_bullet_gdxBulletJNI_swig_1
       "SwigDirector_InternalTickCallback_onInternalTick", "(Lcom/badlogic/gdx/physics/bullet/InternalTickCallback;JF)V" \r
     },\r
     {\r
-      "SwigDirector_ContactAddedListenerByWrapper_onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/ContactAddedListenerByWrapper;JJIIJII)Z" \r
+      "SwigDirector_ContactAddedListenerByWrapper_onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/ContactAddedListenerByWrapper;JJIIZJIIZ)Z" \r
     },\r
     {\r
-      "SwigDirector_ContactAddedListenerByObject_onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/ContactAddedListenerByObject;JJIIJII)Z" \r
+      "SwigDirector_ContactAddedListenerByObject_onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/ContactAddedListenerByObject;JJIIZJIIZ)Z" \r
     },\r
     {\r
-      "SwigDirector_ContactAddedListenerByValue_onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/ContactAddedListenerByValue;JIIIIII)Z" \r
+      "SwigDirector_ContactAddedListenerByValue_onContactAdded", "(Lcom/badlogic/gdx/physics/bullet/ContactAddedListenerByValue;JIIIZIIIZ)Z" \r
     },\r
     {\r
-      "SwigDirector_ContactProcessedListenerByObject_onContactProcessed", "(Lcom/badlogic/gdx/physics/bullet/ContactProcessedListenerByObject;JJJ)Z\r
+      "SwigDirector_ContactProcessedListenerByObject_onContactProcessed", "(Lcom/badlogic/gdx/physics/bullet/ContactProcessedListenerByObject;JJZJZ)V\r
     },\r
     {\r
-      "SwigDirector_ContactProcessedListenerByValue_onContactProcessed", "(Lcom/badlogic/gdx/physics/bullet/ContactProcessedListenerByValue;JII)Z" \r
+      "SwigDirector_ContactProcessedListenerByValue_onContactProcessed", "(Lcom/badlogic/gdx/physics/bullet/ContactProcessedListenerByValue;JIZIZ)Z" \r
     },\r
     {\r
-      "SwigDirector_ContactDestroyedListener_onContactDestroyed", "(Lcom/badlogic/gdx/physics/bullet/ContactDestroyedListener;I)Z\r
+      "SwigDirector_ContactDestroyedListener_onContactDestroyed", "(Lcom/badlogic/gdx/physics/bullet/ContactDestroyedListener;I)V\r
     }\r
   };\r
   Swig::jclass_gdxBulletJNI = (jclass) jenv->NewGlobalRef(jcls);\r
index 77d51f3..0668f3b 100755 (executable)
@@ -177,7 +177,7 @@ class SwigDirector_ContactAddedListenerByWrapper : public ContactAddedListenerBy
 public:\r
     void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);\r
     SwigDirector_ContactAddedListenerByWrapper(JNIEnv *jenv);\r
-    virtual bool onContactAdded(btManifoldPoint &cp, btCollisionObjectWrapper const *colObj0Wrap, int partId0, int index0, btCollisionObjectWrapper const *colObj1Wrap, int partId1, int index1);\r
+    virtual bool onContactAdded(btManifoldPoint &cp, btCollisionObjectWrapper const *colObj0Wrap, int partId0, int index0, bool match0, btCollisionObjectWrapper const *colObj1Wrap, int partId1, int index1, bool match1);\r
 public:\r
     bool swig_overrides(int n) {\r
       return (n < 1 ? swig_override[n] : false);\r
@@ -191,7 +191,7 @@ class SwigDirector_ContactAddedListenerByObject : public ContactAddedListenerByO
 public:\r
     void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);\r
     SwigDirector_ContactAddedListenerByObject(JNIEnv *jenv);\r
-    virtual bool onContactAdded(btManifoldPoint &cp, btCollisionObject const *colObj0Wrap, int partId0, int index0, btCollisionObject const *colObj1Wrap, int partId1, int index1);\r
+    virtual bool onContactAdded(btManifoldPoint &cp, btCollisionObject const *colObj0, int partId0, int index0, bool match0, btCollisionObject const *colObj1, int partId1, int index1, bool match1);\r
 public:\r
     bool swig_overrides(int n) {\r
       return (n < 1 ? swig_override[n] : false);\r
@@ -205,7 +205,7 @@ class SwigDirector_ContactAddedListenerByValue : public ContactAddedListenerByVa
 public:\r
     void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);\r
     SwigDirector_ContactAddedListenerByValue(JNIEnv *jenv);\r
-    virtual bool onContactAdded(btManifoldPoint &cp, int userValue0, int partId0, int index0, int userValue1, int partId1, int index1);\r
+    virtual bool onContactAdded(btManifoldPoint &cp, int userValue0, int partId0, int index0, bool match0, int userValue1, int partId1, int index1, bool match1);\r
 public:\r
     bool swig_overrides(int n) {\r
       return (n < 1 ? swig_override[n] : false);\r
@@ -219,7 +219,7 @@ class SwigDirector_ContactProcessedListenerByObject : public ContactProcessedLis
 public:\r
     void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);\r
     SwigDirector_ContactProcessedListenerByObject(JNIEnv *jenv);\r
-    virtual bool onContactProcessed(btManifoldPoint &cp, btCollisionObject const *colObj0, btCollisionObject const *colObj1);\r
+    virtual void onContactProcessed(btManifoldPoint &cp, btCollisionObject const *colObj0, bool match0, btCollisionObject const *colObj1, bool match1);\r
 public:\r
     bool swig_overrides(int n) {\r
       return (n < 1 ? swig_override[n] : false);\r
@@ -233,7 +233,7 @@ class SwigDirector_ContactProcessedListenerByValue : public ContactProcessedList
 public:\r
     void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);\r
     SwigDirector_ContactProcessedListenerByValue(JNIEnv *jenv);\r
-    virtual bool onContactProcessed(btManifoldPoint &cp, int userValue0, int userValue1);\r
+    virtual bool onContactProcessed(btManifoldPoint &cp, int userValue0, bool match0, int userValue1, bool match1);\r
 public:\r
     bool swig_overrides(int n) {\r
       return (n < 1 ? swig_override[n] : false);\r
@@ -247,7 +247,7 @@ class SwigDirector_ContactDestroyedListener : public ContactDestroyedListener, p
 public:\r
     void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);\r
     SwigDirector_ContactDestroyedListener(JNIEnv *jenv);\r
-    virtual bool onContactDestroyed(int manifoldPointUserValue);\r
+    virtual void onContactDestroyed(int manifoldPointUserValue);\r
 public:\r
     bool swig_overrides(int n) {\r
       return (n < 1 ? swig_override[n] : false);\r