diff --git a/.classpath b/.classpath
index a78e5fc..9b934e1 100755
--- a/.classpath
+++ b/.classpath
@@ -3,10 +3,44 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/layer.bdf b/layer.bdf
index 1ccd406..2154d69 100644
Binary files a/layer.bdf and b/layer.bdf differ
diff --git a/src/projectzombie/Main.java b/src/projectzombie/Main.java
index b58aa8e..90c482b 100755
--- a/src/projectzombie/Main.java
+++ b/src/projectzombie/Main.java
@@ -18,7 +18,7 @@ import projectzombie.init.LayerGenerators;
import projectzombie.init.Layers;
import projectzombie.init.Resources;
import projectzombie.init.Sounds;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.init.Tiles;
import projectzombie.input.JoystickCallback;
import projectzombie.input.KeyCallback;
@@ -98,9 +98,6 @@ public class Main
window = new DisplayWindow("Project Zombie");
window.init();
- // Initialise the textures
- Textures.initTextures(window);
-
// Initialize the gamepad
JoystickCallback.JOYSTICK_CALLBACK.init();
diff --git a/src/projectzombie/audio/AudioObject.java b/src/projectzombie/audio/AudioObject.java
index f3a9ab1..91ac956 100755
--- a/src/projectzombie/audio/AudioObject.java
+++ b/src/projectzombie/audio/AudioObject.java
@@ -22,9 +22,9 @@ import org.lwjgl.system.MemoryStack;
import projectzombie.Main;
import projectzombie.resources.Resource;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.MathHelpers;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec3d;
public class AudioObject
{
diff --git a/src/projectzombie/audio/AudioRandom.java b/src/projectzombie/audio/AudioRandom.java
index 4b7976a..15015ab 100755
--- a/src/projectzombie/audio/AudioRandom.java
+++ b/src/projectzombie/audio/AudioRandom.java
@@ -2,7 +2,7 @@ package projectzombie.audio;
import java.util.Random;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec3d;
public class AudioRandom extends AudioObject
{
diff --git a/src/projectzombie/display/Camera.java b/src/projectzombie/display/Camera.java
index bfdde10..0a6669c 100755
--- a/src/projectzombie/display/Camera.java
+++ b/src/projectzombie/display/Camera.java
@@ -1,27 +1,27 @@
package projectzombie.display;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.matrix.Matrix4;
+import gl_engine.vec.Vec3d;
public class Camera
{
- public Vec3d pos;
- public Vec2d angle;
+ public double angle = 45;
public int renderDistance;
- public double cameraDistance;
- public double distanceFromPlayer;
+ private Matrix4 matrix;
public static Camera camera;
- public Camera(Vec3d pos, Vec2d angle, double cameraDistance, int renderDistance)
+ public Camera(Vec3d pos)
{
- this.angle = new Vec2d(angle.x, -angle.y);
- this.pos = pos.subtract(MathHelpers.moveTowards3(
- cameraDistance, new Vec2d(Math.toRadians(angle.x), Math.toRadians(-angle.y))));
- this.cameraDistance = cameraDistance;
- this.renderDistance = renderDistance;
+ Matrix4 identity = Matrix4.identity();
- this.distanceFromPlayer = 10;
+ identity = Matrix4.multiply(identity, Matrix4.translate(pos.x, 0, pos.y));
+ identity = Matrix4.multiply(identity, Matrix4.rotate(angle, 0, 1, 0));
+ identity = Matrix4.multiply(identity, Matrix4.rotate(-50, 1, 0, 0));
+ identity = Matrix4.multiply(identity, Matrix4.translate(0, 0, -8));
+ }
+
+ public Matrix4 getMatrix() {
+ return matrix;
}
}
diff --git a/src/projectzombie/display/DisplayRender.java b/src/projectzombie/display/DisplayRender.java
index 921b3fd..b778fff 100755
--- a/src/projectzombie/display/DisplayRender.java
+++ b/src/projectzombie/display/DisplayRender.java
@@ -11,18 +11,17 @@ import static org.lwjgl.opengl.GL11.glLoadMatrixf;
import static org.lwjgl.opengl.GL11.glMatrixMode;
import static org.lwjgl.opengl.GL11.glViewport;
-import org.joml.Matrix4f;
import org.lwjgl.opengl.GL;
import org.lwjgl.system.MemoryStack;
+import gl_engine.matrix.Matrix4;
import projectzombie.Main;
import projectzombie.display.lighting.DynamicLighting;
-import projectzombie.display.transparent.TransparentObjects;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.chunk.ChunkEventHandler;
@@ -35,67 +34,20 @@ public class DisplayRender
Main.window.setHeight(h);
// Setup GL and clear the colour
- GL.createCapabilities();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glViewport(0, 0, w, h);
- // Push the matrix
- GlHelpers.pushMatrix();
-
- // Enable some stuff
- GlHelpers.enableTexture2d();
- GlHelpers.enableDepthTest();
- GlHelpers.enableBlend();
- GlHelpers.enableAlpha();
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
- // Set the colour to white
- GlHelpers.color4(1, 1, 1, 1);
-
- // Bind the texmap
- Textures.texmap.bindTexture();
-
if(Main.menu.doGameRender)
{
- // Push the matrix
- GlHelpers.pushMatrix();
-
if(ChunkEventHandler.loaded)
{
- // Set matrix mode
- glMatrixMode(GL_MODELVIEW);
-
- TransparentObjects.clear();
-
- // Set the colour to white
- GlHelpers.color4(1, 1, 1, 1);
-
- // Create a matrix
- Matrix4f m = new Matrix4f();
-
- // Set the perspective
- m.setPerspective((float) Math.toRadians(45.0f), ((float)w)/((float)h), 0.01f, 100.0f);
- try (MemoryStack stack = MemoryStack.stackPush()) {
- glLoadMatrixf(m.get(stack.mallocFloat(16)));
- }
-
- // Set the camera angle
- m.setLookAt(0.0f, 0.0f, 10.0f,
- 0.0f, 0.0f, 0.0f,
- 0.0f, 1.0f, 0.0f);
+ // Create the projection matrix
+ Matrix4 projection = Matrix4.projection((double)w / (double)h, 45, 1, 32);
EntityPlayer player = Main.player;
- Camera camera = new Camera(
- new Vec3d(player.pos.x, player.pos.y, 0),
- new Vec2d(player.angle, 45),
- 10, Chunk.RENDER_DISTANCE);
+ Camera camera = new Camera(new Vec3d(player.pos.x, 0, player.pos.y));
Camera.camera = camera;
- //GlHelpers.translate(0, 0, -5);
- GlHelpers.rotate(camera.angle.y, 1, 0, 0);
- GlHelpers.rotate(camera.angle.x, 0, 0, 1);
- GlHelpers.translate3(-camera.pos.x, -camera.pos.y, -camera.pos.z);
-
// Process all the light sources
DynamicLighting.update();
@@ -103,21 +55,10 @@ public class DisplayRender
Main.world.render(camera);
player.chunk = Main.world.getLayer().getChunk(player.pos);
player.doRender(player.pos, camera);
-
- // Render the sorted transparent objects
- TransparentObjects.render(camera);
}
-
- GlHelpers.popMatrix();
}
// Render the user interface
DisplayRenderUI.render();
-
- // Unbind the texmap
- Textures.texmap.unbindTexture();
-
- // Pop the matrix
- GlHelpers.popMatrix();
}
}
diff --git a/src/projectzombie/display/DisplayRenderUI.java b/src/projectzombie/display/DisplayRenderUI.java
index 83d95fc..b559250 100755
--- a/src/projectzombie/display/DisplayRenderUI.java
+++ b/src/projectzombie/display/DisplayRenderUI.java
@@ -3,13 +3,13 @@ package projectzombie.display;
import projectzombie.Main;
import projectzombie.display.bossbar.BossBars;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.inventory.Inventory;
import projectzombie.text.Text;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.ItemStack;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class DisplayRenderUI
{
@@ -60,8 +60,8 @@ public class DisplayRenderUI
// Render the healthbar
double max_health = player.maxHealth();
double a = 1 - (player.getHealth() / max_health);
- TextureReference health_fg = Textures.UI_HEALTH_FG;
- TextureReference health_bg = Textures.UI_HEALTH_BG;
+ TextureReference health_fg = Models.UI_HEALTH_FG;
+ TextureReference health_bg = Models.UI_HEALTH_BG;
GlHelpers.pushMatrix();
GlHelpers.translate2(-2*s, -9*s);
@@ -82,9 +82,9 @@ public class DisplayRenderUI
// Display the amount of ammo left, and the defence and gun level
GlHelpers.pushMatrix();
- TextureReference ammo_tex = Textures.ITEM_AMMO_BOX;
- TextureReference gunlevel_tex = Textures.UI_GUN_LEVEL;
- TextureReference deflevel_tex = Textures.UI_DEFENCE_LEVEL;
+ TextureReference ammo_tex = Models.ITEM_AMMO_BOX;
+ TextureReference gunlevel_tex = Models.UI_GUN_LEVEL;
+ TextureReference deflevel_tex = Models.UI_DEFENCE_LEVEL;
GlHelpers.translate2(-9.5*s, -9*s);
GlHelpers.begin();
@@ -121,7 +121,7 @@ public class DisplayRenderUI
GlHelpers.popMatrix();
// Display all the items in the players inventory
- TextureReference slots_tex = Textures.UI_ITEM_SLOTS;
+ TextureReference slots_tex = Models.UI_ITEM_SLOTS;
GlHelpers.pushMatrix();
GlHelpers.translate2(3*s, -9.5*s);
@@ -134,7 +134,7 @@ public class DisplayRenderUI
GlHelpers.end();
// Render the players active slot
- TextureReference hotbar_slot_tex = Textures.UI_ACTIVE_SLOT;
+ TextureReference hotbar_slot_tex = Models.UI_ACTIVE_SLOT;
GlHelpers.begin();
hotbar_slot_tex.texCoord(0, 1); GlHelpers.vertex2(2.1 + player.inventory_hand*2, 2.1);
diff --git a/src/projectzombie/display/DisplayWindow.java b/src/projectzombie/display/DisplayWindow.java
index 1a54b16..7e031d7 100755
--- a/src/projectzombie/display/DisplayWindow.java
+++ b/src/projectzombie/display/DisplayWindow.java
@@ -8,7 +8,9 @@ import java.nio.IntBuffer;
import org.lwjgl.BufferUtils;
import org.lwjgl.glfw.GLFW;
+import org.lwjgl.opengl.GL;
+import gl_engine.graphics.GraphicsHelpers;
import mainloop.task.IMainloopTask;
import projectzombie.Main;
import projectzombie.input.CursorEnterCallback;
@@ -64,23 +66,14 @@ public class DisplayWindow implements IMainloopTask
IntBuffer h = BufferUtils.createIntBuffer(1);
monitor = GLFW.glfwGetPrimaryMonitor();
GLFW.glfwGetMonitorPhysicalSize(monitor, w, h);
- this.width = w.get()*4;
- this.height = h.get()*4;
-
- // Set the window hint
- GLFW.glfwWindowHint(GLFW.GLFW_SAMPLES, 0);
- GLFW.glfwWindowHint(GLFW.GLFW_SCALE_TO_MONITOR, 1);
- GLFW.glfwWindowHint(GLFW.GLFW_VISIBLE, 0);
- GLFW.glfwWindowHint(GLFW.GLFW_VERSION_MAJOR, 3);
- GLFW.glfwWindowHint(GLFW.GLFW_VERSION_MINOR, 3);
+ width = w.get()*4;
+ height = h.get()*4;
// Create the window
- this.window = GLFW.glfwCreateWindow(this.width, this.height, this.name, monitor, 0);
+ window = GraphicsHelpers.initWindow("Project Zombie", width, height, monitor);
- // Has the window been created
- if(this.window == 0) {
- System.err.println("Failed to create the window");
- }
+ // Make the context current
+ GLFW.glfwMakeContextCurrent(this.window);
// Set the key handlers
GLFW.glfwSetCursorPosCallback(this.window, new CursorPosCallback());
@@ -104,9 +97,6 @@ public class DisplayWindow implements IMainloopTask
public void render()
{
- // Make the context current
- this.makeContextCurrent();
-
// Set the framebuffer size
int w[] = {0};
int h[] = {0};
@@ -152,10 +142,6 @@ public class DisplayWindow implements IMainloopTask
GLFW.glfwPollEvents();
}
- public void makeContextCurrent() {
- GLFW.glfwMakeContextCurrent(this.window);
- }
-
public boolean shouldClose() {
return GLFW.glfwWindowShouldClose(this.window);
}
diff --git a/src/projectzombie/display/bossbar/BossBars.java b/src/projectzombie/display/bossbar/BossBars.java
index 6045df3..9c531ee 100755
--- a/src/projectzombie/display/bossbar/BossBars.java
+++ b/src/projectzombie/display/bossbar/BossBars.java
@@ -2,7 +2,7 @@ package projectzombie.display.bossbar;
import java.util.ArrayList;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.texture.TextureReference;
@@ -20,8 +20,8 @@ public class BossBars
public static void render()
{
- TextureReference health_fg = Textures.UI_HEALTH_FG;
- TextureReference health_bg = Textures.UI_HEALTH_BG;
+ TextureReference health_fg = Models.UI_HEALTH_FG;
+ TextureReference health_bg = Models.UI_HEALTH_BG;
ArrayList toRemove = new ArrayList();
double s = GlHelpers.getScale() / 10.0;
diff --git a/src/projectzombie/display/lighting/ChunkLightingCollection.java b/src/projectzombie/display/lighting/ChunkLightingCollection.java
index 05756b3..a663c0d 100755
--- a/src/projectzombie/display/lighting/ChunkLightingCollection.java
+++ b/src/projectzombie/display/lighting/ChunkLightingCollection.java
@@ -1,10 +1,10 @@
package projectzombie.display.lighting;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.map.IMap2D;
import projectzombie.util.math.map.Map2D;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
public class ChunkLightingCollection implements IMap2D
diff --git a/src/projectzombie/display/lighting/ChunkLightingTemp.java b/src/projectzombie/display/lighting/ChunkLightingTemp.java
index c16a545..1e91a38 100755
--- a/src/projectzombie/display/lighting/ChunkLightingTemp.java
+++ b/src/projectzombie/display/lighting/ChunkLightingTemp.java
@@ -1,6 +1,6 @@
package projectzombie.display.lighting;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
public class ChunkLightingTemp
diff --git a/src/projectzombie/display/lighting/DynamicLighting.java b/src/projectzombie/display/lighting/DynamicLighting.java
index 557206f..546b59a 100755
--- a/src/projectzombie/display/lighting/DynamicLighting.java
+++ b/src/projectzombie/display/lighting/DynamicLighting.java
@@ -4,9 +4,9 @@ import projectzombie.Main;
import projectzombie.display.Camera;
import projectzombie.entity.Entity;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.chunk.ChunkEventHandler;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/display/lighting/TileLighting.java b/src/projectzombie/display/lighting/TileLighting.java
index 63e2645..9181142 100755
--- a/src/projectzombie/display/lighting/TileLighting.java
+++ b/src/projectzombie/display/lighting/TileLighting.java
@@ -5,11 +5,11 @@ import projectzombie.Main;
import projectzombie.display.Camera;
import projectzombie.entity.player.EntityPlayer;
import projectzombie.mainloop.MainloopHelpers;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.range.Range4i;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec4i;
+import gl_engine.range.Range4i;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec4i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.chunk.ChunkEventHandler;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/display/transparent/ITransparentObject.java b/src/projectzombie/display/transparent/ITransparentObject.java
deleted file mode 100755
index bb2e603..0000000
--- a/src/projectzombie/display/transparent/ITransparentObject.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package projectzombie.display.transparent;
-
-import projectzombie.display.Camera;
-import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-
-public interface ITransparentObject
-{
- public boolean isOpaqueTile();
- public Vec2d getRenderOffset(TileState state);
- public void render(Vec2d pos, Camera camera, TileState state);
-}
diff --git a/src/projectzombie/display/transparent/TransparentObject.java b/src/projectzombie/display/transparent/TransparentObject.java
deleted file mode 100755
index cb20282..0000000
--- a/src/projectzombie/display/transparent/TransparentObject.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package projectzombie.display.transparent;
-
-import projectzombie.display.Camera;
-import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
-
-class TransparentObject
-{
- double distance;
- ITransparentObject object;
- Vec2d pos;
- TileState state;
-
- TransparentObject(ITransparentObject object, Camera camera, Vec2d pos, TileState state) {
- Vec2d offset = object.getRenderOffset(state);
- this.distance = camera.pos.distance(new Vec3d(offset.x + pos.x, offset.y + pos.y, 0));
- this.object = object;
- this.pos = pos;
- this.state = state;
- }
-}
\ No newline at end of file
diff --git a/src/projectzombie/display/transparent/TransparentObjects.java b/src/projectzombie/display/transparent/TransparentObjects.java
deleted file mode 100755
index 0f26878..0000000
--- a/src/projectzombie/display/transparent/TransparentObjects.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package projectzombie.display.transparent;
-
-import projectzombie.display.Camera;
-import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-
-public class TransparentObjects
-{
- private static TransparentObject[] objects = new TransparentObject[0];
-
- public static void clear() {
- objects = new TransparentObject[0];
- }
-
- public static void register(ITransparentObject object, Camera camera, Vec2d pos, TileState state)
- {
- TransparentObject r_to = new TransparentObject(object, camera, pos, state);
- TransparentObject[] objects_n = new TransparentObject[objects.length + 1];
- boolean added = false;
- int upto = 0;
-
-
- //System.out.println("objects length: "+objects.length);
- //System.out.println("objects_n length: "+objects_n.length);
-
- // Loop over the transparent object items
- for(int i=0;i to.distance && !added) {
- added = true;
- objects_n[upto] = r_to;
- upto += 1;
- }
-
- objects_n[upto] = to;
- upto += 1;
- }
-
- if(!added) {
- objects_n[upto] = r_to;
- }
-
- objects = objects_n;
- }
-
- public static void render(Camera camera)
- {
- // Loop over the objects and render all of them
- for(TransparentObject to : objects) {
- to.object.render(to.pos, camera, to.state);
- }
- }
-}
diff --git a/src/projectzombie/entity/Entity.java b/src/projectzombie/entity/Entity.java
index 997e8b9..31e44e5 100755
--- a/src/projectzombie/entity/Entity.java
+++ b/src/projectzombie/entity/Entity.java
@@ -11,19 +11,18 @@ import bdf.types.BdfObject;
import mainloop.task.IMainloopTask;
import projectzombie.Main;
import projectzombie.display.Camera;
-import projectzombie.display.transparent.ITransparentObject;
-import projectzombie.display.transparent.TransparentObjects;
import projectzombie.init.Entities;
import projectzombie.tiles.Tile;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.chunk.ChunkEventHandler;
import projectzombie.world.layer.Layer;
-public class Entity implements ITransparentObject, IBdfClassManager
+public class Entity implements IBdfClassManager
{
public Vec2d pos;
public boolean opaqueTile = true;
@@ -188,23 +187,14 @@ public class Entity implements ITransparentObject, IBdfClassManager
public void render(Vec2d pos, Camera camera) {
}
- @Override
public void render(Vec2d pos, Camera camera, TileState state) {
this.render(pos, camera);
}
- public void doRender(Vec2d pos, Camera camera)
- {
- if(this.opaqueTile) {
- TransparentObjects.register(this, camera, pos, null);
- }
-
- else {
- this.render(pos, camera);
- }
+ public void doRender(Vec2d pos, Camera camera) {
+ this.render(pos, camera);
}
- @Override
public boolean isOpaqueTile() {
return this.opaqueTile;
}
@@ -338,7 +328,6 @@ public class Entity implements ITransparentObject, IBdfClassManager
return true;
}
- @Override
public Vec2d getRenderOffset(TileState state) {
return new Vec2d(0, 0);
}
diff --git a/src/projectzombie/entity/EntityBoss.java b/src/projectzombie/entity/EntityBoss.java
index 0957449..14d2bad 100755
--- a/src/projectzombie/entity/EntityBoss.java
+++ b/src/projectzombie/entity/EntityBoss.java
@@ -9,17 +9,17 @@ import projectzombie.display.Camera;
import projectzombie.display.bossbar.BossBars;
import projectzombie.display.bossbar.IBossBar;
import projectzombie.init.Items;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.init.Tiles;
import projectzombie.time.GameTimer;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.ItemStack;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.random.OpenSimplexNoise;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -183,13 +183,13 @@ public class EntityBoss extends EntityVertical implements IBossBar, EntityKillWi
{
// Get the boss texture
if(moving && firing) {
- tex = Textures.ENTITY_BOSS_WALKING_AND_FIRING;
+ tex = Models.ENTITY_BOSS_WALKING_AND_FIRING;
} else if(moving) {
- tex = Textures.ENTITY_BOSS_WALKING;
+ tex = Models.ENTITY_BOSS_WALKING;
} else if(firing) {
- tex = Textures.ENTITY_BOSS_FIRING;
+ tex = Models.ENTITY_BOSS_FIRING;
} else {
- tex = Textures.ENTITY_BOSS_IDLE;
+ tex = Models.ENTITY_BOSS_IDLE;
}
// Call render
diff --git a/src/projectzombie/entity/EntityBullet.java b/src/projectzombie/entity/EntityBullet.java
index afdf87b..4be3d24 100755
--- a/src/projectzombie/entity/EntityBullet.java
+++ b/src/projectzombie/entity/EntityBullet.java
@@ -9,11 +9,11 @@ import projectzombie.settings.SettingQuality;
import projectzombie.tiles.Tile;
import projectzombie.tiles.TileBulletBreakable;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/entity/EntityDummy.java b/src/projectzombie/entity/EntityDummy.java
index 6b59ec2..c55ca23 100755
--- a/src/projectzombie/entity/EntityDummy.java
+++ b/src/projectzombie/entity/EntityDummy.java
@@ -1,17 +1,17 @@
package projectzombie.entity;
import bdf.types.BdfObject;
-import projectzombie.init.Textures;
-import projectzombie.util.math.vec.Vec2d;
+import projectzombie.init.Models;
+import gl_engine.vec.Vec2d;
public class EntityDummy extends EntityVertical implements EntityAlive
{
public EntityDummy(BdfObject bdf) {
- super(bdf, Textures.ENTITY_DUMMY, new Vec2d(1, 1));
+ super(bdf, Models.ENTITY_DUMMY, new Vec2d(1, 1));
}
public EntityDummy(Vec2d pos) {
- super(pos, Textures.ENTITY_DUMMY, new Vec2d(1, 1));
+ super(pos, Models.ENTITY_DUMMY, new Vec2d(1, 1));
this.hitbox = 0.5;
this.isSolid = true;
diff --git a/src/projectzombie/entity/EntityExplosion.java b/src/projectzombie/entity/EntityExplosion.java
index c06969d..f486221 100755
--- a/src/projectzombie/entity/EntityExplosion.java
+++ b/src/projectzombie/entity/EntityExplosion.java
@@ -9,11 +9,11 @@ import projectzombie.entity.particle.ParticleSmoke;
import projectzombie.init.Sounds;
import projectzombie.init.Tiles;
import projectzombie.util.gl.texture.IHasTexture;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/entity/EntityFlare.java b/src/projectzombie/entity/EntityFlare.java
index 3e67886..ac1e1a6 100755
--- a/src/projectzombie/entity/EntityFlare.java
+++ b/src/projectzombie/entity/EntityFlare.java
@@ -2,9 +2,9 @@ package projectzombie.entity;
import bdf.types.BdfObject;
import projectzombie.display.Camera;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.texture.TextureReference;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.layer.Layer;
public class EntityFlare extends EntityTnt
@@ -26,7 +26,7 @@ public class EntityFlare extends EntityTnt
@Override
public void render(Vec2d pos, Camera camera, TextureReference tex, Vec2d size) {
- super.render(pos, camera, Textures.ENTITY_FLARE, size);
+ super.render(pos, camera, Models.ENTITY_FLARE, size);
}
@Override
diff --git a/src/projectzombie/entity/EntityGrapplingHook.java b/src/projectzombie/entity/EntityGrapplingHook.java
index 18b0557..a8fdeac 100755
--- a/src/projectzombie/entity/EntityGrapplingHook.java
+++ b/src/projectzombie/entity/EntityGrapplingHook.java
@@ -5,9 +5,9 @@ import bdf.types.BdfObject;
import projectzombie.Main;
import projectzombie.display.Camera;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
import projectzombie.world.layer.layergen.LayerGenRememberPlayerPos;
@@ -19,7 +19,7 @@ public class EntityGrapplingHook extends EntityVertical
private Entity entity;
public EntityGrapplingHook(BdfObject bdf) {
- super(bdf, Textures.ENTITY_GRAPPLING_HOOK, new Vec2d(1, 16));
+ super(bdf, Models.ENTITY_GRAPPLING_HOOK, new Vec2d(1, 16));
}
@Override
@@ -41,7 +41,7 @@ public class EntityGrapplingHook extends EntityVertical
}
public EntityGrapplingHook(Vec2d pos, int layerId, Entity entity) {
- super(pos, Textures.ENTITY_GRAPPLING_HOOK, new Vec2d(1, 16));
+ super(pos, Models.ENTITY_GRAPPLING_HOOK, new Vec2d(1, 16));
this.layerId = layerId;
this.height = -16;
diff --git a/src/projectzombie/entity/EntityItem.java b/src/projectzombie/entity/EntityItem.java
index 69c4b09..8675450 100755
--- a/src/projectzombie/entity/EntityItem.java
+++ b/src/projectzombie/entity/EntityItem.java
@@ -3,12 +3,12 @@ package projectzombie.entity;
import bdf.types.BdfNamedList;
import bdf.types.BdfObject;
import projectzombie.display.Camera;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.ItemStack;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/entity/EntityParticle.java b/src/projectzombie/entity/EntityParticle.java
index 054e7bb..f45971a 100755
--- a/src/projectzombie/entity/EntityParticle.java
+++ b/src/projectzombie/entity/EntityParticle.java
@@ -5,7 +5,7 @@ import projectzombie.Main;
import projectzombie.display.Camera;
import projectzombie.settings.SettingQuality;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -56,7 +56,7 @@ public class EntityParticle extends Entity
GlHelpers.disableTexture2d();
// Get the angle between the camera and the bullet
- double angle_r = camera.angle.x;
+ double angle_r = camera.angle;
// Make the bullet upright
GlHelpers.translate3(size/2, 0, 0);
diff --git a/src/projectzombie/entity/EntityTnt.java b/src/projectzombie/entity/EntityTnt.java
index 3b31eb5..337abe4 100755
--- a/src/projectzombie/entity/EntityTnt.java
+++ b/src/projectzombie/entity/EntityTnt.java
@@ -4,11 +4,11 @@ import bdf.types.BdfNamedList;
import bdf.types.BdfObject;
import projectzombie.display.Camera;
import projectzombie.entity.particle.ParticleSpark;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.MathHelpers;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -21,7 +21,7 @@ public class EntityTnt extends EntityVertical
private double explode_damage;
public EntityTnt(BdfObject bdf) {
- super(bdf, Textures.ENTITY_TNT, new Vec2d(0.5, 0.5));
+ super(bdf, Models.ENTITY_TNT, new Vec2d(0.5, 0.5));
}
@Override
@@ -53,7 +53,7 @@ public class EntityTnt extends EntityVertical
}
public EntityTnt(Vec2d pos, double angle, int explode_radius, double explode_damage) {
- super(pos, Textures.ENTITY_TNT, new Vec2d(0.5, 0.5));
+ super(pos, Models.ENTITY_TNT, new Vec2d(0.5, 0.5));
Vec2d v = MathHelpers.moveTowards2(0.05, Math.toRadians(angle));
velocity = new Vec3d(v.x, v.y, 0.01);
diff --git a/src/projectzombie/entity/EntityVertical.java b/src/projectzombie/entity/EntityVertical.java
index 0f9a806..112ab03 100755
--- a/src/projectzombie/entity/EntityVertical.java
+++ b/src/projectzombie/entity/EntityVertical.java
@@ -7,10 +7,10 @@ import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.VerticalRender;
import projectzombie.util.gl.texture.IHasTexture;
import projectzombie.util.gl.texture.TextureReference;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.MathHelpers;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
public class EntityVertical extends Entity implements IHasTexture
{
diff --git a/src/projectzombie/entity/EntityZombie.java b/src/projectzombie/entity/EntityZombie.java
index ccd929f..f068c95 100755
--- a/src/projectzombie/entity/EntityZombie.java
+++ b/src/projectzombie/entity/EntityZombie.java
@@ -5,13 +5,13 @@ import java.util.Random;
import bdf.types.BdfNamedList;
import bdf.types.BdfObject;
import projectzombie.Main;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.astar.AStar;
import projectzombie.util.math.astar.AStarSearcher;
import projectzombie.util.math.random.OpenSimplexNoise;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -39,7 +39,7 @@ public class EntityZombie extends EntityVertical implements EntityAlive, EntityK
private static final Vec2d size = new Vec2d(1, 1);
public EntityZombie(BdfObject bdf) {
- super(bdf, Textures.ENTITY_ZOMBIE_F, size);
+ super(bdf, Models.ENTITY_ZOMBIE_F, size);
// Set some settings
hitbox = 0.5;
@@ -84,7 +84,7 @@ public class EntityZombie extends EntityVertical implements EntityAlive, EntityK
}
public EntityZombie(Vec2d pos) {
- super(pos, Textures.ENTITY_ZOMBIE_F, size);
+ super(pos, Models.ENTITY_ZOMBIE_F, size);
seed = rand.nextLong();
Random rand = new Random(seed);
@@ -170,7 +170,7 @@ public class EntityZombie extends EntityVertical implements EntityAlive, EntityK
@Override
public TextureReference getTexture() {
- return Textures.ENTITY_ZOMBIE_F;
+ return Models.ENTITY_ZOMBIE_F;
}
public void moveInVector(Vec2d vec) {
diff --git a/src/projectzombie/entity/EntityZombieArmored.java b/src/projectzombie/entity/EntityZombieArmored.java
index e339e93..69da047 100755
--- a/src/projectzombie/entity/EntityZombieArmored.java
+++ b/src/projectzombie/entity/EntityZombieArmored.java
@@ -2,9 +2,9 @@ package projectzombie.entity;
import bdf.types.BdfObject;
import projectzombie.display.Camera;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.texture.TextureReference;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class EntityZombieArmored extends EntityZombie
{
@@ -23,7 +23,7 @@ public class EntityZombieArmored extends EntityZombie
@Override
public void render(Vec2d pos, Camera camera, TextureReference tex, Vec2d size) {
- super.render(pos, camera, Textures.ENTITY_ZOMBIE_F_ARMORED, size);
+ super.render(pos, camera, Models.ENTITY_ZOMBIE_F_ARMORED, size);
}
@Override
diff --git a/src/projectzombie/entity/particle/ParticleBlood.java b/src/projectzombie/entity/particle/ParticleBlood.java
index 2100890..7131f2d 100755
--- a/src/projectzombie/entity/particle/ParticleBlood.java
+++ b/src/projectzombie/entity/particle/ParticleBlood.java
@@ -6,11 +6,11 @@ import projectzombie.display.Camera;
import projectzombie.entity.EntityParticle;
import projectzombie.settings.SettingQuality;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/entity/particle/ParticleBreak.java b/src/projectzombie/entity/particle/ParticleBreak.java
index c9762e7..2454e3c 100755
--- a/src/projectzombie/entity/particle/ParticleBreak.java
+++ b/src/projectzombie/entity/particle/ParticleBreak.java
@@ -11,12 +11,12 @@ import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.texture.AnimationReference;
import projectzombie.util.gl.texture.IHasTexture;
import projectzombie.util.gl.texture.TextureReference;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/entity/particle/ParticleLava.java b/src/projectzombie/entity/particle/ParticleLava.java
index 7ee2126..78acd40 100755
--- a/src/projectzombie/entity/particle/ParticleLava.java
+++ b/src/projectzombie/entity/particle/ParticleLava.java
@@ -6,10 +6,10 @@ import projectzombie.display.Camera;
import projectzombie.entity.EntityParticle;
import projectzombie.settings.SettingQuality;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/entity/particle/ParticleSmoke.java b/src/projectzombie/entity/particle/ParticleSmoke.java
index 1faa4da..58f8fa1 100755
--- a/src/projectzombie/entity/particle/ParticleSmoke.java
+++ b/src/projectzombie/entity/particle/ParticleSmoke.java
@@ -4,11 +4,11 @@ import projectzombie.Main;
import projectzombie.display.Camera;
import projectzombie.entity.EntityParticle;
import projectzombie.entity.EntityVertical;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.settings.SettingQuality;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -20,7 +20,7 @@ public class ParticleSmoke extends EntityVertical
double disappear_speed;
public ParticleSmoke(Vec2d pos) {
- super(new Vec2d(0, 0), Textures.PARTICLE_SMOKE_RANDOM.getTexture(), new Vec2d(1, 1));
+ super(new Vec2d(0, 0), Models.PARTICLE_SMOKE_RANDOM.getTexture(), new Vec2d(1, 1));
this.pos = new Vec2d(
RandomHelpers.randrange(rand, 1000)/1000.0 - 0.5 + pos.x,
diff --git a/src/projectzombie/entity/particle/ParticleSpark.java b/src/projectzombie/entity/particle/ParticleSpark.java
index 993d541..114a8f6 100755
--- a/src/projectzombie/entity/particle/ParticleSpark.java
+++ b/src/projectzombie/entity/particle/ParticleSpark.java
@@ -4,7 +4,7 @@ import projectzombie.display.Camera;
import projectzombie.entity.EntityParticle;
import projectzombie.settings.SettingQuality;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/entity/particle/ParticleWater.java b/src/projectzombie/entity/particle/ParticleWater.java
index 04054a8..cb35ba3 100755
--- a/src/projectzombie/entity/particle/ParticleWater.java
+++ b/src/projectzombie/entity/particle/ParticleWater.java
@@ -4,11 +4,11 @@ import projectzombie.display.Camera;
import projectzombie.entity.EntityParticle;
import projectzombie.settings.SettingQuality;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/entity/player/EntityPlayer.java b/src/projectzombie/entity/player/EntityPlayer.java
index bb8e417..67ab898 100755
--- a/src/projectzombie/entity/player/EntityPlayer.java
+++ b/src/projectzombie/entity/player/EntityPlayer.java
@@ -17,17 +17,17 @@ import projectzombie.entity.EntityItem;
import projectzombie.entity.EntityVertical;
import projectzombie.entity.particle.ParticleBreak;
import projectzombie.init.Items;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.inventory.Inventory;
import projectzombie.menu.MenuDeath;
import projectzombie.settings.Cheats;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.ItemStack;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.MathHelpers;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.World;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.chunk.ChunkEventHandler;
@@ -42,8 +42,8 @@ public class EntityPlayer extends EntityVertical implements EntityAlive, EntityI
public boolean GUN = false;
public boolean moving = false;
- public TextureReference PLAYER_MOVING = Textures.ENTITY_PLAYER_B_W_MOVING;
- public TextureReference PLAYER_STILL = Textures.ENTITY_PLAYER_B_W_STILL;
+ public TextureReference PLAYER_MOVING = Models.ENTITY_PLAYER_B_W_MOVING;
+ public TextureReference PLAYER_STILL = Models.ENTITY_PLAYER_B_W_STILL;
public double height = 0;
diff --git a/src/projectzombie/init/Textures.java b/src/projectzombie/init/Models.java
similarity index 96%
rename from src/projectzombie/init/Textures.java
rename to src/projectzombie/init/Models.java
index c167a39..3471363 100755
--- a/src/projectzombie/init/Textures.java
+++ b/src/projectzombie/init/Models.java
@@ -10,22 +10,8 @@ import projectzombie.util.gl.texture.TextureMap;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.gl.texture.TextureReferenceRandom;
-public class Textures
+public class Models
{
- public static void initTextures(DisplayWindow window)
- {
- // Make the context current
- window.makeContextCurrent();
- GL.createCapabilities();
-
- // Initiaize all the textures
- texmap.init();
- }
-
- public static final ArrayList animations = new ArrayList();
-
- public static final TextureMap texmap = new TextureMap(16, Resources.TEXMAP_PNG);
-
public static final TextureReference TILE_GRASS = texmap.getTextureReference(0, 1, 0, 1);
public static final TextureReference TILE_SAND = texmap.getTextureReference(1, 2, 0, 1);
public static final TextureReference TILE_STONE = texmap.getTextureReference(2, 3, 0, 1);
diff --git a/src/projectzombie/init/Resources.java b/src/projectzombie/init/Resources.java
index 79b6835..01b9624 100755
--- a/src/projectzombie/init/Resources.java
+++ b/src/projectzombie/init/Resources.java
@@ -1,12 +1,14 @@
package projectzombie.init;
+import gl_engine.texture.TextureAtlas3D;
import projectzombie.resources.Resource;
public class Resources
{
public static void loadResources()
{
- TEXMAP_PNG.load();
+ ATLAS = TextureAtlas3D.loadAll("/resources/texture/list.txt");
+ ATLAS.generate();
GUN_OGG_0.load();
GUN_OGG_1.load();
@@ -26,7 +28,7 @@ public class Resources
EXPLOSION_OGG.load();
}
- public static final Resource TEXMAP_PNG = new Resource("texmap.png");
+ public static TextureAtlas3D ATLAS;
public static final Resource GUN_OGG_0 = new Resource("sound/gun0.ogg");
public static final Resource GUN_OGG_1 = new Resource("sound/gun1.ogg");
diff --git a/src/projectzombie/input/CursorPosCallback.java b/src/projectzombie/input/CursorPosCallback.java
index 1e7a2d1..9a5eb97 100755
--- a/src/projectzombie/input/CursorPosCallback.java
+++ b/src/projectzombie/input/CursorPosCallback.java
@@ -4,7 +4,7 @@ import org.lwjgl.glfw.GLFW;
import org.lwjgl.glfw.GLFWCursorPosCallbackI;
import projectzombie.Main;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class CursorPosCallback implements GLFWCursorPosCallbackI
{
diff --git a/src/projectzombie/input/KeyCallback.java b/src/projectzombie/input/KeyCallback.java
index bb9607b..691907c 100755
--- a/src/projectzombie/input/KeyCallback.java
+++ b/src/projectzombie/input/KeyCallback.java
@@ -28,7 +28,7 @@ import org.lwjgl.glfw.GLFWKeyCallbackI;
import mainloop.task.IMainloopTask;
import projectzombie.Main;
import projectzombie.input.types.Input;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class KeyCallback implements GLFWKeyCallbackI, IMainloopTask
{
diff --git a/src/projectzombie/input/types/Input.java b/src/projectzombie/input/types/Input.java
index 320c01e..37eee85 100755
--- a/src/projectzombie/input/types/Input.java
+++ b/src/projectzombie/input/types/Input.java
@@ -1,6 +1,6 @@
package projectzombie.input.types;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public interface Input
{
diff --git a/src/projectzombie/input/types/InputGUI.java b/src/projectzombie/input/types/InputGUI.java
index 00126a3..d651a8b 100755
--- a/src/projectzombie/input/types/InputGUI.java
+++ b/src/projectzombie/input/types/InputGUI.java
@@ -1,7 +1,7 @@
package projectzombie.input.types;
import projectzombie.menu.gui.GUI;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class InputGUI implements Input
{
diff --git a/src/projectzombie/input/types/InputGame.java b/src/projectzombie/input/types/InputGame.java
index 074d58b..207bf1a 100755
--- a/src/projectzombie/input/types/InputGame.java
+++ b/src/projectzombie/input/types/InputGame.java
@@ -2,8 +2,8 @@ package projectzombie.input.types;
import projectzombie.Main;
import projectzombie.menu.MenuGamePause;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.MathHelpers;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.ChunkEventHandler;
public class InputGame implements Input
diff --git a/src/projectzombie/items/Item.java b/src/projectzombie/items/Item.java
index a119299..71f8b06 100755
--- a/src/projectzombie/items/Item.java
+++ b/src/projectzombie/items/Item.java
@@ -7,7 +7,7 @@ import projectzombie.inventory.Inventory;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.ItemStack;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/items/ItemAmmo.java b/src/projectzombie/items/ItemAmmo.java
index d21143d..882c148 100755
--- a/src/projectzombie/items/ItemAmmo.java
+++ b/src/projectzombie/items/ItemAmmo.java
@@ -2,7 +2,7 @@ package projectzombie.items;
import projectzombie.entity.Entity;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -12,7 +12,7 @@ public class ItemAmmo extends Item
public ItemAmmo() {
- this.texture = Textures.ITEM_AMMO_BOX;
+ this.texture = Models.ITEM_AMMO_BOX;
}
@Override
diff --git a/src/projectzombie/items/ItemDefenceUpgrade.java b/src/projectzombie/items/ItemDefenceUpgrade.java
index dfdbd21..cec5ced 100755
--- a/src/projectzombie/items/ItemDefenceUpgrade.java
+++ b/src/projectzombie/items/ItemDefenceUpgrade.java
@@ -2,7 +2,7 @@ package projectzombie.items;
import projectzombie.Main;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -12,7 +12,7 @@ public class ItemDefenceUpgrade extends Item
public ItemDefenceUpgrade() {
- this.texture = Textures.ITEM_DEFENCE_UPGRADE;
+ this.texture = Models.ITEM_DEFENCE_UPGRADE;
}
@Override
diff --git a/src/projectzombie/items/ItemEmpty.java b/src/projectzombie/items/ItemEmpty.java
index df4da6e..34acf5e 100755
--- a/src/projectzombie/items/ItemEmpty.java
+++ b/src/projectzombie/items/ItemEmpty.java
@@ -3,7 +3,7 @@ package projectzombie.items;
import projectzombie.entity.Entity;
import projectzombie.entity.player.EntityPlayer;
import projectzombie.util.math.ItemStack;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/items/ItemFlare.java b/src/projectzombie/items/ItemFlare.java
index 3286845..53097c6 100755
--- a/src/projectzombie/items/ItemFlare.java
+++ b/src/projectzombie/items/ItemFlare.java
@@ -2,7 +2,7 @@ package projectzombie.items;
import projectzombie.entity.EntityFlare;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -12,7 +12,7 @@ public class ItemFlare extends Item
public ItemFlare() {
- this.texture = Textures.ENTITY_FLARE;
+ this.texture = Models.ENTITY_FLARE;
}
@Override
diff --git a/src/projectzombie/items/ItemGrapplingHook.java b/src/projectzombie/items/ItemGrapplingHook.java
index 3fbaccf..db1f186 100755
--- a/src/projectzombie/items/ItemGrapplingHook.java
+++ b/src/projectzombie/items/ItemGrapplingHook.java
@@ -2,10 +2,10 @@ package projectzombie.items;
import projectzombie.entity.EntityGrapplingHook;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.MathHelpers;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -14,7 +14,7 @@ public class ItemGrapplingHook extends Item
public ItemGrapplingHook() {
- this.texture = Textures.ITEM_GRAPPLING_HOOK;
+ this.texture = Models.ITEM_GRAPPLING_HOOK;
}
@Override
diff --git a/src/projectzombie/items/ItemGunUpgrade.java b/src/projectzombie/items/ItemGunUpgrade.java
index 56d272a..6e93492 100755
--- a/src/projectzombie/items/ItemGunUpgrade.java
+++ b/src/projectzombie/items/ItemGunUpgrade.java
@@ -2,7 +2,7 @@ package projectzombie.items;
import projectzombie.Main;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -12,7 +12,7 @@ public class ItemGunUpgrade extends Item
public ItemGunUpgrade() {
- this.texture = Textures.ITEM_GUN_UPGRADE;
+ this.texture = Models.ITEM_GUN_UPGRADE;
}
@Override
diff --git a/src/projectzombie/items/ItemHealthPotion.java b/src/projectzombie/items/ItemHealthPotion.java
index 50efe57..b4ac348 100755
--- a/src/projectzombie/items/ItemHealthPotion.java
+++ b/src/projectzombie/items/ItemHealthPotion.java
@@ -1,7 +1,7 @@
package projectzombie.items;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -11,7 +11,7 @@ public class ItemHealthPotion extends Item
public ItemHealthPotion() {
- this.texture = Textures.ITEM_HEALTH_POTION;
+ this.texture = Models.ITEM_HEALTH_POTION;
}
@Override
diff --git a/src/projectzombie/items/ItemLantern.java b/src/projectzombie/items/ItemLantern.java
index 34bf0a9..79530cd 100755
--- a/src/projectzombie/items/ItemLantern.java
+++ b/src/projectzombie/items/ItemLantern.java
@@ -1,11 +1,11 @@
package projectzombie.items;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.init.Tiles;
import projectzombie.util.math.ItemStack;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.MathHelpers;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -14,7 +14,7 @@ public class ItemLantern extends Item
public ItemLantern() {
- this.texture = Textures.TILE_LANTERN;
+ this.texture = Models.TILE_LANTERN;
}
@Override
diff --git a/src/projectzombie/items/ItemRock.java b/src/projectzombie/items/ItemRock.java
index af6a0aa..0b6bd03 100755
--- a/src/projectzombie/items/ItemRock.java
+++ b/src/projectzombie/items/ItemRock.java
@@ -1,7 +1,7 @@
package projectzombie.items;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -11,7 +11,7 @@ public class ItemRock extends Item
public ItemRock() {
- this.texture = Textures.TILE_ROCK;
+ this.texture = Models.TILE_ROCK;
}
@Override
diff --git a/src/projectzombie/items/ItemSpawn.java b/src/projectzombie/items/ItemSpawn.java
index b110f3b..32c185a 100755
--- a/src/projectzombie/items/ItemSpawn.java
+++ b/src/projectzombie/items/ItemSpawn.java
@@ -2,7 +2,7 @@ package projectzombie.items;
import projectzombie.entity.player.EntityPlayer;
import projectzombie.util.math.ItemStack;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/items/ItemTnt.java b/src/projectzombie/items/ItemTnt.java
index e75b5b1..13a8399 100755
--- a/src/projectzombie/items/ItemTnt.java
+++ b/src/projectzombie/items/ItemTnt.java
@@ -2,7 +2,7 @@ package projectzombie.items;
import projectzombie.entity.EntityTnt;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -12,7 +12,7 @@ public class ItemTnt extends Item
public ItemTnt() {
- this.texture = Textures.ENTITY_TNT;
+ this.texture = Models.ENTITY_TNT;
}
@Override
diff --git a/src/projectzombie/items/spawner/ItemSpawnZombie.java b/src/projectzombie/items/spawner/ItemSpawnZombie.java
index 3ee8cc1..e537732 100755
--- a/src/projectzombie/items/spawner/ItemSpawnZombie.java
+++ b/src/projectzombie/items/spawner/ItemSpawnZombie.java
@@ -1,9 +1,9 @@
package projectzombie.items.spawner;
import projectzombie.entity.EntityZombie;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.items.ItemSpawn;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -12,7 +12,7 @@ public class ItemSpawnZombie extends ItemSpawn
public ItemSpawnZombie() {
- this.texture = Textures.ENTITY_ZOMBIE_B;
+ this.texture = Models.ENTITY_ZOMBIE_B;
}
@Override
diff --git a/src/projectzombie/menu/MenuSettings.java b/src/projectzombie/menu/MenuSettings.java
index baef517..4a0cfc4 100755
--- a/src/projectzombie/menu/MenuSettings.java
+++ b/src/projectzombie/menu/MenuSettings.java
@@ -14,7 +14,7 @@ import projectzombie.menu.gui.components.ButtonSetting;
import projectzombie.menu.gui.components.GUIBackToMenu;
import projectzombie.menu.gui.components.OverlayBackground;
import projectzombie.settings.SettingQuality;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
import projectzombie.world.chunk.Chunk;
public class MenuSettings extends Menu
diff --git a/src/projectzombie/menu/gui/Button.java b/src/projectzombie/menu/gui/Button.java
index c830ec9..16a954f 100755
--- a/src/projectzombie/menu/gui/Button.java
+++ b/src/projectzombie/menu/gui/Button.java
@@ -1,12 +1,12 @@
package projectzombie.menu.gui;
import projectzombie.Main;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.input.InputMode;
import projectzombie.text.Text;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.texture.TextureReference;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class Button implements GUIComponent, GUISelectable
{
@@ -66,9 +66,9 @@ public class Button implements GUIComponent, GUISelectable
TextureReference tex;
boolean mouseHover = InputMode.Controller ? this.selected : this.checkMouseHover(mousePos);
if(mouseHover) {
- tex = Textures.BUTTON_HOVER;
+ tex = Models.BUTTON_HOVER;
} else {
- tex = Textures.BUTTON;
+ tex = Models.BUTTON;
}
GlHelpers.color4(1, 1, 1, 1);
diff --git a/src/projectzombie/menu/gui/ButtonGroup.java b/src/projectzombie/menu/gui/ButtonGroup.java
index a8e620d..d24bc21 100755
--- a/src/projectzombie/menu/gui/ButtonGroup.java
+++ b/src/projectzombie/menu/gui/ButtonGroup.java
@@ -2,7 +2,7 @@ package projectzombie.menu.gui;
import java.util.ArrayList;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class ButtonGroup implements GUIContainer
{
diff --git a/src/projectzombie/menu/gui/GUI.java b/src/projectzombie/menu/gui/GUI.java
index 0c58664..80dc515 100755
--- a/src/projectzombie/menu/gui/GUI.java
+++ b/src/projectzombie/menu/gui/GUI.java
@@ -2,7 +2,7 @@ package projectzombie.menu.gui;
import java.util.ArrayList;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class GUI implements GUIContainer
{
diff --git a/src/projectzombie/menu/gui/GUIComponent.java b/src/projectzombie/menu/gui/GUIComponent.java
index 0cb154f..d8acb15 100755
--- a/src/projectzombie/menu/gui/GUIComponent.java
+++ b/src/projectzombie/menu/gui/GUIComponent.java
@@ -1,6 +1,6 @@
package projectzombie.menu.gui;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public interface GUIComponent
{
diff --git a/src/projectzombie/menu/gui/Label.java b/src/projectzombie/menu/gui/Label.java
index c948688..007a0d4 100755
--- a/src/projectzombie/menu/gui/Label.java
+++ b/src/projectzombie/menu/gui/Label.java
@@ -2,8 +2,8 @@ package projectzombie.menu.gui;
import projectzombie.text.Text;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec3d;
public class Label implements GUIComponent
{
diff --git a/src/projectzombie/menu/gui/Overlay.java b/src/projectzombie/menu/gui/Overlay.java
index 5a86239..d8ea450 100755
--- a/src/projectzombie/menu/gui/Overlay.java
+++ b/src/projectzombie/menu/gui/Overlay.java
@@ -1,9 +1,9 @@
package projectzombie.menu.gui;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
-import projectzombie.util.math.vec.Vec4d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec3d;
+import gl_engine.vec.Vec4d;
public class Overlay implements GUIComponent
{
diff --git a/src/projectzombie/menu/gui/components/ButtonBasic.java b/src/projectzombie/menu/gui/components/ButtonBasic.java
index ddbc6b7..25b8313 100755
--- a/src/projectzombie/menu/gui/components/ButtonBasic.java
+++ b/src/projectzombie/menu/gui/components/ButtonBasic.java
@@ -1,7 +1,7 @@
package projectzombie.menu.gui.components;
import projectzombie.menu.gui.Button;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class ButtonBasic extends Button {
diff --git a/src/projectzombie/menu/gui/components/ButtonGroupPause.java b/src/projectzombie/menu/gui/components/ButtonGroupPause.java
index a4385fe..001a0e5 100755
--- a/src/projectzombie/menu/gui/components/ButtonGroupPause.java
+++ b/src/projectzombie/menu/gui/components/ButtonGroupPause.java
@@ -4,7 +4,7 @@ import projectzombie.Main;
import projectzombie.menu.MenuMain;
import projectzombie.menu.MenuSettings;
import projectzombie.menu.gui.ButtonGroup;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class ButtonGroupPause extends ButtonGroup
{
diff --git a/src/projectzombie/menu/gui/components/ButtonSetting.java b/src/projectzombie/menu/gui/components/ButtonSetting.java
index ebc2e63..13be1e6 100755
--- a/src/projectzombie/menu/gui/components/ButtonSetting.java
+++ b/src/projectzombie/menu/gui/components/ButtonSetting.java
@@ -2,7 +2,7 @@ package projectzombie.menu.gui.components;
import projectzombie.menu.gui.Alignment;
import projectzombie.settings.Settings;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class ButtonSetting extends ButtonBasic
{
diff --git a/src/projectzombie/menu/gui/components/LabelMain.java b/src/projectzombie/menu/gui/components/LabelMain.java
index 7430561..67a5197 100755
--- a/src/projectzombie/menu/gui/components/LabelMain.java
+++ b/src/projectzombie/menu/gui/components/LabelMain.java
@@ -1,7 +1,7 @@
package projectzombie.menu.gui.components;
import projectzombie.menu.gui.Label;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class LabelMain extends Label
{
diff --git a/src/projectzombie/menu/gui/components/LabelPause.java b/src/projectzombie/menu/gui/components/LabelPause.java
index ce32c36..1bf2cec 100755
--- a/src/projectzombie/menu/gui/components/LabelPause.java
+++ b/src/projectzombie/menu/gui/components/LabelPause.java
@@ -1,7 +1,7 @@
package projectzombie.menu.gui.components;
import projectzombie.menu.gui.Label;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class LabelPause extends Label
{
diff --git a/src/projectzombie/menu/gui/components/OverlayBackground.java b/src/projectzombie/menu/gui/components/OverlayBackground.java
index 9f8cfbd..f1449ed 100755
--- a/src/projectzombie/menu/gui/components/OverlayBackground.java
+++ b/src/projectzombie/menu/gui/components/OverlayBackground.java
@@ -1,7 +1,7 @@
package projectzombie.menu.gui.components;
import projectzombie.menu.gui.Overlay;
-import projectzombie.util.math.vec.Vec4d;
+import gl_engine.vec.Vec4d;
public class OverlayBackground extends Overlay
{
diff --git a/src/projectzombie/model/Model.java b/src/projectzombie/model/Model.java
new file mode 100644
index 0000000..723f5da
--- /dev/null
+++ b/src/projectzombie/model/Model.java
@@ -0,0 +1,65 @@
+package projectzombie.model;
+
+import gl_engine.MathHelpers;
+import gl_engine.texture.TextureRef3D;
+
+import static org.lwjgl.opengl.GL33.*;
+
+public abstract class Model
+{
+ int vao, size;
+ boolean loaded = false;
+ private static final int SIZE = 7;
+
+ public int getSize() {
+ return size;
+ }
+
+ // px, py, pz, tx, ty
+ protected abstract float[] getVerticies();
+ protected abstract TextureRef3D[] getTextures();
+
+ public void bind()
+ {
+ if(loaded) {
+ glBindVertexArray(vao);
+ }
+
+ else
+ {
+ float[] verticies = this.getVerticies();
+ TextureRef3D[] refs = this.getTextures();
+
+ if(verticies.length % SIZE != 0 || refs.length * 3 != verticies.length / SIZE) {
+ System.err.println("Invalid model");
+ System.exit(1);
+ return;
+ }
+
+ size = verticies.length/SIZE;
+ double k = 0.001;
+
+ for(int i=0;i'): l = CHAR_G_THEN; break;
- case('<'): l = CHAR_L_THEN; break;
+ case('>'): l = CHAR_G_THAN; break;
+ case('<'): l = CHAR_L_THAN; break;
}
- // Is the letter not null
- if(l != null)
- {
- // Render the character
- l.texCoord(0, 1); GlHelpers.vertex2(sy*i, 0 );
- l.texCoord(0, 0); GlHelpers.vertex2(sy*i, sx);
- l.texCoord(1, 0); GlHelpers.vertex2(sy*(i+1), sx);
- l.texCoord(1, 1); GlHelpers.vertex2(sy*(i+1), 0 );
- }
+
}
// Stop drawing quads
diff --git a/src/projectzombie/tiles/Tile.java b/src/projectzombie/tiles/Tile.java
index edeee39..e534ccb 100755
--- a/src/projectzombie/tiles/Tile.java
+++ b/src/projectzombie/tiles/Tile.java
@@ -1,16 +1,14 @@
package projectzombie.tiles;
import projectzombie.display.Camera;
-import projectzombie.display.transparent.ITransparentObject;
-import projectzombie.display.transparent.TransparentObjects;
import projectzombie.entity.Entity;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
-public class Tile implements ITransparentObject
+public class Tile
{
public short id;
public boolean opaqueTile = false;
@@ -23,22 +21,13 @@ public class Tile implements ITransparentObject
public boolean emitsLight = false;
public boolean passNaturalLight = true;
- @Override
public void render(Vec2d pos, Camera camera, TileState state) {
}
- public void doRender(Vec2d pos, Camera camera, TileState state)
- {
- if(this.opaqueTile) {
- TransparentObjects.register(this, camera, pos, state);
- }
-
- else {
- this.render(pos, camera, state);
- }
+ public void doRender(Vec2d pos, Camera camera, TileState state) {
+ this.render(pos, camera, state);
}
- @Override
public boolean isOpaqueTile() {
return this.opaqueTile;
}
@@ -46,7 +35,6 @@ public class Tile implements ITransparentObject
public void onWalkedOn(Chunk chunk, Layer layer, Vec2i pos, Entity entity, TileState state) {
}
- @Override
public Vec2d getRenderOffset(TileState ts) {
return new Vec2d(0.5, 0.5);
}
diff --git a/src/projectzombie/tiles/TileBossPortal.java b/src/projectzombie/tiles/TileBossPortal.java
index dfa261e..f17402c 100755
--- a/src/projectzombie/tiles/TileBossPortal.java
+++ b/src/projectzombie/tiles/TileBossPortal.java
@@ -8,11 +8,11 @@ import projectzombie.entity.Entity;
import projectzombie.entity.particle.ParticleBreak;
import projectzombie.entity.player.EntityPlayer;
import projectzombie.init.LayerGenerators;
-import projectzombie.init.Textures;
-import projectzombie.util.math.MathHelpers;
+import projectzombie.init.Models;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.ChunkEventHandler;
import projectzombie.world.layer.Layer;
import projectzombie.world.layer.layergen.LayerGenBossArena;
@@ -22,7 +22,7 @@ public class TileBossPortal extends TileVertical
private static Random rand = new Random();
public TileBossPortal() {
- super(Textures.TILE_BOSS_PORTAL, new Vec2d(2, 2));
+ super(Models.TILE_BOSS_PORTAL, new Vec2d(2, 2));
this.emitsLight = true;
this.opaqueTile = true;
diff --git a/src/projectzombie/tiles/TileChest.java b/src/projectzombie/tiles/TileChest.java
index 94a9a03..389ef3c 100755
--- a/src/projectzombie/tiles/TileChest.java
+++ b/src/projectzombie/tiles/TileChest.java
@@ -6,12 +6,12 @@ import projectzombie.Main;
import projectzombie.entity.Entity;
import projectzombie.entity.EntityItem;
import projectzombie.init.Items;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.util.math.TileState;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -21,7 +21,7 @@ public class TileChest extends TileVertical implements TileBulletBreakable
public static final short CHEST_LAVA_CAVES = 2;
public TileChest() {
- super(Textures.TILE_CHEST, new Vec2d(1, 1));
+ super(Models.TILE_CHEST, new Vec2d(1, 1));
this.tileSolid = true;
this.opaqueTile = true;
diff --git a/src/projectzombie/tiles/TileDirt.java b/src/projectzombie/tiles/TileDirt.java
index 16a74d6..8b8c947 100755
--- a/src/projectzombie/tiles/TileDirt.java
+++ b/src/projectzombie/tiles/TileDirt.java
@@ -1,12 +1,12 @@
package projectzombie.tiles;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
public class TileDirt extends TileFlatFaded
{
public TileDirt() {
- super(Textures.TILE_DIRT);
+ super(Models.TILE_DIRT);
}
}
\ No newline at end of file
diff --git a/src/projectzombie/tiles/TileFlat.java b/src/projectzombie/tiles/TileFlat.java
index 96e1e42..d032665 100755
--- a/src/projectzombie/tiles/TileFlat.java
+++ b/src/projectzombie/tiles/TileFlat.java
@@ -5,8 +5,8 @@ import projectzombie.util.gl.GlHelpers;
import projectzombie.util.gl.texture.IHasTexture;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec3d;
public class TileFlat extends Tile implements IHasTexture
{
diff --git a/src/projectzombie/tiles/TileFlatFaded.java b/src/projectzombie/tiles/TileFlatFaded.java
index bacec17..55bb33b 100755
--- a/src/projectzombie/tiles/TileFlatFaded.java
+++ b/src/projectzombie/tiles/TileFlatFaded.java
@@ -3,8 +3,8 @@ package projectzombie.tiles;
import projectzombie.display.Camera;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec3d;
public class TileFlatFaded extends TileFlat
{
diff --git a/src/projectzombie/tiles/TileGrass.java b/src/projectzombie/tiles/TileGrass.java
index 5a8f21f..52f92b3 100755
--- a/src/projectzombie/tiles/TileGrass.java
+++ b/src/projectzombie/tiles/TileGrass.java
@@ -1,12 +1,12 @@
package projectzombie.tiles;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
public class TileGrass extends TileFlat
{
public TileGrass() {
- super(Textures.TILE_GRASS);
+ super(Models.TILE_GRASS);
}
}
diff --git a/src/projectzombie/tiles/TileLadder.java b/src/projectzombie/tiles/TileLadder.java
index 8326c37..c273316 100755
--- a/src/projectzombie/tiles/TileLadder.java
+++ b/src/projectzombie/tiles/TileLadder.java
@@ -1,15 +1,15 @@
package projectzombie.tiles;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
public class TileLadder extends TileVertical
{
public TileLadder() {
- super(Textures.TILE_LADDER, new Vec2d(1, 1));
+ super(Models.TILE_LADDER, new Vec2d(1, 1));
this.opaqueTile = true;
this.tileSolid = true;
diff --git a/src/projectzombie/tiles/TileLadderUp.java b/src/projectzombie/tiles/TileLadderUp.java
index 55500da..055cc60 100755
--- a/src/projectzombie/tiles/TileLadderUp.java
+++ b/src/projectzombie/tiles/TileLadderUp.java
@@ -4,18 +4,18 @@ import mainloop.task.IMainloopTask;
import projectzombie.Main;
import projectzombie.entity.Entity;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.mainloop.MainloopEventHandler;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.ChunkEventHandler;
import projectzombie.world.layer.Layer;
public class TileLadderUp extends TileVertical
{
public TileLadderUp() {
- super(Textures.TILE_LADDER_UP, new Vec2d(1, 16));
+ super(Models.TILE_LADDER_UP, new Vec2d(1, 16));
this.opaqueTile = true;
this.tileSolid = true;
diff --git a/src/projectzombie/tiles/TileLantern.java b/src/projectzombie/tiles/TileLantern.java
index eb58a39..79c6111 100755
--- a/src/projectzombie/tiles/TileLantern.java
+++ b/src/projectzombie/tiles/TileLantern.java
@@ -3,18 +3,18 @@ package projectzombie.tiles;
import projectzombie.entity.Entity;
import projectzombie.entity.EntityItem;
import projectzombie.init.Items;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.layer.Layer;
public class TileLantern extends TileVertical
{
public TileLantern() {
- super(Textures.TILE_LANTERN, new Vec2d(1, 1));
+ super(Models.TILE_LANTERN, new Vec2d(1, 1));
this.emitsLight = true;
this.opaqueTile = true;
diff --git a/src/projectzombie/tiles/TileLava.java b/src/projectzombie/tiles/TileLava.java
index 0875189..09b51af 100755
--- a/src/projectzombie/tiles/TileLava.java
+++ b/src/projectzombie/tiles/TileLava.java
@@ -5,11 +5,11 @@ import java.util.Random;
import projectzombie.display.Camera;
import projectzombie.entity.Entity;
import projectzombie.entity.particle.ParticleLava;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -18,7 +18,7 @@ public class TileLava extends TileFlat
private Random rand = new Random();
public TileLava() {
- super(Textures.TILE_LAVA);
+ super(Models.TILE_LAVA);
this.slowness = 0.5;
this.tileWalkable = false;
diff --git a/src/projectzombie/tiles/TileLavaFlow.java b/src/projectzombie/tiles/TileLavaFlow.java
index a5ec609..cb7b710 100755
--- a/src/projectzombie/tiles/TileLavaFlow.java
+++ b/src/projectzombie/tiles/TileLavaFlow.java
@@ -4,12 +4,12 @@ import java.util.Random;
import projectzombie.display.Camera;
import projectzombie.entity.particle.ParticleSmoke;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.math.TileState;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -18,7 +18,7 @@ public class TileLavaFlow extends TileFlat
private Random rand = new Random();
public TileLavaFlow() {
- super(Textures.TILE_LAVA_FLOW);
+ super(Models.TILE_LAVA_FLOW);
this.emitsLight = true;
this.unbreakable = true;
diff --git a/src/projectzombie/tiles/TilePortalDown.java b/src/projectzombie/tiles/TilePortalDown.java
index 4641d00..3b55d26 100755
--- a/src/projectzombie/tiles/TilePortalDown.java
+++ b/src/projectzombie/tiles/TilePortalDown.java
@@ -4,10 +4,10 @@ import mainloop.task.IMainloopTask;
import projectzombie.Main;
import projectzombie.entity.Entity;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.mainloop.MainloopEventHandler;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.ChunkEventHandler;
import projectzombie.world.layer.Layer;
@@ -15,7 +15,7 @@ public class TilePortalDown extends TileFlat
{
public TilePortalDown() {
- super(Textures.TILE_PORTAL);
+ super(Models.TILE_PORTAL);
this.unbreakable = true;
}
diff --git a/src/projectzombie/tiles/TileRock.java b/src/projectzombie/tiles/TileRock.java
index 9585c95..586f342 100755
--- a/src/projectzombie/tiles/TileRock.java
+++ b/src/projectzombie/tiles/TileRock.java
@@ -3,18 +3,18 @@ package projectzombie.tiles;
import projectzombie.entity.Entity;
import projectzombie.entity.EntityItem;
import projectzombie.init.Items;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.ItemStack;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.layer.Layer;
public class TileRock extends TileVertical implements TileBulletBreakable
{
public TileRock() {
- super(Textures.TILE_ROCK, new Vec2d(1, 1));
+ super(Models.TILE_ROCK, new Vec2d(1, 1));
// Set some settings
this.opaqueTile = true;
diff --git a/src/projectzombie/tiles/TileSand.java b/src/projectzombie/tiles/TileSand.java
index 8f8b83e..216c2f2 100755
--- a/src/projectzombie/tiles/TileSand.java
+++ b/src/projectzombie/tiles/TileSand.java
@@ -1,12 +1,12 @@
package projectzombie.tiles;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
public class TileSand extends TileFlat
{
public TileSand() {
- super(Textures.TILE_SAND);
+ super(Models.TILE_SAND);
}
}
\ No newline at end of file
diff --git a/src/projectzombie/tiles/TileStone.java b/src/projectzombie/tiles/TileStone.java
index 233564b..7dfc131 100755
--- a/src/projectzombie/tiles/TileStone.java
+++ b/src/projectzombie/tiles/TileStone.java
@@ -1,12 +1,12 @@
package projectzombie.tiles;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
public class TileStone extends TileFlatFaded
{
public TileStone() {
- super(Textures.TILE_STONE);
+ super(Models.TILE_STONE);
}
}
diff --git a/src/projectzombie/tiles/TileTree.java b/src/projectzombie/tiles/TileTree.java
index bb76bf7..8d4ec29 100755
--- a/src/projectzombie/tiles/TileTree.java
+++ b/src/projectzombie/tiles/TileTree.java
@@ -1,13 +1,13 @@
package projectzombie.tiles;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class TileTree extends TileVertical implements TileBulletBreakable
{
public TileTree() {
- super(Textures.TILE_TREE, new Vec2d(1, 4));
+ super(Models.TILE_TREE, new Vec2d(1, 4));
// Set some settings
this.opaqueTile = true;
diff --git a/src/projectzombie/tiles/TileVertical.java b/src/projectzombie/tiles/TileVertical.java
index 488d39d..ff5ddd9 100755
--- a/src/projectzombie/tiles/TileVertical.java
+++ b/src/projectzombie/tiles/TileVertical.java
@@ -6,7 +6,7 @@ import projectzombie.util.gl.VerticalRender;
import projectzombie.util.gl.texture.IHasTexture;
import projectzombie.util.gl.texture.TextureReference;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class TileVertical extends Tile implements IHasTexture
{
diff --git a/src/projectzombie/tiles/TileWall.java b/src/projectzombie/tiles/TileWall.java
index 8150a9f..883e525 100755
--- a/src/projectzombie/tiles/TileWall.java
+++ b/src/projectzombie/tiles/TileWall.java
@@ -1,13 +1,13 @@
package projectzombie.tiles;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.math.TileState;
public class TileWall extends TileFlat
{
public TileWall() {
- super(Textures.TILE_WALL);
+ super(Models.TILE_WALL);
this.tileWalkable = false;
this.tileSolid = true;
diff --git a/src/projectzombie/tiles/TileWater.java b/src/projectzombie/tiles/TileWater.java
index 500a06a..050009d 100755
--- a/src/projectzombie/tiles/TileWater.java
+++ b/src/projectzombie/tiles/TileWater.java
@@ -3,11 +3,11 @@ package projectzombie.tiles;
import projectzombie.display.Camera;
import projectzombie.entity.Entity;
import projectzombie.entity.particle.ParticleWater;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
@@ -15,7 +15,7 @@ public class TileWater extends TileFlat
{
public TileWater() {
- super(Textures.TILE_WATER);
+ super(Models.TILE_WATER);
this.slowness = 0.5;
this.rotates = true;
this.unbreakable = true;
diff --git a/src/projectzombie/tiles/TileWaterFlow.java b/src/projectzombie/tiles/TileWaterFlow.java
index 258a9a2..e3c0d93 100755
--- a/src/projectzombie/tiles/TileWaterFlow.java
+++ b/src/projectzombie/tiles/TileWaterFlow.java
@@ -1,16 +1,16 @@
package projectzombie.tiles;
import projectzombie.display.Camera;
-import projectzombie.init.Textures;
+import projectzombie.init.Models;
import projectzombie.util.gl.GlHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class TileWaterFlow extends TileFlat
{
public TileWaterFlow() {
- super(Textures.TILE_WATER_FLOW);
+ super(Models.TILE_WATER_FLOW);
this.unbreakable = true;
}
diff --git a/src/projectzombie/util/gl/VerticalRender.java b/src/projectzombie/util/gl/VerticalRender.java
index 6e75079..fbbb1a1 100755
--- a/src/projectzombie/util/gl/VerticalRender.java
+++ b/src/projectzombie/util/gl/VerticalRender.java
@@ -2,7 +2,7 @@ package projectzombie.util.gl;
import projectzombie.display.Camera;
import projectzombie.util.gl.texture.TextureReference;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public class VerticalRender
{
@@ -19,7 +19,7 @@ public class VerticalRender
GlHelpers.pushMatrix();
// Get the angle between the camera and the tile
- double angle_r = camera.angle.x;
+ double angle_r = camera.angle;
// Make the tile upright
GlHelpers.translate3(0.5, 0.5, 0);
diff --git a/src/projectzombie/util/gl/texture/AnimationEventHandler.java b/src/projectzombie/util/gl/texture/AnimationEventHandler.java
deleted file mode 100755
index 0aed504..0000000
--- a/src/projectzombie/util/gl/texture/AnimationEventHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package projectzombie.util.gl.texture;
-
-import mainloop.task.IMainloopTask;
-import projectzombie.init.Textures;
-
-public class AnimationEventHandler implements IMainloopTask
-{
- public static final AnimationEventHandler ANIMATION_EVENT_HANDLER = new AnimationEventHandler();
-
- @Override
- public boolean MainLoopDelay(long millis) {
- return millis > 10;
- }
-
- @Override
- public boolean MainLoopRepeat() {
- return true;
- }
-
- @Override
- public void MainLoopUpdate()
- {
- // Loop over the animations and update them all
- for(AnimationReference r : Textures.animations) {
- r.tick();
- }
- }
-
-}
diff --git a/src/projectzombie/util/gl/texture/AnimationReference.java b/src/projectzombie/util/gl/texture/AnimationReference.java
deleted file mode 100755
index 2fd16ab..0000000
--- a/src/projectzombie/util/gl/texture/AnimationReference.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package projectzombie.util.gl.texture;
-
-import projectzombie.init.Textures;
-import projectzombie.util.math.MathHelpers;
-
-public class AnimationReference extends TextureReference
-{
- private TextureReference[] references;
- private int upto = 0;
- private int speed;
- public TextureReference c;
-
- public AnimationReference(int speed, TextureReference ... references)
- {
- // Store the texture references and the speed
- this.references = references;
- this.speed = speed;
-
- // Register the animation
- Textures.animations.add(this);
- c = references[0];
- }
-
- @Override
- public void texCoord(double x, double y) {
- c.texCoord(x, y);
- }
-
- public void tick()
- {
- // Cycle through all the textures
- upto += 1;
- upto = MathHelpers.mod(upto, references.length * speed);
- c = references[upto / speed];
- }
-
- @Override
- public int getMaxX() {
- return c.getMaxX();
- }
-
- @Override
- public int getMaxY() {
- return c.getMaxY();
- }
-
- @Override
- public TextureReference getTextureReference(int start_x, int end_x, int start_y, int end_y) {
- return c.getTextureReference(start_x, end_x, start_y, end_y);
- }
-
-}
diff --git a/src/projectzombie/util/gl/texture/TextureReference.java b/src/projectzombie/util/gl/texture/TextureReference.java
index 638bc8d..4d8838b 100755
--- a/src/projectzombie/util/gl/texture/TextureReference.java
+++ b/src/projectzombie/util/gl/texture/TextureReference.java
@@ -2,7 +2,7 @@ package projectzombie.util.gl.texture;
import static org.lwjgl.opengl.GL11.glTexCoord2f;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
public abstract class TextureReference
{
diff --git a/src/projectzombie/util/math/ColorRange.java b/src/projectzombie/util/math/ColorRange.java
index 4bb4f8b..08ea94c 100755
--- a/src/projectzombie/util/math/ColorRange.java
+++ b/src/projectzombie/util/math/ColorRange.java
@@ -1,6 +1,7 @@
package projectzombie.util.math;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.MathHelpers;
+import gl_engine.vec.Vec3d;
public class ColorRange
{
diff --git a/src/projectzombie/util/math/MathHelpers.java b/src/projectzombie/util/math/MathHelpers.java
deleted file mode 100755
index 2801b2d..0000000
--- a/src/projectzombie/util/math/MathHelpers.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package projectzombie.util.math;
-
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec3d;
-
-public class MathHelpers
-{
- public static final double FallSpeed = 0.00098;
-
- public static double squared(double x) {
- return x*x;
- }
-
- public static double pow(int c, double x)
- {
- double res = 1;
-
- for(int i=0;i b) return a;
- else return b;
- }
-
- public static double smallest(double a, double b)
- {
- if(a < b) return a;
- else return b;
- }
-}
diff --git a/src/projectzombie/util/math/TileState.java b/src/projectzombie/util/math/TileState.java
index 1035af1..ade5a2e 100755
--- a/src/projectzombie/util/math/TileState.java
+++ b/src/projectzombie/util/math/TileState.java
@@ -2,7 +2,7 @@ package projectzombie.util.math;
import projectzombie.init.Tiles;
import projectzombie.tiles.Tile;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec3d;
public class TileState
{
diff --git a/src/projectzombie/util/math/astar/AStar.java b/src/projectzombie/util/math/astar/AStar.java
index c4ba841..17d7a6f 100755
--- a/src/projectzombie/util/math/astar/AStar.java
+++ b/src/projectzombie/util/math/astar/AStar.java
@@ -2,7 +2,7 @@ package projectzombie.util.math.astar;
import java.util.ArrayList;
import java.util.List;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
class Node
{
diff --git a/src/projectzombie/util/math/astar/AStarSearcher.java b/src/projectzombie/util/math/astar/AStarSearcher.java
index 9d0852c..f5b9a71 100755
--- a/src/projectzombie/util/math/astar/AStarSearcher.java
+++ b/src/projectzombie/util/math/astar/AStarSearcher.java
@@ -1,8 +1,8 @@
package projectzombie.util.math.astar;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
import projectzombie.world.layer.Layer;
public class AStarSearcher implements AStarSearch
diff --git a/src/projectzombie/util/math/map/IMap2D.java b/src/projectzombie/util/math/map/IMap2D.java
index e40a07b..d8374cb 100755
--- a/src/projectzombie/util/math/map/IMap2D.java
+++ b/src/projectzombie/util/math/map/IMap2D.java
@@ -1,6 +1,6 @@
package projectzombie.util.math.map;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
public interface IMap2D
{
diff --git a/src/projectzombie/util/math/map/Map2D.java b/src/projectzombie/util/math/map/Map2D.java
index a428eca..6378726 100755
--- a/src/projectzombie/util/math/map/Map2D.java
+++ b/src/projectzombie/util/math/map/Map2D.java
@@ -3,7 +3,7 @@ package projectzombie.util.math.map;
import java.util.ArrayList;
import java.util.Iterator;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
public class Map2D implements Iterable>
{
diff --git a/src/projectzombie/util/math/map/Map2DElement.java b/src/projectzombie/util/math/map/Map2DElement.java
index 7ed0e03..19c0a41 100755
--- a/src/projectzombie/util/math/map/Map2DElement.java
+++ b/src/projectzombie/util/math/map/Map2DElement.java
@@ -1,6 +1,6 @@
package projectzombie.util.math.map;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
public class Map2DElement
{
diff --git a/src/projectzombie/util/math/range/Range2i.java b/src/projectzombie/util/math/range/Range2i.java
deleted file mode 100755
index f9a9a32..0000000
--- a/src/projectzombie/util/math/range/Range2i.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package projectzombie.util.math.range;
-
-public class Range2i
-{
- public int mx;
- public int my;
-
- public Range2i(int mx, int my)
- {
- this.mx = mx;
- this.my = my;
- }
-
- public int maxValue() {
- return mx * my;
- }
-}
diff --git a/src/projectzombie/util/math/range/Range3i.java b/src/projectzombie/util/math/range/Range3i.java
deleted file mode 100755
index 58bae15..0000000
--- a/src/projectzombie/util/math/range/Range3i.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package projectzombie.util.math.range;
-
-public class Range3i
-{
- public int mx;
- public int my;
- public int mz;
-
- public Range3i(int mx, int my, int mz)
- {
- this.mx = mx;
- this.my = my;
- this.mz = mz;
- }
-
- public int maxValue() {
- return mx * my * mz;
- }
-}
diff --git a/src/projectzombie/util/math/range/Range4i.java b/src/projectzombie/util/math/range/Range4i.java
deleted file mode 100755
index 9a04e9a..0000000
--- a/src/projectzombie/util/math/range/Range4i.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package projectzombie.util.math.range;
-
-public class Range4i
-{
- public int mx;
- public int my;
- public int mz;
- public int mm;
-
- public Range4i(int mx, int my, int mz, int mm)
- {
- this.mx = mx;
- this.my = my;
- this.mz = mz;
- this.mm = mm;
- }
-
- public int maxValue() {
- return mx * my * mz * mm;
- }
-}
diff --git a/src/projectzombie/util/math/vec/Vec2d.java b/src/projectzombie/util/math/vec/Vec2d.java
deleted file mode 100755
index e068d9a..0000000
--- a/src/projectzombie/util/math/vec/Vec2d.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package projectzombie.util.math.vec;
-
-import bdf.classes.IBdfClassManager;
-import bdf.types.BdfObject;
-import projectzombie.util.math.MathHelpers;
-
-public class Vec2d implements IBdfClassManager
-{
- public double x;
- public double y;
-
- public Vec2d(double x, double y)
- {
- this.x = x;
- this.y = y;
- }
-
- public double distance(Vec2d other) {
- return MathHelpers.distance2d(x, y, other.x, other.y);
- }
-
- public static double distance(Vec2d v1, Vec2d v2) {
- return v1.distance(v2);
- }
-
- public boolean equal(Vec2d other) {
- return x == other.x && y == other.y;
- }
-
- public Vec2d add(Vec2d other) {
- return new Vec2d(this.x + other.x, this.y + other.y);
- }
-
- public Vec2d subtract(Vec2d other) {
- return new Vec2d(this.x - other.x, this.y - other.y);
- }
-
- public Vec2d multiply(Vec2d other) {
- return new Vec2d(this.x * other.x, this.y * other.y);
- }
-
- public Vec2d divide(Vec2d other) {
- return new Vec2d(this.x / other.x, this.y / other.y);
- }
-
- public Vec2d add(double v) {
- return new Vec2d(this.x + v, this.y + v);
- }
-
- public Vec2d subtract(double v) {
- return new Vec2d(this.x - v, this.y - v);
- }
-
- public Vec2d multiply(double v) {
- return new Vec2d(this.x * v, this.y * v);
- }
-
- public Vec2d divide(double v) {
- return new Vec2d(this.x / v, this.y / v);
- }
-
- public Vec2d copy() {
- return new Vec2d(x, y);
- }
-
- public double squareDistance(Vec2d other)
- {
- double dx = MathHelpers.positive(other.x - x);
- double dy = MathHelpers.positive(other.y - y);
- return MathHelpers.biggest(dx, dy);
- }
-
- public Vec2i toInt() {
- return new Vec2i(MathHelpers.floor(x), MathHelpers.floor(y));
- }
-
- @Override
- public void BdfClassLoad(BdfObject bdf) {
- double array[] = bdf.getDoubleArray();
- if(array.length < 2) return;
- x = array[0];
- y = array[1];
- }
-
- @Override
- public void BdfClassSave(BdfObject bdf) {
- double array[] = {x, y};
- bdf.setDoubleArray(array);
- }
-
- public Vec2d(BdfObject bdf) {
- this.BdfClassLoad(bdf);
- }
-}
diff --git a/src/projectzombie/util/math/vec/Vec2i.java b/src/projectzombie/util/math/vec/Vec2i.java
deleted file mode 100755
index 995dd31..0000000
--- a/src/projectzombie/util/math/vec/Vec2i.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package projectzombie.util.math.vec;
-
-import bdf.classes.IBdfClassManager;
-import bdf.types.BdfObject;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.range.Range2i;
-
-public class Vec2i implements IBdfClassManager
-{
- public int x;
- public int y;
-
- public Vec2i(int x, int y)
- {
- this.x = x;
- this.y = y;
- }
-
- public double distance(Vec2i other) {
- return MathHelpers.distance2d(x, y, other.x, other.y);
- }
-
- public static double distance(Vec2i v1, Vec2i v2) {
- return v1.distance(v2);
- }
-
- public int getId(Range2i range)
- {
- int x = MathHelpers.mod(this.x, range.mx);
- int y = MathHelpers.mod(this.y, range.my);
-
- int id = 0;
- int m = 1;
-
- id += x;
- m = range.mx;
- id += y*m;
-
- return id;
- }
-
- public static Vec2i fromId(Range2i range, int id)
- {
- int x = MathHelpers.mod(id, range.mx);
- id -= x;
- id /= range.mx;
- int y = MathHelpers.mod(id, range.my);
-
- return new Vec2i(x, y);
- }
-
- public boolean equal(Vec2i other) {
- return x == other.x && y == other.y;
- }
-
- public Vec2i add(Vec2i other) {
- return new Vec2i(this.x + other.x, this.y + other.y);
- }
-
- public Vec2i subtract(Vec2i other) {
- return new Vec2i(this.x - other.x, this.y - other.y);
- }
-
- public Vec2i multiply(Vec2i other) {
- return new Vec2i(this.x * other.x, this.y * other.y);
- }
-
- public Vec2i divide(Vec2i other) {
- return new Vec2i(this.x / other.x, this.y / other.y);
- }
-
- public Vec2i add(int v) {
- return new Vec2i(this.x + v, this.y + v);
- }
-
- public Vec2i subtract(int v) {
- return new Vec2i(this.x - v, this.y - v);
- }
-
- public Vec2i multiply(int v) {
- return new Vec2i(this.x * v, this.y * v);
- }
-
- public Vec2i divide(int v) {
- return new Vec2i(this.x / v, this.y / v);
- }
-
- public Vec2i copy() {
- return new Vec2i(x, y);
- }
-
- public double squareDistance(Vec2i other)
- {
- int dx = MathHelpers.positive(other.x - x);
- int dy = MathHelpers.positive(other.y - y);
- return MathHelpers.biggest(dx, dy);
- }
-
- public Vec2d toDouble() {
- return new Vec2d(x, y);
- }
-
- @Override
- public void BdfClassLoad(BdfObject bdf) {
- int array[] = bdf.getIntegerArray();
- if(array.length < 2) return;
- x = array[0];
- y = array[1];
- }
-
- @Override
- public void BdfClassSave(BdfObject bdf) {
- int array[] = {x, y};
- bdf.setIntegerArray(array);
- }
-
- public Vec2i(BdfObject bdf) {
- this.BdfClassLoad(bdf);
- }
-}
diff --git a/src/projectzombie/util/math/vec/Vec3d.java b/src/projectzombie/util/math/vec/Vec3d.java
deleted file mode 100755
index e6d3bdd..0000000
--- a/src/projectzombie/util/math/vec/Vec3d.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package projectzombie.util.math.vec;
-
-import bdf.classes.IBdfClassManager;
-import bdf.types.BdfObject;
-import projectzombie.util.math.MathHelpers;
-
-public class Vec3d implements IBdfClassManager
-{
- public double x;
- public double y;
- public double z;
-
- public Vec3d(double x, double y, double z)
- {
- this.x = x;
- this.y = y;
- this.z = z;
- }
-
- public double distance(Vec3d other) {
- return MathHelpers.distance3d(x, y, z, other.x, other.y, other.z);
- }
-
- public static double distance(Vec3d v1, Vec3d v2) {
- return v1.distance(v2);
- }
-
- public boolean equal(Vec3d other) {
- return x == other.x && y == other.y && z == other.z;
- }
-
- public Vec3d add(Vec3d other) {
- return new Vec3d(this.x + other.x, this.y + other.y, this.z + other.z);
- }
-
- public Vec3d subtract(Vec3d other) {
- return new Vec3d(this.x - other.x, this.y - other.y, this.z - other.z);
- }
-
- public Vec3d multiply(Vec3d other) {
- return new Vec3d(this.x * other.x, this.y * other.y, this.z * other.z);
- }
-
- public Vec3d divide(Vec3d other) {
- return new Vec3d(this.x / other.x, this.y / other.y, this.z / other.z);
- }
-
- public Vec3d add(double v) {
- return new Vec3d(this.x + v, this.y + v, this.z + v);
- }
-
- public Vec3d subtract(double v) {
- return new Vec3d(this.x - v, this.y - v, this.z - v);
- }
-
- public Vec3d multiply(double v) {
- return new Vec3d(this.x * v, this.y * v, this.z * v);
- }
-
- public Vec3d divide(double v) {
- return new Vec3d(this.x / v, this.y / v, this.z / v);
- }
-
- public Vec3d copy() {
- return new Vec3d(x, y, z);
- }
-
- public double squareDistance(Vec3d other)
- {
- double dx = MathHelpers.positive(other.x - x);
- double dy = MathHelpers.positive(other.y - y);
- double dz = MathHelpers.positive(other.z - z);
-
- if(dx > dy) return dx;
- if(dy > dz) return dy;
- else return dz;
- }
-
- public Vec3i toInt() {
- return new Vec3i(MathHelpers.floor(x), MathHelpers.floor(y), MathHelpers.floor(z));
- }
-
- @Override
- public void BdfClassLoad(BdfObject bdf) {
- double array[] = bdf.getDoubleArray();
- if(array.length < 3) return;
- x = array[0];
- y = array[1];
- z = array[2];
- }
-
- @Override
- public void BdfClassSave(BdfObject bdf) {
- double array[] = {x, y, z};
- bdf.setDoubleArray(array);
- }
-
- public Vec3d(BdfObject bdf) {
- this.BdfClassLoad(bdf);
- }
-}
diff --git a/src/projectzombie/util/math/vec/Vec3i.java b/src/projectzombie/util/math/vec/Vec3i.java
deleted file mode 100755
index 646a459..0000000
--- a/src/projectzombie/util/math/vec/Vec3i.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package projectzombie.util.math.vec;
-
-import bdf.classes.IBdfClassManager;
-import bdf.types.BdfObject;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.range.Range3i;
-
-public class Vec3i implements IBdfClassManager
-{
- public int x;
- public int y;
- public int z;
-
- public Vec3i(int x, int y, int z)
- {
- this.x = x;
- this.y = y;
- this.z = z;
- }
-
- public double distance(Vec3i other) {
- return MathHelpers.distance3d(x, y, z, other.x, other.y, other.z);
- }
-
- public static double distance(Vec3i v1, Vec3i v2) {
- return v1.distance(v2);
- }
-
- public int getId(Range3i range)
- {
- int x = MathHelpers.mod(this.x, range.mx);
- int y = MathHelpers.mod(this.y, range.my);
- int z = MathHelpers.mod(this.z, range.mz);
-
- int id = 0;
- int m = 1;
-
- id += x;
- m = range.mx;
- id += y*m;
- m *= range.my;
- id += z*m;
-
- return id;
- }
-
- public static Vec3i fromId(Range3i range, int id)
- {
- int x = MathHelpers.mod(id, range.mx);
- id -= x;
- id /= range.mx;
- int y = MathHelpers.mod(id, range.my);
- id -= y;
- id /= range.my;
- int z = MathHelpers.mod(id, range.mz);
-
- return new Vec3i(x, y, z);
- }
-
- public boolean equal(Vec3i other) {
- return x == other.x && y == other.y && z == other.z;
- }
-
- public Vec3i add(Vec3i other) {
- return new Vec3i(this.x + other.x, this.y + other.y, this.z + other.z);
- }
-
- public Vec3i subtract(Vec3i other) {
- return new Vec3i(this.x - other.x, this.y - other.y, this.z - other.z);
- }
-
- public Vec3i multiply(Vec3i other) {
- return new Vec3i(this.x * other.x, this.y * other.y, this.z * other.z);
- }
-
- public Vec3i divide(Vec3i other) {
- return new Vec3i(this.x / other.x, this.y / other.y, this.z / other.z);
- }
-
- public Vec3i add(int v) {
- return new Vec3i(this.x + v, this.y + v, this.z + v);
- }
-
- public Vec3i subtract(int v) {
- return new Vec3i(this.x - v, this.y - v, this.z - v);
- }
-
- public Vec3i multiply(int v) {
- return new Vec3i(this.x * v, this.y * v, this.z * v);
- }
-
- public Vec3i divide(int v) {
- return new Vec3i(this.x / v, this.y / v, this.z / v);
- }
-
- public Vec3i copy() {
- return new Vec3i(x, y, z);
- }
-
- public int squareDistance(Vec3i other)
- {
- int dx = MathHelpers.positive(other.x - x);
- int dy = MathHelpers.positive(other.y - y);
- int dz = MathHelpers.positive(other.z - z);
-
- if(dx > dy) return dx;
- if(dy > dz) return dy;
- else return dz;
- }
-
- public Vec3d toDouble() {
- return new Vec3d(x, y, z);
- }
-
- @Override
- public void BdfClassLoad(BdfObject bdf) {
- int array[] = bdf.getIntegerArray();
- if(array.length < 3) return;
- x = array[0];
- y = array[1];
- z = array[2];
- }
-
- @Override
- public void BdfClassSave(BdfObject bdf) {
- int array[] = {x, y, z};
- bdf.setIntegerArray(array);
- }
-
- public Vec3i(BdfObject bdf) {
- this.BdfClassLoad(bdf);
- }
-}
diff --git a/src/projectzombie/util/math/vec/Vec4d.java b/src/projectzombie/util/math/vec/Vec4d.java
deleted file mode 100755
index 09f4038..0000000
--- a/src/projectzombie/util/math/vec/Vec4d.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package projectzombie.util.math.vec;
-
-import bdf.classes.IBdfClassManager;
-import bdf.types.BdfObject;
-import projectzombie.util.math.MathHelpers;
-
-public class Vec4d implements IBdfClassManager
-{
- public double x;
- public double y;
- public double z;
- public double m;
-
- public Vec4d(double x, double y, double z, double m)
- {
- this.x = x;
- this.y = y;
- this.z = z;
- this.m = m;
- }
-
- public double distance(Vec4d other) {
- return Math.sqrt(
- MathHelpers.squared(this.x - other.x) +
- MathHelpers.squared(this.y - other.y) +
- MathHelpers.squared(this.z - other.z) +
- MathHelpers.squared(this.m - other.m));
- }
-
- public static double distance(Vec4d v1, Vec4d v2) {
- return v1.distance(v2);
- }
-
- public boolean equal(Vec4d other) {
- return x == other.x && y == other.y && z == other.z && m == other.m;
- }
-
- public Vec4d add(Vec4d other) {
- return new Vec4d(this.x + other.x, this.y + other.y, this.z + other.z, this.m + other.m);
- }
-
- public Vec4d subtract(Vec4d other) {
- return new Vec4d(this.x - other.x, this.y - other.y, this.z - other.z, this.m - other.m);
- }
-
- public Vec4d multiply(Vec4d other) {
- return new Vec4d(this.x * other.x, this.y * other.y, this.z * other.z, this.m * other.m);
- }
-
- public Vec4d divide(Vec4d other) {
- return new Vec4d(this.x / other.x, this.y / other.y, this.z / other.z, this.m / other.m);
- }
-
- public Vec4d add(double v) {
- return new Vec4d(this.x + v, this.y + v, this.z + v, this.m + v);
- }
-
- public Vec4d subtract(double v) {
- return new Vec4d(this.x - v, this.y - v, this.z - v, this.m - v);
- }
-
- public Vec4d multiply(double v) {
- return new Vec4d(this.x * v, this.y * v, this.z * v, this.m * v);
- }
-
- public Vec4d divide(double v) {
- return new Vec4d(this.x / v, this.y / v, this.z / v, this.m / v);
- }
-
- public Vec4d copy() {
- return new Vec4d(x, y, z, m);
- }
-
- public double squareDistance(Vec4d other)
- {
- double dx = MathHelpers.positive(other.x - x);
- double dy = MathHelpers.positive(other.y - y);
- double dz = MathHelpers.positive(other.z - z);
- double dm = MathHelpers.positive(other.m - m);
-
- if(dx > dy) return dx;
- if(dy > dz) return dy;
- if(dz > dm) return dz;
- else return dm;
- }
-
- public Vec4i toInt() {
- return new Vec4i(MathHelpers.floor(x), MathHelpers.floor(y), MathHelpers.floor(z), MathHelpers.floor(m));
- }
-
- @Override
- public void BdfClassLoad(BdfObject bdf) {
- double array[] = bdf.getDoubleArray();
- if(array.length < 4) return;
- x = array[0];
- y = array[1];
- z = array[2];
- m = array[3];
- }
-
- @Override
- public void BdfClassSave(BdfObject bdf) {
- double array[] = {x, y, z, m};
- bdf.setDoubleArray(array);
- }
-
- public Vec4d(BdfObject bdf) {
- this.BdfClassLoad(bdf);
- }
-}
diff --git a/src/projectzombie/util/math/vec/Vec4i.java b/src/projectzombie/util/math/vec/Vec4i.java
deleted file mode 100755
index d44a3fc..0000000
--- a/src/projectzombie/util/math/vec/Vec4i.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package projectzombie.util.math.vec;
-
-import bdf.classes.IBdfClassManager;
-import bdf.types.BdfObject;
-import projectzombie.util.math.MathHelpers;
-import projectzombie.util.math.range.Range4i;
-
-public class Vec4i implements IBdfClassManager {
- public int x;
- public int y;
- public int z;
- public int m;
-
- public Vec4i(int x, int y, int z, int m)
- {
- this.x = x;
- this.y = y;
- this.z = z;
- this.m = m;
- }
-
- public double distance(Vec4i other) {
- return Math.sqrt(
- MathHelpers.squared(this.x - other.x) +
- MathHelpers.squared(this.y - other.y) +
- MathHelpers.squared(this.z - other.z) +
- MathHelpers.squared(this.m - other.m));
- }
-
- public static double distance(Vec4i v1, Vec4i v2) {
- return v1.distance(v2);
- }
-
- public int getId(Range4i range)
- {
- int x = MathHelpers.mod(this.x, range.mx);
- int y = MathHelpers.mod(this.y, range.my);
- int z = MathHelpers.mod(this.z, range.mz);
- int m = MathHelpers.mod(this.m, range.mm);
-
- int id = 0;
- int mu = 1;
-
- id += x;
- mu = range.mx;
- id += y*mu;
- mu *= range.my;
- id += z*mu;
- mu *= range.mz;
- id += m*mu;
-
- return id;
- }
-
- public static Vec4i fromId(Range4i range, int id)
- {
- int x = MathHelpers.mod(id, range.mx);
- id -= x;
- id /= range.mx;
- int y = MathHelpers.mod(id, range.my);
- id -= y;
- id /= range.my;
- int z = MathHelpers.mod(id, range.mz);
- id -= z;
- id /= range.mz;
- int m = MathHelpers.mod(id, range.mm);
-
- return new Vec4i(x, y, z, m);
- }
-
- public boolean equal(Vec4i other) {
- return x == other.x && y == other.y && z == other.z;
- }
-
- public Vec4i add(Vec4i other) {
- return new Vec4i(this.x + other.x, this.y + other.y, this.z + other.z, this.m + other.m);
- }
-
- public Vec4i subtract(Vec4i other) {
- return new Vec4i(this.x - other.x, this.y - other.y, this.z - other.z, this.m - other.m);
- }
-
- public Vec4i multiply(Vec4i other) {
- return new Vec4i(this.x * other.x, this.y * other.y, this.z * other.z, this.m * other.m);
- }
-
- public Vec4i divide(Vec4i other) {
- return new Vec4i(this.x / other.x, this.y / other.y, this.z / other.z, this.m / other.m);
- }
-
- public Vec4i add(int v) {
- return new Vec4i(this.x + v, this.y + v, this.z + v, this.m + v);
- }
-
- public Vec4i subtract(int v) {
- return new Vec4i(this.x - v, this.y - v, this.z - v, this.m - v);
- }
-
- public Vec4i multiply(int v) {
- return new Vec4i(this.x * v, this.y * v, this.z * v, this.m * v);
- }
-
- public Vec4i divide(int v) {
- return new Vec4i(this.x / v, this.y / v, this.z / v, this.m / v);
- }
-
- public Vec4i copy() {
- return new Vec4i(x, y, z, m);
- }
-
- public int squareDistance(Vec4i other)
- {
- int dx = MathHelpers.positive(other.x - x);
- int dy = MathHelpers.positive(other.y - y);
- int dz = MathHelpers.positive(other.z - z);
- int dm = MathHelpers.positive(other.m - m);
-
- if(dx > dy) return dx;
- if(dy > dz) return dy;
- if(dz > dm) return dz;
- else return dm;
- }
-
- public Vec4d toDouble() {
- return new Vec4d(x, y, z, m);
- }
-
- @Override
- public void BdfClassLoad(BdfObject bdf) {
- int array[] = bdf.getIntegerArray();
- if(array.length < 4) return;
- x = array[0];
- y = array[1];
- z = array[2];
- m = array[3];
- }
-
- @Override
- public void BdfClassSave(BdfObject bdf) {
- int array[] = {x, y, z, m};
- bdf.setIntegerArray(array);
- }
-
- public Vec4i(BdfObject bdf) {
- this.BdfClassLoad(bdf);
- }
-}
diff --git a/src/projectzombie/world/chunk/Chunk.java b/src/projectzombie/world/chunk/Chunk.java
index 374f416..75d1c2a 100755
--- a/src/projectzombie/world/chunk/Chunk.java
+++ b/src/projectzombie/world/chunk/Chunk.java
@@ -17,13 +17,13 @@ import projectzombie.entity.particle.ParticleBreak;
import projectzombie.init.Tiles;
import projectzombie.tiles.Tile;
import projectzombie.util.gl.GlHelpers;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.range.Range2i;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.range.Range2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.layer.Layer;
public class Chunk implements IBdfClassManager
diff --git a/src/projectzombie/world/chunk/ChunkEmpty.java b/src/projectzombie/world/chunk/ChunkEmpty.java
index 9de7a54..90c0912 100755
--- a/src/projectzombie/world/chunk/ChunkEmpty.java
+++ b/src/projectzombie/world/chunk/ChunkEmpty.java
@@ -7,9 +7,9 @@ import bdf.types.BdfObject;
import projectzombie.display.Camera;
import projectzombie.entity.Entity;
import projectzombie.util.math.TileState;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
public class ChunkEmpty extends Chunk
{
diff --git a/src/projectzombie/world/chunk/ChunkEventHandler.java b/src/projectzombie/world/chunk/ChunkEventHandler.java
index dcc7d07..5ac887c 100755
--- a/src/projectzombie/world/chunk/ChunkEventHandler.java
+++ b/src/projectzombie/world/chunk/ChunkEventHandler.java
@@ -3,9 +3,9 @@ package projectzombie.world.chunk;
import mainloop.task.IMainloopTask;
import projectzombie.Main;
import projectzombie.display.lighting.TileLighting;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.map.Map2DElement;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
import projectzombie.world.layer.Layer;
public class ChunkEventHandler implements IMainloopTask
diff --git a/src/projectzombie/world/layer/Layer.java b/src/projectzombie/world/layer/Layer.java
index 963c78b..4a783d7 100755
--- a/src/projectzombie/world/layer/Layer.java
+++ b/src/projectzombie/world/layer/Layer.java
@@ -11,12 +11,12 @@ import projectzombie.Main;
import projectzombie.display.Camera;
import projectzombie.entity.Entity;
import projectzombie.init.LayerGenerators;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
import projectzombie.util.math.map.Map2D;
import projectzombie.util.math.map.Map2DElement;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.layergen.LayerGen;
diff --git a/src/projectzombie/world/layer/layergen/LayerGen.java b/src/projectzombie/world/layer/layergen/LayerGen.java
index 9905c2d..e233253 100755
--- a/src/projectzombie/world/layer/layergen/LayerGen.java
+++ b/src/projectzombie/world/layer/layergen/LayerGen.java
@@ -5,7 +5,7 @@ import java.util.Random;
import projectzombie.util.math.ColorRange;
import projectzombie.util.math.TileState;
import projectzombie.util.math.map.IMap2D;
-import projectzombie.util.math.vec.Vec2i;
+import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/world/layer/layergen/LayerGenBossArena.java b/src/projectzombie/world/layer/layergen/LayerGenBossArena.java
index e770f81..57863f0 100755
--- a/src/projectzombie/world/layer/layergen/LayerGenBossArena.java
+++ b/src/projectzombie/world/layer/layergen/LayerGenBossArena.java
@@ -6,12 +6,12 @@ import projectzombie.entity.EntityBoss;
import projectzombie.entity.player.EntityPlayer;
import projectzombie.init.Tiles;
import projectzombie.util.math.ColorRange;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/world/layer/layergen/LayerGenCaves.java b/src/projectzombie/world/layer/layergen/LayerGenCaves.java
index 28ba3f6..e66f6ff 100755
--- a/src/projectzombie/world/layer/layergen/LayerGenCaves.java
+++ b/src/projectzombie/world/layer/layergen/LayerGenCaves.java
@@ -7,13 +7,13 @@ import projectzombie.entity.Entity;
import projectzombie.entity.EntityZombie;
import projectzombie.init.Tiles;
import projectzombie.util.math.ColorRange;
-import projectzombie.util.math.MathHelpers;
+import gl_engine.MathHelpers;
import projectzombie.util.math.TileState;
import projectzombie.util.math.random.OpenSimplexNoise;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/world/layer/layergen/LayerGenEarth.java b/src/projectzombie/world/layer/layergen/LayerGenEarth.java
index fb63ad7..ab957ca 100755
--- a/src/projectzombie/world/layer/layergen/LayerGenEarth.java
+++ b/src/projectzombie/world/layer/layergen/LayerGenEarth.java
@@ -11,9 +11,9 @@ import projectzombie.util.math.ColorRange;
import projectzombie.util.math.TileState;
import projectzombie.util.math.random.OpenSimplexNoise;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/world/layer/layergen/LayerGenLavaCaves.java b/src/projectzombie/world/layer/layergen/LayerGenLavaCaves.java
index ec5a918..f0cec2f 100755
--- a/src/projectzombie/world/layer/layergen/LayerGenLavaCaves.java
+++ b/src/projectzombie/world/layer/layergen/LayerGenLavaCaves.java
@@ -10,9 +10,9 @@ import projectzombie.util.math.ColorRange;
import projectzombie.util.math.TileState;
import projectzombie.util.math.random.OpenSimplexNoise;
import projectzombie.util.math.random.RandomHelpers;
-import projectzombie.util.math.vec.Vec2d;
-import projectzombie.util.math.vec.Vec2i;
-import projectzombie.util.math.vec.Vec3d;
+import gl_engine.vec.Vec2d;
+import gl_engine.vec.Vec2i;
+import gl_engine.vec.Vec3d;
import projectzombie.world.chunk.Chunk;
import projectzombie.world.layer.Layer;
diff --git a/src/projectzombie/world/layer/layergen/LayerGenRememberPlayerPos.java b/src/projectzombie/world/layer/layergen/LayerGenRememberPlayerPos.java
index 0554058..8a69dfb 100755
--- a/src/projectzombie/world/layer/layergen/LayerGenRememberPlayerPos.java
+++ b/src/projectzombie/world/layer/layergen/LayerGenRememberPlayerPos.java
@@ -1,7 +1,7 @@
package projectzombie.world.layer.layergen;
import projectzombie.entity.player.EntityPlayer;
-import projectzombie.util.math.vec.Vec2d;
+import gl_engine.vec.Vec2d;
public interface LayerGenRememberPlayerPos
{
diff --git a/src/resources/texture/char/char_0.png b/src/resources/texture/char/char_0.png
new file mode 100644
index 0000000..320fec6
Binary files /dev/null and b/src/resources/texture/char/char_0.png differ
diff --git a/src/resources/texture/char/char_1.png b/src/resources/texture/char/char_1.png
new file mode 100644
index 0000000..f455086
Binary files /dev/null and b/src/resources/texture/char/char_1.png differ
diff --git a/src/resources/texture/char/char_2.png b/src/resources/texture/char/char_2.png
new file mode 100644
index 0000000..6b875b4
Binary files /dev/null and b/src/resources/texture/char/char_2.png differ
diff --git a/src/resources/texture/char/char_3.png b/src/resources/texture/char/char_3.png
new file mode 100644
index 0000000..504a536
Binary files /dev/null and b/src/resources/texture/char/char_3.png differ
diff --git a/src/resources/texture/char/char_4.png b/src/resources/texture/char/char_4.png
new file mode 100644
index 0000000..14f5bb7
Binary files /dev/null and b/src/resources/texture/char/char_4.png differ
diff --git a/src/resources/texture/char/char_5.png b/src/resources/texture/char/char_5.png
new file mode 100644
index 0000000..9f42384
Binary files /dev/null and b/src/resources/texture/char/char_5.png differ
diff --git a/src/resources/texture/char/char_6.png b/src/resources/texture/char/char_6.png
new file mode 100644
index 0000000..3abb94c
Binary files /dev/null and b/src/resources/texture/char/char_6.png differ
diff --git a/src/resources/texture/char/char_7.png b/src/resources/texture/char/char_7.png
new file mode 100644
index 0000000..0ab2f63
Binary files /dev/null and b/src/resources/texture/char/char_7.png differ
diff --git a/src/resources/texture/char/char_8.png b/src/resources/texture/char/char_8.png
new file mode 100644
index 0000000..11f5aae
Binary files /dev/null and b/src/resources/texture/char/char_8.png differ
diff --git a/src/resources/texture/char/char_9.png b/src/resources/texture/char/char_9.png
new file mode 100644
index 0000000..40f8b00
Binary files /dev/null and b/src/resources/texture/char/char_9.png differ
diff --git a/src/resources/texture/char/char_bslash.png b/src/resources/texture/char/char_bslash.png
new file mode 100644
index 0000000..0f7ae18
Binary files /dev/null and b/src/resources/texture/char/char_bslash.png differ
diff --git a/src/resources/texture/char/char_cbracket.png b/src/resources/texture/char/char_cbracket.png
new file mode 100644
index 0000000..1274bd5
Binary files /dev/null and b/src/resources/texture/char/char_cbracket.png differ
diff --git a/src/resources/texture/char/char_colon.png b/src/resources/texture/char/char_colon.png
new file mode 100644
index 0000000..6c00e83
Binary files /dev/null and b/src/resources/texture/char/char_colon.png differ
diff --git a/src/resources/texture/char/char_comma.png b/src/resources/texture/char/char_comma.png
new file mode 100644
index 0000000..bc5b524
Binary files /dev/null and b/src/resources/texture/char/char_comma.png differ
diff --git a/src/resources/texture/char/char_dollar.png b/src/resources/texture/char/char_dollar.png
new file mode 100644
index 0000000..e7a0e18
Binary files /dev/null and b/src/resources/texture/char/char_dollar.png differ
diff --git a/src/resources/texture/char/char_equals.png b/src/resources/texture/char/char_equals.png
new file mode 100644
index 0000000..be26726
Binary files /dev/null and b/src/resources/texture/char/char_equals.png differ
diff --git a/src/resources/texture/char/char_exclamation.png b/src/resources/texture/char/char_exclamation.png
new file mode 100644
index 0000000..9a1bc3d
Binary files /dev/null and b/src/resources/texture/char/char_exclamation.png differ
diff --git a/src/resources/texture/char/char_fslash.png b/src/resources/texture/char/char_fslash.png
new file mode 100644
index 0000000..485fea2
Binary files /dev/null and b/src/resources/texture/char/char_fslash.png differ
diff --git a/src/resources/texture/char/char_fullstop.png b/src/resources/texture/char/char_fullstop.png
new file mode 100644
index 0000000..5d4482d
Binary files /dev/null and b/src/resources/texture/char/char_fullstop.png differ
diff --git a/src/resources/texture/char/char_gthan.png b/src/resources/texture/char/char_gthan.png
new file mode 100644
index 0000000..5ee03f1
Binary files /dev/null and b/src/resources/texture/char/char_gthan.png differ
diff --git a/src/resources/texture/char/char_hashtag.png b/src/resources/texture/char/char_hashtag.png
new file mode 100644
index 0000000..f7f1c24
Binary files /dev/null and b/src/resources/texture/char/char_hashtag.png differ
diff --git a/src/resources/texture/char/char_l_a.png b/src/resources/texture/char/char_l_a.png
new file mode 100644
index 0000000..1050e59
Binary files /dev/null and b/src/resources/texture/char/char_l_a.png differ
diff --git a/src/resources/texture/char/char_l_b.png b/src/resources/texture/char/char_l_b.png
new file mode 100644
index 0000000..2778b21
Binary files /dev/null and b/src/resources/texture/char/char_l_b.png differ
diff --git a/src/resources/texture/char/char_l_c.png b/src/resources/texture/char/char_l_c.png
new file mode 100644
index 0000000..2755a0b
Binary files /dev/null and b/src/resources/texture/char/char_l_c.png differ
diff --git a/src/resources/texture/char/char_l_d.png b/src/resources/texture/char/char_l_d.png
new file mode 100644
index 0000000..a00b301
Binary files /dev/null and b/src/resources/texture/char/char_l_d.png differ
diff --git a/src/resources/texture/char/char_l_e.png b/src/resources/texture/char/char_l_e.png
new file mode 100644
index 0000000..be97f12
Binary files /dev/null and b/src/resources/texture/char/char_l_e.png differ
diff --git a/src/resources/texture/char/char_l_f.png b/src/resources/texture/char/char_l_f.png
new file mode 100644
index 0000000..8bfb940
Binary files /dev/null and b/src/resources/texture/char/char_l_f.png differ
diff --git a/src/resources/texture/char/char_l_g.png b/src/resources/texture/char/char_l_g.png
new file mode 100644
index 0000000..e3c2d96
Binary files /dev/null and b/src/resources/texture/char/char_l_g.png differ
diff --git a/src/resources/texture/char/char_l_h.png b/src/resources/texture/char/char_l_h.png
new file mode 100644
index 0000000..10e69b0
Binary files /dev/null and b/src/resources/texture/char/char_l_h.png differ
diff --git a/src/resources/texture/char/char_l_i.png b/src/resources/texture/char/char_l_i.png
new file mode 100644
index 0000000..74ec0df
Binary files /dev/null and b/src/resources/texture/char/char_l_i.png differ
diff --git a/src/resources/texture/char/char_l_j.png b/src/resources/texture/char/char_l_j.png
new file mode 100644
index 0000000..62be423
Binary files /dev/null and b/src/resources/texture/char/char_l_j.png differ
diff --git a/src/resources/texture/char/char_l_k.png b/src/resources/texture/char/char_l_k.png
new file mode 100644
index 0000000..38b4b0a
Binary files /dev/null and b/src/resources/texture/char/char_l_k.png differ
diff --git a/src/resources/texture/char/char_l_l.png b/src/resources/texture/char/char_l_l.png
new file mode 100644
index 0000000..5ccf652
Binary files /dev/null and b/src/resources/texture/char/char_l_l.png differ
diff --git a/src/resources/texture/char/char_l_m.png b/src/resources/texture/char/char_l_m.png
new file mode 100644
index 0000000..1c83deb
Binary files /dev/null and b/src/resources/texture/char/char_l_m.png differ
diff --git a/src/resources/texture/char/char_l_n.png b/src/resources/texture/char/char_l_n.png
new file mode 100644
index 0000000..d6a3242
Binary files /dev/null and b/src/resources/texture/char/char_l_n.png differ
diff --git a/src/resources/texture/char/char_l_o.png b/src/resources/texture/char/char_l_o.png
new file mode 100644
index 0000000..168c3ea
Binary files /dev/null and b/src/resources/texture/char/char_l_o.png differ
diff --git a/src/resources/texture/char/char_l_p.png b/src/resources/texture/char/char_l_p.png
new file mode 100644
index 0000000..3ed3529
Binary files /dev/null and b/src/resources/texture/char/char_l_p.png differ
diff --git a/src/resources/texture/char/char_l_q.png b/src/resources/texture/char/char_l_q.png
new file mode 100644
index 0000000..d987ec2
Binary files /dev/null and b/src/resources/texture/char/char_l_q.png differ
diff --git a/src/resources/texture/char/char_l_r.png b/src/resources/texture/char/char_l_r.png
new file mode 100644
index 0000000..8a7edd6
Binary files /dev/null and b/src/resources/texture/char/char_l_r.png differ
diff --git a/src/resources/texture/char/char_l_s.png b/src/resources/texture/char/char_l_s.png
new file mode 100644
index 0000000..3707b91
Binary files /dev/null and b/src/resources/texture/char/char_l_s.png differ
diff --git a/src/resources/texture/char/char_l_t.png b/src/resources/texture/char/char_l_t.png
new file mode 100644
index 0000000..e55f54f
Binary files /dev/null and b/src/resources/texture/char/char_l_t.png differ
diff --git a/src/resources/texture/char/char_l_u.png b/src/resources/texture/char/char_l_u.png
new file mode 100644
index 0000000..693c1a0
Binary files /dev/null and b/src/resources/texture/char/char_l_u.png differ
diff --git a/src/resources/texture/char/char_l_v.png b/src/resources/texture/char/char_l_v.png
new file mode 100644
index 0000000..fb9febc
Binary files /dev/null and b/src/resources/texture/char/char_l_v.png differ
diff --git a/src/resources/texture/char/char_l_w.png b/src/resources/texture/char/char_l_w.png
new file mode 100644
index 0000000..5ad398d
Binary files /dev/null and b/src/resources/texture/char/char_l_w.png differ
diff --git a/src/resources/texture/char/char_l_x.png b/src/resources/texture/char/char_l_x.png
new file mode 100644
index 0000000..1bd0d12
Binary files /dev/null and b/src/resources/texture/char/char_l_x.png differ
diff --git a/src/resources/texture/char/char_l_y.png b/src/resources/texture/char/char_l_y.png
new file mode 100644
index 0000000..72f42a5
Binary files /dev/null and b/src/resources/texture/char/char_l_y.png differ
diff --git a/src/resources/texture/char/char_l_z.png b/src/resources/texture/char/char_l_z.png
new file mode 100644
index 0000000..3495d20
Binary files /dev/null and b/src/resources/texture/char/char_l_z.png differ
diff --git a/src/resources/texture/char/char_lthan.png b/src/resources/texture/char/char_lthan.png
new file mode 100644
index 0000000..6af3cc0
Binary files /dev/null and b/src/resources/texture/char/char_lthan.png differ
diff --git a/src/resources/texture/char/char_minus.png b/src/resources/texture/char/char_minus.png
new file mode 100644
index 0000000..111cb0c
Binary files /dev/null and b/src/resources/texture/char/char_minus.png differ
diff --git a/src/resources/texture/char/char_obracket.png b/src/resources/texture/char/char_obracket.png
new file mode 100644
index 0000000..0c52168
Binary files /dev/null and b/src/resources/texture/char/char_obracket.png differ
diff --git a/src/resources/texture/char/char_percent.png b/src/resources/texture/char/char_percent.png
new file mode 100644
index 0000000..cdccfc4
Binary files /dev/null and b/src/resources/texture/char/char_percent.png differ
diff --git a/src/resources/texture/char/char_plus.png b/src/resources/texture/char/char_plus.png
new file mode 100644
index 0000000..7e0c94a
Binary files /dev/null and b/src/resources/texture/char/char_plus.png differ
diff --git a/src/resources/texture/char/char_question.png b/src/resources/texture/char/char_question.png
new file mode 100644
index 0000000..06bf6c4
Binary files /dev/null and b/src/resources/texture/char/char_question.png differ
diff --git a/src/resources/texture/char/char_space.png b/src/resources/texture/char/char_space.png
new file mode 100644
index 0000000..031566a
Binary files /dev/null and b/src/resources/texture/char/char_space.png differ
diff --git a/src/resources/texture/char/char_u_a.png b/src/resources/texture/char/char_u_a.png
new file mode 100644
index 0000000..c46c7a2
Binary files /dev/null and b/src/resources/texture/char/char_u_a.png differ
diff --git a/src/resources/texture/char/char_u_b.png b/src/resources/texture/char/char_u_b.png
new file mode 100644
index 0000000..0bb8107
Binary files /dev/null and b/src/resources/texture/char/char_u_b.png differ
diff --git a/src/resources/texture/char/char_u_c.png b/src/resources/texture/char/char_u_c.png
new file mode 100644
index 0000000..74b9d55
Binary files /dev/null and b/src/resources/texture/char/char_u_c.png differ
diff --git a/src/resources/texture/char/char_u_d.png b/src/resources/texture/char/char_u_d.png
new file mode 100644
index 0000000..f61130f
Binary files /dev/null and b/src/resources/texture/char/char_u_d.png differ
diff --git a/src/resources/texture/char/char_u_e.png b/src/resources/texture/char/char_u_e.png
new file mode 100644
index 0000000..35e137a
Binary files /dev/null and b/src/resources/texture/char/char_u_e.png differ
diff --git a/src/resources/texture/char/char_u_f.png b/src/resources/texture/char/char_u_f.png
new file mode 100644
index 0000000..d8d12da
Binary files /dev/null and b/src/resources/texture/char/char_u_f.png differ
diff --git a/src/resources/texture/char/char_u_g.png b/src/resources/texture/char/char_u_g.png
new file mode 100644
index 0000000..6b3683b
Binary files /dev/null and b/src/resources/texture/char/char_u_g.png differ
diff --git a/src/resources/texture/char/char_u_h.png b/src/resources/texture/char/char_u_h.png
new file mode 100644
index 0000000..e8995e0
Binary files /dev/null and b/src/resources/texture/char/char_u_h.png differ
diff --git a/src/resources/texture/char/char_u_i.png b/src/resources/texture/char/char_u_i.png
new file mode 100644
index 0000000..f2438fc
Binary files /dev/null and b/src/resources/texture/char/char_u_i.png differ
diff --git a/src/resources/texture/char/char_u_j.png b/src/resources/texture/char/char_u_j.png
new file mode 100644
index 0000000..77cafb3
Binary files /dev/null and b/src/resources/texture/char/char_u_j.png differ
diff --git a/src/resources/texture/char/char_u_k.png b/src/resources/texture/char/char_u_k.png
new file mode 100644
index 0000000..405be18
Binary files /dev/null and b/src/resources/texture/char/char_u_k.png differ
diff --git a/src/resources/texture/char/char_u_l.png b/src/resources/texture/char/char_u_l.png
new file mode 100644
index 0000000..0fef3e6
Binary files /dev/null and b/src/resources/texture/char/char_u_l.png differ
diff --git a/src/resources/texture/char/char_u_m.png b/src/resources/texture/char/char_u_m.png
new file mode 100644
index 0000000..0370bf6
Binary files /dev/null and b/src/resources/texture/char/char_u_m.png differ
diff --git a/src/resources/texture/char/char_u_n.png b/src/resources/texture/char/char_u_n.png
new file mode 100644
index 0000000..edda5db
Binary files /dev/null and b/src/resources/texture/char/char_u_n.png differ
diff --git a/src/resources/texture/char/char_u_o.png b/src/resources/texture/char/char_u_o.png
new file mode 100644
index 0000000..a98f074
Binary files /dev/null and b/src/resources/texture/char/char_u_o.png differ
diff --git a/src/resources/texture/char/char_u_p.png b/src/resources/texture/char/char_u_p.png
new file mode 100644
index 0000000..945a257
Binary files /dev/null and b/src/resources/texture/char/char_u_p.png differ
diff --git a/src/resources/texture/char/char_u_q.png b/src/resources/texture/char/char_u_q.png
new file mode 100644
index 0000000..70d1c49
Binary files /dev/null and b/src/resources/texture/char/char_u_q.png differ
diff --git a/src/resources/texture/char/char_u_r.png b/src/resources/texture/char/char_u_r.png
new file mode 100644
index 0000000..b9f431c
Binary files /dev/null and b/src/resources/texture/char/char_u_r.png differ
diff --git a/src/resources/texture/char/char_u_s.png b/src/resources/texture/char/char_u_s.png
new file mode 100644
index 0000000..5344af7
Binary files /dev/null and b/src/resources/texture/char/char_u_s.png differ
diff --git a/src/resources/texture/char/char_u_t.png b/src/resources/texture/char/char_u_t.png
new file mode 100644
index 0000000..304ca8f
Binary files /dev/null and b/src/resources/texture/char/char_u_t.png differ
diff --git a/src/resources/texture/char/char_u_u.png b/src/resources/texture/char/char_u_u.png
new file mode 100644
index 0000000..e6d35cd
Binary files /dev/null and b/src/resources/texture/char/char_u_u.png differ
diff --git a/src/resources/texture/char/char_u_v.png b/src/resources/texture/char/char_u_v.png
new file mode 100644
index 0000000..40cb23f
Binary files /dev/null and b/src/resources/texture/char/char_u_v.png differ
diff --git a/src/resources/texture/char/char_u_w.png b/src/resources/texture/char/char_u_w.png
new file mode 100644
index 0000000..03588d2
Binary files /dev/null and b/src/resources/texture/char/char_u_w.png differ
diff --git a/src/resources/texture/char/char_u_x.png b/src/resources/texture/char/char_u_x.png
new file mode 100644
index 0000000..cb3400c
Binary files /dev/null and b/src/resources/texture/char/char_u_x.png differ
diff --git a/src/resources/texture/char/char_u_y.png b/src/resources/texture/char/char_u_y.png
new file mode 100644
index 0000000..f59c949
Binary files /dev/null and b/src/resources/texture/char/char_u_y.png differ
diff --git a/src/resources/texture/char/char_u_z.png b/src/resources/texture/char/char_u_z.png
new file mode 100644
index 0000000..f47af45
Binary files /dev/null and b/src/resources/texture/char/char_u_z.png differ
diff --git a/src/resources/texture/char/char_underscore.png b/src/resources/texture/char/char_underscore.png
new file mode 100644
index 0000000..4d305dd
Binary files /dev/null and b/src/resources/texture/char/char_underscore.png differ
diff --git a/src/resources/texture/char/char_unknown.png b/src/resources/texture/char/char_unknown.png
new file mode 100644
index 0000000..78eb5b7
Binary files /dev/null and b/src/resources/texture/char/char_unknown.png differ
diff --git a/src/resources/texture/char/char_vertical.png b/src/resources/texture/char/char_vertical.png
new file mode 100644
index 0000000..409fd74
Binary files /dev/null and b/src/resources/texture/char/char_vertical.png differ
diff --git a/src/resources/texture/entity/armored/armored_zombie_b_0.png b/src/resources/texture/entity/armored/armored_zombie_b_0.png
new file mode 100644
index 0000000..a2e1479
Binary files /dev/null and b/src/resources/texture/entity/armored/armored_zombie_b_0.png differ
diff --git a/src/resources/texture/entity/armored/armored_zombie_b_1.png b/src/resources/texture/entity/armored/armored_zombie_b_1.png
new file mode 100644
index 0000000..e7b6ceb
Binary files /dev/null and b/src/resources/texture/entity/armored/armored_zombie_b_1.png differ
diff --git a/src/resources/texture/entity/armored/armored_zombie_b_2.png b/src/resources/texture/entity/armored/armored_zombie_b_2.png
new file mode 100644
index 0000000..2656b87
Binary files /dev/null and b/src/resources/texture/entity/armored/armored_zombie_b_2.png differ
diff --git a/src/resources/texture/entity/armored/armored_zombie_b_3.png b/src/resources/texture/entity/armored/armored_zombie_b_3.png
new file mode 100644
index 0000000..0e9283c
Binary files /dev/null and b/src/resources/texture/entity/armored/armored_zombie_b_3.png differ
diff --git a/src/resources/texture/entity/armored/armored_zombie_f_0.png b/src/resources/texture/entity/armored/armored_zombie_f_0.png
new file mode 100644
index 0000000..43d1da7
Binary files /dev/null and b/src/resources/texture/entity/armored/armored_zombie_f_0.png differ
diff --git a/src/resources/texture/entity/armored/armored_zombie_f_1.png b/src/resources/texture/entity/armored/armored_zombie_f_1.png
new file mode 100644
index 0000000..8ca5c99
Binary files /dev/null and b/src/resources/texture/entity/armored/armored_zombie_f_1.png differ
diff --git a/src/resources/texture/entity/armored/armored_zombie_f_2.png b/src/resources/texture/entity/armored/armored_zombie_f_2.png
new file mode 100644
index 0000000..f58a84d
Binary files /dev/null and b/src/resources/texture/entity/armored/armored_zombie_f_2.png differ
diff --git a/src/resources/texture/entity/armored/armored_zombie_f_3.png b/src/resources/texture/entity/armored/armored_zombie_f_3.png
new file mode 100644
index 0000000..15da1cb
Binary files /dev/null and b/src/resources/texture/entity/armored/armored_zombie_f_3.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_still.png b/src/resources/texture/entity/boss_1/boss_1_still.png
new file mode 100644
index 0000000..322d7b3
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_still.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_still_0.png b/src/resources/texture/entity/boss_1/boss_1_still_0.png
new file mode 100644
index 0000000..be8477a
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_still_0.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_still_1.png b/src/resources/texture/entity/boss_1/boss_1_still_1.png
new file mode 100644
index 0000000..b61bcfc
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_still_1.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_still_2.png b/src/resources/texture/entity/boss_1/boss_1_still_2.png
new file mode 100644
index 0000000..7a551ec
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_still_2.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_still_3.png b/src/resources/texture/entity/boss_1/boss_1_still_3.png
new file mode 100644
index 0000000..d4f5795
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_still_3.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_walk_0.png b/src/resources/texture/entity/boss_1/boss_1_walk_0.png
new file mode 100644
index 0000000..344f565
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_walk_0.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_walk_1.png b/src/resources/texture/entity/boss_1/boss_1_walk_1.png
new file mode 100644
index 0000000..ab3a22a
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_walk_1.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_walk_2.png b/src/resources/texture/entity/boss_1/boss_1_walk_2.png
new file mode 100644
index 0000000..6d815e7
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_walk_2.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_walk_3.png b/src/resources/texture/entity/boss_1/boss_1_walk_3.png
new file mode 100644
index 0000000..26af105
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_walk_3.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_wg_0.png b/src/resources/texture/entity/boss_1/boss_1_wg_0.png
new file mode 100644
index 0000000..76d0d80
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_wg_0.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_wg_1.png b/src/resources/texture/entity/boss_1/boss_1_wg_1.png
new file mode 100644
index 0000000..9e1c853
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_wg_1.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_wg_2.png b/src/resources/texture/entity/boss_1/boss_1_wg_2.png
new file mode 100644
index 0000000..3b5e5f9
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_wg_2.png differ
diff --git a/src/resources/texture/entity/boss_1/boss_1_wg_3.png b/src/resources/texture/entity/boss_1/boss_1_wg_3.png
new file mode 100644
index 0000000..ad57fcf
Binary files /dev/null and b/src/resources/texture/entity/boss_1/boss_1_wg_3.png differ
diff --git a/src/resources/texture/entity/dummy.png b/src/resources/texture/entity/dummy.png
new file mode 100644
index 0000000..528af93
Binary files /dev/null and b/src/resources/texture/entity/dummy.png differ
diff --git a/src/resources/texture/entity/flare.png b/src/resources/texture/entity/flare.png
new file mode 100644
index 0000000..1fcdd0d
Binary files /dev/null and b/src/resources/texture/entity/flare.png differ
diff --git a/src/resources/texture/entity/grappling_hook.png b/src/resources/texture/entity/grappling_hook.png
new file mode 100644
index 0000000..ac5318c
Binary files /dev/null and b/src/resources/texture/entity/grappling_hook.png differ
diff --git a/src/resources/texture/entity/player/player_bb_0.png b/src/resources/texture/entity/player/player_bb_0.png
new file mode 100644
index 0000000..fa557b1
Binary files /dev/null and b/src/resources/texture/entity/player/player_bb_0.png differ
diff --git a/src/resources/texture/entity/player/player_bb_1.png b/src/resources/texture/entity/player/player_bb_1.png
new file mode 100644
index 0000000..5725c4e
Binary files /dev/null and b/src/resources/texture/entity/player/player_bb_1.png differ
diff --git a/src/resources/texture/entity/player/player_bb_2.png b/src/resources/texture/entity/player/player_bb_2.png
new file mode 100644
index 0000000..3e610d0
Binary files /dev/null and b/src/resources/texture/entity/player/player_bb_2.png differ
diff --git a/src/resources/texture/entity/player/player_bb_3.png b/src/resources/texture/entity/player/player_bb_3.png
new file mode 100644
index 0000000..bcde01b
Binary files /dev/null and b/src/resources/texture/entity/player/player_bb_3.png differ
diff --git a/src/resources/texture/entity/player/player_bf_0.png b/src/resources/texture/entity/player/player_bf_0.png
new file mode 100644
index 0000000..fb972eb
Binary files /dev/null and b/src/resources/texture/entity/player/player_bf_0.png differ
diff --git a/src/resources/texture/entity/player/player_bf_1.png b/src/resources/texture/entity/player/player_bf_1.png
new file mode 100644
index 0000000..a38281f
Binary files /dev/null and b/src/resources/texture/entity/player/player_bf_1.png differ
diff --git a/src/resources/texture/entity/player/player_bf_2.png b/src/resources/texture/entity/player/player_bf_2.png
new file mode 100644
index 0000000..013dae9
Binary files /dev/null and b/src/resources/texture/entity/player/player_bf_2.png differ
diff --git a/src/resources/texture/entity/player/player_bf_3.png b/src/resources/texture/entity/player/player_bf_3.png
new file mode 100644
index 0000000..5c463d0
Binary files /dev/null and b/src/resources/texture/entity/player/player_bf_3.png differ
diff --git a/src/resources/texture/entity/player/player_wb_0.png b/src/resources/texture/entity/player/player_wb_0.png
new file mode 100644
index 0000000..de223df
Binary files /dev/null and b/src/resources/texture/entity/player/player_wb_0.png differ
diff --git a/src/resources/texture/entity/player/player_wb_1.png b/src/resources/texture/entity/player/player_wb_1.png
new file mode 100644
index 0000000..fba8fbc
Binary files /dev/null and b/src/resources/texture/entity/player/player_wb_1.png differ
diff --git a/src/resources/texture/entity/player/player_wb_2.png b/src/resources/texture/entity/player/player_wb_2.png
new file mode 100644
index 0000000..fd40866
Binary files /dev/null and b/src/resources/texture/entity/player/player_wb_2.png differ
diff --git a/src/resources/texture/entity/player/player_wb_3.png b/src/resources/texture/entity/player/player_wb_3.png
new file mode 100644
index 0000000..b0b1166
Binary files /dev/null and b/src/resources/texture/entity/player/player_wb_3.png differ
diff --git a/src/resources/texture/entity/player/player_wf_0.png b/src/resources/texture/entity/player/player_wf_0.png
new file mode 100644
index 0000000..c8b4a83
Binary files /dev/null and b/src/resources/texture/entity/player/player_wf_0.png differ
diff --git a/src/resources/texture/entity/player/player_wf_1.png b/src/resources/texture/entity/player/player_wf_1.png
new file mode 100644
index 0000000..e19b711
Binary files /dev/null and b/src/resources/texture/entity/player/player_wf_1.png differ
diff --git a/src/resources/texture/entity/player/player_wf_2.png b/src/resources/texture/entity/player/player_wf_2.png
new file mode 100644
index 0000000..ccabb9d
Binary files /dev/null and b/src/resources/texture/entity/player/player_wf_2.png differ
diff --git a/src/resources/texture/entity/player/player_wf_3.png b/src/resources/texture/entity/player/player_wf_3.png
new file mode 100644
index 0000000..deb9de5
Binary files /dev/null and b/src/resources/texture/entity/player/player_wf_3.png differ
diff --git a/src/resources/texture/entity/smoke/smoke_0.png b/src/resources/texture/entity/smoke/smoke_0.png
new file mode 100644
index 0000000..aa7a126
Binary files /dev/null and b/src/resources/texture/entity/smoke/smoke_0.png differ
diff --git a/src/resources/texture/entity/smoke/smoke_1.png b/src/resources/texture/entity/smoke/smoke_1.png
new file mode 100644
index 0000000..c08ef59
Binary files /dev/null and b/src/resources/texture/entity/smoke/smoke_1.png differ
diff --git a/src/resources/texture/entity/smoke/smoke_2.png b/src/resources/texture/entity/smoke/smoke_2.png
new file mode 100644
index 0000000..68dafc9
Binary files /dev/null and b/src/resources/texture/entity/smoke/smoke_2.png differ
diff --git a/src/resources/texture/entity/smoke/smoke_3.png b/src/resources/texture/entity/smoke/smoke_3.png
new file mode 100644
index 0000000..83bdc4b
Binary files /dev/null and b/src/resources/texture/entity/smoke/smoke_3.png differ
diff --git a/src/resources/texture/entity/smoke/smoke_4.png b/src/resources/texture/entity/smoke/smoke_4.png
new file mode 100644
index 0000000..50eee45
Binary files /dev/null and b/src/resources/texture/entity/smoke/smoke_4.png differ
diff --git a/src/resources/texture/entity/smoke/smoke_5.png b/src/resources/texture/entity/smoke/smoke_5.png
new file mode 100644
index 0000000..eb8e9c2
Binary files /dev/null and b/src/resources/texture/entity/smoke/smoke_5.png differ
diff --git a/src/resources/texture/entity/tnt.png b/src/resources/texture/entity/tnt.png
new file mode 100644
index 0000000..e7c3662
Binary files /dev/null and b/src/resources/texture/entity/tnt.png differ
diff --git a/src/resources/texture/entity/zombie/zombie_b_0.png b/src/resources/texture/entity/zombie/zombie_b_0.png
new file mode 100644
index 0000000..4bff702
Binary files /dev/null and b/src/resources/texture/entity/zombie/zombie_b_0.png differ
diff --git a/src/resources/texture/entity/zombie/zombie_b_1.png b/src/resources/texture/entity/zombie/zombie_b_1.png
new file mode 100644
index 0000000..e0f56b9
Binary files /dev/null and b/src/resources/texture/entity/zombie/zombie_b_1.png differ
diff --git a/src/resources/texture/entity/zombie/zombie_b_2.png b/src/resources/texture/entity/zombie/zombie_b_2.png
new file mode 100644
index 0000000..21be3da
Binary files /dev/null and b/src/resources/texture/entity/zombie/zombie_b_2.png differ
diff --git a/src/resources/texture/entity/zombie/zombie_b_3.png b/src/resources/texture/entity/zombie/zombie_b_3.png
new file mode 100644
index 0000000..42e79f9
Binary files /dev/null and b/src/resources/texture/entity/zombie/zombie_b_3.png differ
diff --git a/src/resources/texture/entity/zombie/zombie_f_0.png b/src/resources/texture/entity/zombie/zombie_f_0.png
new file mode 100644
index 0000000..cb1daf7
Binary files /dev/null and b/src/resources/texture/entity/zombie/zombie_f_0.png differ
diff --git a/src/resources/texture/entity/zombie/zombie_f_1.png b/src/resources/texture/entity/zombie/zombie_f_1.png
new file mode 100644
index 0000000..90f977a
Binary files /dev/null and b/src/resources/texture/entity/zombie/zombie_f_1.png differ
diff --git a/src/resources/texture/entity/zombie/zombie_f_2.png b/src/resources/texture/entity/zombie/zombie_f_2.png
new file mode 100644
index 0000000..5d25e55
Binary files /dev/null and b/src/resources/texture/entity/zombie/zombie_f_2.png differ
diff --git a/src/resources/texture/entity/zombie/zombie_f_3.png b/src/resources/texture/entity/zombie/zombie_f_3.png
new file mode 100644
index 0000000..6a654f0
Binary files /dev/null and b/src/resources/texture/entity/zombie/zombie_f_3.png differ
diff --git a/src/resources/texture/gui/button_hover.png b/src/resources/texture/gui/button_hover.png
new file mode 100644
index 0000000..2076fcc
Binary files /dev/null and b/src/resources/texture/gui/button_hover.png differ
diff --git a/src/resources/texture/gui/button_normal.png b/src/resources/texture/gui/button_normal.png
new file mode 100644
index 0000000..d702298
Binary files /dev/null and b/src/resources/texture/gui/button_normal.png differ
diff --git a/src/resources/texture/gui/gun.png b/src/resources/texture/gui/gun.png
new file mode 100644
index 0000000..72ac7ce
Binary files /dev/null and b/src/resources/texture/gui/gun.png differ
diff --git a/src/resources/texture/gui/health_empty.png b/src/resources/texture/gui/health_empty.png
new file mode 100644
index 0000000..12b9606
Binary files /dev/null and b/src/resources/texture/gui/health_empty.png differ
diff --git a/src/resources/texture/gui/health_full.png b/src/resources/texture/gui/health_full.png
new file mode 100644
index 0000000..904e99a
Binary files /dev/null and b/src/resources/texture/gui/health_full.png differ
diff --git a/src/resources/texture/gui/hotbar.png b/src/resources/texture/gui/hotbar.png
new file mode 100644
index 0000000..905cd19
Binary files /dev/null and b/src/resources/texture/gui/hotbar.png differ
diff --git a/src/resources/texture/gui/hotbar_selected.png b/src/resources/texture/gui/hotbar_selected.png
new file mode 100644
index 0000000..3bd03de
Binary files /dev/null and b/src/resources/texture/gui/hotbar_selected.png differ
diff --git a/src/resources/texture/gui/shield.png b/src/resources/texture/gui/shield.png
new file mode 100644
index 0000000..f5ad411
Binary files /dev/null and b/src/resources/texture/gui/shield.png differ
diff --git a/src/resources/texture/item/ammo_box.png b/src/resources/texture/item/ammo_box.png
new file mode 100644
index 0000000..4a5ff66
Binary files /dev/null and b/src/resources/texture/item/ammo_box.png differ
diff --git a/src/resources/texture/item/grappling_hook.png b/src/resources/texture/item/grappling_hook.png
new file mode 100644
index 0000000..0dc061f
Binary files /dev/null and b/src/resources/texture/item/grappling_hook.png differ
diff --git a/src/resources/texture/item/gun_upgrade.png b/src/resources/texture/item/gun_upgrade.png
new file mode 100644
index 0000000..67c46e0
Binary files /dev/null and b/src/resources/texture/item/gun_upgrade.png differ
diff --git a/src/resources/texture/item/health_potion.png b/src/resources/texture/item/health_potion.png
new file mode 100644
index 0000000..1eb81a6
Binary files /dev/null and b/src/resources/texture/item/health_potion.png differ
diff --git a/src/resources/texture/item/rock.png b/src/resources/texture/item/rock.png
new file mode 100644
index 0000000..8058c75
Binary files /dev/null and b/src/resources/texture/item/rock.png differ
diff --git a/src/resources/texture/item/shield_upgrade.png b/src/resources/texture/item/shield_upgrade.png
new file mode 100644
index 0000000..532ea79
Binary files /dev/null and b/src/resources/texture/item/shield_upgrade.png differ
diff --git a/src/resources/texture/list.txt b/src/resources/texture/list.txt
new file mode 100644
index 0000000..240e12a
--- /dev/null
+++ b/src/resources/texture/list.txt
@@ -0,0 +1,219 @@
+./list.txt
+./char/char_question.png
+./char/char_l_a.png
+./char/char_u_j.png
+./char/char_l_u.png
+./char/char_u_s.png
+./char/char_l_s.png
+./char/char_plus.png
+./char/char_l_e.png
+./char/char_7.png
+./char/char_minus.png
+./char/char_u_r.png
+./char/char_u_l.png
+./char/char_obracket.png
+./char/char_u_m.png
+./char/char_l_t.png
+./char/char_percent.png
+./char/char_l_y.png
+./char/char_0.png
+./char/char_4.png
+./char/char_l_r.png
+./char/char_l_m.png
+./char/char_cbracket.png
+./char/char_u_g.png
+./char/char_u_q.png
+./char/char_u_i.png
+./char/char_l_w.png
+./char/char_l_v.png
+./char/char_fslash.png
+./char/char_u_p.png
+./char/char_gthan.png
+./char/char_8.png
+./char/char_unknown.png
+./char/char_u_n.png
+./char/char_l_i.png
+./char/char_u_y.png
+./char/char_l_p.png
+./char/char_lthan.png
+./char/char_l_g.png
+./char/char_bslash.png
+./char/char_1.png
+./char/char_u_z.png
+./char/char_l_f.png
+./char/char_u_w.png
+./char/char_9.png
+./char/char_l_x.png
+./char/char_l_o.png
+./char/char_equals.png
+./char/char_l_d.png
+./char/char_dollar.png
+./char/char_hashtag.png
+./char/char_l_q.png
+./char/char_u_o.png
+./char/char_6.png
+./char/char_u_d.png
+./char/char_u_e.png
+./char/char_exclamation.png
+./char/char_vertical.png
+./char/char_u_k.png
+./char/char_u_c.png
+./char/char_l_n.png
+./char/char_u_b.png
+./char/char_u_f.png
+./char/char_l_h.png
+./char/char_l_k.png
+./char/char_u_t.png
+./char/char_3.png
+./char/char_u_v.png
+./char/char_u_h.png
+./char/char_u_a.png
+./char/char_l_b.png
+./char/char_underscore.png
+./char/char_u_x.png
+./char/char_comma.png
+./char/char_l_l.png
+./char/char_5.png
+./char/char_colon.png
+./char/char_l_z.png
+./char/char_space.png
+./char/char_2.png
+./char/char_l_j.png
+./char/char_fullstop.png
+./char/char_l_c.png
+./char/char_u_u.png
+./gui/health_empty.png
+./gui/button_hover.png
+./gui/button_normal.png
+./gui/hotbar.png
+./gui/health_full.png
+./gui/hotbar_selected.png
+./gui/shield.png
+./gui/gun.png
+./tile/tree.png
+./tile/stone_hard.png
+./tile/dirt.png
+./tile/rock.png
+./tile/stone.png
+./tile/lava_flow/lava_flow_13.png
+./tile/lava_flow/lava_flow_4.png
+./tile/lava_flow/lava_flow_0.png
+./tile/lava_flow/lava_flow_12.png
+./tile/lava_flow/lava_flow_2.png
+./tile/lava_flow/lava_flow_14.png
+./tile/lava_flow/lava_flow_10.png
+./tile/lava_flow/lava_flow_1.png
+./tile/lava_flow/lava_flow_8.png
+./tile/lava_flow/lava_flow_15.png
+./tile/lava_flow/lava_flow_5.png
+./tile/lava_flow/lava_flow_6.png
+./tile/lava_flow/lava_flow_7.png
+./tile/lava_flow/lava_flow_11.png
+./tile/lava_flow/lava_flow_9.png
+./tile/lava_flow/lava_flow_3.png
+./tile/grass.png
+./tile/chest.png
+./tile/lava/lava_9.png
+./tile/lava/lava_12.png
+./tile/lava/lava_7.png
+./tile/lava/lava_15.png
+./tile/lava/lava_13.png
+./tile/lava/lava_2.png
+./tile/lava/lava_14.png
+./tile/lava/lava_1.png
+./tile/lava/lava_8.png
+./tile/lava/lava_6.png
+./tile/lava/lava_5.png
+./tile/lava/lava_10.png
+./tile/lava/lava_0.png
+./tile/lava/lava_3.png
+./tile/lava/lava_4.png
+./tile/lava/lava_11.png
+./tile/ladder_down.png
+./tile/lantern/lantern_2.png
+./tile/lantern/lantern_0.png
+./tile/lantern/lantern_1.png
+./tile/lantern/lantern_3.png
+./tile/lantern/lantern_5.png
+./tile/lantern/lantern_4.png
+./tile/tunnel_down.png
+./tile/boss_portal.png
+./tile/ladder.png
+./tile/sand.png
+./tile/water/water_12.png
+./tile/water/water_3.png
+./tile/water/water_14.png
+./tile/water/water_13.png
+./tile/water/water_9.png
+./tile/water/water_11.png
+./tile/water/water_2.png
+./tile/water/water_7.png
+./tile/water/water_10.png
+./tile/water/water_15.png
+./tile/water/water_5.png
+./tile/water/water_8.png
+./tile/water/water_4.png
+./tile/water/water_6.png
+./tile/water/water_1.png
+./tile/water/water_0.png
+./entity/flare.png
+./entity/grappling_hook.png
+./entity/tnt.png
+./entity/boss_1/boss_1_walk_2.png
+./entity/boss_1/boss_1_wg_3.png
+./entity/boss_1/boss_1_walk_3.png
+./entity/boss_1/boss_1_still_0.png
+./entity/boss_1/boss_1_still_3.png
+./entity/boss_1/boss_1_still.png
+./entity/boss_1/boss_1_walk_0.png
+./entity/boss_1/boss_1_wg_2.png
+./entity/boss_1/boss_1_wg_1.png
+./entity/boss_1/boss_1_walk_1.png
+./entity/boss_1/boss_1_still_1.png
+./entity/boss_1/boss_1_still_2.png
+./entity/boss_1/boss_1_wg_0.png
+./entity/zombie/zombie_b_1.png
+./entity/zombie/zombie_b_0.png
+./entity/zombie/zombie_f_0.png
+./entity/zombie/zombie_f_2.png
+./entity/zombie/zombie_f_1.png
+./entity/zombie/zombie_b_2.png
+./entity/zombie/zombie_b_3.png
+./entity/zombie/zombie_f_3.png
+./entity/armored/armored_zombie_b_1.png
+./entity/armored/armored_zombie_f_1.png
+./entity/armored/armored_zombie_f_0.png
+./entity/armored/armored_zombie_b_3.png
+./entity/armored/armored_zombie_b_0.png
+./entity/armored/armored_zombie_b_2.png
+./entity/armored/armored_zombie_f_2.png
+./entity/armored/armored_zombie_f_3.png
+./entity/player/player_bf_1.png
+./entity/player/player_wb_3.png
+./entity/player/player_wb_0.png
+./entity/player/player_wf_0.png
+./entity/player/player_wb_2.png
+./entity/player/player_bb_1.png
+./entity/player/player_wf_3.png
+./entity/player/player_wb_1.png
+./entity/player/player_wf_2.png
+./entity/player/player_bb_3.png
+./entity/player/player_bb_2.png
+./entity/player/player_bf_0.png
+./entity/player/player_bb_0.png
+./entity/player/player_wf_1.png
+./entity/player/player_bf_2.png
+./entity/player/player_bf_3.png
+./entity/dummy.png
+./entity/smoke/smoke_0.png
+./entity/smoke/smoke_1.png
+./entity/smoke/smoke_2.png
+./entity/smoke/smoke_4.png
+./entity/smoke/smoke_3.png
+./entity/smoke/smoke_5.png
+./item/grappling_hook.png
+./item/gun_upgrade.png
+./item/shield_upgrade.png
+./item/rock.png
+./item/ammo_box.png
+./item/health_potion.png
diff --git a/src/resources/texture/tile/boss_portal.png b/src/resources/texture/tile/boss_portal.png
new file mode 100644
index 0000000..93017cc
Binary files /dev/null and b/src/resources/texture/tile/boss_portal.png differ
diff --git a/src/resources/texture/tile/chest.png b/src/resources/texture/tile/chest.png
new file mode 100644
index 0000000..7208ba6
Binary files /dev/null and b/src/resources/texture/tile/chest.png differ
diff --git a/src/resources/texture/tile/dirt.png b/src/resources/texture/tile/dirt.png
new file mode 100644
index 0000000..e5a4cb7
Binary files /dev/null and b/src/resources/texture/tile/dirt.png differ
diff --git a/src/resources/texture/tile/grass.png b/src/resources/texture/tile/grass.png
new file mode 100644
index 0000000..a3c8e8a
Binary files /dev/null and b/src/resources/texture/tile/grass.png differ
diff --git a/src/resources/texture/tile/ladder.png b/src/resources/texture/tile/ladder.png
new file mode 100644
index 0000000..8a04332
Binary files /dev/null and b/src/resources/texture/tile/ladder.png differ
diff --git a/src/resources/texture/tile/ladder_down.png b/src/resources/texture/tile/ladder_down.png
new file mode 100644
index 0000000..e652cdc
Binary files /dev/null and b/src/resources/texture/tile/ladder_down.png differ
diff --git a/src/resources/texture/tile/lantern/lantern_0.png b/src/resources/texture/tile/lantern/lantern_0.png
new file mode 100644
index 0000000..c42317f
Binary files /dev/null and b/src/resources/texture/tile/lantern/lantern_0.png differ
diff --git a/src/resources/texture/tile/lantern/lantern_1.png b/src/resources/texture/tile/lantern/lantern_1.png
new file mode 100644
index 0000000..ecb6b38
Binary files /dev/null and b/src/resources/texture/tile/lantern/lantern_1.png differ
diff --git a/src/resources/texture/tile/lantern/lantern_2.png b/src/resources/texture/tile/lantern/lantern_2.png
new file mode 100644
index 0000000..a7e5bad
Binary files /dev/null and b/src/resources/texture/tile/lantern/lantern_2.png differ
diff --git a/src/resources/texture/tile/lantern/lantern_3.png b/src/resources/texture/tile/lantern/lantern_3.png
new file mode 100644
index 0000000..f237bb0
Binary files /dev/null and b/src/resources/texture/tile/lantern/lantern_3.png differ
diff --git a/src/resources/texture/tile/lantern/lantern_4.png b/src/resources/texture/tile/lantern/lantern_4.png
new file mode 100644
index 0000000..c761f7f
Binary files /dev/null and b/src/resources/texture/tile/lantern/lantern_4.png differ
diff --git a/src/resources/texture/tile/lantern/lantern_5.png b/src/resources/texture/tile/lantern/lantern_5.png
new file mode 100644
index 0000000..d7d62e6
Binary files /dev/null and b/src/resources/texture/tile/lantern/lantern_5.png differ
diff --git a/src/resources/texture/tile/lava/lava_0.png b/src/resources/texture/tile/lava/lava_0.png
new file mode 100644
index 0000000..ccad3e7
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_0.png differ
diff --git a/src/resources/texture/tile/lava/lava_1.png b/src/resources/texture/tile/lava/lava_1.png
new file mode 100644
index 0000000..1f5738f
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_1.png differ
diff --git a/src/resources/texture/tile/lava/lava_10.png b/src/resources/texture/tile/lava/lava_10.png
new file mode 100644
index 0000000..2083468
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_10.png differ
diff --git a/src/resources/texture/tile/lava/lava_11.png b/src/resources/texture/tile/lava/lava_11.png
new file mode 100644
index 0000000..8e4d748
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_11.png differ
diff --git a/src/resources/texture/tile/lava/lava_12.png b/src/resources/texture/tile/lava/lava_12.png
new file mode 100644
index 0000000..f8cbdd7
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_12.png differ
diff --git a/src/resources/texture/tile/lava/lava_13.png b/src/resources/texture/tile/lava/lava_13.png
new file mode 100644
index 0000000..d7bddc2
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_13.png differ
diff --git a/src/resources/texture/tile/lava/lava_14.png b/src/resources/texture/tile/lava/lava_14.png
new file mode 100644
index 0000000..d069795
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_14.png differ
diff --git a/src/resources/texture/tile/lava/lava_15.png b/src/resources/texture/tile/lava/lava_15.png
new file mode 100644
index 0000000..2dd6a62
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_15.png differ
diff --git a/src/resources/texture/tile/lava/lava_2.png b/src/resources/texture/tile/lava/lava_2.png
new file mode 100644
index 0000000..d977597
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_2.png differ
diff --git a/src/resources/texture/tile/lava/lava_3.png b/src/resources/texture/tile/lava/lava_3.png
new file mode 100644
index 0000000..6a0a237
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_3.png differ
diff --git a/src/resources/texture/tile/lava/lava_4.png b/src/resources/texture/tile/lava/lava_4.png
new file mode 100644
index 0000000..5eb97fb
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_4.png differ
diff --git a/src/resources/texture/tile/lava/lava_5.png b/src/resources/texture/tile/lava/lava_5.png
new file mode 100644
index 0000000..3965c25
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_5.png differ
diff --git a/src/resources/texture/tile/lava/lava_6.png b/src/resources/texture/tile/lava/lava_6.png
new file mode 100644
index 0000000..09fe8e2
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_6.png differ
diff --git a/src/resources/texture/tile/lava/lava_7.png b/src/resources/texture/tile/lava/lava_7.png
new file mode 100644
index 0000000..ed8ced0
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_7.png differ
diff --git a/src/resources/texture/tile/lava/lava_8.png b/src/resources/texture/tile/lava/lava_8.png
new file mode 100644
index 0000000..38baf70
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_8.png differ
diff --git a/src/resources/texture/tile/lava/lava_9.png b/src/resources/texture/tile/lava/lava_9.png
new file mode 100644
index 0000000..538bbf6
Binary files /dev/null and b/src/resources/texture/tile/lava/lava_9.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_0.png b/src/resources/texture/tile/lava_flow/lava_flow_0.png
new file mode 100644
index 0000000..75a01e1
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_0.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_1.png b/src/resources/texture/tile/lava_flow/lava_flow_1.png
new file mode 100644
index 0000000..624bc7c
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_1.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_10.png b/src/resources/texture/tile/lava_flow/lava_flow_10.png
new file mode 100644
index 0000000..92c9ebe
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_10.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_11.png b/src/resources/texture/tile/lava_flow/lava_flow_11.png
new file mode 100644
index 0000000..94a6bfa
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_11.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_12.png b/src/resources/texture/tile/lava_flow/lava_flow_12.png
new file mode 100644
index 0000000..0a124cb
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_12.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_13.png b/src/resources/texture/tile/lava_flow/lava_flow_13.png
new file mode 100644
index 0000000..1acea91
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_13.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_14.png b/src/resources/texture/tile/lava_flow/lava_flow_14.png
new file mode 100644
index 0000000..798cc1f
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_14.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_15.png b/src/resources/texture/tile/lava_flow/lava_flow_15.png
new file mode 100644
index 0000000..f4a0b4f
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_15.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_2.png b/src/resources/texture/tile/lava_flow/lava_flow_2.png
new file mode 100644
index 0000000..fa15505
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_2.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_3.png b/src/resources/texture/tile/lava_flow/lava_flow_3.png
new file mode 100644
index 0000000..48e1122
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_3.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_4.png b/src/resources/texture/tile/lava_flow/lava_flow_4.png
new file mode 100644
index 0000000..86e39f1
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_4.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_5.png b/src/resources/texture/tile/lava_flow/lava_flow_5.png
new file mode 100644
index 0000000..5de2f29
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_5.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_6.png b/src/resources/texture/tile/lava_flow/lava_flow_6.png
new file mode 100644
index 0000000..a99b667
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_6.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_7.png b/src/resources/texture/tile/lava_flow/lava_flow_7.png
new file mode 100644
index 0000000..82c0f62
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_7.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_8.png b/src/resources/texture/tile/lava_flow/lava_flow_8.png
new file mode 100644
index 0000000..48a3a55
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_8.png differ
diff --git a/src/resources/texture/tile/lava_flow/lava_flow_9.png b/src/resources/texture/tile/lava_flow/lava_flow_9.png
new file mode 100644
index 0000000..f8e197d
Binary files /dev/null and b/src/resources/texture/tile/lava_flow/lava_flow_9.png differ
diff --git a/src/resources/texture/tile/rock.png b/src/resources/texture/tile/rock.png
new file mode 100644
index 0000000..b283e3a
Binary files /dev/null and b/src/resources/texture/tile/rock.png differ
diff --git a/src/resources/texture/tile/sand.png b/src/resources/texture/tile/sand.png
new file mode 100644
index 0000000..6092478
Binary files /dev/null and b/src/resources/texture/tile/sand.png differ
diff --git a/src/resources/texture/tile/stone.png b/src/resources/texture/tile/stone.png
new file mode 100644
index 0000000..4ed4fdc
Binary files /dev/null and b/src/resources/texture/tile/stone.png differ
diff --git a/src/resources/texture/tile/stone_hard.png b/src/resources/texture/tile/stone_hard.png
new file mode 100644
index 0000000..6186703
Binary files /dev/null and b/src/resources/texture/tile/stone_hard.png differ
diff --git a/src/resources/texture/tile/tree.png b/src/resources/texture/tile/tree.png
new file mode 100644
index 0000000..e53c5d0
Binary files /dev/null and b/src/resources/texture/tile/tree.png differ
diff --git a/src/resources/texture/tile/tunnel_down.png b/src/resources/texture/tile/tunnel_down.png
new file mode 100644
index 0000000..73581c3
Binary files /dev/null and b/src/resources/texture/tile/tunnel_down.png differ
diff --git a/src/resources/texture/tile/water/water_0.png b/src/resources/texture/tile/water/water_0.png
new file mode 100644
index 0000000..280233d
Binary files /dev/null and b/src/resources/texture/tile/water/water_0.png differ
diff --git a/src/resources/texture/tile/water/water_1.png b/src/resources/texture/tile/water/water_1.png
new file mode 100644
index 0000000..0154f80
Binary files /dev/null and b/src/resources/texture/tile/water/water_1.png differ
diff --git a/src/resources/texture/tile/water/water_10.png b/src/resources/texture/tile/water/water_10.png
new file mode 100644
index 0000000..5f8b8e1
Binary files /dev/null and b/src/resources/texture/tile/water/water_10.png differ
diff --git a/src/resources/texture/tile/water/water_11.png b/src/resources/texture/tile/water/water_11.png
new file mode 100644
index 0000000..b961100
Binary files /dev/null and b/src/resources/texture/tile/water/water_11.png differ
diff --git a/src/resources/texture/tile/water/water_12.png b/src/resources/texture/tile/water/water_12.png
new file mode 100644
index 0000000..b6b7917
Binary files /dev/null and b/src/resources/texture/tile/water/water_12.png differ
diff --git a/src/resources/texture/tile/water/water_13.png b/src/resources/texture/tile/water/water_13.png
new file mode 100644
index 0000000..ca777b4
Binary files /dev/null and b/src/resources/texture/tile/water/water_13.png differ
diff --git a/src/resources/texture/tile/water/water_14.png b/src/resources/texture/tile/water/water_14.png
new file mode 100644
index 0000000..cd0d9c4
Binary files /dev/null and b/src/resources/texture/tile/water/water_14.png differ
diff --git a/src/resources/texture/tile/water/water_15.png b/src/resources/texture/tile/water/water_15.png
new file mode 100644
index 0000000..227cb19
Binary files /dev/null and b/src/resources/texture/tile/water/water_15.png differ
diff --git a/src/resources/texture/tile/water/water_2.png b/src/resources/texture/tile/water/water_2.png
new file mode 100644
index 0000000..45b9975
Binary files /dev/null and b/src/resources/texture/tile/water/water_2.png differ
diff --git a/src/resources/texture/tile/water/water_3.png b/src/resources/texture/tile/water/water_3.png
new file mode 100644
index 0000000..94c25ad
Binary files /dev/null and b/src/resources/texture/tile/water/water_3.png differ
diff --git a/src/resources/texture/tile/water/water_4.png b/src/resources/texture/tile/water/water_4.png
new file mode 100644
index 0000000..106a840
Binary files /dev/null and b/src/resources/texture/tile/water/water_4.png differ
diff --git a/src/resources/texture/tile/water/water_5.png b/src/resources/texture/tile/water/water_5.png
new file mode 100644
index 0000000..bfeaf8a
Binary files /dev/null and b/src/resources/texture/tile/water/water_5.png differ
diff --git a/src/resources/texture/tile/water/water_6.png b/src/resources/texture/tile/water/water_6.png
new file mode 100644
index 0000000..ba6af56
Binary files /dev/null and b/src/resources/texture/tile/water/water_6.png differ
diff --git a/src/resources/texture/tile/water/water_7.png b/src/resources/texture/tile/water/water_7.png
new file mode 100644
index 0000000..00a945b
Binary files /dev/null and b/src/resources/texture/tile/water/water_7.png differ
diff --git a/src/resources/texture/tile/water/water_8.png b/src/resources/texture/tile/water/water_8.png
new file mode 100644
index 0000000..76adbb7
Binary files /dev/null and b/src/resources/texture/tile/water/water_8.png differ
diff --git a/src/resources/texture/tile/water/water_9.png b/src/resources/texture/tile/water/water_9.png
new file mode 100644
index 0000000..89ba2ad
Binary files /dev/null and b/src/resources/texture/tile/water/water_9.png differ