diff --git a/.classpath b/.classpath
deleted file mode 100644
index fceb480..0000000
--- a/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/.gitignore b/.gitignore
index b1f3107..9594c45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,3 +61,8 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk
+/bin/
+
+.classpath
+
+.settings/org.eclipse.jdt.core.prefs
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 3a21537..0000000
--- a/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/src/diveengine2d/Engine.java b/src/diveengine2d/Engine.java
index 933ec31..6953223 100644
--- a/src/diveengine2d/Engine.java
+++ b/src/diveengine2d/Engine.java
@@ -7,6 +7,7 @@ import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferStrategy;
import java.io.File;
+import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
@@ -57,11 +58,14 @@ public class Engine extends Canvas {
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-
+ this.requestFocus();
+ this.addKeyListener(new Input());
+
createBufferStrategy(2);
bs = getBufferStrategy();
while(true) {
+ updateScene();
repaint();
try{
Thread.sleep(17);
@@ -71,17 +75,21 @@ public class Engine extends Canvas {
}
}
+
+ private void updateScene() {
+ SceneManager.updateAll();
+ }
private void loadConfig() throws Exception {
File configFile = null;
try {
- configFile = new File(gameFolder + "\\build.config");
+ configFile = new File(gameFolder + File.separatorChar + "build.config");
} catch (Exception e) {
throw new Exception("Configuration File not found");
}
- List lines = Files.readAllLines(Paths.get(gameFolder, "build.config"));
+ List lines = Files.readAllLines(Paths.get(gameFolder, "build.config"), Charset.forName("UTF-8"));
for (String line : lines) {
diff --git a/src/diveengine2d/Input.java b/src/diveengine2d/Input.java
new file mode 100644
index 0000000..c8721ea
--- /dev/null
+++ b/src/diveengine2d/Input.java
@@ -0,0 +1,39 @@
+package diveengine2d;
+
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Input implements KeyListener{
+
+ private static boolean[] keys = new boolean[512];
+ private static List listeners = new ArrayList();
+
+ public static void addKeyListener(KeyListener listener) {
+ listeners.add(listener);
+ }
+
+ public static boolean getKeyDown(int keyCode) {
+ return keys[keyCode];
+ }
+
+ public static boolean getKeyUp(int keyCode) {
+ return !keys[keyCode];
+ }
+
+ @Override
+ public void keyTyped(KeyEvent e) {}
+
+ @Override
+ public void keyPressed(KeyEvent e) {
+ keys[e.getKeyCode()] = true;
+ for(KeyListener l : listeners) l.keyPressed(e);
+ }
+
+ @Override
+ public void keyReleased(KeyEvent e) {
+ keys[e.getKeyCode()] = false;
+ for(KeyListener l : listeners) l.keyReleased(e);
+ }
+}
diff --git a/src/diveengine2d/RigidBody.java b/src/diveengine2d/RigidBody.java
new file mode 100644
index 0000000..7044f97
--- /dev/null
+++ b/src/diveengine2d/RigidBody.java
@@ -0,0 +1,8 @@
+package diveengine2d;
+
+public class RigidBody extends DiveScript{
+
+ public void update() {
+
+ }
+}
diff --git a/src/diveengine2d/SceneManager.java b/src/diveengine2d/SceneManager.java
index e1612c2..827c81f 100644
--- a/src/diveengine2d/SceneManager.java
+++ b/src/diveengine2d/SceneManager.java
@@ -1,6 +1,7 @@
package diveengine2d;
import java.awt.Color;
import java.awt.Graphics2D;
+import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
@@ -18,7 +19,7 @@ public class SceneManager {
public static boolean loadScene(String scene) {
synchronized(entities) {
try{
- List lines = Files.readAllLines(Paths.get(Engine.gameFolder, scene + ".scene"));
+ List lines = Files.readAllLines(Paths.get(Engine.gameFolder, scene + ".scene"), Charset.forName("UTF-8"));
Stack