diff --git a/bin/RabiClone.jar b/bin/RabiClone.jar index a5b98f1..422f0d0 100644 Binary files a/bin/RabiClone.jar and b/bin/RabiClone.jar differ diff --git a/src/sig/RabiClone.java b/src/sig/RabiClone.java index 8abf5ac..9217a12 100644 --- a/src/sig/RabiClone.java +++ b/src/sig/RabiClone.java @@ -25,6 +25,7 @@ import sig.engine.PaletteColor; import java.awt.Toolkit; import java.awt.event.KeyEvent; +import java.awt.RenderingHints; public class RabiClone { public static final String PROGRAM_NAME = "RabiClone"; @@ -62,10 +63,19 @@ public class RabiClone { public static long TIME = 0; public static long scaleTime; + public static RenderingHints RENDERHINTS = new RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_OFF); + public static void main(String[] args) { System.setProperty("sun.java2d.transaccel", "True"); System.setProperty("sun.java2d.d3d", "True"); System.setProperty("sun.java2d.ddforcevram", "True"); + System.setProperty("sun.java2d.xrender", "True"); + + RENDERHINTS.put(RenderingHints.KEY_COLOR_RENDERING,RenderingHints.VALUE_COLOR_RENDER_SPEED); + RENDERHINTS.put(RenderingHints.KEY_DITHERING,RenderingHints.VALUE_DITHER_DISABLE); + RENDERHINTS.put(RenderingHints.KEY_FRACTIONALMETRICS,RenderingHints.VALUE_FRACTIONALMETRICS_OFF); + RENDERHINTS.put(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR); + RENDERHINTS.put(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_SPEED); Key.InitializeKeyConversionMap(); diff --git a/src/sig/engine/Panel.java b/src/sig/engine/Panel.java index 49e6061..4e9b38f 100644 --- a/src/sig/engine/Panel.java +++ b/src/sig/engine/Panel.java @@ -1,6 +1,7 @@ package sig.engine; import java.awt.Graphics; import java.awt.Image; +import java.awt.RenderingHints; import java.awt.Toolkit; import java.awt.image.ColorModel; import java.awt.image.MemoryImageSource; @@ -19,6 +20,7 @@ import javax.swing.JPanel; import javax.swing.event.MouseInputListener; import java.awt.event.KeyListener; +import java.awt.Graphics2D; import sig.DrawLoop; import sig.RabiClone; @@ -367,7 +369,8 @@ public class Panel extends JPanel implements Runnable,KeyListener { do { do { if (RabiClone.f.getBufferStrategy()!=null) { - Graphics g2 = RabiClone.f.getBufferStrategy().getDrawGraphics(); + Graphics2D g2 = (Graphics2D)RabiClone.f.getBufferStrategy().getDrawGraphics(); + g2.setRenderingHints(RabiClone.RENDERHINTS); if (g2!=null) { try { paintComponent(g2); diff --git a/src/sig/map/Map.java b/src/sig/map/Map.java index 9770d9d..4fff8bf 100644 --- a/src/sig/map/Map.java +++ b/src/sig/map/Map.java @@ -48,7 +48,9 @@ public class Map { public static Map LoadMap(Maps map) { try { + Map newMap; if (RabiClone.CURRENT_MAP!=null) { + newMap = map.getMap(); if (RabiClone.CURRENT_MAP!=map) { Map currentMapData = RabiClone.CURRENT_MAP.getMap(); resetMapData(currentMapData); @@ -60,8 +62,9 @@ public class Map { } } else { map.initializeMap(); + RabiClone.CURRENT_MAP=map; + newMap = map.getMap(); } - Map newMap = RabiClone.CURRENT_MAP.getMap()!=null?RabiClone.CURRENT_MAP.getMap():new Map(); DataInputStream stream = new DataInputStream(new FileInputStream(map.getFile())); int marker=0; int iterationCount=MAP_WIDTH*MAP_HEIGHT;