From ecc1309a04b527c62ffe97e814daf050dbd025cd Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sat, 17 Aug 2019 04:13:32 -0400 Subject: [PATCH] Skin shader + material panel fix. --- ObjEditor.java | 60 ++++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 42 insertions(+), 18 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index 8e35dec..2b68312 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -426,6 +426,9 @@ static java.util.Vector<Object3D> listUI = new java.util.Vector<Object3D>(); + // This is to refresh the UI of the material panel. + boolean patchMaterial; + void SetupMenu() { frame.setMenuBar(menuBar = new MenuBar()); @@ -951,18 +954,24 @@ boolean temp = CameraPane.SWITCH; CameraPane.SWITCH = false; - object.ExtractBigData(versiontable); + if (Grafreed.grafreed.universe.versiontable == null) + Grafreed.grafreed.universe.versiontable = new java.util.Hashtable<java.util.UUID, Object3D>(); + + object.ExtractBigData(Grafreed.grafreed.universe.versiontable); // if (copy == client) Object3D versions[] = object.versionlist; + java.util.Hashtable<java.util.UUID, Object3D> versiontable = object.versiontable; // if Grafreed.grafreed.universe object.versionlist = null; + object.versiontable = null; //byte[] compress = Compress(copy); Object3D compress = (Object3D)Grafreed.clone(object); object.versionlist = versions; + object.versiontable = versiontable; // if Grafreed.grafreed.universe - object.RestoreBigData(versiontable); + object.RestoreBigData(Grafreed.grafreed.universe.versiontable); CameraPane.SWITCH = temp; @@ -1659,14 +1668,14 @@ //JScrollPane tmp = new JScrollPane(ctrlPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //tmp.setName("Edit"); - objectPanel.add(materialPanel); - objectPanel.setIconAt(0, GetIcon("icons/material.png")); - objectPanel.setToolTipTextAt(0, "Material"); - objectPanel.add(toolboxPanel); - objectPanel.setIconAt(1, GetIcon("icons/primitives.png")); - objectPanel.setToolTipTextAt(1, "Objects & textures"); + objectPanel.setIconAt(0, GetIcon("icons/primitives.png")); + objectPanel.setToolTipTextAt(0, "Objects & textures"); + objectPanel.add(materialPanel); + objectPanel.setIconAt(1, GetIcon("icons/material.png")); + objectPanel.setToolTipTextAt(1, "Material"); + objectPanel.add(skyboxPanel); objectPanel.setIconAt(2, GetIcon("icons/skybox.jpg")); objectPanel.setToolTipTextAt(2, "Backgrounds"); @@ -1683,6 +1692,10 @@ objectPanel.setIconAt(4, GetIcon("icons/XYZ.png")); objectPanel.setToolTipTextAt(4, "XYZ/RGB transform"); + patchMaterial = true; + cameraView.patchMaterial = this; + objectPanel.setSelectedIndex(1); + /* aConstraints.gridx = 0; aConstraints.gridwidth = 1; @@ -1880,7 +1893,15 @@ // Skin colorField.setFloat(material.color); - saturationField.setFloat(material.modulation); + float saturation = material.modulation; + + if (!cameraView.Skinshader) + { + saturation /= 1.5; + } + + saturationField.setFloat(saturation); + subsurfaceField.setFloat(material.subsurface); selfshadowField.setFloat(material.diffuseness); diffusenessField.setFloat(material.factor); @@ -3913,7 +3934,7 @@ //System.out.println("ObjEditor " + event); applySelf0(true); //parent.applySelf(); - objEditor.refreshContents(); + // conflicts with requestFocus objEditor.refreshContents(); } else if (source == resetButton) { CameraPane.fullreset = true; @@ -4225,8 +4246,6 @@ return true; } - java.util.Hashtable<java.util.UUID, Object3D> versiontable = new java.util.Hashtable<java.util.UUID, Object3D>(); - void DeleteVersion() { for (int i = copy.versionindex; i < copy.versionlist.length-1; i++) @@ -4234,7 +4253,11 @@ copy.versionlist[i] = copy.versionlist[i+1]; } - CopyChanged(); + if (copy.versionlist[copy.versionindex] == null) + copy.versionindex -= 1; + + if (copy.versionindex != -1) + CopyChanged(); SetVersionStates(); } @@ -4347,7 +4370,7 @@ boolean temp = CameraPane.SWITCH; CameraPane.SWITCH = false; - copy.ExtractBigData(versiontable); + copy.ExtractBigData(Grafreed.grafreed.universe.versiontable); copy.clear(); @@ -4359,7 +4382,7 @@ copy.add(obj.get(i)); } - copy.RestoreBigData(versiontable); + copy.RestoreBigData(Grafreed.grafreed.universe.versiontable); CameraPane.SWITCH = temp; @@ -4422,8 +4445,8 @@ previousVersionButton.setEnabled(copy.versionindex > 0); nextVersionButton.setEnabled(copy.versionlist[copy.versionindex + 1] != null); - deleteVersionButton.setEnabled(//copy.versionindex > 0 && - copy.versionlist[copy.versionindex + 1] != null); + deleteVersionButton.setEnabled(copy.versionindex != -1); + //copy.versionlist[copy.versionindex + 1] != null); muteSlider = true; versionSlider.setMinimum(0); @@ -4488,7 +4511,7 @@ public boolean Replace() { - System.err.println("Replace"); + //System.err.println("Replace"); //cRadio tab = GetCurrentTab(); @@ -5578,6 +5601,7 @@ copy.versionlist = readobj.versionlist; copy.versionindex = readobj.versionindex; + copy.versiontable = readobj.versiontable; if (copy.versionlist == null) { -- Gitblit v1.6.2