From 8088590686a45e71278f9a52bb9cc37943dc0c37 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sun, 23 Jun 2019 08:18:35 -0400 Subject: [PATCH] Full-screen mode. --- Object3D.java | 140 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 130 insertions(+), 10 deletions(-) diff --git a/Object3D.java b/Object3D.java index 17916d8..a5ae9d9 100644 --- a/Object3D.java +++ b/Object3D.java @@ -893,7 +893,8 @@ boolean changedir = random && Math.random() < 0.01; // && !link2master; - if (transformcount*factor > maxcount || (step == 1 && changedir)) + if (transformcount*factor >= maxcount && (rewind || random) || + (step == 1 && changedir)) { countdown = 1; delay = speedup?8:1; @@ -2386,6 +2387,10 @@ } */ } + else + { + //((ObjEditor)editWindow).SetupUI2(null); + } } void createEditWindow(GroupEditor callee, boolean newWindow) //, boolean root) @@ -3503,7 +3508,8 @@ if (blockloop) return; - if (marked || (bRep != null && material != null)) // borderline... + if (//marked || // does not make sense + (bRep != null || material != null)) // borderline... live = h; for (int i = 0; i < Size(); i++) @@ -3524,7 +3530,8 @@ return; //if (bRep != null) - if (marked || (bRep != null && material != null)) // borderline... + if (//marked || // does not make sense + (bRep != null || material != null)) // borderline... link2master = h; for (int i = 0; i < Size(); i++) @@ -3544,7 +3551,8 @@ if (blockloop) return; - if (marked || (bRep != null && material != null)) // borderline... + if (//marked || // does not make sense + (bRep != null || material != null)) // borderline... hide = h; for (int i = 0; i < Size(); i++) @@ -3564,7 +3572,7 @@ if (blockloop) return; - if (bRep != null && material != null) // borderline... + if (bRep != null || material != null) // borderline... marked = h; for (int i = 0; i < Size(); i++) @@ -3574,6 +3582,46 @@ continue; blockloop = true; child.MarkLeaves(h); + blockloop = false; + // release(i); + } + } + + void RewindLeaves(boolean h) + { + if (blockloop) + return; + + if (bRep != null || material != null) // borderline... + rewind = h; + + for (int i = 0; i < Size(); i++) + { + Object3D child = (Object3D) get(i); // reserve(i); + if (child == null) + continue; + blockloop = true; + child.RewindLeaves(h); + blockloop = false; + // release(i); + } + } + + void RandomLeaves(boolean h) + { + if (blockloop) + return; + + if (bRep != null || material != null) // borderline... + random = h; + + for (int i = 0; i < Size(); i++) + { + Object3D child = (Object3D) get(i); // reserve(i); + if (child == null) + continue; + blockloop = true; + child.RandomLeaves(h); blockloop = false; // release(i); } @@ -4347,6 +4395,55 @@ { blockloop = true; get(i).RepairShadow(); + blockloop = false; + } + } + + void RepairSOV() + { + if (blockloop) + return; + + String texname = this.GetPigmentTexture(); + + if (texname.startsWith("sov")) + { + String[] s = texname.split("/"); + + String[] sname = s[1].split("Color.pn"); + + texname = sname[0]; + + if (sname.length > 1) + { + texname += "Color.jpg"; + } + + this.SetPigmentTexture("sov/" + texname); + } + + texname = this.GetBumpTexture(); + + if (texname.startsWith("sov")) + { + String[] s = texname.split("/"); + + String[] sname = s[1].split("Bump.pn"); + + texname = sname[0]; + + if (sname.length > 1) + { + texname += "Bump.jpg"; + } + + this.SetBumpTexture("sov/" + texname); + } + + for (int i=0; i<Size(); i++) + { + blockloop = true; + get(i).RepairSOV(); blockloop = false; } } @@ -5846,16 +5943,27 @@ tex = GetTextures(); } - boolean failed = false; + boolean failedPigment = false; + boolean failedBump = false; try { - display.BindTextures(tex, texres); + display.BindPigmentTexture(tex, texres); } catch (Exception e) { System.err.println("FAILED: " + this); - failed = true; + failedPigment = true; + } + + try + { + display.BindBumpTexture(tex, texres); + } + catch (Exception e) + { + //System.err.println("FAILED: " + this); + failedBump = true; } if (!compiled) @@ -5878,8 +5986,11 @@ } } - if (!failed) - display.ReleaseTextures(tex); + if (!failedBump) + display.ReleaseBumpTexture(tex); + + if (!failedPigment) + display.ReleasePigmentTexture(tex); display.PopMaterial(this, selected); } @@ -6252,6 +6363,11 @@ // dec 2012 new Exception().printStackTrace(); return; + } + + if (dontselect) + { + //bRep.GenerateNormalsMINE(); } display.DrawGeometry(bRep, flipV, selectmode); @@ -7689,6 +7805,10 @@ editWindow = null; } // ? } + else + { + //editWindow.closeUI(); + } } boolean root; // patch for edit windows -- Gitblit v1.6.2