From ce660a4b6ba367bd162dd2cff26d02c80a34c912 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Sun, 06 Oct 2019 13:09:09 -0400
Subject: [PATCH] Fix camera up and skybox AO

---
 Mocap.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/Mocap.java b/Mocap.java
index aa11165..4656cc7 100644
--- a/Mocap.java
+++ b/Mocap.java
@@ -998,7 +998,7 @@
         
         get(0).link2master = path.size() > 1; // hip orientation
         
-        if (get(0).link2master)
+        if (get(0).Link2Support())
         {
             rotateonce = 2;
         }
@@ -1427,7 +1427,7 @@
         double w = 0.00015;
 
         //if (!sourcenode.link2master) // strong pin on floor
-        if (parent.link2master) // strong pin on floor
+        if (parent.Link2Support()) // strong pin on floor
         {
             w = 0.005; // .001;
         }
@@ -1641,7 +1641,7 @@
 //            sourcenode.parent.toParent[3][1] = ground - floor.y;
 //            sourcenode.parent.toParent[3][2] += groundz - floor.z;
 //            sourcenode.parent.toParent[3][1] = K * (ground - floor.y) + (1 - K) * oldposy;
-            if (footcontact && (sourcenode.parent != null && !sourcenode.parent.link2master)) // strong pin on floor
+            if (footcontact && (sourcenode.parent != null && !sourcenode.parent.Link2Support())) // strong pin on floor
             {
         v0.x = groundx - floor.x;
         v0.y = 0; // groundx - floor.x;
@@ -2006,7 +2006,7 @@
 //        if (sourcenode.link2master)
 //        if (goalx != 0 || goalz != 0)
 //            K = 0.02; // .0625;
-        if (parent.link2master) // strong pin on floor
+        if (parent.Link2Support()) // strong pin on floor
         {
             K = 0.05; // 0.02;
         }
@@ -2423,9 +2423,9 @@
 //            SetBreakPoint(get(0).toParent[0], 0);
 //        }
         
-        boolean setrotation = get(0).link2master && !firsttimeafterload && frame > 0;
+        boolean setrotation = get(0).Link2Support() && !firsttimeafterload && frame > 0;
         boolean setposition = sourcenode != null && // sourcenode.parent != null && // july 2014
-                              sourcenode./*parent.*/link2master && !firsttimeafterload && frame > 0;
+                              sourcenode./*parent.*/Link2Support() && !firsttimeafterload && frame > 0;
         
 //        cVector centroid = new cVector();
 //        cVector floor = new cVector();
@@ -2858,7 +2858,7 @@
 
                 // set translation
                 // (currently only possible for root bone! see mocapdata.com data)
-                if (bone._isRoot && link2master) // && !GetFileRoot().link2master)
+                if (bone._isRoot && Link2Support()) // && !GetFileRoot().link2master)
                 {
                     if (hasTranslation) // && _translationEnabled)
                     {
@@ -3924,6 +3924,8 @@
             restarted = true;
         //System.err.println("restarted = true");
             Step();
+            
+            Globals.lighttouched = true;
         }
         else
         {
@@ -3992,6 +3994,11 @@
      //   GetObject().release(i);
     }
     
+    boolean HasBigData()
+    {
+        return skeleton != null;
+    }
+    
     public Object3D get(int i)
     {
         if (i != 0)

--
Gitblit v1.6.2