diff --git a/src/sig/Panel.java b/src/sig/Panel.java index 6fa0fc3..fe38e44 100644 --- a/src/sig/Panel.java +++ b/src/sig/Panel.java @@ -33,8 +33,8 @@ public class Panel extends JPanel implements Runnable { private MemoryImageSource mImageProducer; private ColorModel cm; private Thread thread; - Thread[] workerThread = new Thread[8]; - String[][] keySets = new String[8][]; + Thread[] workerThread = new Thread[9]; + String[][] keySets = new String[9][]; ConcurrentLinkedQueue newTris = new ConcurrentLinkedQueue<>(); List accumulatedTris = new ArrayList(); public static ConcurrentLinkedQueue accumulatedTris1 = new ConcurrentLinkedQueue<>(); @@ -134,15 +134,7 @@ public class Panel extends JPanel implements Runnable { int currentSet=0; for (String key : SigRenderer.blockGrid.keySet()) { if (currentPiece==0) { - if (currentSet==7) { - if (SigRenderer.blockGrid.size()%8==0) { - keySets[currentSet] = new String[pieces]; - } else { - keySets[currentSet] = new String[SigRenderer.blockGrid.size()%8]; - } - } else { - keySets[currentSet] = new String[pieces]; - } + keySets[currentSet] = new String[pieces]; } keySets[currentSet][currentPiece]=key; currentPiece++; @@ -167,16 +159,22 @@ public class Panel extends JPanel implements Runnable { accumulatedTris1.clear(); } final Matrix matWorld2 = matWorld; - for (int i=0;i<8;i++) { + for (int i=0;i<9;i++) { final int id=i; workerThread[i] = new Thread(){ @Override public void run() { ConcurrentLinkedQueue newTris = new ConcurrentLinkedQueue<>(); - for (String key : keySets[id]) { - Block b = SigRenderer.blockGrid.get(key); - for (Triangle t : b.block.prepareRender(b)) { - prepareTriForRender(matWorld2, matView, t, newTris); + if (keySets[id]!=null) { + for (String key : keySets[id]) { + if (key!=null) { + Block b = SigRenderer.blockGrid.get(key); + if (b!=null) { + for (Triangle t : b.block.prepareRender(b)) { + prepareTriForRender(matWorld2, matView, t, newTris); + } + } + } } } if (renderFirst) { diff --git a/src/sig/SigRenderer.java b/src/sig/SigRenderer.java index ff9eec8..00a7db6 100644 --- a/src/sig/SigRenderer.java +++ b/src/sig/SigRenderer.java @@ -36,7 +36,7 @@ public class SigRenderer implements WindowFocusListener,KeyListener,MouseListene public static boolean windowActive=true; public static boolean WIREFRAME = false; - public static boolean PROFILING = true; + public static boolean PROFILING = false; public static boolean FLYING_MODE = false; public static int SCREEN_WIDTH=1280; public static int SCREEN_HEIGHT=720; @@ -402,8 +402,6 @@ public class SigRenderer implements WindowFocusListener,KeyListener,MouseListene for (int x=0;x<64;x++) { for (int z=0;z<64;z++) { addBlock(new Vector(x,0,z),Cube.class,BlockType.SOIL_WET,FacingDirection.SOUTH); - addBlock(new Vector(x,1,z),Plant.class,BlockType.valueOf("WHEAT_"+(r.nextInt(7))),FacingDirection.SOUTH); - //addBlock(new Vector(x,1,z),Staircase.class,BlockType.JUNGLE_PLANK,FacingDirection.SOUTH); //addBlock(new Vector(x,2,z),Staircase.class,BlockType.SPRUCE_PLANK,FacingDirection.SOUTH); /*for (int y=1;y