From c49ad213b600f844e9070cb09390c3e6d3d13db4 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Thu, 01 Aug 2019 01:23:12 -0400 Subject: [PATCH] Avoid byte[] for versions. --- ObjEditor.java | 34 ++++++++++++++++++---------------- 1 files changed, 18 insertions(+), 16 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index 3b8dd95..963fa06 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -298,7 +298,7 @@ if (copy.versions == null) { - copy.versions = new byte[100][]; + copy.versions = new Object3D[100]; copy.versionindex = -1; } @@ -317,7 +317,7 @@ if (copy.versions == null) { - copy.versions = new byte[100][]; + copy.versions = new Object3D[100]; copy.versionindex = -1; } @@ -850,7 +850,7 @@ frame.validate(); } - private byte[] CompressCopy() + private Object3D CompressCopy() { boolean temp = CameraPane.SWITCH; CameraPane.SWITCH = false; @@ -858,10 +858,11 @@ copy.ExtractBigData(versiontable); // if (copy == client) - byte[] versions[] = copy.versions; + Object3D versions[] = copy.versions; copy.versions = null; - byte[] compress = Compress(copy); + //byte[] compress = Compress(copy); + Object3D compress = (Object3D)Grafreed.clone(copy); copy.versions = versions; @@ -3565,6 +3566,7 @@ static public byte[] Compress(Object3D o) { + // Slower to actually compress. try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); @@ -3692,15 +3694,14 @@ cRadio tab = GetCurrentTab(); - byte[] compress = CompressCopy(); // Saved version. No need for "Replace". + Object3D compress = CompressCopy(); // Saved version. No need for "Replace". boolean thesame = false; - // Quick heuristic using length. Works only when stream is compressed. - if (copy.versionindex > 0 && copy.versions[copy.versionindex-1] != null && Equal(compress, copy.versions[copy.versionindex-1])) - { - thesame = true; - } +// if (copy.versionindex > 0 && copy.versions[copy.versionindex-1] != null && Equal(compress, copy.versions[copy.versionindex-1])) +// { +// thesame = true; +// } //EditorFrame.m_MainFrame.requestFocusInWindow(); if (!thesame) @@ -3860,7 +3861,7 @@ copy.versionindex -= 1; - CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex])); + CopyChanged((Object3D)copy.versions[copy.versionindex]); return true; } @@ -3877,7 +3878,8 @@ return false; } - CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex])); + //CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex])); + CopyChanged(copy.versions[copy.versionindex]); return true; } @@ -3914,7 +3916,7 @@ copy.versionindex += 1; - CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex])); + CopyChanged(copy.versions[copy.versionindex]); //if (!tab.user[tab.versionindex]) // tab.graphs[tab.versionindex] = null; @@ -4227,7 +4229,7 @@ if (copy.versions[version] != null) { - CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex = version])); + CopyChanged(copy.versions[copy.versionindex = version]); } return; @@ -4962,7 +4964,7 @@ if (copy.versions == null) { - copy.versions = new byte[100][]; + copy.versions = new Object3D[100]; copy.versionindex = -1; } -- Gitblit v1.6.2