From 475f8cbdbd96fdbf8f5b216ffebb31a51f25c2f9 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Mon, 29 Jul 2019 20:08:48 -0400
Subject: [PATCH] Save skybox.

---
 ObjEditor.java   |    2 ++
 CameraPane.java  |   29 +++++++++++++++++++----------
 GroupEditor.java |    6 +++---
 Object3D.java    |    3 +++
 4 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/CameraPane.java b/CameraPane.java
index c0913fe..28924e5 100644
--- a/CameraPane.java
+++ b/CameraPane.java
@@ -9316,10 +9316,9 @@
     double[] light2camera = new double[16];
     
     //int newenvy = -1;
-    boolean envyoff = true; // false;
-    String skyboxname = "";
-    String skyboxext;
-    String loadedskyboxname = "";
+    //boolean envyoff = false;
+    
+    String loadedskyboxname;
     
     cVector light0 = new cVector(0, 0, 0); // 1,3,2);
     //float[] light0 = { 0,0,0 };
@@ -11065,10 +11064,18 @@
 //
 //        newenvy = -1;
         
-        if (!skyboxname.equals(this.loadedskyboxname))
+        if (object.skyboxname != null)
         {
-            LoadSkybox(skyboxname + "/", skyboxext, false);
-            loadedskyboxname = skyboxname;
+            if (!object.skyboxname.equals(this.loadedskyboxname))
+            {
+                LoadSkybox(object.skyboxname + "/", object.skyboxext, false);
+                loadedskyboxname = object.skyboxname;
+            }
+        }
+        else
+        {
+            cubemap = null;
+            loadedskyboxname = null;
         }
         
         ratio = ((double) getWidth()) / getHeight();
@@ -15362,7 +15369,7 @@
                 OCCLUSION_CULLING ^= true;
                 System.out.println("OCCLUSION CULLING = " + OCCLUSION_CULLING);
                 break;
-            case '0': envyoff ^= true; repaint(); break;
+            //case '0': envyoff ^= true; repaint(); break;
             case '1':
             case '2':
             case '3':
@@ -15372,7 +15379,7 @@
             case '7':
             case '8':
             case '9':
-                if (envyoff)
+                if (true) // envyoff)
                 {
                     BGcolor = (key - '1')/8.f;
                 }
@@ -16633,6 +16640,7 @@
 
         return cubemap;
     }
+    
     int bigsphere = -1;
 
     float BGcolor = 0.5f;
@@ -16641,7 +16649,8 @@
     
     private void DrawSkyBox(GL gl, float ratio)
     {
-        if (envyoff || cubemap == null)
+        if (//envyoff ||
+                cubemap == null)
         {
             gl.glClearColor(BGcolor, BGcolor, BGcolor, 1);
             gl.glClear(gl.GL_COLOR_BUFFER_BIT);
diff --git a/GroupEditor.java b/GroupEditor.java
index 59663ef..3cb24f8 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -251,9 +251,9 @@
     
     public void ChangeSkybox(String name)
     {
-        cameraView.envyoff = false;
-        cameraView.skyboxname = name;
-        cameraView.skyboxext = "jpg";
+        //cameraView.envyoff = false;
+        group.skyboxname = name;
+        group.skyboxext = "jpg";
         cameraView.repaint();
     }
     
diff --git a/ObjEditor.java b/ObjEditor.java
index f27298a..be8dca3 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -4853,6 +4853,8 @@
             {
                 //readobj.deepCopySelf(copy);
                 copy.clear(); // june 2014
+                copy.skyboxname = readobj.skyboxname;
+                copy.skyboxext = readobj.skyboxext;
                 for (int i = 0; i < readobj.size(); i++)
                 {
                     Object3D child = readobj.get(i); // reserve(i);
diff --git a/Object3D.java b/Object3D.java
index b4b1eb5..1e36e28 100644
--- a/Object3D.java
+++ b/Object3D.java
@@ -29,6 +29,9 @@
     Object3D saveskeleton;
     //
     
+    String skyboxname;
+    String skyboxext;
+    
     byte[] versions[];
     int versionindex = -1;    
         

--
Gitblit v1.6.2