| 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)