CameraPane.java | ●●●●● patch | view | raw | blame | history | |
Globals.java | ●●●●● patch | view | raw | blame | history | |
GroupEditor.java | ●●●●● patch | view | raw | blame | history | |
ObjEditor.java | ●●●●● patch | view | raw | blame | history | |
Object3D.java | ●●●●● patch | view | raw | blame | history |
CameraPane.java
.. .. @@ -15504,7 +15504,7 @@ 15504 15504 repaint(); 15505 15505 break; 15506 15506 case 'O': 15507 - Globals.drawMode = OCCLUSION; // WARNING15507 + // Too dangerous. Use menu. Globals.drawMode = OCCLUSION; // WARNING15508 15508 repaint(); 15509 15509 break; 15510 15510 case 'o': Globals.java
.. .. @@ -1,10 +1,11 @@ 1 1 2 2 public class Globals 3 3 { 4 + static boolean ADVANCED = false; // false;5 +4 6 static boolean NIMBUSLAF = false; // false; 5 7 6 8 static boolean TOOLTIPS = true; // true; 7 - static boolean ADVANCED = false; // false;8 9 static boolean DEBUG = false; // false 9 10 10 11 static iCameraPane theRenderer; GroupEditor.java
.. .. @@ -417,13 +417,13 @@ 417 417 418 418 assert(false); 419 419 420 - if (copy.versionlist == null)421 - {422 - copy.versionlist = new Object3D[100];423 - copy.versionindex = -1;424 -425 - //Save(true);426 - }420 +// if (copy.versionlist == null)421 +// {422 +// copy.versionlist = new Object3D[100];423 +// copy.versionindex = -1;424 +//425 +// //Save(true);426 +// }427 427 428 428 if(ui) 429 429 SetupUI(objEditor); .. .. @@ -446,13 +446,13 @@ 446 446 447 447 ((cRadio)radioPanel.getComponent(0)).SetCamera(cameraView.renderCamera, true); 448 448 449 - if (copy.versionlist == null)450 - {451 - copy.versionlist = new Object3D[100];452 - copy.versionindex = -1;453 -454 - //Save(true);455 - }449 +// if (copy.versionlist == null)450 +// {451 +// copy.versionlist = new Object3D[100];452 +// copy.versionindex = -1;453 +//454 +// //Save(true);455 +// }456 456 } 457 457 458 458 void CloneSelection(boolean supports) .. .. @@ -835,6 +835,8 @@ 835 835 } 836 836 837 837 oe.menuBar.add(menu = new Menu("Attributes")); 838 + clearVersionsItem = menu.add(new MenuItem("Clear Versions"));839 + clearVersionsItem.addActionListener(this);838 840 clearMaterialsItem = menu.add(new MenuItem("Clear Materials")); 839 841 clearMaterialsItem.addActionListener(this); 840 842 resetAllItem = menu.add(new MenuItem("Reset All")); .. .. @@ -3466,6 +3468,10 @@ 3466 3468 { 3467 3469 ClearMaterials(); 3468 3470 } else 3471 + if (source == clearVersionsItem)3472 + {3473 + ClearVersions();3474 + } else3469 3475 if (source == liveleavesItem) 3470 3476 { 3471 3477 LiveLeaves(true); .. .. @@ -4142,12 +4148,14 @@ 4142 4148 // and check if any of these nodes are reachable below the root. 4143 4149 Grafreed.grafreed.universe.TagObjects(copy, true); 4144 4150 4145 - if (!copy.HasTags())4151 + if (copy.versionlist == null && !copy.HasTags())4146 4152 { 4147 4153 copy.versionlist = new Object3D[100]; 4148 4154 4149 - Save(true);4155 + //Save(true);4150 4156 } 4157 + else4158 + copy.versionindex = -2;4151 4159 4152 4160 Grafreed.grafreed.universe.TagObjects(copy, false); 4153 4161 } .. .. @@ -5110,6 +5118,12 @@ 5110 5118 void ClearMaterials() 5111 5119 { 5112 5120 group.selection.ClearMaterials(); 5121 + refreshContents();5122 + }5123 +5124 + void ClearVersions()5125 + {5126 + group.selection.ClearVersions();5113 5127 refreshContents(); 5114 5128 } 5115 5129 .. .. @@ -6354,6 +6368,7 @@ 6354 6368 private MenuItem clipMeshItem; 6355 6369 private MenuItem smoothMeshItem; 6356 6370 private MenuItem clearMaterialsItem; 6371 + private MenuItem clearVersionsItem;6357 6372 6358 6373 private MenuItem liveleavesItem; 6359 6374 private MenuItem unliveleavesItem; ObjEditor.java
.. .. @@ -383,14 +383,6 @@ 383 383 client = inClient; 384 384 copy = client; 385 385 386 - if (copy.versionlist == null)387 - {388 - copy.versionlist = new Object3D[100];389 - copy.versionindex = -1;390 -391 -// Save(true);392 - }393 -394 386 SetupUI2(callee.GetEditor()); 395 387 } 396 388 .. .. @@ -1884,9 +1876,9 @@ 1884 1876 1885 1877 if (Globals.ADVANCED) 1886 1878 { 1887 - tabbedPane.add(infoPanel);1888 - tabbedPane.setIconAt(4, GetIcon("icons/info.png"));1889 - tabbedPane.setToolTipTextAt(4, "Information");1879 + objectPanel.add(infoPanel);1880 + objectPanel.setIconAt(5, GetIcon("icons/info.png"));1881 + objectPanel.setToolTipTextAt(4, "Information");1890 1882 } 1891 1883 1892 1884 /* .. .. @@ -4475,7 +4467,11 @@ 4475 4467 System.err.println("Save"); 4476 4468 Replace(); 4477 4469 4478 - //cRadio tab = GetCurrentTab();4470 + if (copy.versionlist == null)4471 + {4472 + copy.versionlist = new Object3D[100];4473 + copy.versionindex = -1;4474 + }4479 4475 4480 4476 Object3D compress = Duplicate(copy); // Saved version. No need for "Replace"? 4481 4477 .. .. @@ -4649,7 +4645,7 @@ 4649 4645 4650 4646 //cRadio tab = GetCurrentTab(); 4651 4647 4652 - if (copy.versionlist == null)4648 + if (copy.versionindex == -2)4653 4649 { 4654 4650 saveVersionButton.setEnabled(false); 4655 4651 restoreButton.setEnabled(false); Object3D.java
.. .. @@ -3622,15 +3622,47 @@ 3622 3622 3623 3623 void ClearMaterials() 3624 3624 { 3625 + if (blockloop)3626 + return;3627 +3628 + blockloop = true;3629 +3625 3630 ClearMaterial(); 3626 - for (int i = 0; i < size(); i++)3631 + for (int i = 0; i < Size(); i++)3627 3632 { 3628 - Object3D child = (Object3D) reserve(i);3633 + Object3D child = (Object3D) get(i);3629 3634 if (child == null) 3630 3635 continue; 3631 3636 child.ClearMaterials(); 3632 - release(i);3633 3637 } 3638 +3639 + blockloop = false;3640 + }3641 +3642 + void ClearVersionList()3643 + {3644 + this.versionlist = null;3645 + this.versionindex = -1;3646 + this.versiontable = null;3647 + }3648 +3649 + void ClearVersions()3650 + {3651 + if (blockloop)3652 + return;3653 +3654 + blockloop = true;3655 +3656 + ClearVersionList();3657 + for (int i = 0; i < Size(); i++)3658 + {3659 + Object3D child = (Object3D) get(i);3660 + if (child == null)3661 + continue;3662 + child.ClearVersions();3663 + }3664 +3665 + blockloop = false;3634 3666 } 3635 3667 3636 3668 void FlipV(boolean flip)