From de4f66e0239a736bce24e09c9a0b49b5bb92d84b Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 23 Jul 2019 02:41:35 -0400 Subject: [PATCH] Min shader. --- GroupEditor.java | 128 +++++++++++++++++++++++++++++++----------- 1 files changed, 94 insertions(+), 34 deletions(-) diff --git a/GroupEditor.java b/GroupEditor.java index 7a750fb..f4c7c39 100644 --- a/GroupEditor.java +++ b/GroupEditor.java @@ -60,6 +60,12 @@ this.copy = this.group = group; //selectees = this.group.selectees; + if (copy.versions == null) + { + copy.versions = new byte[100][]; + copy.versionindex = -1; + } + if(ui) SetupUI(objEditor); } @@ -80,6 +86,14 @@ SetupViews(objEditor); ((cRadio)radioPanel.getComponent(0)).SetCamera(cameraView.renderCamera, true); + + if (copy.versions == null) + { + copy.versions = new byte[100][]; + copy.versionindex = -1; + + Save(true); + } } void CloneSelection(boolean supports) @@ -194,8 +208,8 @@ // pasteExpandItem = menu.add(new MenuItem("Paste expand")); // pasteExpandItem.addActionListener(this); menu.add("-"); - clearItem = menu.add(new MenuItem("Clear")); - clearItem.addActionListener(this); + deleteItem = menu.add(new MenuItem("Delete")); + deleteItem.addActionListener(this); if (Globals.ADVANCED) { @@ -421,7 +435,7 @@ genNormalsMESHItem.addActionListener(this); if (Globals.ADVANCED) { - genNormalsMINEItem = menu.add(new MenuItem("My Normals")); + genNormalsMINEItem = menu.add(new MenuItem("Stitch Normals")); genNormalsMINEItem.addActionListener(this); } stripifyItem = menu.add(new MenuItem("Stripify")); @@ -514,10 +528,15 @@ attachBumpItem.addActionListener(this); pigmentBumpItem = menu.add(new MenuItem("Pigment -> Bump")); pigmentBumpItem.addActionListener(this); + //embedTexturesItem detachPigmentItem = menu.add(new MenuItem("Detach Pigment")); detachPigmentItem.addActionListener(this); detachBumpItem = menu.add(new MenuItem("Detach Bump")); detachBumpItem.addActionListener(this); + embedTexturesItem = menu.add(new MenuItem("Embed Textures")); + embedTexturesItem.addActionListener(this); + deEmbedTexturesItem = menu.add(new MenuItem("De-embed Textures")); + deEmbedTexturesItem.addActionListener(this); menu.add("-"); sortbysizeItem = menu.add(new MenuItem("Sort by size")); sortbysizeItem.addActionListener(this); @@ -673,27 +692,28 @@ //oe.toolbarPanel.add(new JSeparator(SwingConstants.VERTICAL)); - oe.toolbarPanel.add(twoButton = new cButton("|-|", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - twoButton.setToolTipText("Show center view only"); - twoButton.addActionListener(this); - this.fullscreenLayout = twoButton; - oe.toolbarPanel.add(fourButton = new cButton("-||", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); fourButton.addActionListener(this); fourButton.setToolTipText("Show left panel only"); + + oe.toolbarPanel.add(twoButton = new cButton("|-|", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); + twoButton.setToolTipText("Show right view only"); + twoButton.addActionListener(this); + this.fullscreenLayout = twoButton; + oe.toolbarPanel.add(sixButton = new cButton("-|-|", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - sixButton.setToolTipText("2-column layout left"); + sixButton.setToolTipText("Show left and right"); sixButton.addActionListener(this); - oe.toolbarPanel.add(threeButton = new cButton("|-|-", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - threeButton.setToolTipText("2-column layout right"); - threeButton.addActionListener(this); - oe.toolbarPanel.add(sevenButton = new cButton("-|-|-", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - sevenButton.setToolTipText("3-column layout"); - sevenButton.addActionListener(this); +// oe.toolbarPanel.add(threeButton = new cButton("|-|-", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); +// threeButton.setToolTipText("2-column layout right"); +// threeButton.addActionListener(this); +// oe.toolbarPanel.add(sevenButton = new cButton("-|-|-", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); +// sevenButton.setToolTipText("3-column layout"); +// sevenButton.addActionListener(this); // - oe.toolbarPanel.add(rootButton = GetButton("icons/write.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - rootButton.setToolTipText("Edit selection in new tab"); + oe.toolbarPanel.add(rootButton = GetButton("icons/openwindow.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); + rootButton.setToolTipText("Open selection in new tab"); rootButton.addActionListener(this); oe.toolbarPanel.add(closeButton = GetButton("icons/close-icon.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); @@ -834,8 +854,8 @@ oe.treePanel.add(copyOptionsPanel); oe.treePanel.Return(); - cGridBag sliderPane = AddSlider(oe.treePanel, "Version", 0, 10, 0); - versionField = (cNumberSlider)sliderPane.getComponent(1); + cGridBag sliderPane = AddSlider(oe.treePanel, "Version", 0, 0, 0); + versionSlider = (cNumberSlider)sliderPane.getComponent(1); sliderPane.preferredHeight = 1; // mainPanel.setDividerLocation(0.5); //1.0); @@ -859,7 +879,7 @@ dgr.addDragGestureListener(this); }catch(Exception e) {} */ - radio.layout = sevenButton; + radio.layout = sixButton; // sevenButton; oe.toolbarPanel.add(radioPanel); //, oe.aConstraints); } @@ -1001,7 +1021,7 @@ } radioButton.SetObject(obj); - radioButton.layout = sevenButton; + radioButton.layout = sixButton; // sevenButton; radioButton.SetCamera(cameraView.renderCamera, false); radioButton.addActionListener(this); radioPanel.add(radioButton); @@ -1680,6 +1700,16 @@ listUI.remove(i); } } + } + + private void EditElement(Object3D elem, boolean newWindow) + { + // if (!(elem instanceof Composite)) + // newWindow = false; + listUI.add(elem); + elem.openEditWindow(this, newWindow); //, false); + System.out.println("edit : " + elem); + elem.editWindow.refreshContents(true); // ? new } /** @@ -2646,7 +2676,7 @@ { StepAll(); } else - if (source == clearItem) // || event.getSource() == clearButton) + if (source == deleteItem) // || event.getSource() == clearButton) { //int indices[] = jList.getSelectedIndices(); //for (int i = indices.length - 1; i >= 0; i--) @@ -3128,7 +3158,7 @@ for (Enumeration e = group.selection.elements(); e.hasMoreElements();) { obj = (Object3D)e.nextElement(); - obj.SetBumpTexture(null); + obj.ResetBumpTexture(); } refreshContents(); @@ -3142,6 +3172,31 @@ obj.SetBumpTexture(obj.GetPigmentTexture()); } + refreshContents(); + } else + if (source == embedTexturesItem) + { + Object3D obj; + for (Enumeration e = group.selection.elements(); e.hasMoreElements();) + { + obj = (Object3D)e.nextElement(); + obj.EmbedTextures(true); + } + + refreshContents(); + } else + if (source == deEmbedTexturesItem) + { + Object3D obj; + for (Enumeration e = group.selection.elements(); e.hasMoreElements();) + { + obj = (Object3D)e.nextElement(); + obj.EmbedTextures(false); + } + + CameraPane.texturepigment.clear(); + CameraPane.texturebump.clear(); + refreshContents(); } else if (source == flashSelectionButton) @@ -3541,8 +3596,10 @@ radio.layout.doClick(); ClearUnpinned(); - SetPinStates(group.selection.size() > 0); - if (group.selection.size() == 1) + //Grafreed.Assert(group != null); + //Grafreed.Assert(group.selection != null); + SetPinStates(group.selection == null || group.selection.size() > 0); + if (group.selection == null || group.selection.size() == 1) EditSelection(false); keepparent = group.parent; // PARENT = NULL or not??? @@ -4136,7 +4193,7 @@ try { - texturedata = Globals.theRenderer.GetTextureData(pigment, false, node.texres); + texturedata = Globals.theRenderer.GetTextureData(tex, false, node.texres); } catch (Exception e) { @@ -4613,6 +4670,12 @@ void EditSelection(boolean newWindow) { + if (group.selection == null) + { + EditElement(group, newWindow); // ? new + return; + } + // aConstraints.gridy = 0; for (int i=0; i<group.selection.size(); i++) { @@ -4623,12 +4686,7 @@ Object3D elem = (Object3D)group.selection.elementAt(i); if(elem != group || !newWindow) { - // if (!(elem instanceof Composite)) - // newWindow = false; - listUI.add(elem); - elem.openEditWindow(this, newWindow); //, false); - System.out.println("edit : " + elem); - elem.editWindow.refreshContents(true); // ? new + EditElement(elem, newWindow); // ? new } } } @@ -4772,7 +4830,7 @@ void refreshContents(boolean cp) { - if (objectPanel.getSelectedIndex() == objectPanel.indexOfTab("Info")) + if (objectPanel.getSelectedIndex() == 2) // objectPanel.indexOfTab("Info")) if (!Globals.MOUSEDRAGGED && group.selection != null) // && !Globals.TIMERRUNNING) { objEditor.ClearInfo(); // .GetMaterial()); @@ -5681,7 +5739,7 @@ private MenuItem pasteLinkItem; private MenuItem pasteCloneItem; private MenuItem pasteExpandItem; - private MenuItem clearItem; + private MenuItem deleteItem; private MenuItem clearAllItem; private MenuItem genUVItem; private MenuItem genNormalsMESHItem; @@ -5765,6 +5823,8 @@ private MenuItem attachBumpItem; private MenuItem detachBumpItem; private MenuItem pigmentBumpItem; + private MenuItem embedTexturesItem; + private MenuItem deEmbedTexturesItem; private MenuItem particleItem; private MenuItem ragdollItem; -- Gitblit v1.6.2