diff --git a/resources/texmap.old.png b/resources/texmap.old.png deleted file mode 100755 index 90ac527..0000000 Binary files a/resources/texmap.old.png and /dev/null differ diff --git a/resources/texmap.png b/resources/texmap.png deleted file mode 100755 index e59b0bf..0000000 Binary files a/resources/texmap.png and /dev/null differ diff --git a/settings.bdf b/settings.bdf index 1c4441a..77e319e 100755 Binary files a/settings.bdf and b/settings.bdf differ diff --git a/src/projectzombie/display/DisplayWindow.java b/src/projectzombie/display/DisplayWindow.java index 7e031d7..385dc34 100755 --- a/src/projectzombie/display/DisplayWindow.java +++ b/src/projectzombie/display/DisplayWindow.java @@ -22,7 +22,6 @@ import projectzombie.input.MouseButtonCallback; import projectzombie.input.ScrollWheelCallback; import projectzombie.mainloop.MainloopEventHandler; import projectzombie.util.gl.GlHelpers; -import projectzombie.util.gl.texture.AnimationEventHandler; public class DisplayWindow implements IMainloopTask { @@ -92,7 +91,6 @@ public class DisplayWindow implements IMainloopTask // Register the display event loop Main.mainloop.register(this); - Main.mainloop.register(AnimationEventHandler.ANIMATION_EVENT_HANDLER); } public void render() diff --git a/src/projectzombie/entity/Entity.java b/src/projectzombie/entity/Entity.java index 31e44e5..48a44f2 100755 --- a/src/projectzombie/entity/Entity.java +++ b/src/projectzombie/entity/Entity.java @@ -12,6 +12,7 @@ import mainloop.task.IMainloopTask; import projectzombie.Main; import projectzombie.display.Camera; import projectzombie.init.Entities; +import projectzombie.model.Model; import projectzombie.tiles.Tile; import gl_engine.MathHelpers; import projectzombie.util.math.TileState; @@ -22,10 +23,9 @@ import projectzombie.world.chunk.Chunk; import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.Layer; -public class Entity implements IBdfClassManager +public abstract class Entity implements IBdfClassManager { public Vec2d pos; - public boolean opaqueTile = true; public double hitbox = 1; public boolean isSolid = false; public Chunk chunk; @@ -35,9 +35,10 @@ public class Entity implements IBdfClassManager public boolean goThroughSolid = true; protected static final Random rand = new Random(); public boolean emitsLight = false; - public int stepOnTileCooldown = 0; + public abstract Model getModel(); + protected double getTilesLightDissipation() { if(chunk == null) return 0; TileState tsf = chunk.getFrontTile(pos.toInt()); @@ -117,7 +118,6 @@ public class Entity implements IBdfClassManager BdfNamedList nl = bdf.getNamedList(); BdfArray e = nl.get("e").getArray(); pos = new Vec2d(e.get(0)); - opaqueTile = e.get(1).getBoolean(); hitbox = e.get(2).getDouble(); isSolid = e.get(3).getBoolean(); crossUnWalkable = e.get(4).getBoolean(); @@ -143,7 +143,6 @@ public class Entity implements IBdfClassManager nl.set("e", BdfObject.withArray(e)); e.add(pos_bdf); - e.add(BdfObject.withBoolean(opaqueTile)); e.add(BdfObject.withDouble(hitbox)); e.add(BdfObject.withBoolean(isSolid)); e.add(BdfObject.withBoolean(crossUnWalkable)); @@ -184,21 +183,6 @@ public class Entity implements IBdfClassManager } } - public void render(Vec2d pos, Camera camera) { - } - - public void render(Vec2d pos, Camera camera, TileState state) { - this.render(pos, camera); - } - - public void doRender(Vec2d pos, Camera camera) { - this.render(pos, camera); - } - - public boolean isOpaqueTile() { - return this.opaqueTile; - } - public void moveTowards(double angle, double speed) { if(chunk == null) { diff --git a/src/projectzombie/entity/EntityBoss.java b/src/projectzombie/entity/EntityBoss.java index 14d2bad..73b0c78 100755 --- a/src/projectzombie/entity/EntityBoss.java +++ b/src/projectzombie/entity/EntityBoss.java @@ -11,6 +11,7 @@ import projectzombie.display.bossbar.IBossBar; import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.init.Tiles; +import projectzombie.model.Model; import projectzombie.time.GameTimer; import projectzombie.util.gl.texture.TextureReference; import projectzombie.util.math.ItemStack; @@ -23,7 +24,7 @@ import gl_engine.vec.Vec3d; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class EntityBoss extends EntityVertical implements IBossBar, EntityKillWithParticles +public class EntityBoss extends Entity implements IBossBar, EntityKillWithParticles { private boolean moving = false; private boolean firing = false; @@ -42,7 +43,7 @@ public class EntityBoss extends EntityVertical implements IBossBar, EntityKillWi private long seed; public EntityBoss(BdfObject bdf) { - super(bdf, TextureReference.EMPTY, new Vec2d(4, 4)); + super(bdf); } @Override @@ -82,7 +83,7 @@ public class EntityBoss extends EntityVertical implements IBossBar, EntityKillWi } public EntityBoss(Vec2d pos) { - super(pos, TextureReference.EMPTY, new Vec2d(4, 4)); + super(pos); this.isSolid = true; this.goThroughSolid = false; @@ -177,24 +178,6 @@ public class EntityBoss extends EntityVertical implements IBossBar, EntityKillWi // Increase time time += 0.001; } - - @Override - public void render(Vec2d pos, Camera camera, TextureReference tex, Vec2d size) - { - // Get the boss texture - if(moving && firing) { - tex = Models.ENTITY_BOSS_WALKING_AND_FIRING; - } else if(moving) { - tex = Models.ENTITY_BOSS_WALKING; - } else if(firing) { - tex = Models.ENTITY_BOSS_FIRING; - } else { - tex = Models.ENTITY_BOSS_IDLE; - } - - // Call render - super.render(pos, camera, tex, size); - } @Override public void addHealth(double amount) { @@ -282,4 +265,24 @@ public class EntityBoss extends EntityVertical implements IBossBar, EntityKillWi @Override protected void moveAwayFromSolidEntities(Layer layer) { } + + @Override + public void killWithParticles() { + // TODO Auto-generated method stub + + } + + @Override + public Model getModel() + { + if(moving && firing) { + return Models.ENTITY_BOSS_WALKING_AND_FIRING; + } else if(moving) { + return Models.ENTITY_BOSS_WALKING; + } else if(firing) { + return Models.ENTITY_BOSS_FIRING; + } else { + return Models.ENTITY_BOSS_IDLE; + } + } } diff --git a/src/projectzombie/entity/EntityBullet.java b/src/projectzombie/entity/EntityBullet.java index 4be3d24..ead0e96 100755 --- a/src/projectzombie/entity/EntityBullet.java +++ b/src/projectzombie/entity/EntityBullet.java @@ -4,7 +4,9 @@ import bdf.types.BdfNamedList; import bdf.types.BdfObject; import projectzombie.display.Camera; import projectzombie.entity.particle.ParticleBlood; +import projectzombie.init.Models; import projectzombie.init.Sounds; +import projectzombie.model.Model; import projectzombie.settings.SettingQuality; import projectzombie.tiles.Tile; import projectzombie.tiles.TileBulletBreakable; @@ -60,7 +62,7 @@ public class EntityBullet extends EntityParticle } public EntityBullet(Vec2d pos, Entity parent, double angle, double damage, int despawn_time) { - super(pos, 0.2, despawn_time); + super(pos); // Store some specified values this.angle = angle; @@ -182,18 +184,7 @@ public class EntityBullet extends EntityParticle } @Override - public void render(Vec2d pos, Camera camera) - { - // Set the colour - Vec3d light = chunk.getRGBLightLevel(new Vec2i( - MathHelpers.floor(pos.x), MathHelpers.floor(pos.y))); - GlHelpers.color3(1 * light.x, 0.8 * light.y, 0.3 * light.z); - - // Set the height - this.setHeight(height); - - // Call super - super.render(pos, camera); - GlHelpers.color3(1, 1, 1); + public Model getModel() { + return Models.PARTICLE_BULLET; } } diff --git a/src/projectzombie/entity/EntityDummy.java b/src/projectzombie/entity/EntityDummy.java index c55ca23..28811d0 100755 --- a/src/projectzombie/entity/EntityDummy.java +++ b/src/projectzombie/entity/EntityDummy.java @@ -2,16 +2,17 @@ package projectzombie.entity; import bdf.types.BdfObject; import projectzombie.init.Models; +import projectzombie.model.Model; import gl_engine.vec.Vec2d; -public class EntityDummy extends EntityVertical implements EntityAlive +public class EntityDummy extends Entity implements EntityAlive { public EntityDummy(BdfObject bdf) { - super(bdf, Models.ENTITY_DUMMY, new Vec2d(1, 1)); + super(bdf); } public EntityDummy(Vec2d pos) { - super(pos, Models.ENTITY_DUMMY, new Vec2d(1, 1)); + super(pos); this.hitbox = 0.5; this.isSolid = true; @@ -54,5 +55,10 @@ public class EntityDummy extends EntityVertical implements EntityAlive public int bloodParticles() { return 5; } + + @Override + public Model getModel() { + return Models.ENTITY_DUMMY; + } } diff --git a/src/projectzombie/entity/EntityExplosion.java b/src/projectzombie/entity/EntityExplosion.java index f486221..7df7a2c 100755 --- a/src/projectzombie/entity/EntityExplosion.java +++ b/src/projectzombie/entity/EntityExplosion.java @@ -8,6 +8,7 @@ import projectzombie.entity.particle.ParticleBreak; import projectzombie.entity.particle.ParticleSmoke; import projectzombie.init.Sounds; import projectzombie.init.Tiles; +import projectzombie.model.Model; import projectzombie.util.gl.texture.IHasTexture; import gl_engine.MathHelpers; import projectzombie.util.math.TileState; @@ -132,4 +133,9 @@ public class EntityExplosion extends Entity // Kill the explosion entity kill(); } + + @Override + public Model getModel() { + return null; + } } diff --git a/src/projectzombie/entity/EntityFlare.java b/src/projectzombie/entity/EntityFlare.java index ac1e1a6..0a1bb37 100755 --- a/src/projectzombie/entity/EntityFlare.java +++ b/src/projectzombie/entity/EntityFlare.java @@ -24,11 +24,6 @@ public class EntityFlare extends EntityTnt this.explode_time = 1000; } - @Override - public void render(Vec2d pos, Camera camera, TextureReference tex, Vec2d size) { - super.render(pos, camera, Models.ENTITY_FLARE, size); - } - @Override public double getLightLevel() { return getLightWithHeight(1 - (this.height * (1/12.0))) * ( rand.nextDouble() / 10.0 + 0.9 ); diff --git a/src/projectzombie/entity/EntityGrapplingHook.java b/src/projectzombie/entity/EntityGrapplingHook.java index a8fdeac..5c4a042 100755 --- a/src/projectzombie/entity/EntityGrapplingHook.java +++ b/src/projectzombie/entity/EntityGrapplingHook.java @@ -6,20 +6,21 @@ import projectzombie.Main; import projectzombie.display.Camera; import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.gl.GlHelpers; import gl_engine.vec.Vec2d; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; import projectzombie.world.layer.layergen.LayerGenRememberPlayerPos; -public class EntityGrapplingHook extends EntityVertical +public class EntityGrapplingHook extends Entity { private int layerId; private double height; private Entity entity; public EntityGrapplingHook(BdfObject bdf) { - super(bdf, Models.ENTITY_GRAPPLING_HOOK, new Vec2d(1, 16)); + super(bdf); } @Override @@ -41,7 +42,7 @@ public class EntityGrapplingHook extends EntityVertical } public EntityGrapplingHook(Vec2d pos, int layerId, Entity entity) { - super(pos, Models.ENTITY_GRAPPLING_HOOK, new Vec2d(1, 16)); + super(pos); this.layerId = layerId; this.height = -16; @@ -104,11 +105,8 @@ public class EntityGrapplingHook extends EntityVertical } @Override - public void render(Vec2d pos, Camera camera) { - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, height); - super.render(pos, camera); - GlHelpers.popMatrix(); + public Model getModel() { + return Models.ENTITY_GRAPPLING_HOOK; } } diff --git a/src/projectzombie/entity/EntityItem.java b/src/projectzombie/entity/EntityItem.java index 8675450..6a60f71 100755 --- a/src/projectzombie/entity/EntityItem.java +++ b/src/projectzombie/entity/EntityItem.java @@ -4,6 +4,7 @@ import bdf.types.BdfNamedList; import bdf.types.BdfObject; import projectzombie.display.Camera; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.gl.GlHelpers; import projectzombie.util.gl.texture.TextureReference; import projectzombie.util.math.ItemStack; @@ -12,7 +13,7 @@ import gl_engine.vec.Vec2d; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class EntityItem extends EntityVertical +public class EntityItem extends Entity { private ItemStack stack; private double height = 0; @@ -23,7 +24,7 @@ public class EntityItem extends EntityVertical public double angle; public EntityItem(BdfObject bdf) { - super(bdf, TextureReference.EMPTY, new Vec2d(0.5, 0.5)); + super(bdf); } @Override @@ -37,8 +38,6 @@ public class EntityItem extends EntityVertical pickup_time = nl.get("pickup").getInteger(); age = nl.get("age").getLong(); angle = nl.get("angle").getDouble(); - - tex = stack.item.texture; } @Override @@ -55,10 +54,9 @@ public class EntityItem extends EntityVertical } public EntityItem(Vec2d pos, ItemStack stack) { - super(pos, stack.item.texture, new Vec2d(0.5, 0.5)); + super(pos); this.emitsLight = true; - this.opaqueTile = true; this.stack = stack; this.angle = RandomHelpers.randrange(rand, 360); height_speed = RandomHelpers.randrange(rand, 10000) / 200000.0; @@ -133,12 +131,11 @@ public class EntityItem extends EntityVertical return; } } - + @Override - public void render(Vec2d pos, Camera camera, TextureReference tex, Vec2d size) { - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, height); - super.render(pos, camera, stack.item.texture, size); - GlHelpers.popMatrix(); + public Model getModel() { + return Models.ITEM_NONE; } + + } diff --git a/src/projectzombie/entity/EntityParticle.java b/src/projectzombie/entity/EntityParticle.java index f45971a..490a7e8 100755 --- a/src/projectzombie/entity/EntityParticle.java +++ b/src/projectzombie/entity/EntityParticle.java @@ -5,36 +5,22 @@ import projectzombie.Main; import projectzombie.display.Camera; import projectzombie.settings.SettingQuality; import projectzombie.util.gl.GlHelpers; +import gl_engine.texture.TextureRef3D; import gl_engine.vec.Vec2d; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class EntityParticle extends Entity +public abstract class EntityParticle extends Entity { public static SettingQuality MODE = SettingQuality.FANCY; - - private double height; - private double size; + protected TextureRef3D tex; public EntityParticle(BdfObject bdf) { super(bdf); } - public EntityParticle(Vec2d pos, double size, double height) { + public EntityParticle(Vec2d pos) { super(pos); - - // Set some settings - this.opaqueTile = false; - this.height = height; - this.size = size; - } - - public void setSize(double size) { - this.size = size; - } - - public void setHeight(double height) { - this.height = height; } @Override @@ -44,38 +30,4 @@ public class EntityParticle extends Entity // Kill the particle if the player can't see it to reduce lag if(Main.player.pos.squareDistance(pos) > Camera.camera.renderDistance * 16) this.kill(); } - - @Override - public void render(Vec2d pos, Camera camera) - { - // Call super - super.render(pos, camera); - - // Push the matrix, disable textures, colour, and translate the bullet - GlHelpers.pushMatrix(); - GlHelpers.disableTexture2d(); - - // Get the angle between the camera and the bullet - double angle_r = camera.angle; - - // Make the bullet upright - GlHelpers.translate3(size/2, 0, 0); - GlHelpers.translate3(pos.x, pos.y, height); - GlHelpers.rotate(-angle_r, 0, 0, 1); - GlHelpers.translate3(-size/2, 0, 0); - - // Draw the bullet - GlHelpers.begin(); - { - GlHelpers.vertex3(0.0f, 0, 0.0f); - GlHelpers.vertex3(size, 0, 0.0f); - GlHelpers.vertex3(size, 0, size); - GlHelpers.vertex3(0.0f, 0, size); - } - GlHelpers.end(); - - // Pop the matrix, remove the colour, and enable textures - GlHelpers.enableTexture2d(); - GlHelpers.popMatrix(); - } } diff --git a/src/projectzombie/entity/EntityTnt.java b/src/projectzombie/entity/EntityTnt.java index 337abe4..3c6d920 100755 --- a/src/projectzombie/entity/EntityTnt.java +++ b/src/projectzombie/entity/EntityTnt.java @@ -5,6 +5,7 @@ import bdf.types.BdfObject; import projectzombie.display.Camera; import projectzombie.entity.particle.ParticleSpark; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.gl.GlHelpers; import gl_engine.MathHelpers; import gl_engine.vec.Vec2d; @@ -12,7 +13,7 @@ import gl_engine.vec.Vec3d; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class EntityTnt extends EntityVertical +public class EntityTnt extends Entity { protected double height = 0.4; protected Vec3d velocity; @@ -21,7 +22,7 @@ public class EntityTnt extends EntityVertical private double explode_damage; public EntityTnt(BdfObject bdf) { - super(bdf, Models.ENTITY_TNT, new Vec2d(0.5, 0.5)); + super(bdf); } @Override @@ -53,7 +54,7 @@ public class EntityTnt extends EntityVertical } public EntityTnt(Vec2d pos, double angle, int explode_radius, double explode_damage) { - super(pos, Models.ENTITY_TNT, new Vec2d(0.5, 0.5)); + super(pos); Vec2d v = MathHelpers.moveTowards2(0.05, Math.toRadians(angle)); velocity = new Vec3d(v.x, v.y, 0.01); @@ -112,17 +113,7 @@ public class EntityTnt extends EntityVertical } // Create sparks - chunk.spawnEntity(new ParticleSpark(pos.copy(), height)); - } - - @Override - public void render(Vec2d pos, Camera camera) - { - // Render the tnt with the height - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, height); - super.render(pos, camera); - GlHelpers.popMatrix(); + chunk.spawnEntity(new ParticleSpark(pos.copy())); } @Override @@ -133,5 +124,11 @@ public class EntityTnt extends EntityVertical @Override protected void moveAwayFromSolidEntities(Layer layer) { } + + @Override + public Model getModel() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/projectzombie/entity/EntityVertical.java b/src/projectzombie/entity/EntityVertical.java deleted file mode 100755 index 112ab03..0000000 --- a/src/projectzombie/entity/EntityVertical.java +++ /dev/null @@ -1,58 +0,0 @@ -package projectzombie.entity; - -import bdf.types.BdfObject; -import projectzombie.display.Camera; -import projectzombie.entity.particle.ParticleBreak; -import projectzombie.util.gl.GlHelpers; -import projectzombie.util.gl.VerticalRender; -import projectzombie.util.gl.texture.IHasTexture; -import projectzombie.util.gl.texture.TextureReference; -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 -{ - public TextureReference tex; - public Vec2d size; - - public EntityVertical(BdfObject bdf, TextureReference tex, Vec2d size) { - super(bdf); - this.size = size; - this.tex = tex; - } - - public EntityVertical(Vec2d pos, TextureReference tex, Vec2d size) { - super(pos); - this.size = size; - this.tex = tex; - } - - public void render(Vec2d pos, Camera camera, TextureReference tex, Vec2d size) { - super.render(pos, camera); - VerticalRender.render(new Vec2d(pos.x - 0.5, pos.y - 0.5), camera, tex, size); - } - - @Override - public void render(Vec2d pos, Camera camera) { - this.render(pos, camera, 1); - } - - public void render(Vec2d pos, Camera camera, double opacity) { - Vec3d light = chunk.getRGBLightLevel(new Vec2i( - MathHelpers.floor(pos.x), MathHelpers.floor(pos.y))); - GlHelpers.color4(light.x, light.y, light.z, opacity); - this.render(pos, camera, tex, size); - GlHelpers.color4(1, 1, 1, 1); - } - - @Override - public TextureReference getTexture() { - return tex; - } - - public void killWithParticles() { - ParticleBreak.spawnParticles(chunk, pos, this); - } -} diff --git a/src/projectzombie/entity/EntityZombie.java b/src/projectzombie/entity/EntityZombie.java index f068c95..5df5fa5 100755 --- a/src/projectzombie/entity/EntityZombie.java +++ b/src/projectzombie/entity/EntityZombie.java @@ -6,6 +6,7 @@ import bdf.types.BdfNamedList; import bdf.types.BdfObject; import projectzombie.Main; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.gl.texture.TextureReference; import projectzombie.util.math.astar.AStar; import projectzombie.util.math.astar.AStarSearcher; @@ -15,7 +16,7 @@ import gl_engine.vec.Vec2i; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class EntityZombie extends EntityVertical implements EntityAlive, EntityKillWithParticles +public class EntityZombie extends Entity implements EntityAlive, EntityKillWithParticles { protected OpenSimplexNoise noise_movement; protected OpenSimplexNoise noise_gun_fire; @@ -35,11 +36,9 @@ public class EntityZombie extends EntityVertical implements EntityAlive, EntityK private int walk_scan_cooldown = 0; private boolean can_see_player = false; private int walking_for = 0; - - private static final Vec2d size = new Vec2d(1, 1); public EntityZombie(BdfObject bdf) { - super(bdf, Models.ENTITY_ZOMBIE_F, size); + super(bdf); // Set some settings hitbox = 0.5; @@ -84,7 +83,7 @@ public class EntityZombie extends EntityVertical implements EntityAlive, EntityK } public EntityZombie(Vec2d pos) { - super(pos, Models.ENTITY_ZOMBIE_F, size); + super(pos); seed = rand.nextLong(); Random rand = new Random(seed); @@ -169,7 +168,7 @@ public class EntityZombie extends EntityVertical implements EntityAlive, EntityK } @Override - public TextureReference getTexture() { + public Model getModel() { return Models.ENTITY_ZOMBIE_F; } @@ -221,4 +220,10 @@ public class EntityZombie extends EntityVertical implements EntityAlive, EntityK return 10; } + @Override + public void killWithParticles() { + // TODO Auto-generated method stub + + } + } diff --git a/src/projectzombie/entity/EntityZombieArmored.java b/src/projectzombie/entity/EntityZombieArmored.java index 69da047..49b4211 100755 --- a/src/projectzombie/entity/EntityZombieArmored.java +++ b/src/projectzombie/entity/EntityZombieArmored.java @@ -3,6 +3,7 @@ package projectzombie.entity; import bdf.types.BdfObject; import projectzombie.display.Camera; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.gl.texture.TextureReference; import gl_engine.vec.Vec2d; @@ -21,14 +22,14 @@ public class EntityZombieArmored extends EntityZombie this.crossUnWalkable = true; } - @Override - public void render(Vec2d pos, Camera camera, TextureReference tex, Vec2d size) { - super.render(pos, camera, Models.ENTITY_ZOMBIE_F_ARMORED, size); - } - @Override public int bloodParticles() { return 2; } + + @Override + public Model getModel() { + return Models.ENTITY_ZOMBIE_F_ARMORED; + } } diff --git a/src/projectzombie/entity/particle/ParticleBlood.java b/src/projectzombie/entity/particle/ParticleBlood.java index 7131f2d..385aed9 100755 --- a/src/projectzombie/entity/particle/ParticleBlood.java +++ b/src/projectzombie/entity/particle/ParticleBlood.java @@ -4,6 +4,8 @@ import java.util.Random; import projectzombie.display.Camera; import projectzombie.entity.EntityParticle; +import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.settings.SettingQuality; import projectzombie.util.gl.GlHelpers; import gl_engine.MathHelpers; @@ -22,7 +24,7 @@ public class ParticleBlood extends EntityParticle private Vec3d velocity; public ParticleBlood(Random rand, Vec2d pos, double angle) { - super(pos, rand.nextDouble() / 5, 0); + super(pos); angle += RandomHelpers.randrange(rand, -100, 100); double angle_height = RandomHelpers.randrange(rand, 9000, 18000) / 100; @@ -64,20 +66,7 @@ public class ParticleBlood extends EntityParticle } @Override - public void render(Vec2d pos, Camera camera) - { - // Get the light level - Vec3d light = chunk.getRGBLightLevel(new Vec2i( - MathHelpers.floor(pos.x), MathHelpers.floor(pos.y))); - - // Set some settings - GlHelpers.pushMatrix(); - GlHelpers.color3(r_color * light.x, 0, 0); - GlHelpers.translate3(0, 0, height); - - // Call super - super.render(pos, camera); - GlHelpers.color3(1, 1, 1); - GlHelpers.popMatrix(); + public Model getModel() { + return Models.PARTICLE_BLOOD; } } diff --git a/src/projectzombie/entity/particle/ParticleBreak.java b/src/projectzombie/entity/particle/ParticleBreak.java index 2454e3c..7bf6467 100755 --- a/src/projectzombie/entity/particle/ParticleBreak.java +++ b/src/projectzombie/entity/particle/ParticleBreak.java @@ -4,11 +4,11 @@ import projectzombie.Main; import projectzombie.display.Camera; import projectzombie.entity.Entity; import projectzombie.entity.EntityParticle; -import projectzombie.entity.EntityVertical; +import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.settings.SettingQuality; import projectzombie.tiles.TileVertical; import projectzombie.util.gl.GlHelpers; -import projectzombie.util.gl.texture.AnimationReference; import projectzombie.util.gl.texture.IHasTexture; import projectzombie.util.gl.texture.TextureReference; import gl_engine.MathHelpers; @@ -20,7 +20,7 @@ import gl_engine.vec.Vec3d; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class ParticleBreak extends EntityVertical +public class ParticleBreak extends EntityParticle { private double height = 0; private Vec3d velocity; @@ -35,13 +35,13 @@ public class ParticleBreak extends EntityVertical int height = 1; - if(e instanceof EntityVertical) { + /*if(e instanceof EntityVertical) { height = MathHelpers.floor(((EntityVertical)e).size.y); } for(int i=0;i<50 * height;i++) { chunk.spawnEntity(new ParticleBreak(pos.copy(), e)); - } + }*/ } public static void spawnParticles(Chunk chunk, Vec2d pos, TileState s) @@ -61,16 +61,12 @@ public class ParticleBreak extends EntityVertical } } - private static TextureReference getTexture(TileState ts) + /*private static TextureReference getTexture(TileState ts) { if(ts.tile instanceof IHasTexture) { TextureReference tex = ((IHasTexture)ts.tile).getTexture(); - if(tex instanceof AnimationReference) { - tex = ((AnimationReference)tex).c; - } - int px = RandomHelpers.randrange(rand, tex.start_x, tex.end_x - 2); int py = RandomHelpers.randrange(rand, tex.start_y, tex.end_y - 2); return tex.getTextureReference(px, px + 2, py, py + 2); @@ -87,10 +83,6 @@ public class ParticleBreak extends EntityVertical { TextureReference tex = ((IHasTexture)entity).getTexture(); - if(tex instanceof AnimationReference) { - tex = ((AnimationReference)tex).c; - } - int px = RandomHelpers.randrange(rand, tex.start_x, tex.end_x - 2); int py = RandomHelpers.randrange(rand, tex.start_y, tex.end_y - 2); return tex.getTextureReference(px, px + 2, py, py + 2); @@ -99,17 +91,12 @@ public class ParticleBreak extends EntityVertical else { return TextureReference.EMPTY; } - } + }*/ public ParticleBreak(Vec2d pos, TileState ts) { - super(pos, getTexture(ts), new Vec2d(1/8.0, 1/8.0)); - double angle = RandomHelpers.randrange(rand, 360); + super(pos); - if(EntityParticle.MODE == SettingQuality.FANCY) { - this.opaqueTile = ts.tile.opaqueTile; - } else { - this.opaqueTile = false; - } + double angle = RandomHelpers.randrange(rand, 360); if(ts.tile instanceof TileVertical) { TileVertical ts_v = (TileVertical) ts.tile; @@ -126,27 +113,23 @@ public class ParticleBreak extends EntityVertical } public ParticleBreak(Vec2d pos, Entity entity) { - super(pos, getTexture(entity), new Vec2d(1/8.0, 1/8.0)); + super(pos); double angle = RandomHelpers.randrange(rand, 360); - if(EntityParticle.MODE == SettingQuality.FANCY) { - this.opaqueTile = entity.opaqueTile; - } else { - this.opaqueTile = false; - } - - if(entity instanceof EntityVertical) { - EntityVertical entity_v = (EntityVertical) entity; - - height = RandomHelpers.randrange(rand, 0, MathHelpers.floor(entity_v.size.y)); - } - Vec2d side_v = MathHelpers.moveTowards2(0.01, Math.toRadians(angle)); velocity = new Vec3d( side_v.x, side_v.y, RandomHelpers.randrange(rand, 10000) / 200000.0); time = RandomHelpers.randrange(rand, 500, 1500); + + /*if(entity instanceof EntityVertical) { + EntityVertical entity_v = (EntityVertical) entity; + + height = RandomHelpers.randrange(rand, 0, MathHelpers.floor(entity_v.size.y)); + } + + */ } @Override @@ -184,15 +167,11 @@ public class ParticleBreak extends EntityVertical kill(); } } - + @Override - public void render(Vec2d pos, Camera camera, TextureReference tex, Vec2d size) { - Vec3d light = chunk.getRGBLightLevel(new Vec2i( - MathHelpers.floor(pos.x), MathHelpers.floor(pos.y))); - GlHelpers.color3(light.x, light.y, light.z); - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, height); - super.render(pos, camera, tex, size); - GlHelpers.popMatrix(); + public Model getModel() { + return Models.ENTITY_NONE; } + + } diff --git a/src/projectzombie/entity/particle/ParticleLava.java b/src/projectzombie/entity/particle/ParticleLava.java index 78acd40..52388e3 100755 --- a/src/projectzombie/entity/particle/ParticleLava.java +++ b/src/projectzombie/entity/particle/ParticleLava.java @@ -4,6 +4,8 @@ import java.util.Random; import projectzombie.display.Camera; import projectzombie.entity.EntityParticle; +import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.settings.SettingQuality; import projectzombie.util.gl.GlHelpers; import gl_engine.MathHelpers; @@ -20,7 +22,7 @@ public class ParticleLava extends EntityParticle private double height = 0; public ParticleLava(Vec2d pos) { - super(pos, rand.nextDouble()/5, 0); + super(pos); // Set the velocity velocity = MathHelpers.moveTowards3(0.05, new Vec2d(Math.toRadians( @@ -48,11 +50,7 @@ public class ParticleLava extends EntityParticle } @Override - public void render(Vec2d pos, Camera camera) { - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, height); - GlHelpers.color3(1, 0, 0); - super.render(pos, camera); - GlHelpers.popMatrix(); + public Model getModel() { + return Models.PARTICLE_LAVA; } } diff --git a/src/projectzombie/entity/particle/ParticleSmoke.java b/src/projectzombie/entity/particle/ParticleSmoke.java index 58f8fa1..169bfed 100755 --- a/src/projectzombie/entity/particle/ParticleSmoke.java +++ b/src/projectzombie/entity/particle/ParticleSmoke.java @@ -3,8 +3,8 @@ package projectzombie.entity.particle; import projectzombie.Main; import projectzombie.display.Camera; import projectzombie.entity.EntityParticle; -import projectzombie.entity.EntityVertical; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.settings.SettingQuality; import projectzombie.util.gl.GlHelpers; import projectzombie.util.math.random.RandomHelpers; @@ -12,15 +12,17 @@ import gl_engine.vec.Vec2d; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class ParticleSmoke extends EntityVertical +public class ParticleSmoke extends EntityParticle { double height = 0; double opacity = 1; double height_speed; double disappear_speed; + + private Model model; public ParticleSmoke(Vec2d pos) { - super(new Vec2d(0, 0), Models.PARTICLE_SMOKE_RANDOM.getTexture(), new Vec2d(1, 1)); + super(pos); this.pos = new Vec2d( RandomHelpers.randrange(rand, 1000)/1000.0 - 0.5 + pos.x, @@ -28,16 +30,7 @@ public class ParticleSmoke extends EntityVertical height_speed = (rand.nextDouble() + 0.5) / 250; disappear_speed = (rand.nextDouble() + 0.5) / 1000; - this.opaqueTile = true; - } - - @Override - public void render(Vec2d pos, Camera camera) { - if(opacity <= 0) return; - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, height); - super.render(pos, camera, opacity); - GlHelpers.popMatrix(); + model = Models.PARTICLE_SMOKE_RANDOM.getModel(); } @Override @@ -56,4 +49,9 @@ public class ParticleSmoke extends EntityVertical } } + @Override + public Model getModel() { + return model; + } + } diff --git a/src/projectzombie/entity/particle/ParticleSpark.java b/src/projectzombie/entity/particle/ParticleSpark.java index 114a8f6..ed2caab 100755 --- a/src/projectzombie/entity/particle/ParticleSpark.java +++ b/src/projectzombie/entity/particle/ParticleSpark.java @@ -2,6 +2,8 @@ package projectzombie.entity.particle; import projectzombie.display.Camera; import projectzombie.entity.EntityParticle; +import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.settings.SettingQuality; import projectzombie.util.gl.GlHelpers; import gl_engine.vec.Vec2d; @@ -12,9 +14,8 @@ public class ParticleSpark extends EntityParticle { private double size = 0.1; - public ParticleSpark(Vec2d pos, double height) { - super(pos, 1, height+0.4); - this.opaqueTile = false; + public ParticleSpark(Vec2d pos) { + super(pos); } @Override @@ -23,7 +24,6 @@ public class ParticleSpark extends EntityParticle // Reduce the size size -= 0.004; - setSize(size); // Is the size zero if(size <= 0) @@ -36,18 +36,10 @@ public class ParticleSpark extends EntityParticle kill(); } } - + @Override - public void render(Vec2d pos, Camera camera) - { - // Set some settings - GlHelpers.pushMatrix(); - GlHelpers.color3(1, 1, 0); - - // Call super - super.render(pos, camera); - GlHelpers.color3(1, 1, 1); - GlHelpers.popMatrix(); + public Model getModel() { + return Models.PARTICLE_SMOKE_TRAIL; } } diff --git a/src/projectzombie/entity/particle/ParticleWater.java b/src/projectzombie/entity/particle/ParticleWater.java index cb35ba3..42f7ab4 100755 --- a/src/projectzombie/entity/particle/ParticleWater.java +++ b/src/projectzombie/entity/particle/ParticleWater.java @@ -2,6 +2,8 @@ package projectzombie.entity.particle; import projectzombie.display.Camera; import projectzombie.entity.EntityParticle; +import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.settings.SettingQuality; import projectzombie.util.gl.GlHelpers; import gl_engine.MathHelpers; @@ -18,7 +20,7 @@ public class ParticleWater extends EntityParticle private double height = 0; public ParticleWater(Vec2d pos) { - super(pos, rand.nextDouble()/5, 0); + super(pos); // Set the velocity velocity = MathHelpers.moveTowards3(0.05, new Vec2d(Math.toRadians( @@ -46,15 +48,8 @@ public class ParticleWater extends EntityParticle } @Override - public void render(Vec2d pos, Camera camera) { - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, height); - Vec3d light = chunk.getRGBLightLevel(new Vec2i( - MathHelpers.floor(pos.x), MathHelpers.floor(pos.y))); - GlHelpers.color3(light.x * 0.2, light.y * 0.2, light.z * 0.6); - super.render(pos, camera); - GlHelpers.color3(1, 1, 1); - GlHelpers.popMatrix(); + public Model getModel() { + return Models.PARTICLE_WATER; } } diff --git a/src/projectzombie/entity/player/EntityPlayer.java b/src/projectzombie/entity/player/EntityPlayer.java index 67ab898..1639160 100755 --- a/src/projectzombie/entity/player/EntityPlayer.java +++ b/src/projectzombie/entity/player/EntityPlayer.java @@ -9,17 +9,18 @@ import bdf.types.BdfObject; import mainloop.task.IMainloopTask; import projectzombie.Main; import projectzombie.display.Camera; +import projectzombie.entity.Entity; import projectzombie.entity.EntityAlive; import projectzombie.entity.EntityBullet; import projectzombie.entity.EntityHeight; import projectzombie.entity.EntityInventory; import projectzombie.entity.EntityItem; -import projectzombie.entity.EntityVertical; import projectzombie.entity.particle.ParticleBreak; import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.inventory.Inventory; import projectzombie.menu.MenuDeath; +import projectzombie.model.Model; import projectzombie.settings.Cheats; import projectzombie.util.gl.GlHelpers; import projectzombie.util.gl.texture.TextureReference; @@ -33,7 +34,7 @@ import projectzombie.world.chunk.Chunk; import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.Layer; -public class EntityPlayer extends EntityVertical implements EntityAlive, EntityInventory, EntityHeight +public class EntityPlayer extends Entity implements EntityAlive, EntityInventory, EntityHeight { public boolean MOVE_FORWARD = false; public boolean MOVE_BACKWARD = false; @@ -42,8 +43,8 @@ public class EntityPlayer extends EntityVertical implements EntityAlive, EntityI public boolean GUN = false; public boolean moving = false; - public TextureReference PLAYER_MOVING = Models.ENTITY_PLAYER_B_W_MOVING; - public TextureReference PLAYER_STILL = Models.ENTITY_PLAYER_B_W_STILL; + public Model PLAYER_MOVING = Models.ENTITY_PLAYER_B_W_MOVING; + public Model PLAYER_STILL = Models.ENTITY_PLAYER_B_W_STILL; public double height = 0; @@ -67,7 +68,7 @@ public class EntityPlayer extends EntityVertical implements EntityAlive, EntityI private static final Vec2d size = new Vec2d(1, 1); public EntityPlayer(BdfObject bdf) { - super(bdf, TextureReference.EMPTY, size); + super(bdf); } @Override @@ -101,7 +102,7 @@ public class EntityPlayer extends EntityVertical implements EntityAlive, EntityI } public EntityPlayer() { - super(new Vec2d(0, 0), TextureReference.EMPTY, size); + super(new Vec2d(0, 0)); this.angle = 45; @@ -136,10 +137,7 @@ public class EntityPlayer extends EntityVertical implements EntityAlive, EntityI return 0; } - @Override - public TextureReference getTexture() { - return PLAYER_STILL; - } + @Override public void tick(Chunk chunk, Layer layer) @@ -240,37 +238,6 @@ public class EntityPlayer extends EntityVertical implements EntityAlive, EntityI this.moveTowards(angle, 0.08); } - @Override - public void render(Vec2d pos, Camera camera) - { - // Don't render if the player is dead - if(dead) return; - - // Don't render if the chunk isnt loaded - if(!ChunkEventHandler.loaded) { - return; - } - - // Translation - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, height); - - // Set the colour due to the lighting - Vec3d light = chunk.getRGBLightLevel(new Vec2i( - MathHelpers.floor(pos.x), MathHelpers.floor(pos.y))); - GlHelpers.color3(light.x, light.y, light.z); - - // Moving - if(MOVE_BACKWARD || MOVE_FORWARD || moving) - super.render(pos, camera, PLAYER_MOVING, size); - - // Standing still - else super.render(pos, camera, PLAYER_STILL, size); - - // Pop the matrix - GlHelpers.popMatrix(); - } - public void fireBullet(double angle) { if(dead || in_animation) return; @@ -374,4 +341,9 @@ public class EntityPlayer extends EntityVertical implements EntityAlive, EntityI public void setHeight(double height) { this.height = height; } + + @Override + public Model getModel() { + return moving ? PLAYER_MOVING : PLAYER_STILL; + } } diff --git a/src/projectzombie/init/Models.java b/src/projectzombie/init/Models.java index 3471363..68492e5 100755 --- a/src/projectzombie/init/Models.java +++ b/src/projectzombie/init/Models.java @@ -5,229 +5,92 @@ import java.util.ArrayList; import org.lwjgl.opengl.GL; import projectzombie.display.DisplayWindow; -import projectzombie.util.gl.texture.AnimationReference; +import projectzombie.model.Model; +import projectzombie.model.ModelGui; +import projectzombie.model.ModelRandom; +import projectzombie.model.ModelTile; +import projectzombie.model.ModelVertical; import projectzombie.util.gl.texture.TextureMap; import projectzombie.util.gl.texture.TextureReference; import projectzombie.util.gl.texture.TextureReferenceRandom; public class Models { - 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); - public static final TextureReference TILE_DIRT = texmap.getTextureReference(3, 4, 0, 1); - public static final TextureReference TILE_TREE = texmap.getTextureReference(4, 5, 0, 4); - public static final TextureReference TILE_ROCK = texmap.getTextureReference(4, 5, 4, 5); - public static final TextureReference ENTITY_TNT = texmap.getTextureReference(4, 5, 5, 6); - public static final TextureReference TILE_LADDER = texmap.getTextureReference(3, 4, 4, 5); - public static final TextureReference TILE_PORTAL = texmap.getTextureReference(3, 4, 5, 6); - public static final TextureReference TILE_WALL = texmap.getTextureReference(2, 3, 5, 6); - public static final TextureReference TILE_LADDER_UP = texmap.getTextureReference(16, 17, 0, 16); - public static final TextureReference TILE_CHEST = texmap.getTextureReference(2, 3, 4, 5); - public static final TextureReference ENTITY_FLARE = texmap.getTextureReference(6, 7, 15, 16); - public static final TextureReference ENTITY_DUMMY = texmap.getTextureReference(7, 8, 15, 16); - public static final TextureReference TILE_BOSS_PORTAL = texmap.getTextureReference(18, 20, 0, 2); - public static final TextureReference ITEM_GRAPPLING_HOOK = texmap.getTextureReference(18, 19, 2, 3); - public static final TextureReference ENTITY_GRAPPLING_HOOK = texmap.getTextureReference(17, 18, 0, 16); + public static final Model TILE_NONE = new ModelTile(Resources.ATLAS.get("NONE")); + public static final Model ENTITY_NONE = new ModelTile(Resources.ATLAS.get("NONE")); + public static final Model ITEM_NONE = new ModelTile(Resources.ATLAS.get("NONE")); - public static final TextureReference BUTTON = texmap.getTextureReference(18, 26, 8, 9); - public static final TextureReference BUTTON_HOVER = texmap.getTextureReference(18, 26, 9, 10); + public static final Model TILE_GRASS = new ModelTile(Resources.ATLAS.get("/tile/grass.png")); + public static final Model TILE_SAND = new ModelTile(Resources.ATLAS.get("/tile/sand.png")); + public static final Model TILE_STONE = new ModelTile(Resources.ATLAS.get("/tile/stone.png")); + public static final Model TILE_DIRT = new ModelTile(Resources.ATLAS.get("/tile/dirt.png")); + public static final Model TILE_TREE = new ModelVertical(Resources.ATLAS.get("/tile/tree.png")); + public static final Model TILE_ROCK = new ModelVertical(Resources.ATLAS.get("/tile/rock.png")); + public static final Model TILE_LADDER = new ModelVertical(Resources.ATLAS.get("/tile/ladder.png")); + public static final Model TILE_PORTAL = new ModelVertical(Resources.ATLAS.get("/tile/portal.png")); + public static final Model TILE_WALL = new ModelTile(Resources.ATLAS.get("/tile/wall.png")); + public static final Model TILE_LADDER_UP = new ModelVertical(Resources.ATLAS.get("/tile/ladder_up.png")); + public static final Model TILE_CHEST = new ModelVertical(Resources.ATLAS.get("/tile/chest.png")); + public static final Model TILE_BOSS_PORTAL = new ModelVertical(Resources.ATLAS.get("/tile/boss_portal.png")); + public static final Model TILE_WATER = new ModelTile(Resources.ATLAS.get("/tile/water.png")); + public static final Model TILE_LAVA = new ModelTile(Resources.ATLAS.get("/tile/lava.png")); + public static final Model TILE_LAVA_FLOW = new ModelTile(Resources.ATLAS.get("/tile/lava_flow.png")); - public static final AnimationReference ENTITY_BOSS_IDLE = new AnimationReference(50, - texmap.getTextureReference(20, 22, 0, 2), - texmap.getTextureReference(22, 24, 0, 2), - texmap.getTextureReference(24, 26, 0, 2), - texmap.getTextureReference(26, 28, 0, 2)); + public static final Model ENTITY_BOSS_IDLE = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_idle.png")); + public static final Model ENTITY_BOSS_FIRING = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_firing.png"), 4, 10); + public static final Model ENTITY_BOSS_WALKING = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_walking.png"), 4, 10); + public static final Model ENTITY_BOSS_WALKING_AND_FIRING = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_walking_firing.png"), 4, 10); + public static final Model ENTITY_TNT = new ModelVertical(Resources.ATLAS.get("/entity/tnt.png")); + public static final Model ENTITY_FLARE = new ModelVertical(Resources.ATLAS.get("/entity/flare.png")); + public static final Model ENTITY_DUMMY = new ModelVertical(Resources.ATLAS.get("/entity/dummy.png")); + public static final Model ENTITY_GRAPPLING_HOOK = new ModelVertical(Resources.ATLAS.get("/entity/grappling_hook.png")); - public static final AnimationReference ENTITY_BOSS_FIRING = new AnimationReference(50, - texmap.getTextureReference(20, 22, 2, 4), - texmap.getTextureReference(22, 24, 2, 4), - texmap.getTextureReference(24, 26, 2, 4), - texmap.getTextureReference(26, 28, 2, 4)); + public static final Model TILE_LANTERN = new ModelVertical(Resources.ATLAS.get("/tile/lantern.png"), 4, 5); - public static final AnimationReference ENTITY_BOSS_WALKING = new AnimationReference(50, - texmap.getTextureReference(20, 22, 4, 6), - texmap.getTextureReference(22, 24, 4, 6), - texmap.getTextureReference(24, 26, 4, 6), - texmap.getTextureReference(26, 28, 4, 6)); + public static final Model PARTICLE_BLOOD = new ModelVertical(Resources.ATLAS.get("/particle/blood.png")); + public static final Model PARTICLE_LAVA = new ModelVertical(Resources.ATLAS.get("/particle/blood.png")); + public static final Model PARTICLE_WATER = new ModelVertical(Resources.ATLAS.get("/particle/blood.png")); + public static final Model PARTICLE_SMOKE_TRAIL = new ModelVertical(Resources.ATLAS.get("/particle/blood.png")); + public static final Model PARTICLE_BULLET = new ModelVertical(Resources.ATLAS.get("/particle/blood.png")); - public static final AnimationReference ENTITY_BOSS_WALKING_AND_FIRING = new AnimationReference(50, - texmap.getTextureReference(20, 22, 6, 8), - texmap.getTextureReference(22, 24, 6, 8), - texmap.getTextureReference(24, 26, 6, 8), - texmap.getTextureReference(26, 28, 6, 8)); + public static final ModelRandom PARTICLE_SMOKE_RANDOM = new ModelRandom( + new ModelVertical(Resources.ATLAS.get("/particle/smoke_0.png")), + new ModelVertical(Resources.ATLAS.get("/particle/smoke_1.png")), + new ModelVertical(Resources.ATLAS.get("/particle/smoke_2.png")), + new ModelVertical(Resources.ATLAS.get("/particle/smoke_3.png")), + new ModelVertical(Resources.ATLAS.get("/particle/smoke_4.png")), + new ModelVertical(Resources.ATLAS.get("/particle/smoke_5.png"))); - public static final AnimationReference TILE_LANTERN = new AnimationReference(10, - texmap.getTextureReference(8, 9, 15, 16), - texmap.getTextureReference(9, 10, 15, 16), - texmap.getTextureReference(10, 11, 15, 16), - texmap.getTextureReference(11, 12, 15, 16), - texmap.getTextureReference(12, 13, 15, 16), - texmap.getTextureReference(13, 14, 15, 16)); + public static final Model BUTTON = new ModelGui(Resources.ATLAS.get("/gui/button.png")); + public static final Model BUTTON_HOVER = new ModelGui(Resources.ATLAS.get("/tile/tree.png")); - public static final TextureReferenceRandom PARTICLE_SMOKE_RANDOM = new TextureReferenceRandom( - texmap.getTextureReference(14, 15, 13, 14), texmap.getTextureReference(15, 16, 13, 14), - texmap.getTextureReference(14, 15, 14, 15), texmap.getTextureReference(15, 16, 14, 15), - texmap.getTextureReference(14, 15, 15, 16), texmap.getTextureReference(15, 16, 15, 16)); + public static final Model UI_HEALTH_FG = new ModelGui(Resources.ATLAS.get("/gui/health_full.png")); + public static final Model UI_HEALTH_BG = new ModelGui(Resources.ATLAS.get("/gui/health_empty.png")); + public static final Model UI_ITEM_SLOTS = new ModelGui(Resources.ATLAS.get("/gui/hotbar.png")); + public static final Model UI_ACTIVE_SLOT = new ModelGui(Resources.ATLAS.get("/gui/hotbar_selected.png")); - public static final TextureReference UI_HEALTH_FG = texmap.getTextureReference(0, 16, 11, 12); - public static final TextureReference UI_HEALTH_BG = texmap.getTextureReference(0, 16, 12, 13); - public static final TextureReference UI_ITEM_SLOTS = texmap.getTextureReference(0, 12, 13, 15); - public static final TextureReference UI_ACTIVE_SLOT = texmap.getTextureReference(12, 14, 13, 15); + public static final Model UI_DEFENCE_LEVEL = new ModelGui(Resources.ATLAS.get("/gui/shield.png")); + public static final Model UI_GUN_LEVEL = new ModelGui(Resources.ATLAS.get("/gui/gun.png")); - public static final TextureReference UI_DEFENCE_LEVEL = texmap.getTextureReference(0, 1, 15, 16); - public static final TextureReference UI_GUN_LEVEL = texmap.getTextureReference(1, 2, 15, 16); - - public static final TextureReference ITEM_HEALTH_POTION = texmap.getTextureReference(0, 1, 5, 6); - public static final TextureReference ITEM_AMMO_BOX = texmap.getTextureReference(1, 2, 5, 6); - public static final TextureReference ITEM_GUN_UPGRADE = texmap.getTextureReference(0, 1, 4, 5); - public static final TextureReference ITEM_DEFENCE_UPGRADE = texmap.getTextureReference(1, 2, 4, 5); - - public static final TextureReference ITEM_ROCK = texmap.getTextureReference(0, 1, 3, 4); + public static final Model ITEM_GRAPPLING_HOOK = new ModelGui(Resources.ATLAS.get("/item/grappling_hook.png")); + public static final Model ITEM_HEALTH_POTION = new ModelGui(Resources.ATLAS.get("/item/health_potion.png")); + public static final Model ITEM_AMMO_BOX = new ModelGui(Resources.ATLAS.get("/item/ammo_box.png")); + public static final Model ITEM_GUN_UPGRADE = new ModelGui(Resources.ATLAS.get("/item/gun_upgrade.png")); + public static final Model ITEM_DEFENCE_UPGRADE = new ModelGui(Resources.ATLAS.get("/item/shield_upgrade.png")); + public static final Model ITEM_ROCK = new ModelGui(Resources.ATLAS.get("/item/rock.png")); // Player Back White Varient - public static final TextureReference ENTITY_PLAYER_B_W_STILL = texmap.getTextureReference(28, 29, 0, 1); - public static final TextureReference ENTITY_PLAYER_B_W_MOVING = new AnimationReference(10, - texmap.getTextureReference(28, 29, 0, 1), - texmap.getTextureReference(29, 30, 0, 1), - texmap.getTextureReference(30, 31, 0, 1), - texmap.getTextureReference(31, 32, 0, 1) - ); - - // Player Front White Varient - public static final TextureReference ENTITY_PLAYER_F_W_STILL = texmap.getTextureReference(28, 29, 1, 2); - public static final TextureReference ENTITY_PLAYER_F_W_MOVING = new AnimationReference(10, - texmap.getTextureReference(28, 29, 1, 2), - texmap.getTextureReference(29, 30, 1, 2), - texmap.getTextureReference(30, 31, 1, 2), - texmap.getTextureReference(31, 32, 1, 2) - ); - - // Player Back Black Varient - public static final TextureReference ENTITY_PLAYER_B_B_STILL = texmap.getTextureReference(28, 29, 2, 3); - public static final TextureReference ENTITY_PLAYER_B_B_MOVING = new AnimationReference(10, - texmap.getTextureReference(28, 29, 2, 3), - texmap.getTextureReference(29, 30, 2, 3), - texmap.getTextureReference(30, 31, 2, 3), - texmap.getTextureReference(31, 32, 2, 3) - ); - - // Player Front Black Varient - public static final TextureReference ENTITY_PLAYER_F_B_STILL = texmap.getTextureReference(28, 29, 3, 4); - public static final TextureReference ENTITY_PLAYER_F_B_MOVING = new AnimationReference(10, - texmap.getTextureReference(28, 29, 3, 4), - texmap.getTextureReference(29, 30, 3, 4), - texmap.getTextureReference(30, 31, 3, 4), - texmap.getTextureReference(31, 32, 3, 4) - ); - - // Zombie - public static final TextureReference ENTITY_ZOMBIE_B = new AnimationReference(10, - texmap.getTextureReference(28, 29, 4, 5), - texmap.getTextureReference(29, 30, 4, 5), - texmap.getTextureReference(30, 31, 4, 5), - texmap.getTextureReference(31, 32, 4, 5) - ); - public static final TextureReference ENTITY_ZOMBIE_F = new AnimationReference(10, - texmap.getTextureReference(28, 29, 5, 6), - texmap.getTextureReference(29, 30, 5, 6), - texmap.getTextureReference(30, 31, 5, 6), - texmap.getTextureReference(31, 32, 5, 6) - ); - - // Zombie Bomber - public static final TextureReference ENTITY_ZOMBIE_B_ARMORED = new AnimationReference(10, - texmap.getTextureReference(28, 29, 6, 7), - texmap.getTextureReference(29, 30, 6, 7), - texmap.getTextureReference(30, 31, 6, 7), - texmap.getTextureReference(31, 32, 6, 7) - ); - public static final TextureReference ENTITY_ZOMBIE_F_ARMORED = new AnimationReference(10, - texmap.getTextureReference(28, 29, 7, 8), - texmap.getTextureReference(29, 30, 7, 8), - texmap.getTextureReference(30, 31, 7, 8), - texmap.getTextureReference(31, 32, 7, 8) - ); - - // Water - public static final TextureReference TILE_WATER = new AnimationReference(10, - texmap.getTextureReference(0, 1, 8, 9), - texmap.getTextureReference(1, 2, 8, 9), - texmap.getTextureReference(2, 3, 8, 9), - texmap.getTextureReference(3, 4, 8, 9), - texmap.getTextureReference(4, 5, 8, 9), - texmap.getTextureReference(5, 6, 8, 9), - texmap.getTextureReference(6, 7, 8, 9), - texmap.getTextureReference(7, 8, 8, 9), - texmap.getTextureReference(8, 9, 8, 9), - texmap.getTextureReference(9, 10, 8, 9), - texmap.getTextureReference(10, 11, 8, 9), - texmap.getTextureReference(11, 12, 8, 9), - texmap.getTextureReference(12, 13, 8, 9), - texmap.getTextureReference(13, 14, 8, 9), - texmap.getTextureReference(14, 15, 8, 9), - texmap.getTextureReference(15, 16, 8, 9) - ); - - // Lava - public static final TextureReference TILE_LAVA = new AnimationReference(50, - texmap.getTextureReference(0, 1, 6, 7), - texmap.getTextureReference(1, 2, 6, 7), - texmap.getTextureReference(2, 3, 6, 7), - texmap.getTextureReference(3, 4, 6, 7), - texmap.getTextureReference(4, 5, 6, 7), - texmap.getTextureReference(5, 6, 6, 7), - texmap.getTextureReference(6, 7, 6, 7), - texmap.getTextureReference(7, 8, 6, 7), - texmap.getTextureReference(8, 9, 6, 7), - texmap.getTextureReference(9, 10, 6, 7), - texmap.getTextureReference(10, 11, 6, 7), - texmap.getTextureReference(11, 12, 6, 7), - texmap.getTextureReference(12, 13, 6, 7), - texmap.getTextureReference(13, 14, 6, 7), - texmap.getTextureReference(14, 15, 6, 7), - texmap.getTextureReference(15, 16, 6, 7) - ); - - // Water flow - public static final TextureReference TILE_WATER_FLOW = new AnimationReference(10, - texmap.getTextureReference(0, 1, 9, 10), - texmap.getTextureReference(1, 2, 9, 10), - texmap.getTextureReference(2, 3, 9, 10), - texmap.getTextureReference(3, 4, 9, 10), - texmap.getTextureReference(4, 5, 9, 10), - texmap.getTextureReference(5, 6, 9, 10), - texmap.getTextureReference(6, 7, 9, 10), - texmap.getTextureReference(7, 8, 9, 10), - texmap.getTextureReference(8, 9, 9, 10), - texmap.getTextureReference(9, 10, 9, 10), - texmap.getTextureReference(10, 11, 9, 10), - texmap.getTextureReference(11, 12, 9, 10), - texmap.getTextureReference(12, 13, 9, 10), - texmap.getTextureReference(13, 14, 9, 10), - texmap.getTextureReference(14, 15, 9, 10), - texmap.getTextureReference(15, 16, 9, 10) - ); - - // Lava flow - public static final TextureReference TILE_LAVA_FLOW = new AnimationReference(50, - texmap.getTextureReference(0, 1, 7, 8), - texmap.getTextureReference(1, 2, 7, 8), - texmap.getTextureReference(2, 3, 7, 8), - texmap.getTextureReference(3, 4, 7, 8), - texmap.getTextureReference(4, 5, 7, 8), - texmap.getTextureReference(5, 6, 7, 8), - texmap.getTextureReference(6, 7, 7, 8), - texmap.getTextureReference(7, 8, 7, 8), - texmap.getTextureReference(8, 9, 7, 8), - texmap.getTextureReference(9, 10, 7, 8), - texmap.getTextureReference(10, 11, 7, 8), - texmap.getTextureReference(11, 12, 7, 8), - texmap.getTextureReference(12, 13, 7, 8), - texmap.getTextureReference(13, 14, 7, 8), - texmap.getTextureReference(14, 15, 7, 8), - texmap.getTextureReference(15, 16, 7, 8) - ); - + public static final Model ENTITY_PLAYER_B_W_STILL = new ModelVertical(Resources.ATLAS.get("/player/player_white_back_still.png")); + public static final Model ENTITY_PLAYER_B_W_MOVING = new ModelVertical(Resources.ATLAS.get("/player/player_white_back_moving.png"), 4, 10); + public static final Model ENTITY_PLAYER_F_W_STILL = new ModelVertical(Resources.ATLAS.get("/player/player_white_front_still.png")); + public static final Model ENTITY_PLAYER_F_W_MOVING = new ModelVertical(Resources.ATLAS.get("/player/player_white_front_moving.png"), 4, 10); + public static final Model ENTITY_PLAYER_B_B_STILL = new ModelVertical(Resources.ATLAS.get("/player/player_black_back_still.png")); + public static final Model ENTITY_PLAYER_B_B_MOVING = new ModelVertical(Resources.ATLAS.get("/player/player_black_back_moving.png"), 4, 10); + public static final Model ENTITY_PLAYER_F_B_STILL = new ModelVertical(Resources.ATLAS.get("/player/player_black_front_still.png")); + public static final Model ENTITY_PLAYER_F_B_MOVING = new ModelVertical(Resources.ATLAS.get("/player/player_blacl_front_moving.png"), 4, 10); + public static final Model ENTITY_ZOMBIE_B = new ModelVertical(Resources.ATLAS.get("/entity/zombie_back_moving.png"), 4, 10); + public static final Model ENTITY_ZOMBIE_F = new ModelVertical(Resources.ATLAS.get("/entity/zombie_front_moving.png"), 4, 10); + public static final Model ENTITY_ZOMBIE_B_ARMORED = new ModelVertical(Resources.ATLAS.get("/entity/armored_zombie_back_moving.png"), 4, 10); + public static final Model ENTITY_ZOMBIE_F_ARMORED = new ModelVertical(Resources.ATLAS.get("/entity/armored_zombie_front_moving.png"), 4, 10); } diff --git a/src/projectzombie/model/Model.java b/src/projectzombie/model/Model.java index 723f5da..c23f6f6 100644 --- a/src/projectzombie/model/Model.java +++ b/src/projectzombie/model/Model.java @@ -9,7 +9,7 @@ public abstract class Model { int vao, size; boolean loaded = false; - private static final int SIZE = 7; + private static final int SIZE = 9; public int getSize() { return size; @@ -53,12 +53,9 @@ public abstract class Model glBindBuffer(GL_ARRAY_BUFFER, vbo); glBufferData(GL_ARRAY_BUFFER, verticies, GL_STATIC_DRAW); - glVertexAttribPointer(0, 3, GL_FLOAT, false, Float.BYTES * SIZE, 0); + glVertexAttribPointer(0, SIZE, GL_FLOAT, false, Float.BYTES * SIZE, 0); glEnableVertexAttribArray(0); - glVertexAttribPointer(1, 4, GL_FLOAT, false, Float.BYTES * SIZE, Float.BYTES * 3); - glEnableVertexAttribArray(1); - loaded = true; } } diff --git a/src/projectzombie/model/ModelChar.java b/src/projectzombie/model/ModelChar.java deleted file mode 100644 index 397f76e..0000000 --- a/src/projectzombie/model/ModelChar.java +++ /dev/null @@ -1,30 +0,0 @@ -package projectzombie.model; - -import gl_engine.texture.TextureRef3D; - -public class ModelChar extends Model -{ - private TextureRef3D ref; - - public ModelChar(TextureRef3D ref) { - this.ref = ref; - } - - @Override - protected float[] getVerticies() { - return new float[] { - 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 1, 0, 0, 0, - 1, 1, 0, 1, 1, 0, 0, - - 1, 1, 0, 1, 1, 0, 0, - 0, 1, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - }; - } - - @Override - protected TextureRef3D[] getTextures() { - return new TextureRef3D[] {ref, ref}; - } -} \ No newline at end of file diff --git a/src/projectzombie/model/ModelGui.java b/src/projectzombie/model/ModelGui.java new file mode 100644 index 0000000..6b9f909 --- /dev/null +++ b/src/projectzombie/model/ModelGui.java @@ -0,0 +1,43 @@ +package projectzombie.model; + +import gl_engine.texture.TextureRef3D; + +public class ModelGui extends Model +{ + private int animationSize; + private int animationSpeed; + private TextureRef3D ref; + + public ModelGui(TextureRef3D ref, int animationSize, int animationSpeed) + { + this.ref = ref; + this.animationSize = animationSize; + this.animationSpeed = animationSpeed; + } + + public ModelGui(TextureRef3D ref) { + this.ref = ref; + } + + @Override + protected float[] getVerticies() + { + int asi = animationSize; + int asp = animationSpeed; + + return new float[] { + 0, 0, 0, 0, 0, 0, asi, asp, 0, + 1, 0, 0, 1, 0, 0, asi, asp, 0, + 1, 1, 0, 1, 1, 0, asi, asp, 0, + + 1, 1, 0, 1, 1, 0, asi, asp, 0, + 0, 1, 0, 0, 1, 0, asi, asp, 0, + 0, 0, 0, 0, 0, 0, asi, asp, 0, + }; + } + + @Override + protected TextureRef3D[] getTextures() { + return new TextureRef3D[] {ref, ref}; + } +} \ No newline at end of file diff --git a/src/projectzombie/model/ModelRandom.java b/src/projectzombie/model/ModelRandom.java new file mode 100644 index 0000000..2793fae --- /dev/null +++ b/src/projectzombie/model/ModelRandom.java @@ -0,0 +1,18 @@ +package projectzombie.model; + +import java.util.Random; + +public class ModelRandom +{ + private static final Random rand = new Random(); + + private Model[] models; + + public ModelRandom(Model ...models) { + this.models = models; + } + + public Model getModel() { + return models[(int)(rand.nextDouble() * models.length)]; + } +} diff --git a/src/projectzombie/model/ModelTile.java b/src/projectzombie/model/ModelTile.java index dd936f7..f427864 100644 --- a/src/projectzombie/model/ModelTile.java +++ b/src/projectzombie/model/ModelTile.java @@ -1,26 +1,39 @@ package projectzombie.model; import gl_engine.texture.TextureRef3D; +import gl_engine.vec.Vec2d; -public abstract class ModelTile extends Model +public class ModelTile extends Model { + private int animationSize; + private int animationSpeed; private TextureRef3D tex; - public ModelTile(TextureRef3D tex) { + public ModelTile(TextureRef3D tex, int animationSize, int animationSpeed) + { this.tex = tex; + this.animationSize = animationSize; + this.animationSpeed = animationSpeed; + } + + public ModelTile(TextureRef3D tex) { + this(tex, 1, 1); } @Override protected float[] getVerticies() { + int asi = animationSize; + int asp = animationSpeed; + return new float[] { - 1, 0, 1, 1, 1, 0, 0, - 1, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 1, 1, 0, asi, asp, 0, + 1, 0, 0, 1, 0, 0, asi, asp, 0, + 0, 0, 0, 0, 0, 0, asi, asp, 0, - 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 1, 0, 0, - 1, 0, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, asi, asp, 0, + 0, 0, 1, 0, 1, 0, asi, asp, 0, + 1, 0, 1, 1, 1, 0, asi, asp, 0, }; } diff --git a/src/projectzombie/model/ModelVertical.java b/src/projectzombie/model/ModelVertical.java index 69ac6bf..78742cf 100644 --- a/src/projectzombie/model/ModelVertical.java +++ b/src/projectzombie/model/ModelVertical.java @@ -3,18 +3,32 @@ package projectzombie.model; import gl_engine.texture.TextureRef3D; import gl_engine.vec.Vec2d; -public abstract class ModelVertical extends Model +public class ModelVertical extends Model { + private int animationSize; + private int animationSpeed; private TextureRef3D tex; private Vec2d size; - public ModelVertical(TextureRef3D tex, Vec2d size) { + public ModelVertical(TextureRef3D tex, Vec2d size, int animationSize, int animationSpeed) + { this.tex = tex; this.size = size; + + this.animationSize = animationSize; + this.animationSpeed = animationSpeed; + } + + public ModelVertical(TextureRef3D tex, int animationSize, int animationSpeed) { + this(tex, new Vec2d(1, 1), animationSize, animationSpeed); + } + + public ModelVertical(TextureRef3D tex, Vec2d size) { + this(tex, size, 1, 1); } public ModelVertical(TextureRef3D tex) { - this(tex, new Vec2d(1, 1)); + this(tex, new Vec2d(1, 1), 1, 1); } @Override @@ -23,14 +37,17 @@ public abstract class ModelVertical extends Model float x = (float)size.x / 2; float y = (float)size.y; + int asi = animationSize; + int asp = animationSpeed; + return new float[] { - 0.5f-x, 0, 0.5f, 0, 0, 0, 1, - 0.5f+x, 0, 0.5f, 1, 0, 0, 1, - 0.5f+x, y, 0.5f, 1, 1, 0, 1, + 0.5f-x, 0, 0.5f, 0, 0, 0, asi, asp, 1, + 0.5f+x, 0, 0.5f, 1, 0, 0, asi, asp, 1, + 0.5f+x, y, 0.5f, 1, 1, 0, asi, asp, 1, - 0.5f+x, y, 0.5f, 1, 1, 0, 1, - 0.5f-x, y, 0.5f, 0, 1, 0, 1, - 0.5f-x, 0, 0.5f, 0, 0, 0, 1, + 0.5f+x, y, 0.5f, 1, 1, 0, asi, asp, 1, + 0.5f-x, y, 0.5f, 0, 1, 0, asi, asp, 1, + 0.5f-x, 0, 0.5f, 0, 0, 0, asi, asp, 1, }; } diff --git a/src/projectzombie/resources/Resource.java b/src/projectzombie/resources/Resource.java index 5664c2d..4079579 100755 --- a/src/projectzombie/resources/Resource.java +++ b/src/projectzombie/resources/Resource.java @@ -6,13 +6,15 @@ import java.io.InputStream; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; +import gl_engine.ResourceLoader; + public class Resource { String path; byte[] data; private String filePath(String path) { - return "resources/"+path; + return "/resources/"+path; } public Resource(String path) @@ -21,25 +23,8 @@ public class Resource this.path = path; } - public void load() - { - try - { - // Open the file stored on the hard drive - InputStream file_stream = new FileInputStream(filePath(path)); - - data = new byte[file_stream.available()]; - file_stream.read(data); - file_stream.close(); - } - - catch(IOException e) - { - // Print the stacktrace and exit - System.err.println("Error opening file at "+path+"!"); - e.printStackTrace(); - System.exit(1); - } + public void load() { + data = ResourceLoader.loadResource(path); } public byte[] getBytes() { diff --git a/src/projectzombie/text/Text.java b/src/projectzombie/text/Text.java index b601a3b..0cf13eb 100755 --- a/src/projectzombie/text/Text.java +++ b/src/projectzombie/text/Text.java @@ -4,95 +4,95 @@ import projectzombie.Main; import projectzombie.init.Models; import projectzombie.init.Resources; import projectzombie.model.Model; -import projectzombie.model.ModelChar; +import projectzombie.model.ModelGui; import projectzombie.util.gl.GlHelpers; import projectzombie.util.gl.texture.TextureReference; import gl_engine.vec.Vec2d; public class Text { - public static final Model CHAR_A = new ModelChar(Resources.ATLAS.get("/char/char_u_a.png")); - public static final Model CHAR_B = new ModelChar(Resources.ATLAS.get("/char/char_u_b.png")); - public static final Model CHAR_C = new ModelChar(Resources.ATLAS.get("/char/char_u_c.png")); - public static final Model CHAR_D = new ModelChar(Resources.ATLAS.get("/char/char_u_d.png")); - public static final Model CHAR_E = new ModelChar(Resources.ATLAS.get("/char/char_u_e.png")); - public static final Model CHAR_F = new ModelChar(Resources.ATLAS.get("/char/char_u_f.png")); - public static final Model CHAR_G = new ModelChar(Resources.ATLAS.get("/char/char_u_g.png")); - public static final Model CHAR_H = new ModelChar(Resources.ATLAS.get("/char/char_u_h.png")); - public static final Model CHAR_I = new ModelChar(Resources.ATLAS.get("/char/char_u_i.png")); - public static final Model CHAR_J = new ModelChar(Resources.ATLAS.get("/char/char_u_j.png")); - public static final Model CHAR_K = new ModelChar(Resources.ATLAS.get("/char/char_u_k.png")); - public static final Model CHAR_L = new ModelChar(Resources.ATLAS.get("/char/char_u_l.png")); - public static final Model CHAR_M = new ModelChar(Resources.ATLAS.get("/char/char_u_m.png")); - public static final Model CHAR_N = new ModelChar(Resources.ATLAS.get("/char/char_u_n.png")); - public static final Model CHAR_O = new ModelChar(Resources.ATLAS.get("/char/char_u_o.png")); - public static final Model CHAR_P = new ModelChar(Resources.ATLAS.get("/char/char_u_p.png")); - public static final Model CHAR_Q = new ModelChar(Resources.ATLAS.get("/char/char_u_q.png")); - public static final Model CHAR_R = new ModelChar(Resources.ATLAS.get("/char/char_u_r.png")); - public static final Model CHAR_S = new ModelChar(Resources.ATLAS.get("/char/char_u_s.png")); - public static final Model CHAR_T = new ModelChar(Resources.ATLAS.get("/char/char_u_t.png")); - public static final Model CHAR_U = new ModelChar(Resources.ATLAS.get("/char/char_u_u.png")); - public static final Model CHAR_V = new ModelChar(Resources.ATLAS.get("/char/char_u_v.png")); - public static final Model CHAR_W = new ModelChar(Resources.ATLAS.get("/char/char_u_w.png")); - public static final Model CHAR_X = new ModelChar(Resources.ATLAS.get("/char/char_u_x.png")); - public static final Model CHAR_Y = new ModelChar(Resources.ATLAS.get("/char/char_u_y.png")); - public static final Model CHAR_Z = new ModelChar(Resources.ATLAS.get("/char/char_u_z.png")); - public static final Model CHAR_a = new ModelChar(Resources.ATLAS.get("/char/char_l_a.png")); - public static final Model CHAR_b = new ModelChar(Resources.ATLAS.get("/char/char_l_b.png")); - public static final Model CHAR_c = new ModelChar(Resources.ATLAS.get("/char/char_l_c.png")); - public static final Model CHAR_d = new ModelChar(Resources.ATLAS.get("/char/char_l_d.png")); - public static final Model CHAR_e = new ModelChar(Resources.ATLAS.get("/char/char_l_e.png")); - public static final Model CHAR_f = new ModelChar(Resources.ATLAS.get("/char/char_l_f.png")); - public static final Model CHAR_g = new ModelChar(Resources.ATLAS.get("/char/char_l_g.png")); - public static final Model CHAR_i = new ModelChar(Resources.ATLAS.get("/char/char_l_h.png")); - public static final Model CHAR_h = new ModelChar(Resources.ATLAS.get("/char/char_l_i.png")); - public static final Model CHAR_j = new ModelChar(Resources.ATLAS.get("/char/char_l_j.png")); - public static final Model CHAR_k = new ModelChar(Resources.ATLAS.get("/char/char_l_k.png")); - public static final Model CHAR_l = new ModelChar(Resources.ATLAS.get("/char/char_l_l.png")); - public static final Model CHAR_m = new ModelChar(Resources.ATLAS.get("/char/char_l_m.png")); - public static final Model CHAR_n = new ModelChar(Resources.ATLAS.get("/char/char_l_n.png")); - public static final Model CHAR_o = new ModelChar(Resources.ATLAS.get("/char/char_l_o.png")); - public static final Model CHAR_p = new ModelChar(Resources.ATLAS.get("/char/char_l_p.png")); - public static final Model CHAR_q = new ModelChar(Resources.ATLAS.get("/char/char_l_q.png")); - public static final Model CHAR_r = new ModelChar(Resources.ATLAS.get("/char/char_l_r.png")); - public static final Model CHAR_s = new ModelChar(Resources.ATLAS.get("/char/char_l_s.png")); - public static final Model CHAR_t = new ModelChar(Resources.ATLAS.get("/char/char_l_t.png")); - public static final Model CHAR_u = new ModelChar(Resources.ATLAS.get("/char/char_l_u.png")); - public static final Model CHAR_v = new ModelChar(Resources.ATLAS.get("/char/char_l_v.png")); - public static final Model CHAR_w = new ModelChar(Resources.ATLAS.get("/char/char_l_w.png")); - public static final Model CHAR_x = new ModelChar(Resources.ATLAS.get("/char/char_l_x.png")); - public static final Model CHAR_y = new ModelChar(Resources.ATLAS.get("/char/char_l_y.png")); - public static final Model CHAR_z = new ModelChar(Resources.ATLAS.get("/char/char_l_z.png")); - public static final Model CHAR_0 = new ModelChar(Resources.ATLAS.get("/char/char_0.png")); - public static final Model CHAR_1 = new ModelChar(Resources.ATLAS.get("/char/char_1.png")); - public static final Model CHAR_2 = new ModelChar(Resources.ATLAS.get("/char/char_2.png")); - public static final Model CHAR_3 = new ModelChar(Resources.ATLAS.get("/char/char_3.png")); - public static final Model CHAR_4 = new ModelChar(Resources.ATLAS.get("/char/char_4.png")); - public static final Model CHAR_5 = new ModelChar(Resources.ATLAS.get("/char/char_5.png")); - public static final Model CHAR_6 = new ModelChar(Resources.ATLAS.get("/char/char_6.png")); - public static final Model CHAR_7 = new ModelChar(Resources.ATLAS.get("/char/char_7.png")); - public static final Model CHAR_8 = new ModelChar(Resources.ATLAS.get("/char/char_8.png")); - public static final Model CHAR_9 = new ModelChar(Resources.ATLAS.get("/char/char_9.png")); - public static final Model CHAR_FULLSTOP = new ModelChar(Resources.ATLAS.get("/char/char_fullstop.png")); - public static final Model CHAR_COLON = new ModelChar(Resources.ATLAS.get("/char/char_colon.png")); - public static final Model CHAR_COMMA = new ModelChar(Resources.ATLAS.get("/char/char_comma.png")); - public static final Model CHAR_EXMARK = new ModelChar(Resources.ATLAS.get("/char/char_exclamation.png")); - public static final Model CHAR_MINUS = new ModelChar(Resources.ATLAS.get("/char/char_minus.png")); - public static final Model CHAR_PLUS = new ModelChar(Resources.ATLAS.get("/char/char_plus.png")); - public static final Model CHAR_F_SLASH = new ModelChar(Resources.ATLAS.get("/char/char_fslash.png")); - public static final Model CHAR_B_SLASH = new ModelChar(Resources.ATLAS.get("/char/char_bslash.png")); - public static final Model CHAR_EQUALS = new ModelChar(Resources.ATLAS.get("/char/char_equals.png")); - public static final Model CHAR_USCORE = new ModelChar(Resources.ATLAS.get("/char/char_underscore.png")); - public static final Model CHAR_NULL = new ModelChar(Resources.ATLAS.get("/char/char_unknown.png")); - public static final Model CHAR_BRACKET_O = new ModelChar(Resources.ATLAS.get("/char/char_obracket.png")); - public static final Model CHAR_BRACKET_C = new ModelChar(Resources.ATLAS.get("/char/char_cbracket.png")); - public static final Model CHAR_PERCENT = new ModelChar(Resources.ATLAS.get("/char/char_percent.png")); - public static final Model CHAR_VBAR = new ModelChar(Resources.ATLAS.get("/char/char_vertical.png")); - public static final Model CHAR_QMARK = new ModelChar(Resources.ATLAS.get("/char/char_question.png")); - public static final Model CHAR_DOLLAR = new ModelChar(Resources.ATLAS.get("/char/char_dollar.png")); - public static final Model CHAR_HASHTAG = new ModelChar(Resources.ATLAS.get("/char/char_hashtag.png")); - public static final Model CHAR_L_THAN = new ModelChar(Resources.ATLAS.get("/char/char_lthan.png")); - public static final Model CHAR_G_THAN = new ModelChar(Resources.ATLAS.get("/char/char_gthan.png")); + public static final Model CHAR_A = new ModelGui(Resources.ATLAS.get("/text/char_u_a.png")); + public static final Model CHAR_B = new ModelGui(Resources.ATLAS.get("/text/char_u_b.png")); + public static final Model CHAR_C = new ModelGui(Resources.ATLAS.get("/text/char_u_c.png")); + public static final Model CHAR_D = new ModelGui(Resources.ATLAS.get("/text/char_u_d.png")); + public static final Model CHAR_E = new ModelGui(Resources.ATLAS.get("/text/char_u_e.png")); + public static final Model CHAR_F = new ModelGui(Resources.ATLAS.get("/text/char_u_f.png")); + public static final Model CHAR_G = new ModelGui(Resources.ATLAS.get("/text/char_u_g.png")); + public static final Model CHAR_H = new ModelGui(Resources.ATLAS.get("/text/char_u_h.png")); + public static final Model CHAR_I = new ModelGui(Resources.ATLAS.get("/text/char_u_i.png")); + public static final Model CHAR_J = new ModelGui(Resources.ATLAS.get("/text/char_u_j.png")); + public static final Model CHAR_K = new ModelGui(Resources.ATLAS.get("/text/char_u_k.png")); + public static final Model CHAR_L = new ModelGui(Resources.ATLAS.get("/text/char_u_l.png")); + public static final Model CHAR_M = new ModelGui(Resources.ATLAS.get("/text/char_u_m.png")); + public static final Model CHAR_N = new ModelGui(Resources.ATLAS.get("/text/char_u_n.png")); + public static final Model CHAR_O = new ModelGui(Resources.ATLAS.get("/text/char_u_o.png")); + public static final Model CHAR_P = new ModelGui(Resources.ATLAS.get("/text/char_u_p.png")); + public static final Model CHAR_Q = new ModelGui(Resources.ATLAS.get("/text/char_u_q.png")); + public static final Model CHAR_R = new ModelGui(Resources.ATLAS.get("/text/char_u_r.png")); + public static final Model CHAR_S = new ModelGui(Resources.ATLAS.get("/text/char_u_s.png")); + public static final Model CHAR_T = new ModelGui(Resources.ATLAS.get("/text/char_u_t.png")); + public static final Model CHAR_U = new ModelGui(Resources.ATLAS.get("/text/char_u_u.png")); + public static final Model CHAR_V = new ModelGui(Resources.ATLAS.get("/text/char_u_v.png")); + public static final Model CHAR_W = new ModelGui(Resources.ATLAS.get("/text/char_u_w.png")); + public static final Model CHAR_X = new ModelGui(Resources.ATLAS.get("/text/char_u_x.png")); + public static final Model CHAR_Y = new ModelGui(Resources.ATLAS.get("/text/char_u_y.png")); + public static final Model CHAR_Z = new ModelGui(Resources.ATLAS.get("/text/char_u_z.png")); + public static final Model CHAR_a = new ModelGui(Resources.ATLAS.get("/text/char_l_a.png")); + public static final Model CHAR_b = new ModelGui(Resources.ATLAS.get("/text/char_l_b.png")); + public static final Model CHAR_c = new ModelGui(Resources.ATLAS.get("/text/char_l_c.png")); + public static final Model CHAR_d = new ModelGui(Resources.ATLAS.get("/text/char_l_d.png")); + public static final Model CHAR_e = new ModelGui(Resources.ATLAS.get("/text/char_l_e.png")); + public static final Model CHAR_f = new ModelGui(Resources.ATLAS.get("/text/char_l_f.png")); + public static final Model CHAR_g = new ModelGui(Resources.ATLAS.get("/text/char_l_g.png")); + public static final Model CHAR_i = new ModelGui(Resources.ATLAS.get("/text/char_l_h.png")); + public static final Model CHAR_h = new ModelGui(Resources.ATLAS.get("/text/char_l_i.png")); + public static final Model CHAR_j = new ModelGui(Resources.ATLAS.get("/text/char_l_j.png")); + public static final Model CHAR_k = new ModelGui(Resources.ATLAS.get("/text/char_l_k.png")); + public static final Model CHAR_l = new ModelGui(Resources.ATLAS.get("/text/char_l_l.png")); + public static final Model CHAR_m = new ModelGui(Resources.ATLAS.get("/text/char_l_m.png")); + public static final Model CHAR_n = new ModelGui(Resources.ATLAS.get("/text/char_l_n.png")); + public static final Model CHAR_o = new ModelGui(Resources.ATLAS.get("/text/char_l_o.png")); + public static final Model CHAR_p = new ModelGui(Resources.ATLAS.get("/text/char_l_p.png")); + public static final Model CHAR_q = new ModelGui(Resources.ATLAS.get("/text/char_l_q.png")); + public static final Model CHAR_r = new ModelGui(Resources.ATLAS.get("/text/char_l_r.png")); + public static final Model CHAR_s = new ModelGui(Resources.ATLAS.get("/text/char_l_s.png")); + public static final Model CHAR_t = new ModelGui(Resources.ATLAS.get("/text/char_l_t.png")); + public static final Model CHAR_u = new ModelGui(Resources.ATLAS.get("/text/char_l_u.png")); + public static final Model CHAR_v = new ModelGui(Resources.ATLAS.get("/text/char_l_v.png")); + public static final Model CHAR_w = new ModelGui(Resources.ATLAS.get("/text/char_l_w.png")); + public static final Model CHAR_x = new ModelGui(Resources.ATLAS.get("/text/char_l_x.png")); + public static final Model CHAR_y = new ModelGui(Resources.ATLAS.get("/text/char_l_y.png")); + public static final Model CHAR_z = new ModelGui(Resources.ATLAS.get("/text/char_l_z.png")); + public static final Model CHAR_0 = new ModelGui(Resources.ATLAS.get("/text/char_0.png")); + public static final Model CHAR_1 = new ModelGui(Resources.ATLAS.get("/text/char_1.png")); + public static final Model CHAR_2 = new ModelGui(Resources.ATLAS.get("/text/char_2.png")); + public static final Model CHAR_3 = new ModelGui(Resources.ATLAS.get("/text/char_3.png")); + public static final Model CHAR_4 = new ModelGui(Resources.ATLAS.get("/text/char_4.png")); + public static final Model CHAR_5 = new ModelGui(Resources.ATLAS.get("/text/char_5.png")); + public static final Model CHAR_6 = new ModelGui(Resources.ATLAS.get("/text/char_6.png")); + public static final Model CHAR_7 = new ModelGui(Resources.ATLAS.get("/text/char_7.png")); + public static final Model CHAR_8 = new ModelGui(Resources.ATLAS.get("/text/char_8.png")); + public static final Model CHAR_9 = new ModelGui(Resources.ATLAS.get("/text/char_9.png")); + public static final Model CHAR_FULLSTOP = new ModelGui(Resources.ATLAS.get("/text/char_fullstop.png")); + public static final Model CHAR_COLON = new ModelGui(Resources.ATLAS.get("/text/char_colon.png")); + public static final Model CHAR_COMMA = new ModelGui(Resources.ATLAS.get("/text/char_comma.png")); + public static final Model CHAR_EXMARK = new ModelGui(Resources.ATLAS.get("/text/char_exclamation.png")); + public static final Model CHAR_MINUS = new ModelGui(Resources.ATLAS.get("/text/char_minus.png")); + public static final Model CHAR_PLUS = new ModelGui(Resources.ATLAS.get("/text/char_plus.png")); + public static final Model CHAR_F_SLASH = new ModelGui(Resources.ATLAS.get("/text/char_fslash.png")); + public static final Model CHAR_B_SLASH = new ModelGui(Resources.ATLAS.get("/text/char_bslash.png")); + public static final Model CHAR_EQUALS = new ModelGui(Resources.ATLAS.get("/text/char_equals.png")); + public static final Model CHAR_USCORE = new ModelGui(Resources.ATLAS.get("/text/char_underscore.png")); + public static final Model CHAR_NULL = new ModelGui(Resources.ATLAS.get("/text/char_unknown.png")); + public static final Model CHAR_BRACKET_O = new ModelGui(Resources.ATLAS.get("/text/char_obracket.png")); + public static final Model CHAR_BRACKET_C = new ModelGui(Resources.ATLAS.get("/text/char_cbracket.png")); + public static final Model CHAR_PERCENT = new ModelGui(Resources.ATLAS.get("/text/char_percent.png")); + public static final Model CHAR_VBAR = new ModelGui(Resources.ATLAS.get("/text/char_vertical.png")); + public static final Model CHAR_QMARK = new ModelGui(Resources.ATLAS.get("/text/char_question.png")); + public static final Model CHAR_DOLLAR = new ModelGui(Resources.ATLAS.get("/text/char_dollar.png")); + public static final Model CHAR_HASHTAG = new ModelGui(Resources.ATLAS.get("/text/char_hashtag.png")); + public static final Model CHAR_L_THAN = new ModelGui(Resources.ATLAS.get("/text/char_lthan.png")); + public static final Model CHAR_G_THAN = new ModelGui(Resources.ATLAS.get("/text/char_gthan.png")); public static void renderCenter(String text, Vec2d size) { int w = Main.window.getWidth(); @@ -203,7 +203,7 @@ public class Text case('<'): l = CHAR_L_THAN; break; } - + l.bind(); } // Stop drawing quads diff --git a/src/projectzombie/tiles/Tile.java b/src/projectzombie/tiles/Tile.java index e534ccb..057562a 100755 --- a/src/projectzombie/tiles/Tile.java +++ b/src/projectzombie/tiles/Tile.java @@ -2,16 +2,16 @@ package projectzombie.tiles; import projectzombie.display.Camera; import projectzombie.entity.Entity; +import projectzombie.model.Model; import projectzombie.util.math.TileState; import gl_engine.vec.Vec2d; import gl_engine.vec.Vec2i; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class Tile +public abstract class Tile { public short id; - public boolean opaqueTile = false; public boolean tileSolid = false; public boolean tileWalkable = true; public double tileHitbox = 0; @@ -21,24 +21,9 @@ public class Tile public boolean emitsLight = false; public boolean passNaturalLight = true; - public void render(Vec2d pos, Camera camera, TileState state) { - } - - public void doRender(Vec2d pos, Camera camera, TileState state) { - this.render(pos, camera, state); - } - - public boolean isOpaqueTile() { - return this.opaqueTile; - } - public void onWalkedOn(Chunk chunk, Layer layer, Vec2i pos, Entity entity, TileState state) { } - public Vec2d getRenderOffset(TileState ts) { - return new Vec2d(0.5, 0.5); - } - public TileState getDefaultState() { return new TileState(this, 0); } @@ -57,4 +42,6 @@ public class Tile public void tickRandomly(Layer layer, Chunk chunk, TileState state, Vec2i pos) { } + + public abstract Model getModel(byte meta); } diff --git a/src/projectzombie/tiles/TileBossPortal.java b/src/projectzombie/tiles/TileBossPortal.java index f17402c..1551095 100755 --- a/src/projectzombie/tiles/TileBossPortal.java +++ b/src/projectzombie/tiles/TileBossPortal.java @@ -9,6 +9,7 @@ import projectzombie.entity.particle.ParticleBreak; import projectzombie.entity.player.EntityPlayer; import projectzombie.init.LayerGenerators; import projectzombie.init.Models; +import projectzombie.model.Model; import gl_engine.MathHelpers; import projectzombie.util.math.TileState; import gl_engine.vec.Vec2d; @@ -17,15 +18,13 @@ import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.Layer; import projectzombie.world.layer.layergen.LayerGenBossArena; -public class TileBossPortal extends TileVertical +public class TileBossPortal extends Tile { private static Random rand = new Random(); public TileBossPortal() { - super(Models.TILE_BOSS_PORTAL, new Vec2d(2, 2)); this.emitsLight = true; - this.opaqueTile = true; this.tileHitbox = 0.4; this.tileSolid = true; this.unbreakable = true; @@ -50,7 +49,7 @@ public class TileBossPortal extends TileVertical LayerGenBossArena layergen = (LayerGenBossArena) LayerGenerators.BOSS_ARENA; layergen.spawnPlayer(ep); layer.setFrontTile(TileState.EMPTY, tpos); - ParticleBreak.spawnParticles(layer.getChunk(tpos), size, state); + ParticleBreak.spawnParticles(layer.getChunk(tpos), new Vec2d(1, 1), state); int id = Main.world.addLayer(new Layer(rand, layergen)); Main.world.setLayer(id); @@ -94,4 +93,9 @@ public class TileBossPortal extends TileVertical } } + @Override + public Model getModel(byte meta) { + return Models.TILE_BOSS_PORTAL; + } + } diff --git a/src/projectzombie/tiles/TileChest.java b/src/projectzombie/tiles/TileChest.java index 389ef3c..52b1624 100755 --- a/src/projectzombie/tiles/TileChest.java +++ b/src/projectzombie/tiles/TileChest.java @@ -7,6 +7,7 @@ import projectzombie.entity.Entity; import projectzombie.entity.EntityItem; import projectzombie.init.Items; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.math.ItemStack; import projectzombie.util.math.TileState; import projectzombie.util.math.random.RandomHelpers; @@ -15,16 +16,14 @@ import gl_engine.vec.Vec2i; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class TileChest extends TileVertical implements TileBulletBreakable +public class TileChest extends Tile implements TileBulletBreakable { public static final short CHEST_CAVES = 1; public static final short CHEST_LAVA_CAVES = 2; public TileChest() { - super(Models.TILE_CHEST, new Vec2d(1, 1)); this.tileSolid = true; - this.opaqueTile = true; this.tileHitbox = 0.4; } @@ -116,4 +115,9 @@ public class TileChest extends TileVertical implements TileBulletBreakable return 25; } + @Override + public Model getModel(byte meta) { + return Models.TILE_CHEST; + } + } diff --git a/src/projectzombie/tiles/TileDirt.java b/src/projectzombie/tiles/TileDirt.java index 8b8c947..219b6b3 100755 --- a/src/projectzombie/tiles/TileDirt.java +++ b/src/projectzombie/tiles/TileDirt.java @@ -1,12 +1,14 @@ package projectzombie.tiles; import projectzombie.init.Models; +import projectzombie.model.Model; -public class TileDirt extends TileFlatFaded +public class TileDirt extends Tile { - public TileDirt() { - super(Models.TILE_DIRT); + @Override + public Model getModel(byte meta) { + return Models.TILE_DIRT; } } \ No newline at end of file diff --git a/src/projectzombie/tiles/TileFlat.java b/src/projectzombie/tiles/TileFlat.java deleted file mode 100755 index d032665..0000000 --- a/src/projectzombie/tiles/TileFlat.java +++ /dev/null @@ -1,45 +0,0 @@ -package projectzombie.tiles; - -import projectzombie.display.Camera; -import projectzombie.util.gl.GlHelpers; -import projectzombie.util.gl.texture.IHasTexture; -import projectzombie.util.gl.texture.TextureReference; -import projectzombie.util.math.TileState; -import gl_engine.vec.Vec2d; -import gl_engine.vec.Vec3d; - -public class TileFlat extends Tile implements IHasTexture -{ - private TextureReference tex; - protected boolean rotates = false; - private static final Vec3d default_tile_color = new Vec3d(1, 1, 1); - - public TileFlat(TextureReference tex) { - this.tex = tex; - } - - public void render(Vec2d pos, Camera camera, TileState state, Vec3d color) - { - // Call super - super.render(pos, camera, state); - - // Render the tile - GlHelpers.color3(state.light.x * color.x, state.light.y * color.y, state.light.z * color.z); - GlHelpers.begin(); - tex.texCoord(1, 1); GlHelpers.vertex3(pos.x+0, pos.y+0, 0); - tex.texCoord(0, 1); GlHelpers.vertex3(pos.x+1, pos.y+0, 0); - tex.texCoord(0, 0); GlHelpers.vertex3(pos.x+1, pos.y+1, 0); - tex.texCoord(1, 0); GlHelpers.vertex3(pos.x+0, pos.y+1, 0); - GlHelpers.end(); - } - - @Override - public void render(Vec2d pos, Camera camera, TileState state) { - this.render(pos, camera, state, default_tile_color); - } - - @Override - public TextureReference getTexture() { - return tex; - } -} diff --git a/src/projectzombie/tiles/TileFlatFaded.java b/src/projectzombie/tiles/TileFlatFaded.java deleted file mode 100755 index 55bb33b..0000000 --- a/src/projectzombie/tiles/TileFlatFaded.java +++ /dev/null @@ -1,22 +0,0 @@ -package projectzombie.tiles; - -import projectzombie.display.Camera; -import projectzombie.util.gl.texture.TextureReference; -import projectzombie.util.math.TileState; -import gl_engine.vec.Vec2d; -import gl_engine.vec.Vec3d; - -public class TileFlatFaded extends TileFlat -{ - - public TileFlatFaded(TextureReference tex) { - super(tex); - } - - @Override - public void render(Vec2d pos, Camera camera, TileState state) { - double fade_amount = (Byte.MAX_VALUE - (double)state.meta) / Byte.MAX_VALUE; - super.render(pos, camera, state, new Vec3d(fade_amount, fade_amount, fade_amount)); - } - -} diff --git a/src/projectzombie/tiles/TileGrass.java b/src/projectzombie/tiles/TileGrass.java index 52f92b3..3e45740 100755 --- a/src/projectzombie/tiles/TileGrass.java +++ b/src/projectzombie/tiles/TileGrass.java @@ -1,12 +1,14 @@ package projectzombie.tiles; import projectzombie.init.Models; +import projectzombie.model.Model; -public class TileGrass extends TileFlat +public class TileGrass extends Tile { - public TileGrass() { - super(Models.TILE_GRASS); + @Override + public Model getModel(byte meta) { + return Models.TILE_GRASS; } } diff --git a/src/projectzombie/tiles/TileLadder.java b/src/projectzombie/tiles/TileLadder.java index c273316..7f88edf 100755 --- a/src/projectzombie/tiles/TileLadder.java +++ b/src/projectzombie/tiles/TileLadder.java @@ -1,17 +1,16 @@ package projectzombie.tiles; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.math.TileState; import gl_engine.vec.Vec2d; import gl_engine.vec.Vec2i; -public class TileLadder extends TileVertical +public class TileLadder extends Tile { public TileLadder() { - super(Models.TILE_LADDER, new Vec2d(1, 1)); - this.opaqueTile = true; this.tileSolid = true; this.tileHitbox = 0.3; this.unbreakable = true; @@ -23,5 +22,10 @@ public class TileLadder extends TileVertical public double getLightLevel(TileState state, Vec2i pos) { return 0.5; } + + @Override + public Model getModel(byte meta) { + return Models.TILE_LADDER; + } } diff --git a/src/projectzombie/tiles/TileLadderUp.java b/src/projectzombie/tiles/TileLadderUp.java index 055cc60..ef53fb4 100755 --- a/src/projectzombie/tiles/TileLadderUp.java +++ b/src/projectzombie/tiles/TileLadderUp.java @@ -6,18 +6,17 @@ import projectzombie.entity.Entity; import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.mainloop.MainloopEventHandler; +import projectzombie.model.Model; import projectzombie.util.math.TileState; 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 class TileLadderUp extends Tile { public TileLadderUp() { - super(Models.TILE_LADDER_UP, new Vec2d(1, 16)); - this.opaqueTile = true; this.tileSolid = true; this.tileHitbox = 0.3; this.unbreakable = true; @@ -94,5 +93,10 @@ public class TileLadderUp extends TileVertical }); } } + + @Override + public Model getModel(byte meta) { + return Models.TILE_LADDER_UP; + } } diff --git a/src/projectzombie/tiles/TileLantern.java b/src/projectzombie/tiles/TileLantern.java index 79c6111..80d8013 100755 --- a/src/projectzombie/tiles/TileLantern.java +++ b/src/projectzombie/tiles/TileLantern.java @@ -4,20 +4,19 @@ import projectzombie.entity.Entity; import projectzombie.entity.EntityItem; import projectzombie.init.Items; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.math.ItemStack; import projectzombie.util.math.TileState; import gl_engine.vec.Vec2d; import gl_engine.vec.Vec2i; import projectzombie.world.layer.Layer; -public class TileLantern extends TileVertical +public class TileLantern extends Tile { public TileLantern() { - super(Models.TILE_LANTERN, new Vec2d(1, 1)); this.emitsLight = true; - this.opaqueTile = true; } @Override @@ -34,6 +33,9 @@ public class TileLantern extends TileVertical new ItemStack(Items.LANTERN, 1, (byte)0))); } - + @Override + public Model getModel(byte meta) { + return Models.TILE_LANTERN; + } } diff --git a/src/projectzombie/tiles/TileLava.java b/src/projectzombie/tiles/TileLava.java index 09b51af..1033cf2 100755 --- a/src/projectzombie/tiles/TileLava.java +++ b/src/projectzombie/tiles/TileLava.java @@ -6,6 +6,7 @@ import projectzombie.display.Camera; import projectzombie.entity.Entity; import projectzombie.entity.particle.ParticleLava; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.gl.GlHelpers; import projectzombie.util.math.TileState; import gl_engine.vec.Vec2d; @@ -13,12 +14,11 @@ import gl_engine.vec.Vec2i; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class TileLava extends TileFlat +public class TileLava extends Tile { private Random rand = new Random(); public TileLava() { - super(Models.TILE_LAVA); this.slowness = 0.5; this.tileWalkable = false; @@ -27,11 +27,8 @@ public class TileLava extends TileFlat } @Override - public void render(Vec2d pos, Camera camera, TileState state) { - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, 0.001); - super.render(pos, camera, state); - GlHelpers.popMatrix(); + public Model getModel(byte meta) { + return Models.TILE_LAVA; } @Override diff --git a/src/projectzombie/tiles/TileLavaFlow.java b/src/projectzombie/tiles/TileLavaFlow.java index cb7b710..842418e 100755 --- a/src/projectzombie/tiles/TileLavaFlow.java +++ b/src/projectzombie/tiles/TileLavaFlow.java @@ -5,6 +5,7 @@ import java.util.Random; import projectzombie.display.Camera; import projectzombie.entity.particle.ParticleSmoke; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.gl.GlHelpers; import projectzombie.util.math.TileState; import projectzombie.util.math.random.RandomHelpers; @@ -13,25 +14,16 @@ import gl_engine.vec.Vec2i; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; -public class TileLavaFlow extends TileFlat +public class TileLavaFlow extends Tile { private Random rand = new Random(); public TileLavaFlow() { - super(Models.TILE_LAVA_FLOW); this.emitsLight = true; this.unbreakable = true; } - @Override - public void render(Vec2d pos, Camera camera, TileState state) { - GlHelpers.pushMatrix(); - GlHelpers.translate3(0, 0, 0.001); - super.render(pos, camera, state); - GlHelpers.popMatrix(); - } - @Override public double getLightLevel(TileState state, Vec2i pos) { return 0.6; @@ -46,5 +38,10 @@ public class TileLavaFlow extends TileFlat pos.x + rand.nextDouble(), pos.y + rand.nextDouble()))); } } + + @Override + public Model getModel(byte meta) { + return Models.TILE_LAVA_FLOW; + } } diff --git a/src/projectzombie/tiles/TilePortalDown.java b/src/projectzombie/tiles/TilePortalDown.java index 3b55d26..5126560 100755 --- a/src/projectzombie/tiles/TilePortalDown.java +++ b/src/projectzombie/tiles/TilePortalDown.java @@ -6,16 +6,16 @@ import projectzombie.entity.Entity; import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.mainloop.MainloopEventHandler; +import projectzombie.model.Model; import projectzombie.util.math.TileState; import gl_engine.vec.Vec2i; import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.Layer; -public class TilePortalDown extends TileFlat +public class TilePortalDown extends Tile { public TilePortalDown() { - super(Models.TILE_PORTAL); this.unbreakable = true; } @@ -125,5 +125,10 @@ public class TilePortalDown extends TileFlat }); } } + + @Override + public Model getModel(byte meta) { + return Models.TILE_PORTAL; + } } diff --git a/src/projectzombie/tiles/TileRock.java b/src/projectzombie/tiles/TileRock.java index 586f342..13a2a45 100755 --- a/src/projectzombie/tiles/TileRock.java +++ b/src/projectzombie/tiles/TileRock.java @@ -4,20 +4,19 @@ import projectzombie.entity.Entity; import projectzombie.entity.EntityItem; import projectzombie.init.Items; import projectzombie.init.Models; +import projectzombie.model.Model; import projectzombie.util.math.ItemStack; import projectzombie.util.math.TileState; import gl_engine.vec.Vec2d; import gl_engine.vec.Vec2i; import projectzombie.world.layer.Layer; -public class TileRock extends TileVertical implements TileBulletBreakable +public class TileRock extends Tile implements TileBulletBreakable { public TileRock() { - super(Models.TILE_ROCK, new Vec2d(1, 1)); // Set some settings - this.opaqueTile = true; this.tileSolid = true; this.tileHitbox = 0.4; } @@ -40,4 +39,9 @@ public class TileRock extends TileVertical implements TileBulletBreakable return 15; } + @Override + public Model getModel(byte meta) { + return Models.TILE_ROCK; + } + } diff --git a/src/projectzombie/tiles/TileVertical.java b/src/projectzombie/tiles/TileVertical.java deleted file mode 100755 index ff5ddd9..0000000 --- a/src/projectzombie/tiles/TileVertical.java +++ /dev/null @@ -1,35 +0,0 @@ -package projectzombie.tiles; - -import projectzombie.display.Camera; -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.TileState; -import gl_engine.vec.Vec2d; - -public class TileVertical extends Tile implements IHasTexture -{ - public final TextureReference tex; - public final Vec2d size; - - public TileVertical(TextureReference tex, Vec2d size) { - - // Store some variables - this.tex = tex; - this.size = size; - } - - @Override - public void render(Vec2d pos, Camera camera, TileState state) { - super.render(pos, camera, state); - GlHelpers.color3(state.light.x, state.light.y, state.light.z); - VerticalRender.render(pos, camera, tex, size); - } - - @Override - public TextureReference getTexture() { - return tex; - } - -} diff --git a/src/resources/shader/environmentRenderer.fsh b/src/resources/shader/environmentRenderer.fsh new file mode 100644 index 0000000..717505e --- /dev/null +++ b/src/resources/shader/environmentRenderer.fsh @@ -0,0 +1,15 @@ +#version 330 + +in vec3 pTexture; +out vec4 color; + +uniform sampler3D tex; + +void main() +{ + color = texture(tex, pTexture); + + if(color.a == 0) { + discard; + } +} \ No newline at end of file diff --git a/src/resources/shader/environmentRenderer.vsh b/src/resources/shader/environmentRenderer.vsh new file mode 100644 index 0000000..3db5acb --- /dev/null +++ b/src/resources/shader/environmentRenderer.vsh @@ -0,0 +1,46 @@ +#version 330 + +layout (location = 0) in float[9] vertices; + +out vec3 pTexture; + +uniform mat4 projection; +uniform mat4 model; +uniform mat4 camera; +uniform float cameraAngle; + +mat4 rotate(float angle, float x, float y, float z) +{ + mat4 result = mat4(1); + + float csin = sin(angle); + float ccos = cos(angle); + float iccos = 1 - ccos; + + result[0][0] = ccos + x * x * iccos; + result[0][1] = x * y * iccos - z * csin; + result[0][2] = x * z * iccos + y * csin; + result[1][0] = y * x * iccos + z * csin; + result[1][1] = ccos + y * y * iccos; + result[1][2] = y * z * iccos - x * csin; + result[2][0] = z * x * iccos - y * csin; + result[2][1] = z * y * iccos + x * csin; + result[2][2] = ccos + z * z * iccos; + result[3][3] = 1; + + return result; +} + + +void main() +{ + int type = int(vertices[8]); + + mat4 do_rotation = rotate(cameraAngle, 0, 1, 0); + mat4 no_rotation = mat4(1); + + gl_Position = vec4(vertices[0], vertices[1], vertices[2], 1) * + (type == 1 ? do_rotation : no_rotation) * model * camera * projection; + + pTexture = vec3(vertices[3], vertices[4], vertices[5]); +} \ No newline at end of file diff --git a/src/resources/shader/guiRenderer.fsh b/src/resources/shader/guiRenderer.fsh new file mode 100644 index 0000000..e75a316 --- /dev/null +++ b/src/resources/shader/guiRenderer.fsh @@ -0,0 +1,10 @@ +#version 330 + +in vec3 pTexture; +out vec4 color; + +uniform sampler3D tex; + +void main() { + color = texture(tex, pTexture); +} \ No newline at end of file diff --git a/src/resources/shader/guiRenderer.vsh b/src/resources/shader/guiRenderer.vsh new file mode 100644 index 0000000..eb3c119 --- /dev/null +++ b/src/resources/shader/guiRenderer.vsh @@ -0,0 +1,13 @@ +#version 330 + +layout (location = 0) in float[9] vertices; + +out vec3 pTexture; + +uniform mat4 model; + +void main() +{ + gl_Position = vec4(vertices[0], vertices[1], vertices[2], 0, 1); + pTexture = vec3(vertices[3], vertices[4], vertices[5]); +} \ No newline at end of file diff --git a/resources/sound/explosion.ogg b/src/resources/sound/explosion.ogg similarity index 100% rename from resources/sound/explosion.ogg rename to src/resources/sound/explosion.ogg diff --git a/resources/sound/gun0.ogg b/src/resources/sound/gun0.ogg similarity index 100% rename from resources/sound/gun0.ogg rename to src/resources/sound/gun0.ogg diff --git a/resources/sound/gun1.ogg b/src/resources/sound/gun1.ogg similarity index 100% rename from resources/sound/gun1.ogg rename to src/resources/sound/gun1.ogg diff --git a/resources/sound/gun2.ogg b/src/resources/sound/gun2.ogg similarity index 100% rename from resources/sound/gun2.ogg rename to src/resources/sound/gun2.ogg diff --git a/resources/sound/gun3.ogg b/src/resources/sound/gun3.ogg similarity index 100% rename from resources/sound/gun3.ogg rename to src/resources/sound/gun3.ogg diff --git a/resources/sound/gun4.ogg b/src/resources/sound/gun4.ogg similarity index 100% rename from resources/sound/gun4.ogg rename to src/resources/sound/gun4.ogg diff --git a/resources/sound/gun5.ogg b/src/resources/sound/gun5.ogg similarity index 100% rename from resources/sound/gun5.ogg rename to src/resources/sound/gun5.ogg diff --git a/resources/sound/gun6.ogg b/src/resources/sound/gun6.ogg similarity index 100% rename from resources/sound/gun6.ogg rename to src/resources/sound/gun6.ogg diff --git a/resources/sound/gun7.ogg b/src/resources/sound/gun7.ogg similarity index 100% rename from resources/sound/gun7.ogg rename to src/resources/sound/gun7.ogg diff --git a/resources/sound/gun8.ogg b/src/resources/sound/gun8.ogg similarity index 100% rename from resources/sound/gun8.ogg rename to src/resources/sound/gun8.ogg diff --git a/resources/sound/gun9.ogg b/src/resources/sound/gun9.ogg similarity index 100% rename from resources/sound/gun9.ogg rename to src/resources/sound/gun9.ogg diff --git a/resources/sound/hit0.ogg b/src/resources/sound/hit0.ogg similarity index 100% rename from resources/sound/hit0.ogg rename to src/resources/sound/hit0.ogg diff --git a/resources/sound/hit1.ogg b/src/resources/sound/hit1.ogg similarity index 100% rename from resources/sound/hit1.ogg rename to src/resources/sound/hit1.ogg diff --git a/resources/sound/hit2.ogg b/src/resources/sound/hit2.ogg similarity index 100% rename from resources/sound/hit2.ogg rename to src/resources/sound/hit2.ogg diff --git a/src/resources/texture/entity/armored/armored_zombie_b_1.png b/src/resources/texture/entity/armored/armored_zombie_b_1.png deleted file mode 100644 index e7b6ceb..0000000 Binary files a/src/resources/texture/entity/armored/armored_zombie_b_1.png and /dev/null 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 deleted file mode 100644 index 2656b87..0000000 Binary files a/src/resources/texture/entity/armored/armored_zombie_b_2.png and /dev/null 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 deleted file mode 100644 index 0e9283c..0000000 Binary files a/src/resources/texture/entity/armored/armored_zombie_b_3.png and /dev/null 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 deleted file mode 100644 index 8ca5c99..0000000 Binary files a/src/resources/texture/entity/armored/armored_zombie_f_1.png and /dev/null 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 deleted file mode 100644 index f58a84d..0000000 Binary files a/src/resources/texture/entity/armored/armored_zombie_f_2.png and /dev/null 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 deleted file mode 100644 index 15da1cb..0000000 Binary files a/src/resources/texture/entity/armored/armored_zombie_f_3.png and /dev/null differ diff --git a/src/resources/texture/entity/armored_zombie_back_moving.png b/src/resources/texture/entity/armored_zombie_back_moving.png new file mode 100644 index 0000000..7db9e36 Binary files /dev/null and b/src/resources/texture/entity/armored_zombie_back_moving.png differ diff --git a/src/resources/texture/entity/armored/armored_zombie_b_0.png b/src/resources/texture/entity/armored_zombie_back_still.png similarity index 100% rename from src/resources/texture/entity/armored/armored_zombie_b_0.png rename to src/resources/texture/entity/armored_zombie_back_still.png diff --git a/src/resources/texture/entity/armored_zombie_front_moving.png b/src/resources/texture/entity/armored_zombie_front_moving.png new file mode 100644 index 0000000..9e1eae0 Binary files /dev/null and b/src/resources/texture/entity/armored_zombie_front_moving.png differ diff --git a/src/resources/texture/entity/armored/armored_zombie_f_0.png b/src/resources/texture/entity/armored_zombie_front_still.png similarity index 100% rename from src/resources/texture/entity/armored/armored_zombie_f_0.png rename to src/resources/texture/entity/armored_zombie_front_still.png diff --git a/src/resources/texture/entity/boss1/boss_firing.png b/src/resources/texture/entity/boss1/boss_firing.png new file mode 100644 index 0000000..4d32096 Binary files /dev/null and b/src/resources/texture/entity/boss1/boss_firing.png differ diff --git a/src/resources/texture/entity/boss1/boss_still.png b/src/resources/texture/entity/boss1/boss_still.png new file mode 100644 index 0000000..880efd5 Binary files /dev/null and b/src/resources/texture/entity/boss1/boss_still.png differ diff --git a/src/resources/texture/entity/boss1/boss_walking.png b/src/resources/texture/entity/boss1/boss_walking.png new file mode 100644 index 0000000..867281a Binary files /dev/null and b/src/resources/texture/entity/boss1/boss_walking.png differ diff --git a/src/resources/texture/entity/boss1/boss_walking_firing.png b/src/resources/texture/entity/boss1/boss_walking_firing.png new file mode 100644 index 0000000..6b7c4a5 Binary files /dev/null and b/src/resources/texture/entity/boss1/boss_walking_firing.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 deleted file mode 100644 index 322d7b3..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_still.png and /dev/null 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 deleted file mode 100644 index be8477a..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_still_0.png and /dev/null 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 deleted file mode 100644 index b61bcfc..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_still_1.png and /dev/null 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 deleted file mode 100644 index 7a551ec..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_still_2.png and /dev/null 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 deleted file mode 100644 index d4f5795..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_still_3.png and /dev/null 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 deleted file mode 100644 index 344f565..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_walk_0.png and /dev/null 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 deleted file mode 100644 index ab3a22a..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_walk_1.png and /dev/null 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 deleted file mode 100644 index 6d815e7..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_walk_2.png and /dev/null 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 deleted file mode 100644 index 26af105..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_walk_3.png and /dev/null 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 deleted file mode 100644 index 76d0d80..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_wg_0.png and /dev/null 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 deleted file mode 100644 index 9e1c853..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_wg_1.png and /dev/null 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 deleted file mode 100644 index 3b5e5f9..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_wg_2.png and /dev/null 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 deleted file mode 100644 index ad57fcf..0000000 Binary files a/src/resources/texture/entity/boss_1/boss_1_wg_3.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_bb_0.png b/src/resources/texture/entity/player/player_bb_0.png deleted file mode 100644 index fa557b1..0000000 Binary files a/src/resources/texture/entity/player/player_bb_0.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_bb_1.png b/src/resources/texture/entity/player/player_bb_1.png deleted file mode 100644 index 5725c4e..0000000 Binary files a/src/resources/texture/entity/player/player_bb_1.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_bb_2.png b/src/resources/texture/entity/player/player_bb_2.png deleted file mode 100644 index 3e610d0..0000000 Binary files a/src/resources/texture/entity/player/player_bb_2.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_bb_3.png b/src/resources/texture/entity/player/player_bb_3.png deleted file mode 100644 index bcde01b..0000000 Binary files a/src/resources/texture/entity/player/player_bb_3.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_bf_0.png b/src/resources/texture/entity/player/player_bf_0.png deleted file mode 100644 index fb972eb..0000000 Binary files a/src/resources/texture/entity/player/player_bf_0.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_bf_1.png b/src/resources/texture/entity/player/player_bf_1.png deleted file mode 100644 index a38281f..0000000 Binary files a/src/resources/texture/entity/player/player_bf_1.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_bf_2.png b/src/resources/texture/entity/player/player_bf_2.png deleted file mode 100644 index 013dae9..0000000 Binary files a/src/resources/texture/entity/player/player_bf_2.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_bf_3.png b/src/resources/texture/entity/player/player_bf_3.png deleted file mode 100644 index 5c463d0..0000000 Binary files a/src/resources/texture/entity/player/player_bf_3.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_wb_0.png b/src/resources/texture/entity/player/player_wb_0.png deleted file mode 100644 index de223df..0000000 Binary files a/src/resources/texture/entity/player/player_wb_0.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_wb_1.png b/src/resources/texture/entity/player/player_wb_1.png deleted file mode 100644 index fba8fbc..0000000 Binary files a/src/resources/texture/entity/player/player_wb_1.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_wb_2.png b/src/resources/texture/entity/player/player_wb_2.png deleted file mode 100644 index fd40866..0000000 Binary files a/src/resources/texture/entity/player/player_wb_2.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_wb_3.png b/src/resources/texture/entity/player/player_wb_3.png deleted file mode 100644 index b0b1166..0000000 Binary files a/src/resources/texture/entity/player/player_wb_3.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_wf_0.png b/src/resources/texture/entity/player/player_wf_0.png deleted file mode 100644 index c8b4a83..0000000 Binary files a/src/resources/texture/entity/player/player_wf_0.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_wf_1.png b/src/resources/texture/entity/player/player_wf_1.png deleted file mode 100644 index e19b711..0000000 Binary files a/src/resources/texture/entity/player/player_wf_1.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_wf_2.png b/src/resources/texture/entity/player/player_wf_2.png deleted file mode 100644 index ccabb9d..0000000 Binary files a/src/resources/texture/entity/player/player_wf_2.png and /dev/null differ diff --git a/src/resources/texture/entity/player/player_wf_3.png b/src/resources/texture/entity/player/player_wf_3.png deleted file mode 100644 index deb9de5..0000000 Binary files a/src/resources/texture/entity/player/player_wf_3.png and /dev/null differ diff --git a/src/resources/texture/entity/zombie/zombie_b_1.png b/src/resources/texture/entity/zombie/zombie_b_1.png deleted file mode 100644 index e0f56b9..0000000 Binary files a/src/resources/texture/entity/zombie/zombie_b_1.png and /dev/null differ diff --git a/src/resources/texture/entity/zombie/zombie_b_2.png b/src/resources/texture/entity/zombie/zombie_b_2.png deleted file mode 100644 index 21be3da..0000000 Binary files a/src/resources/texture/entity/zombie/zombie_b_2.png and /dev/null differ diff --git a/src/resources/texture/entity/zombie/zombie_b_3.png b/src/resources/texture/entity/zombie/zombie_b_3.png deleted file mode 100644 index 42e79f9..0000000 Binary files a/src/resources/texture/entity/zombie/zombie_b_3.png and /dev/null differ diff --git a/src/resources/texture/entity/zombie/zombie_f_1.png b/src/resources/texture/entity/zombie/zombie_f_1.png deleted file mode 100644 index 90f977a..0000000 Binary files a/src/resources/texture/entity/zombie/zombie_f_1.png and /dev/null differ diff --git a/src/resources/texture/entity/zombie/zombie_f_2.png b/src/resources/texture/entity/zombie/zombie_f_2.png deleted file mode 100644 index 5d25e55..0000000 Binary files a/src/resources/texture/entity/zombie/zombie_f_2.png and /dev/null differ diff --git a/src/resources/texture/entity/zombie/zombie_f_3.png b/src/resources/texture/entity/zombie/zombie_f_3.png deleted file mode 100644 index 6a654f0..0000000 Binary files a/src/resources/texture/entity/zombie/zombie_f_3.png and /dev/null differ diff --git a/src/resources/texture/entity/zombie_back_moving.png b/src/resources/texture/entity/zombie_back_moving.png new file mode 100644 index 0000000..7c17c6e Binary files /dev/null and b/src/resources/texture/entity/zombie_back_moving.png differ diff --git a/src/resources/texture/entity/zombie/zombie_b_0.png b/src/resources/texture/entity/zombie_back_still.png similarity index 100% rename from src/resources/texture/entity/zombie/zombie_b_0.png rename to src/resources/texture/entity/zombie_back_still.png diff --git a/src/resources/texture/entity/zombie_front_moving.png b/src/resources/texture/entity/zombie_front_moving.png new file mode 100644 index 0000000..3f2e26b Binary files /dev/null and b/src/resources/texture/entity/zombie_front_moving.png differ diff --git a/src/resources/texture/entity/zombie/zombie_f_0.png b/src/resources/texture/entity/zombie_front_still.png similarity index 100% rename from src/resources/texture/entity/zombie/zombie_f_0.png rename to src/resources/texture/entity/zombie_front_still.png diff --git a/src/resources/texture/list.txt b/src/resources/texture/list.txt index 240e12a..32f5b65 100644 --- a/src/resources/texture/list.txt +++ b/src/resources/texture/list.txt @@ -1,219 +1,149 @@ -./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/tree.png +./tile/water.png +./tile/ladder_up.png +./tile/dirt.png +./tile/wall.png +./tile/tunnel_down.png +./tile/stone.png +./tile/boss_portal.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 +./tile/lantern.png +./tile/chest.png +./tile/lava.png +./tile/lava_flow.png +./tile/grass.png +./list.txt ./item/rock.png ./item/ammo_box.png +./item/shield_upgrade.png +./item/grappling_hook.png ./item/health_potion.png +./item/gun_upgrade.png +./player/player_white_back_still.png +./player/player_white_front_still.png +./player/player_black_front_moving.png +./player/player_black_front_still.png +./player/player_black_back_moving.png +./player/player_black_back_still.png +./player/player_white_back_moving.png +./player/player_white_front_moving.png +./gui/gun.png +./gui/health_empty.png +./gui/hotbar_selected.png +./gui/health_full.png +./gui/hotbar.png +./gui/button_normal.png +./gui/shield.png +./gui/button_hover.png +./text/char_bslash.png +./text/char_dollar.png +./text/char_l_w.png +./text/char_u_d.png +./text/char_u_t.png +./text/char_space.png +./text/char_l_x.png +./text/char_l_k.png +./text/char_6.png +./text/char_unknown.png +./text/char_comma.png +./text/char_obracket.png +./text/char_u_w.png +./text/char_7.png +./text/char_l_f.png +./text/char_vertical.png +./text/char_plus.png +./text/char_u_a.png +./text/char_9.png +./text/char_u_k.png +./text/char_u_n.png +./text/char_percent.png +./text/char_u_m.png +./text/char_exclamation.png +./text/char_1.png +./text/char_l_q.png +./text/char_l_z.png +./text/char_l_h.png +./text/char_u_c.png +./text/char_l_g.png +./text/char_l_s.png +./text/char_fullstop.png +./text/char_u_j.png +./text/char_l_m.png +./text/char_l_t.png +./text/char_u_v.png +./text/char_colon.png +./text/char_l_i.png +./text/char_l_y.png +./text/char_u_l.png +./text/char_u_e.png +./text/char_5.png +./text/char_2.png +./text/char_3.png +./text/char_l_p.png +./text/char_fslash.png +./text/char_l_u.png +./text/char_u_f.png +./text/char_u_u.png +./text/char_l_e.png +./text/char_l_l.png +./text/char_u_g.png +./text/char_u_q.png +./text/char_u_b.png +./text/char_l_o.png +./text/char_minus.png +./text/char_l_v.png +./text/char_lthan.png +./text/char_u_s.png +./text/char_equals.png +./text/char_8.png +./text/char_underscore.png +./text/char_u_x.png +./text/char_0.png +./text/char_l_d.png +./text/char_l_c.png +./text/char_l_j.png +./text/char_u_z.png +./text/char_u_h.png +./text/char_hashtag.png +./text/char_gthan.png +./text/char_cbracket.png +./text/char_u_i.png +./text/char_question.png +./text/char_u_o.png +./text/char_u_y.png +./text/char_l_r.png +./text/char_l_b.png +./text/char_l_a.png +./text/char_l_n.png +./text/char_u_p.png +./text/char_u_r.png +./text/char_4.png +./entity/armored_zombie_back_moving.png +./entity/zombie_front_still.png +./entity/tnt.png +./entity/flare.png +./entity/boss1/boss_walking.png +./entity/boss1/boss_firing.png +./entity/boss1/boss_still.png +./entity/boss1/boss_walking_firing.png +./entity/armored_zombie_back_still.png +./entity/armored_zombie_front_moving.png +./entity/grappling_hook.png +./entity/zombie_back_still.png +./entity/dummy.png +./entity/zombie_back_moving.png +./entity/armored_zombie_front_still.png +./entity/zombie_front_moving.png +./particle/smoke_1.png +./particle/water.png +./particle/blood.png +./particle/smoke_3.png +./particle/smoke_4.png +./particle/smoke_2.png +./particle/smoke_0.png +./particle/bullet.png +./particle/lava.png +./particle/smoke_trail.png +./particle/smoke_5.png diff --git a/src/resources/texture/particle/blood.png b/src/resources/texture/particle/blood.png new file mode 100644 index 0000000..17c15be Binary files /dev/null and b/src/resources/texture/particle/blood.png differ diff --git a/src/resources/texture/particle/bullet.png b/src/resources/texture/particle/bullet.png new file mode 100644 index 0000000..f87412c Binary files /dev/null and b/src/resources/texture/particle/bullet.png differ diff --git a/src/resources/texture/particle/lava.png b/src/resources/texture/particle/lava.png new file mode 100644 index 0000000..e42737b Binary files /dev/null and b/src/resources/texture/particle/lava.png differ diff --git a/src/resources/texture/entity/smoke/smoke_0.png b/src/resources/texture/particle/smoke_0.png similarity index 100% rename from src/resources/texture/entity/smoke/smoke_0.png rename to src/resources/texture/particle/smoke_0.png diff --git a/src/resources/texture/entity/smoke/smoke_1.png b/src/resources/texture/particle/smoke_1.png similarity index 100% rename from src/resources/texture/entity/smoke/smoke_1.png rename to src/resources/texture/particle/smoke_1.png diff --git a/src/resources/texture/entity/smoke/smoke_2.png b/src/resources/texture/particle/smoke_2.png similarity index 100% rename from src/resources/texture/entity/smoke/smoke_2.png rename to src/resources/texture/particle/smoke_2.png diff --git a/src/resources/texture/entity/smoke/smoke_3.png b/src/resources/texture/particle/smoke_3.png similarity index 100% rename from src/resources/texture/entity/smoke/smoke_3.png rename to src/resources/texture/particle/smoke_3.png diff --git a/src/resources/texture/entity/smoke/smoke_4.png b/src/resources/texture/particle/smoke_4.png similarity index 100% rename from src/resources/texture/entity/smoke/smoke_4.png rename to src/resources/texture/particle/smoke_4.png diff --git a/src/resources/texture/entity/smoke/smoke_5.png b/src/resources/texture/particle/smoke_5.png similarity index 100% rename from src/resources/texture/entity/smoke/smoke_5.png rename to src/resources/texture/particle/smoke_5.png diff --git a/src/resources/texture/particle/smoke_trail.png b/src/resources/texture/particle/smoke_trail.png new file mode 100644 index 0000000..6ed7527 Binary files /dev/null and b/src/resources/texture/particle/smoke_trail.png differ diff --git a/src/resources/texture/particle/water.png b/src/resources/texture/particle/water.png new file mode 100644 index 0000000..fc0eb9a Binary files /dev/null and b/src/resources/texture/particle/water.png differ diff --git a/src/resources/texture/player/player_black_back_moving.png b/src/resources/texture/player/player_black_back_moving.png new file mode 100644 index 0000000..c662f77 Binary files /dev/null and b/src/resources/texture/player/player_black_back_moving.png differ diff --git a/src/resources/texture/player/player_black_back_still.png b/src/resources/texture/player/player_black_back_still.png new file mode 100644 index 0000000..1a89056 Binary files /dev/null and b/src/resources/texture/player/player_black_back_still.png differ diff --git a/src/resources/texture/player/player_black_front_moving.png b/src/resources/texture/player/player_black_front_moving.png new file mode 100644 index 0000000..381d7f8 Binary files /dev/null and b/src/resources/texture/player/player_black_front_moving.png differ diff --git a/src/resources/texture/player/player_black_front_still.png b/src/resources/texture/player/player_black_front_still.png new file mode 100644 index 0000000..cea64af Binary files /dev/null and b/src/resources/texture/player/player_black_front_still.png differ diff --git a/src/resources/texture/player/player_white_back_moving.png b/src/resources/texture/player/player_white_back_moving.png new file mode 100644 index 0000000..33dc2ba Binary files /dev/null and b/src/resources/texture/player/player_white_back_moving.png differ diff --git a/src/resources/texture/player/player_white_back_still.png b/src/resources/texture/player/player_white_back_still.png new file mode 100644 index 0000000..2bf0454 Binary files /dev/null and b/src/resources/texture/player/player_white_back_still.png differ diff --git a/src/resources/texture/player/player_white_front_moving.png b/src/resources/texture/player/player_white_front_moving.png new file mode 100644 index 0000000..89b09c3 Binary files /dev/null and b/src/resources/texture/player/player_white_front_moving.png differ diff --git a/src/resources/texture/player/player_white_front_still.png b/src/resources/texture/player/player_white_front_still.png new file mode 100644 index 0000000..d12168b Binary files /dev/null and b/src/resources/texture/player/player_white_front_still.png differ diff --git a/src/resources/texture/char/char_0.png b/src/resources/texture/text/char_0.png similarity index 100% rename from src/resources/texture/char/char_0.png rename to src/resources/texture/text/char_0.png diff --git a/src/resources/texture/char/char_1.png b/src/resources/texture/text/char_1.png similarity index 100% rename from src/resources/texture/char/char_1.png rename to src/resources/texture/text/char_1.png diff --git a/src/resources/texture/char/char_2.png b/src/resources/texture/text/char_2.png similarity index 100% rename from src/resources/texture/char/char_2.png rename to src/resources/texture/text/char_2.png diff --git a/src/resources/texture/char/char_3.png b/src/resources/texture/text/char_3.png similarity index 100% rename from src/resources/texture/char/char_3.png rename to src/resources/texture/text/char_3.png diff --git a/src/resources/texture/char/char_4.png b/src/resources/texture/text/char_4.png similarity index 100% rename from src/resources/texture/char/char_4.png rename to src/resources/texture/text/char_4.png diff --git a/src/resources/texture/char/char_5.png b/src/resources/texture/text/char_5.png similarity index 100% rename from src/resources/texture/char/char_5.png rename to src/resources/texture/text/char_5.png diff --git a/src/resources/texture/char/char_6.png b/src/resources/texture/text/char_6.png similarity index 100% rename from src/resources/texture/char/char_6.png rename to src/resources/texture/text/char_6.png diff --git a/src/resources/texture/char/char_7.png b/src/resources/texture/text/char_7.png similarity index 100% rename from src/resources/texture/char/char_7.png rename to src/resources/texture/text/char_7.png diff --git a/src/resources/texture/char/char_8.png b/src/resources/texture/text/char_8.png similarity index 100% rename from src/resources/texture/char/char_8.png rename to src/resources/texture/text/char_8.png diff --git a/src/resources/texture/char/char_9.png b/src/resources/texture/text/char_9.png similarity index 100% rename from src/resources/texture/char/char_9.png rename to src/resources/texture/text/char_9.png diff --git a/src/resources/texture/char/char_bslash.png b/src/resources/texture/text/char_bslash.png similarity index 100% rename from src/resources/texture/char/char_bslash.png rename to src/resources/texture/text/char_bslash.png diff --git a/src/resources/texture/char/char_cbracket.png b/src/resources/texture/text/char_cbracket.png similarity index 100% rename from src/resources/texture/char/char_cbracket.png rename to src/resources/texture/text/char_cbracket.png diff --git a/src/resources/texture/char/char_colon.png b/src/resources/texture/text/char_colon.png similarity index 100% rename from src/resources/texture/char/char_colon.png rename to src/resources/texture/text/char_colon.png diff --git a/src/resources/texture/char/char_comma.png b/src/resources/texture/text/char_comma.png similarity index 100% rename from src/resources/texture/char/char_comma.png rename to src/resources/texture/text/char_comma.png diff --git a/src/resources/texture/char/char_dollar.png b/src/resources/texture/text/char_dollar.png similarity index 100% rename from src/resources/texture/char/char_dollar.png rename to src/resources/texture/text/char_dollar.png diff --git a/src/resources/texture/char/char_equals.png b/src/resources/texture/text/char_equals.png similarity index 100% rename from src/resources/texture/char/char_equals.png rename to src/resources/texture/text/char_equals.png diff --git a/src/resources/texture/char/char_exclamation.png b/src/resources/texture/text/char_exclamation.png similarity index 100% rename from src/resources/texture/char/char_exclamation.png rename to src/resources/texture/text/char_exclamation.png diff --git a/src/resources/texture/char/char_fslash.png b/src/resources/texture/text/char_fslash.png similarity index 100% rename from src/resources/texture/char/char_fslash.png rename to src/resources/texture/text/char_fslash.png diff --git a/src/resources/texture/char/char_fullstop.png b/src/resources/texture/text/char_fullstop.png similarity index 100% rename from src/resources/texture/char/char_fullstop.png rename to src/resources/texture/text/char_fullstop.png diff --git a/src/resources/texture/char/char_gthan.png b/src/resources/texture/text/char_gthan.png similarity index 100% rename from src/resources/texture/char/char_gthan.png rename to src/resources/texture/text/char_gthan.png diff --git a/src/resources/texture/char/char_hashtag.png b/src/resources/texture/text/char_hashtag.png similarity index 100% rename from src/resources/texture/char/char_hashtag.png rename to src/resources/texture/text/char_hashtag.png diff --git a/src/resources/texture/char/char_l_a.png b/src/resources/texture/text/char_l_a.png similarity index 100% rename from src/resources/texture/char/char_l_a.png rename to src/resources/texture/text/char_l_a.png diff --git a/src/resources/texture/char/char_l_b.png b/src/resources/texture/text/char_l_b.png similarity index 100% rename from src/resources/texture/char/char_l_b.png rename to src/resources/texture/text/char_l_b.png diff --git a/src/resources/texture/char/char_l_c.png b/src/resources/texture/text/char_l_c.png similarity index 100% rename from src/resources/texture/char/char_l_c.png rename to src/resources/texture/text/char_l_c.png diff --git a/src/resources/texture/char/char_l_d.png b/src/resources/texture/text/char_l_d.png similarity index 100% rename from src/resources/texture/char/char_l_d.png rename to src/resources/texture/text/char_l_d.png diff --git a/src/resources/texture/char/char_l_e.png b/src/resources/texture/text/char_l_e.png similarity index 100% rename from src/resources/texture/char/char_l_e.png rename to src/resources/texture/text/char_l_e.png diff --git a/src/resources/texture/char/char_l_f.png b/src/resources/texture/text/char_l_f.png similarity index 100% rename from src/resources/texture/char/char_l_f.png rename to src/resources/texture/text/char_l_f.png diff --git a/src/resources/texture/char/char_l_g.png b/src/resources/texture/text/char_l_g.png similarity index 100% rename from src/resources/texture/char/char_l_g.png rename to src/resources/texture/text/char_l_g.png diff --git a/src/resources/texture/char/char_l_h.png b/src/resources/texture/text/char_l_h.png similarity index 100% rename from src/resources/texture/char/char_l_h.png rename to src/resources/texture/text/char_l_h.png diff --git a/src/resources/texture/char/char_l_i.png b/src/resources/texture/text/char_l_i.png similarity index 100% rename from src/resources/texture/char/char_l_i.png rename to src/resources/texture/text/char_l_i.png diff --git a/src/resources/texture/char/char_l_j.png b/src/resources/texture/text/char_l_j.png similarity index 100% rename from src/resources/texture/char/char_l_j.png rename to src/resources/texture/text/char_l_j.png diff --git a/src/resources/texture/char/char_l_k.png b/src/resources/texture/text/char_l_k.png similarity index 100% rename from src/resources/texture/char/char_l_k.png rename to src/resources/texture/text/char_l_k.png diff --git a/src/resources/texture/char/char_l_l.png b/src/resources/texture/text/char_l_l.png similarity index 100% rename from src/resources/texture/char/char_l_l.png rename to src/resources/texture/text/char_l_l.png diff --git a/src/resources/texture/char/char_l_m.png b/src/resources/texture/text/char_l_m.png similarity index 100% rename from src/resources/texture/char/char_l_m.png rename to src/resources/texture/text/char_l_m.png diff --git a/src/resources/texture/char/char_l_n.png b/src/resources/texture/text/char_l_n.png similarity index 100% rename from src/resources/texture/char/char_l_n.png rename to src/resources/texture/text/char_l_n.png diff --git a/src/resources/texture/char/char_l_o.png b/src/resources/texture/text/char_l_o.png similarity index 100% rename from src/resources/texture/char/char_l_o.png rename to src/resources/texture/text/char_l_o.png diff --git a/src/resources/texture/char/char_l_p.png b/src/resources/texture/text/char_l_p.png similarity index 100% rename from src/resources/texture/char/char_l_p.png rename to src/resources/texture/text/char_l_p.png diff --git a/src/resources/texture/char/char_l_q.png b/src/resources/texture/text/char_l_q.png similarity index 100% rename from src/resources/texture/char/char_l_q.png rename to src/resources/texture/text/char_l_q.png diff --git a/src/resources/texture/char/char_l_r.png b/src/resources/texture/text/char_l_r.png similarity index 100% rename from src/resources/texture/char/char_l_r.png rename to src/resources/texture/text/char_l_r.png diff --git a/src/resources/texture/char/char_l_s.png b/src/resources/texture/text/char_l_s.png similarity index 100% rename from src/resources/texture/char/char_l_s.png rename to src/resources/texture/text/char_l_s.png diff --git a/src/resources/texture/char/char_l_t.png b/src/resources/texture/text/char_l_t.png similarity index 100% rename from src/resources/texture/char/char_l_t.png rename to src/resources/texture/text/char_l_t.png diff --git a/src/resources/texture/char/char_l_u.png b/src/resources/texture/text/char_l_u.png similarity index 100% rename from src/resources/texture/char/char_l_u.png rename to src/resources/texture/text/char_l_u.png diff --git a/src/resources/texture/char/char_l_v.png b/src/resources/texture/text/char_l_v.png similarity index 100% rename from src/resources/texture/char/char_l_v.png rename to src/resources/texture/text/char_l_v.png diff --git a/src/resources/texture/char/char_l_w.png b/src/resources/texture/text/char_l_w.png similarity index 100% rename from src/resources/texture/char/char_l_w.png rename to src/resources/texture/text/char_l_w.png diff --git a/src/resources/texture/char/char_l_x.png b/src/resources/texture/text/char_l_x.png similarity index 100% rename from src/resources/texture/char/char_l_x.png rename to src/resources/texture/text/char_l_x.png diff --git a/src/resources/texture/char/char_l_y.png b/src/resources/texture/text/char_l_y.png similarity index 100% rename from src/resources/texture/char/char_l_y.png rename to src/resources/texture/text/char_l_y.png diff --git a/src/resources/texture/char/char_l_z.png b/src/resources/texture/text/char_l_z.png similarity index 100% rename from src/resources/texture/char/char_l_z.png rename to src/resources/texture/text/char_l_z.png diff --git a/src/resources/texture/char/char_lthan.png b/src/resources/texture/text/char_lthan.png similarity index 100% rename from src/resources/texture/char/char_lthan.png rename to src/resources/texture/text/char_lthan.png diff --git a/src/resources/texture/char/char_minus.png b/src/resources/texture/text/char_minus.png similarity index 100% rename from src/resources/texture/char/char_minus.png rename to src/resources/texture/text/char_minus.png diff --git a/src/resources/texture/char/char_obracket.png b/src/resources/texture/text/char_obracket.png similarity index 100% rename from src/resources/texture/char/char_obracket.png rename to src/resources/texture/text/char_obracket.png diff --git a/src/resources/texture/char/char_percent.png b/src/resources/texture/text/char_percent.png similarity index 100% rename from src/resources/texture/char/char_percent.png rename to src/resources/texture/text/char_percent.png diff --git a/src/resources/texture/char/char_plus.png b/src/resources/texture/text/char_plus.png similarity index 100% rename from src/resources/texture/char/char_plus.png rename to src/resources/texture/text/char_plus.png diff --git a/src/resources/texture/char/char_question.png b/src/resources/texture/text/char_question.png similarity index 100% rename from src/resources/texture/char/char_question.png rename to src/resources/texture/text/char_question.png diff --git a/src/resources/texture/char/char_space.png b/src/resources/texture/text/char_space.png similarity index 100% rename from src/resources/texture/char/char_space.png rename to src/resources/texture/text/char_space.png diff --git a/src/resources/texture/char/char_u_a.png b/src/resources/texture/text/char_u_a.png similarity index 100% rename from src/resources/texture/char/char_u_a.png rename to src/resources/texture/text/char_u_a.png diff --git a/src/resources/texture/char/char_u_b.png b/src/resources/texture/text/char_u_b.png similarity index 100% rename from src/resources/texture/char/char_u_b.png rename to src/resources/texture/text/char_u_b.png diff --git a/src/resources/texture/char/char_u_c.png b/src/resources/texture/text/char_u_c.png similarity index 100% rename from src/resources/texture/char/char_u_c.png rename to src/resources/texture/text/char_u_c.png diff --git a/src/resources/texture/char/char_u_d.png b/src/resources/texture/text/char_u_d.png similarity index 100% rename from src/resources/texture/char/char_u_d.png rename to src/resources/texture/text/char_u_d.png diff --git a/src/resources/texture/char/char_u_e.png b/src/resources/texture/text/char_u_e.png similarity index 100% rename from src/resources/texture/char/char_u_e.png rename to src/resources/texture/text/char_u_e.png diff --git a/src/resources/texture/char/char_u_f.png b/src/resources/texture/text/char_u_f.png similarity index 100% rename from src/resources/texture/char/char_u_f.png rename to src/resources/texture/text/char_u_f.png diff --git a/src/resources/texture/char/char_u_g.png b/src/resources/texture/text/char_u_g.png similarity index 100% rename from src/resources/texture/char/char_u_g.png rename to src/resources/texture/text/char_u_g.png diff --git a/src/resources/texture/char/char_u_h.png b/src/resources/texture/text/char_u_h.png similarity index 100% rename from src/resources/texture/char/char_u_h.png rename to src/resources/texture/text/char_u_h.png diff --git a/src/resources/texture/char/char_u_i.png b/src/resources/texture/text/char_u_i.png similarity index 100% rename from src/resources/texture/char/char_u_i.png rename to src/resources/texture/text/char_u_i.png diff --git a/src/resources/texture/char/char_u_j.png b/src/resources/texture/text/char_u_j.png similarity index 100% rename from src/resources/texture/char/char_u_j.png rename to src/resources/texture/text/char_u_j.png diff --git a/src/resources/texture/char/char_u_k.png b/src/resources/texture/text/char_u_k.png similarity index 100% rename from src/resources/texture/char/char_u_k.png rename to src/resources/texture/text/char_u_k.png diff --git a/src/resources/texture/char/char_u_l.png b/src/resources/texture/text/char_u_l.png similarity index 100% rename from src/resources/texture/char/char_u_l.png rename to src/resources/texture/text/char_u_l.png diff --git a/src/resources/texture/char/char_u_m.png b/src/resources/texture/text/char_u_m.png similarity index 100% rename from src/resources/texture/char/char_u_m.png rename to src/resources/texture/text/char_u_m.png diff --git a/src/resources/texture/char/char_u_n.png b/src/resources/texture/text/char_u_n.png similarity index 100% rename from src/resources/texture/char/char_u_n.png rename to src/resources/texture/text/char_u_n.png diff --git a/src/resources/texture/char/char_u_o.png b/src/resources/texture/text/char_u_o.png similarity index 100% rename from src/resources/texture/char/char_u_o.png rename to src/resources/texture/text/char_u_o.png diff --git a/src/resources/texture/char/char_u_p.png b/src/resources/texture/text/char_u_p.png similarity index 100% rename from src/resources/texture/char/char_u_p.png rename to src/resources/texture/text/char_u_p.png diff --git a/src/resources/texture/char/char_u_q.png b/src/resources/texture/text/char_u_q.png similarity index 100% rename from src/resources/texture/char/char_u_q.png rename to src/resources/texture/text/char_u_q.png diff --git a/src/resources/texture/char/char_u_r.png b/src/resources/texture/text/char_u_r.png similarity index 100% rename from src/resources/texture/char/char_u_r.png rename to src/resources/texture/text/char_u_r.png diff --git a/src/resources/texture/char/char_u_s.png b/src/resources/texture/text/char_u_s.png similarity index 100% rename from src/resources/texture/char/char_u_s.png rename to src/resources/texture/text/char_u_s.png diff --git a/src/resources/texture/char/char_u_t.png b/src/resources/texture/text/char_u_t.png similarity index 100% rename from src/resources/texture/char/char_u_t.png rename to src/resources/texture/text/char_u_t.png diff --git a/src/resources/texture/char/char_u_u.png b/src/resources/texture/text/char_u_u.png similarity index 100% rename from src/resources/texture/char/char_u_u.png rename to src/resources/texture/text/char_u_u.png diff --git a/src/resources/texture/char/char_u_v.png b/src/resources/texture/text/char_u_v.png similarity index 100% rename from src/resources/texture/char/char_u_v.png rename to src/resources/texture/text/char_u_v.png diff --git a/src/resources/texture/char/char_u_w.png b/src/resources/texture/text/char_u_w.png similarity index 100% rename from src/resources/texture/char/char_u_w.png rename to src/resources/texture/text/char_u_w.png diff --git a/src/resources/texture/char/char_u_x.png b/src/resources/texture/text/char_u_x.png similarity index 100% rename from src/resources/texture/char/char_u_x.png rename to src/resources/texture/text/char_u_x.png diff --git a/src/resources/texture/char/char_u_y.png b/src/resources/texture/text/char_u_y.png similarity index 100% rename from src/resources/texture/char/char_u_y.png rename to src/resources/texture/text/char_u_y.png diff --git a/src/resources/texture/char/char_u_z.png b/src/resources/texture/text/char_u_z.png similarity index 100% rename from src/resources/texture/char/char_u_z.png rename to src/resources/texture/text/char_u_z.png diff --git a/src/resources/texture/char/char_underscore.png b/src/resources/texture/text/char_underscore.png similarity index 100% rename from src/resources/texture/char/char_underscore.png rename to src/resources/texture/text/char_underscore.png diff --git a/src/resources/texture/char/char_unknown.png b/src/resources/texture/text/char_unknown.png similarity index 100% rename from src/resources/texture/char/char_unknown.png rename to src/resources/texture/text/char_unknown.png diff --git a/src/resources/texture/char/char_vertical.png b/src/resources/texture/text/char_vertical.png similarity index 100% rename from src/resources/texture/char/char_vertical.png rename to src/resources/texture/text/char_vertical.png diff --git a/src/resources/texture/tile/ladder_down.png b/src/resources/texture/tile/ladder_up.png similarity index 100% rename from src/resources/texture/tile/ladder_down.png rename to src/resources/texture/tile/ladder_up.png diff --git a/src/resources/texture/tile/lantern.png b/src/resources/texture/tile/lantern.png new file mode 100644 index 0000000..0d93a85 Binary files /dev/null and b/src/resources/texture/tile/lantern.png differ diff --git a/src/resources/texture/tile/lantern/lantern_0.png b/src/resources/texture/tile/lantern/lantern_0.png deleted file mode 100644 index c42317f..0000000 Binary files a/src/resources/texture/tile/lantern/lantern_0.png and /dev/null differ diff --git a/src/resources/texture/tile/lantern/lantern_1.png b/src/resources/texture/tile/lantern/lantern_1.png deleted file mode 100644 index ecb6b38..0000000 Binary files a/src/resources/texture/tile/lantern/lantern_1.png and /dev/null differ diff --git a/src/resources/texture/tile/lantern/lantern_2.png b/src/resources/texture/tile/lantern/lantern_2.png deleted file mode 100644 index a7e5bad..0000000 Binary files a/src/resources/texture/tile/lantern/lantern_2.png and /dev/null differ diff --git a/src/resources/texture/tile/lantern/lantern_3.png b/src/resources/texture/tile/lantern/lantern_3.png deleted file mode 100644 index f237bb0..0000000 Binary files a/src/resources/texture/tile/lantern/lantern_3.png and /dev/null differ diff --git a/src/resources/texture/tile/lantern/lantern_4.png b/src/resources/texture/tile/lantern/lantern_4.png deleted file mode 100644 index c761f7f..0000000 Binary files a/src/resources/texture/tile/lantern/lantern_4.png and /dev/null differ diff --git a/src/resources/texture/tile/lantern/lantern_5.png b/src/resources/texture/tile/lantern/lantern_5.png deleted file mode 100644 index d7d62e6..0000000 Binary files a/src/resources/texture/tile/lantern/lantern_5.png and /dev/null differ diff --git a/src/resources/texture/tile/lava.png b/src/resources/texture/tile/lava.png new file mode 100644 index 0000000..1624127 Binary files /dev/null and b/src/resources/texture/tile/lava.png differ diff --git a/src/resources/texture/tile/lava/lava_0.png b/src/resources/texture/tile/lava/lava_0.png deleted file mode 100644 index ccad3e7..0000000 Binary files a/src/resources/texture/tile/lava/lava_0.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_1.png b/src/resources/texture/tile/lava/lava_1.png deleted file mode 100644 index 1f5738f..0000000 Binary files a/src/resources/texture/tile/lava/lava_1.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_10.png b/src/resources/texture/tile/lava/lava_10.png deleted file mode 100644 index 2083468..0000000 Binary files a/src/resources/texture/tile/lava/lava_10.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_11.png b/src/resources/texture/tile/lava/lava_11.png deleted file mode 100644 index 8e4d748..0000000 Binary files a/src/resources/texture/tile/lava/lava_11.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_12.png b/src/resources/texture/tile/lava/lava_12.png deleted file mode 100644 index f8cbdd7..0000000 Binary files a/src/resources/texture/tile/lava/lava_12.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_13.png b/src/resources/texture/tile/lava/lava_13.png deleted file mode 100644 index d7bddc2..0000000 Binary files a/src/resources/texture/tile/lava/lava_13.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_14.png b/src/resources/texture/tile/lava/lava_14.png deleted file mode 100644 index d069795..0000000 Binary files a/src/resources/texture/tile/lava/lava_14.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_15.png b/src/resources/texture/tile/lava/lava_15.png deleted file mode 100644 index 2dd6a62..0000000 Binary files a/src/resources/texture/tile/lava/lava_15.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_2.png b/src/resources/texture/tile/lava/lava_2.png deleted file mode 100644 index d977597..0000000 Binary files a/src/resources/texture/tile/lava/lava_2.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_3.png b/src/resources/texture/tile/lava/lava_3.png deleted file mode 100644 index 6a0a237..0000000 Binary files a/src/resources/texture/tile/lava/lava_3.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_4.png b/src/resources/texture/tile/lava/lava_4.png deleted file mode 100644 index 5eb97fb..0000000 Binary files a/src/resources/texture/tile/lava/lava_4.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_5.png b/src/resources/texture/tile/lava/lava_5.png deleted file mode 100644 index 3965c25..0000000 Binary files a/src/resources/texture/tile/lava/lava_5.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_6.png b/src/resources/texture/tile/lava/lava_6.png deleted file mode 100644 index 09fe8e2..0000000 Binary files a/src/resources/texture/tile/lava/lava_6.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_7.png b/src/resources/texture/tile/lava/lava_7.png deleted file mode 100644 index ed8ced0..0000000 Binary files a/src/resources/texture/tile/lava/lava_7.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_8.png b/src/resources/texture/tile/lava/lava_8.png deleted file mode 100644 index 38baf70..0000000 Binary files a/src/resources/texture/tile/lava/lava_8.png and /dev/null differ diff --git a/src/resources/texture/tile/lava/lava_9.png b/src/resources/texture/tile/lava/lava_9.png deleted file mode 100644 index 538bbf6..0000000 Binary files a/src/resources/texture/tile/lava/lava_9.png and /dev/null differ diff --git a/src/resources/texture/tile/lava_flow.png b/src/resources/texture/tile/lava_flow.png new file mode 100644 index 0000000..ab36529 Binary files /dev/null and b/src/resources/texture/tile/lava_flow.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 deleted file mode 100644 index 75a01e1..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_0.png and /dev/null 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 deleted file mode 100644 index 624bc7c..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_1.png and /dev/null 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 deleted file mode 100644 index 92c9ebe..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_10.png and /dev/null 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 deleted file mode 100644 index 94a6bfa..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_11.png and /dev/null 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 deleted file mode 100644 index 0a124cb..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_12.png and /dev/null 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 deleted file mode 100644 index 1acea91..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_13.png and /dev/null 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 deleted file mode 100644 index 798cc1f..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_14.png and /dev/null 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 deleted file mode 100644 index f4a0b4f..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_15.png and /dev/null 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 deleted file mode 100644 index fa15505..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_2.png and /dev/null 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 deleted file mode 100644 index 48e1122..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_3.png and /dev/null 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 deleted file mode 100644 index 86e39f1..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_4.png and /dev/null 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 deleted file mode 100644 index 5de2f29..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_5.png and /dev/null 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 deleted file mode 100644 index a99b667..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_6.png and /dev/null 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 deleted file mode 100644 index 82c0f62..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_7.png and /dev/null 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 deleted file mode 100644 index 48a3a55..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_8.png and /dev/null 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 deleted file mode 100644 index f8e197d..0000000 Binary files a/src/resources/texture/tile/lava_flow/lava_flow_9.png and /dev/null differ diff --git a/src/resources/texture/tile/stone_hard.png b/src/resources/texture/tile/wall.png similarity index 100% rename from src/resources/texture/tile/stone_hard.png rename to src/resources/texture/tile/wall.png diff --git a/src/resources/texture/tile/water.png b/src/resources/texture/tile/water.png new file mode 100644 index 0000000..7a3f081 Binary files /dev/null and b/src/resources/texture/tile/water.png differ diff --git a/src/resources/texture/tile/water/water_0.png b/src/resources/texture/tile/water/water_0.png deleted file mode 100644 index 280233d..0000000 Binary files a/src/resources/texture/tile/water/water_0.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_1.png b/src/resources/texture/tile/water/water_1.png deleted file mode 100644 index 0154f80..0000000 Binary files a/src/resources/texture/tile/water/water_1.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_10.png b/src/resources/texture/tile/water/water_10.png deleted file mode 100644 index 5f8b8e1..0000000 Binary files a/src/resources/texture/tile/water/water_10.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_11.png b/src/resources/texture/tile/water/water_11.png deleted file mode 100644 index b961100..0000000 Binary files a/src/resources/texture/tile/water/water_11.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_12.png b/src/resources/texture/tile/water/water_12.png deleted file mode 100644 index b6b7917..0000000 Binary files a/src/resources/texture/tile/water/water_12.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_13.png b/src/resources/texture/tile/water/water_13.png deleted file mode 100644 index ca777b4..0000000 Binary files a/src/resources/texture/tile/water/water_13.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_14.png b/src/resources/texture/tile/water/water_14.png deleted file mode 100644 index cd0d9c4..0000000 Binary files a/src/resources/texture/tile/water/water_14.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_15.png b/src/resources/texture/tile/water/water_15.png deleted file mode 100644 index 227cb19..0000000 Binary files a/src/resources/texture/tile/water/water_15.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_2.png b/src/resources/texture/tile/water/water_2.png deleted file mode 100644 index 45b9975..0000000 Binary files a/src/resources/texture/tile/water/water_2.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_3.png b/src/resources/texture/tile/water/water_3.png deleted file mode 100644 index 94c25ad..0000000 Binary files a/src/resources/texture/tile/water/water_3.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_4.png b/src/resources/texture/tile/water/water_4.png deleted file mode 100644 index 106a840..0000000 Binary files a/src/resources/texture/tile/water/water_4.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_5.png b/src/resources/texture/tile/water/water_5.png deleted file mode 100644 index bfeaf8a..0000000 Binary files a/src/resources/texture/tile/water/water_5.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_6.png b/src/resources/texture/tile/water/water_6.png deleted file mode 100644 index ba6af56..0000000 Binary files a/src/resources/texture/tile/water/water_6.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_7.png b/src/resources/texture/tile/water/water_7.png deleted file mode 100644 index 00a945b..0000000 Binary files a/src/resources/texture/tile/water/water_7.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_8.png b/src/resources/texture/tile/water/water_8.png deleted file mode 100644 index 76adbb7..0000000 Binary files a/src/resources/texture/tile/water/water_8.png and /dev/null differ diff --git a/src/resources/texture/tile/water/water_9.png b/src/resources/texture/tile/water/water_9.png deleted file mode 100644 index 89ba2ad..0000000 Binary files a/src/resources/texture/tile/water/water_9.png and /dev/null differ diff --git a/resources/texmap.xcf b/texmap.xcf similarity index 100% rename from resources/texmap.xcf rename to texmap.xcf