From c3c47406ac43dafd51e6ad1d7b92a794bd69b7d6 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Fri, 27 Sep 2019 20:03:29 -0400
Subject: [PATCH] Fix/patch click flicking.

---
 CameraPane.java                           |   16 +++++++++++-----
 PhysicsNode.java                          |    1 +
 GroupEditor.java                          |    1 +
 com/bulletphysics/dynamics/RigidBody.java |   21 ++++++++++++---------
 4 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/CameraPane.java b/CameraPane.java
index b558c23..d075633 100644
--- a/CameraPane.java
+++ b/CameraPane.java
@@ -250,7 +250,7 @@
     
     public javax.media.opengl.GL GetGL0()
     {
-            return null;
+            return currentGL;
     }
     
     public int GenList()
@@ -10761,7 +10761,9 @@
         }
         /**/
 
-        if (selection)
+        boolean control = ((modifiers & CTRL) != 0);
+        
+        if (selection && (!Globals.isLIVE() || control))
         {
             selectbuffer.display();
             return;
@@ -14346,8 +14348,6 @@
 
     public void mousePressed(MouseEvent e)
     {
-        RigidBody.justclicked = true;
-        System.out.println("justclicked: " + e);
         //System.out.println("mousePressed: " + e);
         clickStart(e.getX(), e.getY(), e.getModifiers(), e.getModifiersEx());
     }
@@ -14655,7 +14655,7 @@
         boolean jump;
         boolean live;
         
-        boolean mute;
+        boolean mute = false;
         
 //        void JumpToTarget()
 //        {
@@ -15367,6 +15367,12 @@
 
     public void mouseReleased(MouseEvent e)
     {
+        if (isRenderer && !movingcamera)
+        {
+            RigidBody.justclicked = true;
+            System.out.println("justclicked: " + e);
+        }
+        
         Globals.MOUSEDRAGGED = false;
         
         movingcamera = false;
diff --git a/GroupEditor.java b/GroupEditor.java
index 13ef3d2..bed60d6 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -2524,6 +2524,7 @@
 //                    ragdoll.toParent[3][2] = -0.01;
                     
                     makeSomething(ragdoll);
+                    group(new PhysicsNode());
 			//makeSomething(new VehicleDemo());
 		} else
                     /*
diff --git a/PhysicsNode.java b/PhysicsNode.java
index 3d3ccb0..e3b6fc9 100644
--- a/PhysicsNode.java
+++ b/PhysicsNode.java
@@ -80,6 +80,7 @@
         live = true;
         
         gravity = 1;
+        wind = 1;
     }
     
     void Reset()
diff --git a/com/bulletphysics/dynamics/RigidBody.java b/com/bulletphysics/dynamics/RigidBody.java
index 78b1b5a..4d96feb 100755
--- a/com/bulletphysics/dynamics/RigidBody.java
+++ b/com/bulletphysics/dynamics/RigidBody.java
@@ -242,23 +242,26 @@
 //                wind.y -= worldTransform.origin.y;
 //                wind.z -= worldTransform.origin.z;
                 
-//                this.collisionShape.getAabb(worldTransform, min, max);
-//
-//                if (pos.x < min.x || pos.x > max.x)
-//                    return;
-//                if (pos.y < min.y || pos.y > max.y)
-//                    return;
-//                if (pos.z < min.z || pos.z > max.z)
-//                    return;
+                this.collisionShape.getAabb(worldTransform, min, max);
+
+                if (pos.x < min.x || pos.x > max.x)
+                    return;
+                if (pos.y < min.y || pos.y > max.y)
+                    return;
+                if (pos.z < min.z || pos.z > max.z)
+                    return;
                     
                 float dot = pos.x * wind.x + pos.y * wind.y + pos.z * wind.z;
                 
-                dot = 10;
+                dot = 100;
                 
                 w.x = wind.x * gravity.z * dot;
                 w.y = wind.y * gravity.z * dot;
                 w.z = wind.z * gravity.z * dot;
                 
+                System.out.print("min = " + min);
+                System.out.println("; max = " + max);
+                
 		applyCentralForce(w);
 	}
 	

--
Gitblit v1.6.2