Browse Source

Made filenames for DUDV- and normalmaps for water customisable.

Tankernn 8 years ago
parent
commit
5a8c61acfb

+ 14 - 2
src/main/java/eu/tankernn/gameEngine/MainLoop.java

@@ -1,6 +1,10 @@
 package eu.tankernn.gameEngine;
 
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URL;
 import java.util.ArrayList;
+import java.util.Enumeration;
 import java.util.List;
 import java.util.Random;
 
@@ -60,7 +64,7 @@ public class MainLoop {
 
 	private static final boolean DEBUG = true;
 
-	public static void main(String[] args) {
+	public static void main(String[] args) throws FileNotFoundException {
 		
 		List<Entity> entities = new ArrayList<Entity>();
 		List<Entity> normalMapEntities = new ArrayList<Entity>();
@@ -68,7 +72,15 @@ public class MainLoop {
 
 		DisplayManager.createDisplay("Tankernn Game Engine tester");
 		Loader loader = new Loader();
-
+		
+		try {
+			Enumeration<URL> urls = MainLoop.class.getClassLoader().getResources("");
+			while (urls.hasMoreElements())
+				System.out.println(urls.nextElement().toString());
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		
 		// Monkey
 		ModelData monkeyData = OBJFileLoader.loadOBJ("character");
 		RawModel monkeyModel = loader.loadToVAO(monkeyData);

+ 5 - 1
src/main/java/eu/tankernn/gameEngine/TankernnGame.java

@@ -4,16 +4,19 @@ import eu.tankernn.gameEngine.entities.Camera;
 import eu.tankernn.gameEngine.renderEngine.DisplayManager;
 import eu.tankernn.gameEngine.renderEngine.Loader;
 import eu.tankernn.gameEngine.renderEngine.MasterRenderer;
+import eu.tankernn.gameEngine.water.WaterMaster;
 
 public class TankernnGame {
 	protected Loader loader;
 	protected MasterRenderer renderer;
+	protected WaterMaster waterMaster;
 	protected Camera camera;
 	
-	public TankernnGame(String[] dayTextureFiles, String[] nightTextureFiles) {
+	public TankernnGame(String[] dayTextureFiles, String[] nightTextureFiles, String dudvMap, String normalMap) {
 		loader = new Loader();
 		camera = new Camera();
 		renderer = new MasterRenderer(loader, camera, dayTextureFiles, nightTextureFiles);
+		waterMaster = new WaterMaster(loader, dudvMap, normalMap, renderer);
 	}
 	
 	public void update() {
@@ -25,6 +28,7 @@ public class TankernnGame {
 	}
 	
 	public void cleanUp() {
+		waterMaster.cleanUp();
 		loader.cleanUp();
 		renderer.cleanUp();
 	}

+ 3 - 1
src/main/java/eu/tankernn/gameEngine/objLoader/OBJFileLoader.java

@@ -1,6 +1,7 @@
 package eu.tankernn.gameEngine.objLoader;
 
 import java.io.BufferedReader;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.ArrayList;
@@ -13,13 +14,14 @@ public class OBJFileLoader {
 	
 	private static final String OBJ_LOC = "/";
 	
-	public static ModelData loadOBJ(String objFileName) {
+	public static ModelData loadOBJ(String objFileName) throws FileNotFoundException {
 		InputStreamReader isr = null;
 		String objFile = OBJ_LOC + objFileName + ".obj";
 		try {
 			isr = new InputStreamReader(OBJFileLoader.class.getResourceAsStream(objFile));
 		} catch (NullPointerException e) {
 			System.err.println("File not found in res; don't use any extension");
+			throw new FileNotFoundException();
 		}
 		BufferedReader reader = new BufferedReader(isr);
 		String line;