Normand Briere
2019-08-13 c67de8aca04d988179191ccb52461af00125920e
ObjEditor.java
....@@ -297,11 +297,13 @@
297297 client = inClient;
298298 copy = client;
299299
300
- if (copy.versionlist == null)
301
- {
302
- copy.versionlist = new Object3D[100];
303
- copy.versionindex = -1;
304
- }
300
+// if (copy.versionlist == null)
301
+// {
302
+// copy.versionlist = new Object3D[100];
303
+// copy.versionindex = -1;
304
+//
305
+// callee.Save(true);
306
+// }
305307
306308 // "this" is not called: SetupUI2(objEditor);
307309 }
....@@ -320,6 +322,8 @@
320322 {
321323 copy.versionlist = new Object3D[100];
322324 copy.versionindex = -1;
325
+
326
+// Save(true);
323327 }
324328
325329 SetupUI2(callee.GetEditor());
....@@ -354,11 +358,13 @@
354358 copy = localCopy;
355359 copy.editWindow = this;
356360
357
- if (copy.versionlist == null)
358
- {
359
-// copy.versions = new byte[100][];
361
+// if (copy.versionlist == null)
362
+// {
363
+// copy.versionlist = new Object3D[100];
360364 // copy.versionindex = -1;
361
- }
365
+//
366
+// Save(true);
367
+// }
362368
363369 SetupMenu();
364370
....@@ -427,6 +433,8 @@
427433
428434 ChangeListener changeListener = new ChangeListener()
429435 {
436
+ String name;
437
+
430438 public void stateChanged(ChangeEvent changeEvent)
431439 {
432440 // if (objectPanel.getSelectedIndex() == objectPanel.indexOfTab("Material") && !materialFlushed)
....@@ -445,7 +453,36 @@
445453 // EditSelection(false);
446454 // }
447455
448
- refreshContents(false); // To refresh Info tab
456
+ if (objectPanel.getSelectedIndex() == 4)
457
+ {
458
+ name = copy.skyboxname;
459
+
460
+ if (name == null)
461
+ {
462
+ name = "";
463
+ }
464
+
465
+ copy.skyboxname = "cubemaps/default-skyboxes/rgb";
466
+ copy.skyboxext = "jpg";
467
+ }
468
+ else
469
+ {
470
+ if (name != null)
471
+ {
472
+ if (name.equals(""))
473
+ {
474
+ copy.skyboxname = null;
475
+ copy.skyboxext = null;
476
+ }
477
+ else
478
+ {
479
+ copy.skyboxname = name;
480
+ }
481
+ }
482
+ }
483
+
484
+// refreshContents(false); // To refresh Info tab
485
+ cameraView.repaint();
449486 }
450487 };
451488 objectPanel.addChangeListener(changeListener);
....@@ -4123,7 +4160,7 @@
41234160 {
41244161 //Save(true);
41254162 Replace();
4126
- SetUndoStates();
4163
+ SetVersionStates();
41274164 }
41284165
41294166 private boolean Equal(byte[] compress, byte[] name)
....@@ -4153,7 +4190,7 @@
41534190
41544191 CopyChanged();
41554192
4156
- SetUndoStates();
4193
+ SetVersionStates();
41574194 }
41584195
41594196 public boolean Save(boolean user)
....@@ -4161,7 +4198,7 @@
41614198 System.err.println("Save");
41624199 Replace();
41634200
4164
- cRadio tab = GetCurrentTab();
4201
+ //cRadio tab = GetCurrentTab();
41654202
41664203 Object3D compress = Duplicate(copy); // Saved version. No need for "Replace"?
41674204
....@@ -4199,7 +4236,7 @@
41994236 // copy.versionlist[i] = null;
42004237 // }
42014238
4202
- SetUndoStates();
4239
+ SetVersionStates();
42034240
42044241 // test save
42054242 if (false)
....@@ -4259,7 +4296,7 @@
42594296 {
42604297 Object3D obj = (Object3D)Grafreed.clone(copy.versionlist[copy.versionindex]);
42614298
4262
- SetUndoStates();
4299
+ SetVersionStates();
42634300
42644301 boolean temp = CameraPane.SWITCH;
42654302 CameraPane.SWITCH = false;
....@@ -4326,12 +4363,15 @@
43264363 return count;
43274364 }
43284365
4329
- void SetUndoStates()
4366
+ void SetVersionStates()
43304367 {
4331
- cRadio tab = GetCurrentTab();
4368
+ //if (true)
4369
+ // return;
4370
+
4371
+ //cRadio tab = GetCurrentTab();
43324372
4333
- restoreButton.setEnabled(true); // copy.versionindex != -1);
4334
- replaceButton.setEnabled(true); // copy.versionindex != -1);
4373
+ restoreButton.setEnabled(copy.versionindex != -1);
4374
+ replaceButton.setEnabled(copy.versionindex != -1);
43354375
43364376 previousVersionButton.setEnabled(copy.versionindex > 0);
43374377 nextVersionButton.setEnabled(copy.versionlist[copy.versionindex + 1] != null);
....@@ -4340,8 +4380,10 @@
43404380 copy.versionlist[copy.versionindex + 1] != null);
43414381
43424382 muteSlider = true;
4383
+ versionSlider.setMinimum(0);
43434384 versionSlider.setMaximum(VersionCount() - 1);
43444385 versionSlider.setInteger(copy.versionindex);
4386
+ versionSlider.setEnabled(copy.versionindex != -1);
43454387 muteSlider = false;
43464388 }
43474389
....@@ -4352,7 +4394,7 @@
43524394
43534395 System.err.println("Undo");
43544396
4355
- cRadio tab = GetCurrentTab();
4397
+ //cRadio tab = GetCurrentTab();
43564398
43574399 if (copy.versionindex == 0)
43584400 {
....@@ -4384,7 +4426,7 @@
43844426 {
43854427 System.err.println("Restore");
43864428
4387
- cRadio tab = GetCurrentTab();
4429
+ //cRadio tab = GetCurrentTab();
43884430
43894431 if (copy.versionindex == -1 || copy.versionlist[copy.versionindex] == null)
43904432 {
....@@ -4402,7 +4444,7 @@
44024444 {
44034445 System.err.println("Replace");
44044446
4405
- cRadio tab = GetCurrentTab();
4447
+ //cRadio tab = GetCurrentTab();
44064448
44074449 if (copy.versionindex == -1 || copy.versionlist[copy.versionindex] == null)
44084450 {
....@@ -4420,7 +4462,7 @@
44204462 // Option?
44214463 Replace();
44224464
4423
- cRadio tab = GetCurrentTab();
4465
+ //cRadio tab = GetCurrentTab();
44244466
44254467 if (copy.versionlist[copy.versionindex + 1] == null)
44264468 {
....@@ -4741,7 +4783,7 @@
47414783
47424784 int version = versionSlider.getInteger();
47434785
4744
- if (copy.versionlist[version] != null)
4786
+ if (version != -1 && copy.versionlist[version] != null)
47454787 {
47464788 copy.versionindex = version;
47474789 CopyChanged();
....@@ -5100,7 +5142,7 @@
51005142 }
51015143
51025144 if (previousVersionButton != null && copy.versionlist != null)
5103
- SetUndoStates();
5145
+ SetVersionStates();
51045146 }
51055147
51065148 static TweenManager tweenManager = new TweenManager();
....@@ -5489,8 +5531,11 @@
54895531
54905532 if (copy.versionlist == null)
54915533 {
5534
+ // Backward compatibility
54925535 copy.versionlist = new Object3D[100];
54935536 copy.versionindex = -1;
5537
+
5538
+ Save(true);
54945539 }
54955540
54965541 //? SetUndoStates();
....@@ -5582,6 +5627,8 @@
55825627
55835628 void save()
55845629 {
5630
+ Replace();
5631
+
55855632 if (lastname == null)
55865633 {
55875634 return;