From 2f9e19d0724becfdda7a5580cd506707bf0073d3 Mon Sep 17 00:00:00 2001 From: josua Date: Wed, 28 Aug 2019 13:59:21 +1000 Subject: [PATCH] Added a proper audio engine, added tnt, added another dimention. --- resources/sound/gun0.ogg | Bin 0 -> 7425 bytes resources/sound/gun1.ogg | Bin 0 -> 7355 bytes resources/sound/gun2.ogg | Bin 0 -> 7546 bytes resources/sound/gun3.ogg | Bin 0 -> 7389 bytes resources/sound/{gun.ogg => gun4.ogg} | Bin 6937 -> 6947 bytes resources/sound/gun5.ogg | Bin 0 -> 7069 bytes resources/sound/gun6.ogg | Bin 0 -> 7265 bytes resources/sound/gun7.ogg | Bin 0 -> 7038 bytes resources/sound/gun8.ogg | Bin 0 -> 7033 bytes resources/sound/gun9.ogg | Bin 0 -> 7092 bytes resources/sound/hit0.ogg | Bin 0 -> 13791 bytes resources/sound/hit1.ogg | Bin 0 -> 12251 bytes resources/sound/hit2.ogg | Bin 0 -> 8507 bytes resources/texmap.png | Bin 57820 -> 49381 bytes resources/texmap.xcf | Bin 0 -> 115857 bytes src/shootergame/Main.java | 3 +- src/shootergame/Test.java | 2 +- src/shootergame/audio/AudioObject.java | 18 +- src/shootergame/audio/AudioRandom.java | 29 ++++ src/shootergame/display/Camera.java | 2 + src/shootergame/display/DisplayRender.java | 1 + .../transparent/ITransparentObject.java | 2 +- .../transparent/TransparentObject.java | 4 +- .../transparent/TransparentObjects.java | 7 +- src/shootergame/entity/Entity.java | 79 +++++++-- src/shootergame/entity/EntityBullet.java | 20 ++- src/shootergame/entity/EntityParticle.java | 11 ++ src/shootergame/entity/EntityTnt.java | 163 +++++++++++++++++- src/shootergame/entity/EntityZombie.java | 13 +- .../entity/particle/ParticleSpark.java | 12 +- .../entity/particle/ParticleWater.java | 57 ++++++ .../entity/player/EntityPlayer.java | 29 ++++ src/shootergame/init/Resources.java | 32 +++- src/shootergame/init/Sounds.java | 38 +++- src/shootergame/init/Textures.java | 9 +- src/shootergame/init/Tiles.java | 10 ++ src/shootergame/input/JoystickCallback.java | 37 +++- src/shootergame/tiles/Tile.java | 20 ++- src/shootergame/tiles/TileBlackened.java | 39 +++++ src/shootergame/tiles/TileFlat.java | 4 +- src/shootergame/tiles/TileLadder.java | 18 ++ src/shootergame/tiles/TileLadderUp.java | 88 ++++++++++ src/shootergame/tiles/TileLava.java | 4 +- src/shootergame/tiles/TileLavaFlow.java | 4 +- src/shootergame/tiles/TilePortalDown.java | 99 +++++++++++ src/shootergame/tiles/TileStone.java | 10 ++ src/shootergame/tiles/TileVertical.java | 4 +- src/shootergame/tiles/TileWall.java | 17 ++ src/shootergame/tiles/TileWater.java | 24 ++- src/shootergame/tiles/TileWaterFlow.java | 4 +- src/shootergame/util/math/MathHelpers.java | 12 ++ src/shootergame/util/math/TileState.java | 21 +++ src/shootergame/world/World.java | 5 +- src/shootergame/world/chunk/Chunk.java | 25 +-- src/shootergame/world/chunk/ChunkEmpty.java | 13 +- src/shootergame/world/layer/Layer.java | 9 +- .../world/layer/layergen/LayerGenCaves.java | 71 ++++++++ .../world/layer/layergen/LayerGenEarth.java | 29 +++- 58 files changed, 1005 insertions(+), 93 deletions(-) create mode 100644 resources/sound/gun0.ogg create mode 100644 resources/sound/gun1.ogg create mode 100644 resources/sound/gun2.ogg create mode 100644 resources/sound/gun3.ogg rename resources/sound/{gun.ogg => gun4.ogg} (58%) create mode 100644 resources/sound/gun5.ogg create mode 100644 resources/sound/gun6.ogg create mode 100644 resources/sound/gun7.ogg create mode 100644 resources/sound/gun8.ogg create mode 100644 resources/sound/gun9.ogg create mode 100644 resources/sound/hit0.ogg create mode 100644 resources/sound/hit1.ogg create mode 100644 resources/sound/hit2.ogg create mode 100644 resources/texmap.xcf create mode 100644 src/shootergame/audio/AudioRandom.java create mode 100644 src/shootergame/entity/particle/ParticleWater.java create mode 100644 src/shootergame/tiles/TileBlackened.java create mode 100644 src/shootergame/tiles/TileLadder.java create mode 100644 src/shootergame/tiles/TileLadderUp.java create mode 100644 src/shootergame/tiles/TilePortalDown.java create mode 100644 src/shootergame/tiles/TileWall.java create mode 100644 src/shootergame/util/math/TileState.java create mode 100644 src/shootergame/world/layer/layergen/LayerGenCaves.java diff --git a/resources/sound/gun0.ogg b/resources/sound/gun0.ogg new file mode 100644 index 0000000000000000000000000000000000000000..58218af1c0187664bc3df5c15bed535447c926f9 GIT binary patch literal 7425 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 literal 0 HcmV?d00001 diff --git a/resources/sound/gun1.ogg b/resources/sound/gun1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..679e2c62a78d3d1df849cd162a127064b47ab823 GIT binary patch literal 7355 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 P?L?oj!lO67@-P4ZPq{{7 literal 0 HcmV?d00001 diff --git a/resources/sound/gun3.ogg b/resources/sound/gun3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..27f46284524409694d05e64b067ecd28c258a3d9 GIT binary patch literal 7389 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 delta 2795 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 literal 0 HcmV?d00001 diff --git a/resources/sound/gun7.ogg b/resources/sound/gun7.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bfb7d0e51d064faeb6f227d476cb8d2a6c91abe2 GIT binary patch literal 7038 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 G_c;M4Fjf%& literal 0 HcmV?d00001 diff --git a/resources/sound/gun8.ogg b/resources/sound/gun8.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1001b3dabfee4f037953b000b4e0f8b0fde17124 GIT binary patch literal 7033 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 A2><{9 literal 0 HcmV?d00001 diff --git a/resources/sound/gun9.ogg b/resources/sound/gun9.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0b2004cbdc7b132a4394d07862eede840f579227 GIT binary patch literal 7092 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 K#7xU~GXMZ^V}=v} literal 0 HcmV?d00001 diff --git a/resources/sound/hit1.ogg b/resources/sound/hit1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..780716f313fc129d953308c975c763bf41b323c4 GIT binary patch literal 12251 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 K6W(5DWB>ph%oj`m literal 0 HcmV?d00001 diff --git a/resources/sound/hit2.ogg b/resources/sound/hit2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..807475c60e5eef7a27e4fafcd20e15748913bfb3 GIT binary patch literal 8507 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 literal 0 HcmV?d00001 diff --git a/resources/texmap.png b/resources/texmap.png index fb2115bbcc194dfab0489dd041c5b5861731c73c..12e79f3a45b19c825419ce11669f4db7eb87d316 100644 GIT binary patch literal 49381 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 R#lXP8;OXk;vd$@?2>`@a$dUj6 literal 57820 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 RQb8L~L7N9bG-yXC0{}~ssDc0h literal 0 HcmV?d00001 diff --git a/src/shootergame/Main.java b/src/shootergame/Main.java index ac62550..28722a5 100644 --- a/src/shootergame/Main.java +++ b/src/shootergame/Main.java @@ -25,6 +25,7 @@ import shootergame.util.math.vec.Vec2i; import shootergame.util.math.vec.Vec3d; import shootergame.world.World; import shootergame.world.chunk.ChunkEventHandler; +import shootergame.world.layer.layergen.LayerGenCaves; import shootergame.world.layer.layergen.LayerGenEarth; public class Main @@ -69,7 +70,7 @@ public class Main JoystickCallback.JOYSTICK_CALLBACK.init(); // Create the world - world = new World(new Random(), new LayerGenEarth()); + world = new World(new Random(), new LayerGenEarth(), new LayerGenCaves()); // Initialise the entities mainloop.register(EntityEventHandler.ENTITY_EVENT_HANDLER); diff --git a/src/shootergame/Test.java b/src/shootergame/Test.java index 950766a..e8aa19d 100644 --- a/src/shootergame/Test.java +++ b/src/shootergame/Test.java @@ -57,7 +57,7 @@ public class Test alBufferData(bufferPointer, format, rawAudioBuffer, sampleRate); //Free the memory allocated by STB - free(rawAudioBuffer); + //free(rawAudioBuffer); while(true) { diff --git a/src/shootergame/audio/AudioObject.java b/src/shootergame/audio/AudioObject.java index 072b8e6..40a364f 100644 --- a/src/shootergame/audio/AudioObject.java +++ b/src/shootergame/audio/AudioObject.java @@ -69,8 +69,8 @@ public class AudioObject alBufferData(bufferPointer, format, audio, sample_rate); // Free some c buffers - LibCStdlib.free(audio); - LibCStdlib.free(resource_buffer); + //LibCStdlib.free(audio); + //LibCStdlib.free(resource_buffer); } public void play(Vec3d pos, double volume) @@ -78,11 +78,19 @@ public class AudioObject // Get the player pos Vec2d p_pos = Main.player.pos; - // Calculate the position - double x = ( pos.x - p_pos.x ) * Math.sin(Math.toRadians(Main.player.angle)); - double y = ( pos.y - p_pos.y ) * Math.cos(Math.toRadians(Main.player.angle)); + // Convert the angle to radians + double angle_r = Math.toRadians(Main.player.angle + 90); + + // Calculate the translation + double x = ( pos.x - p_pos.x ); + double y = ( pos.y - p_pos.y ); double z = pos.z; + // Calculate the rotation + Vec2d rotated = MathHelpers.rotate2(new Vec2d(x, y), angle_r); + x = rotated.x; + y = rotated.y; + // Play the sound with a new source int source = AudioSources.getSource(); alSourcei(source, AL_BUFFER, bufferPointer); diff --git a/src/shootergame/audio/AudioRandom.java b/src/shootergame/audio/AudioRandom.java new file mode 100644 index 0000000..9b60259 --- /dev/null +++ b/src/shootergame/audio/AudioRandom.java @@ -0,0 +1,29 @@ +package shootergame.audio; + +import java.util.Random; + +import shootergame.resources.Resource; +import shootergame.util.math.vec.Vec3d; + +public class AudioRandom extends AudioObject +{ + private AudioObject[] audioObjects; + private static Random rand = new Random(); + + public AudioRandom(AudioObject ... audioObjects) { + super(null); + + // Set the specified parameters + this.audioObjects = audioObjects; + } + + @Override + public void init() { + } + + @Override + public void play(Vec3d pos, double volume) { + audioObjects[(int)(rand.nextDouble()*audioObjects.length)].play(pos, volume); + } + +} diff --git a/src/shootergame/display/Camera.java b/src/shootergame/display/Camera.java index 3f82d1b..590d9ad 100644 --- a/src/shootergame/display/Camera.java +++ b/src/shootergame/display/Camera.java @@ -11,6 +11,8 @@ public class Camera public int renderDistance; public double cameraDistance; + public static Camera camera; + public Camera(Vec3d pos, Vec2d angle, double cameraDistance, int renderDistance) { this.angle = new Vec2d(angle.x, -angle.y); diff --git a/src/shootergame/display/DisplayRender.java b/src/shootergame/display/DisplayRender.java index 5c597c1..f449748 100644 --- a/src/shootergame/display/DisplayRender.java +++ b/src/shootergame/display/DisplayRender.java @@ -69,6 +69,7 @@ public class DisplayRender EntityPlayer player = Main.player; Camera camera = new Camera(new Vec3d(player.pos.x, player.pos.y, 0), new Vec2d(player.angle, 45), 10, 2); + Camera.camera = camera; //GlHelpers.translate(0, 0, -5); GlHelpers.rotate(camera.angle.y, 1, 0, 0); diff --git a/src/shootergame/display/transparent/ITransparentObject.java b/src/shootergame/display/transparent/ITransparentObject.java index fe627be..f8bbe0c 100644 --- a/src/shootergame/display/transparent/ITransparentObject.java +++ b/src/shootergame/display/transparent/ITransparentObject.java @@ -6,6 +6,6 @@ import shootergame.util.math.vec.Vec2d; public interface ITransparentObject { public boolean isOpaqueTile(); - public void render(Vec2d pos, Camera camera); + public void render(Vec2d pos, Camera camera, short meta); public Vec2d getRenderOffset(); } diff --git a/src/shootergame/display/transparent/TransparentObject.java b/src/shootergame/display/transparent/TransparentObject.java index 5da7c5d..c12e15a 100644 --- a/src/shootergame/display/transparent/TransparentObject.java +++ b/src/shootergame/display/transparent/TransparentObject.java @@ -9,11 +9,13 @@ class TransparentObject double distance; ITransparentObject object; Vec2d pos; + short meta; - TransparentObject(ITransparentObject object, Camera camera, Vec2d pos) { + TransparentObject(ITransparentObject object, Camera camera, Vec2d pos, short meta) { Vec2d offset = object.getRenderOffset(); this.distance = camera.pos.distance(new Vec3d(offset.x + pos.x, offset.y + pos.y, 0)); this.object = object; this.pos = pos; + this.meta = meta; } } \ No newline at end of file diff --git a/src/shootergame/display/transparent/TransparentObjects.java b/src/shootergame/display/transparent/TransparentObjects.java index e92765d..6fb235a 100644 --- a/src/shootergame/display/transparent/TransparentObjects.java +++ b/src/shootergame/display/transparent/TransparentObjects.java @@ -3,6 +3,7 @@ package shootergame.display.transparent; import java.util.ArrayList; import shootergame.display.Camera; +import shootergame.tiles.TileBlackened; import shootergame.util.math.vec.Vec2d; import shootergame.util.math.vec.Vec3d; @@ -14,9 +15,9 @@ public class TransparentObjects objects.clear(); } - public static void register(ITransparentObject object, Camera camera, Vec2d pos) + public static void register(ITransparentObject object, Camera camera, Vec2d pos, short meta) { - TransparentObject r_to = new TransparentObject(object, camera, pos); + TransparentObject r_to = new TransparentObject(object, camera, pos, meta); ArrayList objects_n = new ArrayList(); boolean added = false; @@ -42,7 +43,7 @@ public class TransparentObjects { // Loop over the objects and render all of them for(TransparentObject to : objects) { - to.object.render(to.pos, camera); + to.object.render(to.pos, camera, to.meta); } } } diff --git a/src/shootergame/entity/Entity.java b/src/shootergame/entity/Entity.java index 6bd492e..b5b3701 100644 --- a/src/shootergame/entity/Entity.java +++ b/src/shootergame/entity/Entity.java @@ -9,6 +9,7 @@ import shootergame.display.transparent.TransparentObjects; import shootergame.init.Entities; import shootergame.tiles.Tile; import shootergame.util.math.MathHelpers; +import shootergame.util.math.TileState; import shootergame.util.math.vec.Vec2d; import shootergame.util.math.vec.Vec2i; import shootergame.util.math.vec.Vec3d; @@ -24,6 +25,9 @@ public class Entity implements ITransparentObject public double hitbox = 1; public boolean isSolid = false; public Chunk chunk; + private double speed = 1; + private TileState tile_front; + private TileState tile_back; public Entity(Vec2d pos, double angle) { @@ -40,16 +44,35 @@ public class Entity implements ITransparentObject } public void tick(Chunk chunk, Layer layer) { + speed = 1; + angle = MathHelpers.floor(angle); + Vec2i tpos = new Vec2i(MathHelpers.floor(pos.x)+0, MathHelpers.floor(pos.y)+0); + tile_back = layer.getBackTile(tpos); + tile_front = layer.getFrontTile(tpos); + + if(this.isSolid) + { + this.addSlowness(tile_back.tile.slowness); + this.addSlowness(tile_front.tile.slowness); + } + } + + public void addSlowness(double amount) { + speed *= (1 - amount); + } + + public void render(Vec2d pos, Camera camera) { } @Override - public void render(Vec2d pos, Camera camera) { + public void render(Vec2d pos, Camera camera, short meta) { + this.render(pos, camera); } public void doRender(Vec2d pos, Camera camera) { if(this.opaqueTile) { - TransparentObjects.register(this, camera, pos); + TransparentObjects.register(this, camera, pos, (short)0); } else { @@ -63,15 +86,25 @@ public class Entity implements ITransparentObject } public void moveForward(double speed) { - Vec2d pos = this.pos.add(MathHelpers.moveTowards2(speed, Math.toRadians(this.angle))); - if(this.moveIsLegal(new Vec2d(this.pos.x, pos.y))) this.pos.y = pos.y; - if(this.moveIsLegal(new Vec2d(pos.x, this.pos.y))) this.pos.x = pos.x; + this.moveTowards(0, speed); } public void moveBackward(double speed) { - Vec2d pos = this.pos.add(MathHelpers.moveTowards2(-speed, Math.toRadians(this.angle))); + this.moveTowards(0, -speed); + } + + public void moveTowards(double angle, double speed) + { + // Calculate the new position + speed *= this.speed; + Vec2d pos = this.pos.add(MathHelpers.moveTowards2(speed, Math.toRadians(this.angle + angle))); + + // Check if the new position is legal if(this.moveIsLegal(new Vec2d(this.pos.x, pos.y))) this.pos.y = pos.y; if(this.moveIsLegal(new Vec2d(pos.x, this.pos.y))) this.pos.x = pos.x; + + // Activate stepped on tiles if the entity is "solid" + if(this.isSolid) activateSteppedOnTile(); } public void moveForward() { @@ -82,17 +115,43 @@ public class Entity implements ITransparentObject this.moveBackward(0.1); } + public void moveTowards(double angle) { + moveTowards(angle, 0.1); + } + public void kill() { chunk.killEntity(this); } - public void activateSteppedOnBlocks() + public void activateTile() { + // Get the tile position and the layer + Layer layer = Main.world.getLayer(); + Vec2i tpos = new Vec2i(MathHelpers.floor(pos.x)+0, MathHelpers.floor(pos.y)+0); + + // Activate both tiles + tile_front.tile.onActivated(chunk, layer, tpos, this, tile_front.meta); + tile_back.tile.onActivated(chunk, layer, tpos, this, tile_back.meta); + } + + public void activateSteppedOnTile() + { + // Get the tile position and the layer + Layer layer = Main.world.getLayer(); + Vec2i tpos = new Vec2i(MathHelpers.floor(pos.x)+0, MathHelpers.floor(pos.y)+0); + + // Activate both tiles + tile_front.tile.onWalkedOn(chunk, layer, tpos, this, tile_front.meta); + tile_back.tile.onWalkedOn(chunk, layer, tpos, this, tile_back.meta); } public boolean moveIsLegal(Vec2d pos) { + Vec2i t_pos = new Vec2i(MathHelpers.floor(pos.x)+0, MathHelpers.floor(pos.y)+0); + tile_back = Main.world.getLayer().getBackTile(t_pos); + tile_front = Main.world.getLayer().getFrontTile(t_pos); + // Is this entity solid if(isSolid) { @@ -104,17 +163,17 @@ public class Entity implements ITransparentObject { // Get the tile - Tile t = l.getBackTile(tpos); + Tile t = tile_back.tile; // Send false if the tile isn't walkable if(!t.tileWalkable) { return false; - } + } } { // Get the front tile - Tile t = l.getFrontTile(tpos); + Tile t = tile_front.tile; // Send false if the tile isn't walkable if(!t.tileWalkable) { diff --git a/src/shootergame/entity/EntityBullet.java b/src/shootergame/entity/EntityBullet.java index fb540f0..0d5b726 100644 --- a/src/shootergame/entity/EntityBullet.java +++ b/src/shootergame/entity/EntityBullet.java @@ -5,9 +5,11 @@ import java.util.Random; import shootergame.display.Camera; import shootergame.entity.particle.ParticleBlood; import shootergame.init.Sounds; +import shootergame.init.Tiles; import shootergame.tiles.Tile; import shootergame.util.gl.GlHelpers; import shootergame.util.math.MathHelpers; +import shootergame.util.math.TileState; import shootergame.util.math.random.RandomHelpers; import shootergame.util.math.vec.Vec2d; import shootergame.util.math.vec.Vec2i; @@ -46,12 +48,19 @@ public class EntityBullet extends EntityParticle // Get the position of the tile the bullet is over Vec2i tpos = new Vec2i(MathHelpers.floor(pos.x)+0, MathHelpers.floor(pos.y)+0); - // Get the foreground tile - Tile tile = chunk.getFrontTile(tpos); + // Get the foreground tile and the background tile + TileState tile_f = chunk.getFrontTile(tpos); + TileState tile_b = chunk.getBackTile(tpos); // Is the tile solid and has the bullet crashed into it - if(tile.tileSolid) { - if(pos.squareDistance(new Vec2d(tpos.x + 0.5, tpos.y + 0.5)) < tile.tileHitbox) + if(tile_f.tile.tileSolid) { + if(pos.squareDistance(new Vec2d(tpos.x + 0.5, tpos.y + 0.5)) < tile_f.tile.tileHitbox) + { + // Delete the bullet + kill(); + } + } if(tile_b.tile.tileSolid) { + if(pos.squareDistance(new Vec2d(tpos.x + 0.5, tpos.y + 0.5)) < tile_b.tile.tileHitbox) { // Delete the bullet kill(); @@ -73,6 +82,9 @@ public class EntityBullet extends EntityParticle chunk.spawnEntity(new ParticleBlood(rand, pos.copy(), angle)); } + // Play the hit noise + Sounds.HIT.play(new Vec3d(pos.x, pos.y, 0.4), 1); + // Harm the entity ea.removeHealth(10); diff --git a/src/shootergame/entity/EntityParticle.java b/src/shootergame/entity/EntityParticle.java index c8f4f34..4b63c9e 100644 --- a/src/shootergame/entity/EntityParticle.java +++ b/src/shootergame/entity/EntityParticle.java @@ -1,8 +1,11 @@ package shootergame.entity; +import shootergame.Main; import shootergame.display.Camera; import shootergame.util.gl.GlHelpers; import shootergame.util.math.vec.Vec2d; +import shootergame.world.chunk.Chunk; +import shootergame.world.layer.Layer; public class EntityParticle extends Entity { @@ -21,6 +24,14 @@ public class EntityParticle extends Entity this.size = size; } + @Override + public void tick(Chunk chunk, Layer layer) { + super.tick(chunk, layer); + + // Kill the particle if the player can't see it to reduce lag + if(Main.player.pos.squareDistance(pos) > 32) this.kill(); + } + @Override public void render(Vec2d pos, Camera camera) { diff --git a/src/shootergame/entity/EntityTnt.java b/src/shootergame/entity/EntityTnt.java index 1ee34d2..e19caaf 100644 --- a/src/shootergame/entity/EntityTnt.java +++ b/src/shootergame/entity/EntityTnt.java @@ -1,6 +1,167 @@ package shootergame.entity; +import java.util.Random; + +import shootergame.Main; +import shootergame.display.Camera; +import shootergame.entity.particle.ParticleBlood; +import shootergame.entity.particle.ParticleSpark; +import shootergame.init.Textures; +import shootergame.init.Tiles; +import shootergame.tiles.TileBlackened; +import shootergame.tiles.TileStone; +import shootergame.util.gl.GlHelpers; +import shootergame.util.math.MathHelpers; +import shootergame.util.math.TileState; +import shootergame.util.math.vec.Vec2d; +import shootergame.util.math.vec.Vec2i; +import shootergame.util.math.vec.Vec3d; +import shootergame.world.chunk.Chunk; +import shootergame.world.layer.Layer; + public class EntityTnt extends EntityVertical { - + private double height = 0.4; + private Vec3d velocity; + private int explode_time; + private int explode_radius; + + private Random rand = new Random(); + + public EntityTnt(Vec2d pos, double angle, int explode_radius) { + super(Textures.ENTITY_TNT, 0.5); + + velocity = MathHelpers.moveTowards3(0.1, new Vec2d(Math.toRadians(angle), Math.toRadians(20))); + this.pos = pos; + this.explode_radius = explode_radius; + + // Set to 2.5 seconds + this.explode_time = 250; + } + + @Override + public void tick(Chunk chunk, Layer layer) { + super.tick(chunk, layer); + + double nx = pos.x + velocity.x; + double ny = pos.y + velocity.y; + height += velocity.z; + + // Create a downward gravitational pull + velocity.z -= 0.001; + + // Reduce the velocty + velocity.x /= 1.01; + velocity.y /= 1.01; + velocity.z /= 1.01; + + // Make the tnt bounce on the ground + if(height < 0) { + height = 0; + velocity.z = -velocity.z; + } + + // Make the tnt bounce off obsticles + if(moveIsLegal(new Vec2d(nx, pos.y))) + pos.x = nx; + else velocity.x *= -1; + if(moveIsLegal(new Vec2d(pos.y, ny))) + pos.y = ny; + else velocity.y *= -1; + + // Is it time for the tnt to blow up + explode_time -= 1; + if(explode_time < 0) + { + // Loop over the tiles around the tnt + for(int ex=-explode_radius;ex blackened_gradient) blackened_gradient = bts.meta; + } + + // Set the tiles + if(!bts.tile.unbreakable) l.setBackTile(new TileState(Tiles.STONE, + (short)blackened_gradient), tpos); + if(!fts.tile.unbreakable) l.setFrontTile(Tiles.VOID.getDefaultState(), tpos); + + // Summon some blood + l.spawnEntity(new ParticleBlood(rand, new Vec2d(px, py), py)); + } + } + } + + // Delete the entity + kill(); + return; + } + + // 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.translate(0, 0, height); + super.render(pos, camera); + GlHelpers.popMatrix(); + } + + @Override + public boolean moveIsLegal(Vec2d pos) + { + // Get the position of the tile the tnt is over + Vec2i tpos = new Vec2i(MathHelpers.floor(pos.x)+0, MathHelpers.floor(pos.y)+0); + + // Get the foreground tile and the background tile + Layer l = Main.world.getLayer(); + TileState tile_f = l.getFrontTile(tpos); + TileState tile_b = l.getBackTile(tpos); + + // Is the tile solid and has the tnt crashed into it + if(tile_f.tile.tileSolid) { + if(pos.squareDistance(new Vec2d(tpos.x + 0.5, tpos.y + 0.5)) < tile_f.tile.tileHitbox) + { + // Send back false + return false; + } + } + if(tile_b.tile.tileSolid) { + if(pos.squareDistance(new Vec2d(tpos.x + 0.5, tpos.y + 0.5)) < tile_b.tile.tileHitbox) + { + // Send back false + return false; + } + } + + // Send back true by default + return true; + } + + + } diff --git a/src/shootergame/entity/EntityZombie.java b/src/shootergame/entity/EntityZombie.java index 265fced..7809c4f 100644 --- a/src/shootergame/entity/EntityZombie.java +++ b/src/shootergame/entity/EntityZombie.java @@ -44,7 +44,7 @@ public class EntityZombie extends EntityVertical implements EntityAlive // Move forward towards the player this.angle = Math.toDegrees(angle) + 180; this.angle += noise_movement.eval(time, 0)*60; - this.moveForward(0.05); + this.moveForward(); if(noise_gun_fire.eval(time, 0) > 0) { @@ -64,7 +64,16 @@ public class EntityZombie extends EntityVertical implements EntityAlive // Increase time time += 0.001; - + } + + @Override + public void moveForward() { + this.moveForward(0.06); + } + + @Override + public void moveBackward(double speed) { + super.moveBackward(0.06); } @Override diff --git a/src/shootergame/entity/particle/ParticleSpark.java b/src/shootergame/entity/particle/ParticleSpark.java index d3bb730..04ffa93 100644 --- a/src/shootergame/entity/particle/ParticleSpark.java +++ b/src/shootergame/entity/particle/ParticleSpark.java @@ -9,10 +9,12 @@ import shootergame.world.layer.Layer; public class ParticleSpark extends EntityParticle { - private double size = 1; + private double size = 0.1; - public ParticleSpark(int height) { - super(1, height); + public ParticleSpark(Vec2d pos, double height) { + super(1, height+0.4); + this.pos = pos; + this.opaqueTile = false; } @Override @@ -20,7 +22,7 @@ public class ParticleSpark extends EntityParticle super.tick(chunk, layer); // Reduce the size - size -= 0.01; + size -= 0.004; setSize(size); // Is the size zero @@ -35,10 +37,12 @@ public class ParticleSpark extends EntityParticle public void render(Vec2d pos, Camera camera) { // Set some settings + GlHelpers.pushMatrix(); GlHelpers.color3(1, 1, 0); // Call super super.render(pos, camera); + GlHelpers.popMatrix(); } } diff --git a/src/shootergame/entity/particle/ParticleWater.java b/src/shootergame/entity/particle/ParticleWater.java new file mode 100644 index 0000000..4cd68f3 --- /dev/null +++ b/src/shootergame/entity/particle/ParticleWater.java @@ -0,0 +1,57 @@ +package shootergame.entity.particle; + +import java.util.Random; + +import shootergame.display.Camera; +import shootergame.entity.EntityParticle; +import shootergame.util.gl.GlHelpers; +import shootergame.util.math.MathHelpers; +import shootergame.util.math.random.RandomHelpers; +import shootergame.util.math.vec.Vec2d; +import shootergame.util.math.vec.Vec3d; +import shootergame.world.chunk.Chunk; +import shootergame.world.layer.Layer; + +public class ParticleWater extends EntityParticle +{ + private static Random rand = new Random(); + private Vec3d velocity; + private double height = 0; + + public ParticleWater(Vec2d pos) { + super(rand.nextDouble()/5, 0); + + // Set the velocity + velocity = MathHelpers.moveTowards3(0.1, new Vec2d(Math.toRadians( + RandomHelpers.randrange(rand, 360)), Math.toRadians(RandomHelpers.randrange(rand, 0, 45)))); + + this.pos = pos; + } + + @Override + public void tick(Chunk chunk, Layer layer) { + super.tick(chunk, layer); + + // Add the velocity + velocity.z -= 0.005; + pos.x += velocity.x; + pos.y += velocity.y; + height += velocity.z; + + // Is the height below 0; destroy this particle + if(height < 0) { + kill(); + } + } + + @Override + public void render(Vec2d pos, Camera camera) { + GlHelpers.pushMatrix(); + GlHelpers.translate(0, 0, height); + GlHelpers.color4(0, 0, 1, 0.4); + super.render(pos, camera); + GlHelpers.color4(1, 1, 1, 1); + GlHelpers.popMatrix(); + } + +} diff --git a/src/shootergame/entity/player/EntityPlayer.java b/src/shootergame/entity/player/EntityPlayer.java index 0bda498..fc4c54d 100644 --- a/src/shootergame/entity/player/EntityPlayer.java +++ b/src/shootergame/entity/player/EntityPlayer.java @@ -8,9 +8,11 @@ import shootergame.display.Camera; import shootergame.entity.Entity; import shootergame.entity.EntityAlive; import shootergame.entity.EntityBullet; +import shootergame.entity.EntityTnt; import shootergame.entity.EntityVertical; import shootergame.init.Sounds; import shootergame.init.Textures; +import shootergame.util.gl.GlHelpers; import shootergame.util.gl.texture.TextureReference; import shootergame.util.math.MathHelpers; import shootergame.util.math.vec.Vec2d; @@ -28,6 +30,8 @@ public class EntityPlayer extends EntityVertical implements EntityAlive public boolean GUN = false; public boolean moving = false; + public double height = 0; + private int bullet_frequency = 0; private Random rand; private double health_max = 1000; @@ -84,18 +88,35 @@ public class EntityPlayer extends EntityVertical implements EntityAlive } } + @Override + public void moveForward() { + this.moveForward(0.08); + } + + @Override + public void moveBackward(double speed) { + super.moveBackward(0.08); + } + @Override public void render(Vec2d pos, Camera camera) { // Don't render if the player is dead if(this.getHealth() < 0) return; + // Translation + GlHelpers.pushMatrix(); + GlHelpers.translate(0, 0, height); + // Moving if(MOVE_BACKWARD || MOVE_FORWARD || moving) super.render(pos, camera, Textures.ENTITY_PLAYER_MOVING, 1); // Standing still else super.render(pos, camera, Textures.ENTITY_PLAYER_STILL, 1); + + // Pop the matrix + GlHelpers.popMatrix(); } public void fireBullet(double angle) @@ -107,8 +128,16 @@ public class EntityPlayer extends EntityVertical implements EntityAlive { // Summon bullets at this angle relative to the player Main.world.getLayer().spawnEntity(new EntityBullet(rand, pos.copy(), this, angle + this.angle)); + //throwTnt(angle); } } + + private boolean throwTnt_last = false; + + public void throwTnt(double angle) + { + Main.world.getLayer().spawnEntity(new EntityTnt(pos.copy(), angle + this.angle, 10)); + } @Override public void addHealth(double amount) { diff --git a/src/shootergame/init/Resources.java b/src/shootergame/init/Resources.java index 76cf101..93c7a2c 100644 --- a/src/shootergame/init/Resources.java +++ b/src/shootergame/init/Resources.java @@ -7,9 +7,37 @@ public class Resources public static void loadResources() { TEXMAP_PNG.load(); - GUN_OGG.load(); + + GUN_OGG_0.load(); + GUN_OGG_1.load(); + GUN_OGG_2.load(); + GUN_OGG_3.load(); + GUN_OGG_4.load(); + GUN_OGG_5.load(); + GUN_OGG_6.load(); + GUN_OGG_7.load(); + GUN_OGG_8.load(); + GUN_OGG_9.load(); + + HIT_OGG_0.load(); + HIT_OGG_1.load(); + HIT_OGG_2.load(); } public static final Resource TEXMAP_PNG = new Resource("texmap.png"); - public static final Resource GUN_OGG = new Resource("sound/gun.ogg"); + + public static final Resource GUN_OGG_0 = new Resource("sound/gun0.ogg"); + public static final Resource GUN_OGG_1 = new Resource("sound/gun1.ogg"); + public static final Resource GUN_OGG_2 = new Resource("sound/gun2.ogg"); + public static final Resource GUN_OGG_3 = new Resource("sound/gun3.ogg"); + public static final Resource GUN_OGG_4 = new Resource("sound/gun4.ogg"); + public static final Resource GUN_OGG_5 = new Resource("sound/gun5.ogg"); + public static final Resource GUN_OGG_6 = new Resource("sound/gun6.ogg"); + public static final Resource GUN_OGG_7 = new Resource("sound/gun7.ogg"); + public static final Resource GUN_OGG_8 = new Resource("sound/gun8.ogg"); + public static final Resource GUN_OGG_9 = new Resource("sound/gun9.ogg"); + + public static final Resource HIT_OGG_0 = new Resource("sound/hit0.ogg"); + public static final Resource HIT_OGG_1 = new Resource("sound/hit1.ogg"); + public static final Resource HIT_OGG_2 = new Resource("sound/hit2.ogg"); } diff --git a/src/shootergame/init/Sounds.java b/src/shootergame/init/Sounds.java index 542ea46..b82c7b6 100644 --- a/src/shootergame/init/Sounds.java +++ b/src/shootergame/init/Sounds.java @@ -1,13 +1,47 @@ package shootergame.init; import shootergame.audio.AudioObject; +import shootergame.audio.AudioRandom; public class Sounds { public static void init() { - GUN.init(); + GUN_0.init(); + GUN_1.init(); + GUN_2.init(); + GUN_3.init(); + GUN_4.init(); + GUN_5.init(); + GUN_6.init(); + GUN_7.init(); + GUN_8.init(); + GUN_9.init(); + + HIT_0.init(); + HIT_1.init(); + HIT_2.init(); } - public static final AudioObject GUN = new AudioObject(Resources.GUN_OGG); + public static final AudioObject GUN_0 = new AudioObject(Resources.GUN_OGG_0); + public static final AudioObject GUN_1 = new AudioObject(Resources.GUN_OGG_1); + public static final AudioObject GUN_2 = new AudioObject(Resources.GUN_OGG_2); + public static final AudioObject GUN_3 = new AudioObject(Resources.GUN_OGG_3); + public static final AudioObject GUN_4 = new AudioObject(Resources.GUN_OGG_4); + public static final AudioObject GUN_5 = new AudioObject(Resources.GUN_OGG_5); + public static final AudioObject GUN_6 = new AudioObject(Resources.GUN_OGG_6); + public static final AudioObject GUN_7 = new AudioObject(Resources.GUN_OGG_7); + public static final AudioObject GUN_8 = new AudioObject(Resources.GUN_OGG_8); + public static final AudioObject GUN_9 = new AudioObject(Resources.GUN_OGG_9); + + public static final AudioObject GUN = new AudioRandom( + GUN_0,GUN_1,GUN_2,GUN_3,GUN_4, + GUN_5,GUN_6,GUN_7,GUN_8,GUN_9); + + public static final AudioObject HIT_0 = new AudioObject(Resources.HIT_OGG_0); + public static final AudioObject HIT_1 = new AudioObject(Resources.HIT_OGG_1); + public static final AudioObject HIT_2 = new AudioObject(Resources.HIT_OGG_2); + + public static final AudioObject HIT = new AudioRandom( + HIT_0, HIT_1, HIT_2); } diff --git a/src/shootergame/init/Textures.java b/src/shootergame/init/Textures.java index dbc9e19..70e9224 100644 --- a/src/shootergame/init/Textures.java +++ b/src/shootergame/init/Textures.java @@ -31,6 +31,11 @@ public class Textures 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); // Fire public static final TextureReference TILE_FIRE_0 = texmap.getTextureReference(0, 1, 1, 2); @@ -58,7 +63,7 @@ public class Textures ); // Water - public static final TextureReference TILE_WATER = new AnimationReference(20, + 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), @@ -78,7 +83,7 @@ public class Textures ); // Lava - public static final TextureReference TILE_LAVA = new AnimationReference(10, + public static final TextureReference TILE_LAVA = new AnimationReference(20, texmap.getTextureReference(0, 1, 6, 7), texmap.getTextureReference(1, 2, 6, 7), texmap.getTextureReference(2, 3, 6, 7), diff --git a/src/shootergame/init/Tiles.java b/src/shootergame/init/Tiles.java index 06f0586..e899194 100644 --- a/src/shootergame/init/Tiles.java +++ b/src/shootergame/init/Tiles.java @@ -1,16 +1,21 @@ package shootergame.init; import shootergame.tiles.Tile; +import shootergame.tiles.TileBlackened; import shootergame.tiles.TileDirt; import shootergame.tiles.TileFire; import shootergame.tiles.TileGrass; +import shootergame.tiles.TileLadder; +import shootergame.tiles.TileLadderUp; import shootergame.tiles.TileLava; import shootergame.tiles.TileLavaFlow; +import shootergame.tiles.TilePortalDown; import shootergame.tiles.TileRock; import shootergame.tiles.TileSand; import shootergame.tiles.TileStone; import shootergame.tiles.TileTree; import shootergame.tiles.TileVoid; +import shootergame.tiles.TileWall; import shootergame.tiles.TileWater; import shootergame.tiles.TileWaterFlow; @@ -28,4 +33,9 @@ public class Tiles public static final Tile WATER = new TileWater("water"); public static final Tile LAVA_FLOW = new TileLavaFlow("lava_flow"); public static final Tile WATER_FLOW = new TileWaterFlow("water_flow"); + public static final Tile BLACKENED = new TileBlackened("blackened"); + public static final Tile LADDER = new TileLadder("ladder"); + public static final Tile PORTAL_DOWN = new TilePortalDown("portal_down"); + public static final Tile WALL = new TileWall("wall"); + public static final Tile LADDER_UP = new TileLadderUp("ladder_up"); } diff --git a/src/shootergame/input/JoystickCallback.java b/src/shootergame/input/JoystickCallback.java index 0ade695..4e2b29a 100644 --- a/src/shootergame/input/JoystickCallback.java +++ b/src/shootergame/input/JoystickCallback.java @@ -14,6 +14,9 @@ public class JoystickCallback implements GLFWJoystickCallbackI, IMainloopTask { public static final JoystickCallback JOYSTICK_CALLBACK = new JoystickCallback(); private ArrayList connections = new ArrayList(); + + private static boolean throwTnt_last = false; + private static boolean activate_last = false; @Override public void invoke(int jid, int event) @@ -73,15 +76,13 @@ public class JoystickCallback implements GLFWJoystickCallbackI, IMainloopTask private float combineJoystickAxis(float a, float b) { - if(b > 0.2 || b < -0.2) a += b; + if(b > 0.3 || b < -0.3) a += b; return a; } @Override public void MainLoopUpdate() { - - // Gamepad properties float left_x = 0; float left_y = 0; @@ -147,9 +148,7 @@ public class JoystickCallback implements GLFWJoystickCallbackI, IMainloopTask double angle = Math.toDegrees(Math.atan2(left_y, left_x)) + 90; // Move the player in the left sticks angle - Main.player.angle += angle; - Main.player.moveForward(); - Main.player.angle -= angle; + Main.player.moveTowards(angle); // Set the players moving to true Main.player.moving = true; @@ -160,6 +159,7 @@ public class JoystickCallback implements GLFWJoystickCallbackI, IMainloopTask // Is the right x axis stick moved into a position (camera stick) if(right_x > 0.3 || right_x < -0.3) { + System.out.println("Angle changed"); Main.player.angle += right_x; } @@ -168,6 +168,19 @@ public class JoystickCallback implements GLFWJoystickCallbackI, IMainloopTask Main.player.fireBullet(0); } + // Tnt trigger + if(left_trigger > 0.3) { + if(!throwTnt_last) + { + throwTnt_last = true; + Main.player.throwTnt(0); + } + } + + else { + throwTnt_last = false; + } + if(dpad_up) { Main.player.fireBullet(0); } @@ -183,6 +196,18 @@ public class JoystickCallback implements GLFWJoystickCallbackI, IMainloopTask if(dpad_right) { Main.player.fireBullet(90); } + + // Activate block + if(button_x) { + if(!activate_last) { + Main.player.activateTile(); + activate_last = true; + } + } + + else if(activate_last) { + activate_last = false; + } } } diff --git a/src/shootergame/tiles/Tile.java b/src/shootergame/tiles/Tile.java index 1b3b2c9..53ff6fb 100644 --- a/src/shootergame/tiles/Tile.java +++ b/src/shootergame/tiles/Tile.java @@ -5,6 +5,7 @@ import shootergame.display.transparent.ITransparentObject; import shootergame.display.transparent.TransparentObjects; import shootergame.entity.Entity; import shootergame.entity.player.EntityPlayer; +import shootergame.util.math.TileState; import shootergame.util.math.vec.Vec2d; import shootergame.util.math.vec.Vec2i; import shootergame.util.math.vec.Vec3d; @@ -18,6 +19,8 @@ public class Tile implements ITransparentObject public boolean tileSolid = false; public boolean tileWalkable = true; public double tileHitbox = 0; + public double slowness = 0; + public boolean unbreakable = false; public Tile(String id) { this.id = id; @@ -28,17 +31,17 @@ public class Tile implements ITransparentObject } @Override - public void render(Vec2d pos, Camera camera) { + public void render(Vec2d pos, Camera camera, short meta) { } - public void doRender(Vec2d pos, Camera camera) + public void doRender(Vec2d pos, Camera camera, short meta) { if(this.opaqueTile) { - TransparentObjects.register(this, camera, pos); + TransparentObjects.register(this, camera, pos, meta); } else { - this.render(pos, camera); + this.render(pos, camera, meta); } } @@ -47,11 +50,18 @@ public class Tile implements ITransparentObject return this.opaqueTile; } - public void onWalkedOn(Chunk chunk, Layer layer, Vec2i pos, Entity entity) { + public void onWalkedOn(Chunk chunk, Layer layer, Vec2i pos, Entity entity, short meta) { } @Override public Vec2d getRenderOffset() { return new Vec2d(0.5, 0.5); } + + public TileState getDefaultState() { + return new TileState(this, (short)0); + } + + public void onActivated(Chunk chunk, Layer layer, Vec2i tpos, Entity entity, short meta) { + } } diff --git a/src/shootergame/tiles/TileBlackened.java b/src/shootergame/tiles/TileBlackened.java new file mode 100644 index 0000000..ab29fdd --- /dev/null +++ b/src/shootergame/tiles/TileBlackened.java @@ -0,0 +1,39 @@ +package shootergame.tiles; + +import shootergame.display.Camera; +import shootergame.util.gl.GlHelpers; +import shootergame.util.gl.texture.TextureReference; +import shootergame.util.math.vec.Vec2d; + +public class TileBlackened extends Tile +{ + + public TileBlackened(String id) { + super(id); + //this.opaqueTile = true; + } + + @Override + public void render(Vec2d pos, Camera camera, short meta) + { + //System.out.println("META: "+ (int)meta); + + // Call super + super.render(pos, camera, meta); + + // Set the colour + GlHelpers.color4(0, 0, 0, ((double)meta) / Short.MAX_VALUE); + + // Draw the tile + GlHelpers.begin(); + GlHelpers.vertex3(pos.x+0, pos.y+0, 0.001); + GlHelpers.vertex3(pos.x+1, pos.y+0, 0.001); + GlHelpers.vertex3(pos.x+1, pos.y+1, 0.001); + GlHelpers.vertex3(pos.x+0, pos.y+1, 0.001); + GlHelpers.end(); + + // Reset the colour + GlHelpers.color4(1, 1, 1, 1); + } + +} diff --git a/src/shootergame/tiles/TileFlat.java b/src/shootergame/tiles/TileFlat.java index 9821c92..b1d2f2d 100644 --- a/src/shootergame/tiles/TileFlat.java +++ b/src/shootergame/tiles/TileFlat.java @@ -18,10 +18,10 @@ public class TileFlat extends Tile } @Override - public void render(Vec2d pos, Camera camera) + public void render(Vec2d pos, Camera camera, short meta) { // Call super - super.render(pos, camera); + super.render(pos, camera, meta); // Render the tile GlHelpers.begin(); diff --git a/src/shootergame/tiles/TileLadder.java b/src/shootergame/tiles/TileLadder.java new file mode 100644 index 0000000..001ac8c --- /dev/null +++ b/src/shootergame/tiles/TileLadder.java @@ -0,0 +1,18 @@ +package shootergame.tiles; + +import shootergame.init.Textures; +import shootergame.util.gl.texture.TextureReference; + +public class TileLadder extends TileVertical +{ + + public TileLadder(String id) { + super(id, Textures.TILE_LADDER, 1); + + this.opaqueTile = true; + this.tileSolid = true; + this.tileHitbox = 0.3; + this.unbreakable = true; + } + +} diff --git a/src/shootergame/tiles/TileLadderUp.java b/src/shootergame/tiles/TileLadderUp.java new file mode 100644 index 0000000..9cd1a30 --- /dev/null +++ b/src/shootergame/tiles/TileLadderUp.java @@ -0,0 +1,88 @@ +package shootergame.tiles; + +import mainloop.task.IMainloopTask; +import shootergame.Main; +import shootergame.entity.Entity; +import shootergame.entity.player.EntityPlayer; +import shootergame.init.Textures; +import shootergame.util.gl.texture.TextureReference; +import shootergame.util.math.vec.Vec2d; +import shootergame.util.math.vec.Vec2i; +import shootergame.world.chunk.Chunk; +import shootergame.world.layer.Layer; + +public class TileLadderUp extends TileVertical +{ + public TileLadderUp(String id) { + super(id, Textures.TILE_LADDER_UP, 16); + + this.opaqueTile = true; + this.tileSolid = true; + this.tileHitbox = 0.3; + this.unbreakable = true; + } + + @Override + public void onActivated(Chunk chunk, Layer layer, Vec2i pos, Entity entity, short meta) + { + // Call super + super.onWalkedOn(chunk, layer, pos, entity, meta); + + // Is the entity the player + if(entity == Main.player) + { + // Cast to player + EntityPlayer player = (EntityPlayer)entity; + double playerAngle = player.angle; + Vec2d playerPos = player.pos.copy(); + player.height = 0; + + // Register the animation + Main.mainloop.register(new IMainloopTask() { + + int movingPlayer = 0; + + @Override + public void MainLoopUpdate() + { + player.angle = playerAngle; + player.pos = playerPos.copy(); + player.moving = true; + + if(movingPlayer == 0) { + player.height += 0.04; + } + + if(movingPlayer == 1) { + player.height += 0.02; + } + + if(player.height >= 6 && movingPlayer == 0) + { + movingPlayer = 1; + Main.world.setLayerID(meta); + player.height = -1; + } + + if(player.height >= 0 && movingPlayer == 1) + { + movingPlayer = 2; + player.height = 0; + player.moving = false; + } + } + + @Override + public boolean MainLoopRepeat() { + return movingPlayer != 2; + } + + @Override + public boolean MainLoopDelay(long arg0) { + return arg0 > 10; + } + }); + } + } + +} diff --git a/src/shootergame/tiles/TileLava.java b/src/shootergame/tiles/TileLava.java index 28733dc..4033eb2 100644 --- a/src/shootergame/tiles/TileLava.java +++ b/src/shootergame/tiles/TileLava.java @@ -15,10 +15,10 @@ public class TileLava extends TileFlat } @Override - public void render(Vec2d pos, Camera camera) { + public void render(Vec2d pos, Camera camera, short meta) { GlHelpers.pushMatrix(); GlHelpers.translate(0, 0, 0.001); - super.render(pos, camera); + super.render(pos, camera, meta); GlHelpers.popMatrix(); } diff --git a/src/shootergame/tiles/TileLavaFlow.java b/src/shootergame/tiles/TileLavaFlow.java index 59c5dac..1d936be 100644 --- a/src/shootergame/tiles/TileLavaFlow.java +++ b/src/shootergame/tiles/TileLavaFlow.java @@ -13,10 +13,10 @@ public class TileLavaFlow extends TileFlat } @Override - public void render(Vec2d pos, Camera camera) { + public void render(Vec2d pos, Camera camera, short meta) { GlHelpers.pushMatrix(); GlHelpers.translate(0, 0, 0.001); - super.render(pos, camera); + super.render(pos, camera, meta); GlHelpers.popMatrix(); } diff --git a/src/shootergame/tiles/TilePortalDown.java b/src/shootergame/tiles/TilePortalDown.java new file mode 100644 index 0000000..c7ea609 --- /dev/null +++ b/src/shootergame/tiles/TilePortalDown.java @@ -0,0 +1,99 @@ +package shootergame.tiles; + +import mainloop.task.IMainloopTask; +import shootergame.Main; +import shootergame.entity.Entity; +import shootergame.entity.player.EntityPlayer; +import shootergame.init.Textures; +import shootergame.init.Tiles; +import shootergame.util.gl.texture.TextureReference; +import shootergame.util.math.vec.Vec2d; +import shootergame.util.math.vec.Vec2i; +import shootergame.world.chunk.Chunk; +import shootergame.world.layer.Layer; + +public class TilePortalDown extends TileFlat +{ + + public TilePortalDown(String id) { + super(id, Textures.TILE_PORTAL); + + this.unbreakable = true; + } + + @Override + public void onActivated(Chunk chunk, Layer layer, Vec2i pos, Entity entity, short meta) + { + // Call super + super.onWalkedOn(chunk, layer, pos, entity, meta); + + // Is the entity the player + if(entity == Main.player) + { + // Cast to player + EntityPlayer player = (EntityPlayer)entity; + double playerAngle = player.angle; + Vec2d playerPos = player.pos.copy(); + player.height = 0; + + // Register the animation + Main.mainloop.register(new IMainloopTask() { + + int movingPlayer = 0; + + @Override + public void MainLoopUpdate() + { + player.angle = playerAngle; + player.pos = playerPos.copy(); + player.moving = true; + + if(movingPlayer == 0) { + player.height -= 0.02; + } + + if(movingPlayer == 1) { + player.height -= 0.04; + } + + if(player.height < -1 && movingPlayer == 0) + { + movingPlayer = 1; + Main.world.setLayerID(meta); + player.height = 6; + } + + if(player.height < 0 && movingPlayer == 1) + { + movingPlayer = 2; + player.height = 0; + player.moving = false; + + Layer layer = Main.world.getLayer(); + for(int i=0;i<=16;i++) { + if(layer.getBackTile(new Vec2i(pos.x+i, pos.y)).tile != Tiles.STONE) + layer.setBackTile(Tiles.STONE.getDefaultState(), new Vec2i(pos.x+i, pos.y)); + if(layer.getBackTile(new Vec2i(pos.x-i, pos.y)).tile != Tiles.STONE) + layer.setBackTile(Tiles.STONE.getDefaultState(), new Vec2i(pos.x-i, pos.y)); + if(layer.getBackTile(new Vec2i(pos.x, pos.y+i)).tile != Tiles.STONE) + layer.setBackTile(Tiles.STONE.getDefaultState(), new Vec2i(pos.x, pos.y+i)); + if(layer.getBackTile(new Vec2i(pos.x, pos.y-i)).tile != Tiles.STONE) + layer.setBackTile(Tiles.STONE.getDefaultState(), new Vec2i(pos.x, pos.y-i)); + } + } + } + + @Override + public boolean MainLoopRepeat() { + return movingPlayer != 2; + } + + @Override + public boolean MainLoopDelay(long arg0) { + return arg0 > 10; + } + }); + } + } + +} diff --git a/src/shootergame/tiles/TileStone.java b/src/shootergame/tiles/TileStone.java index bd38935..62af1d0 100644 --- a/src/shootergame/tiles/TileStone.java +++ b/src/shootergame/tiles/TileStone.java @@ -1,6 +1,9 @@ package shootergame.tiles; +import shootergame.display.Camera; import shootergame.init.Textures; +import shootergame.util.gl.GlHelpers; +import shootergame.util.math.vec.Vec2d; public class TileStone extends TileFlat { @@ -8,5 +11,12 @@ public class TileStone extends TileFlat public TileStone(String id) { super(id, Textures.TILE_STONE); } + + @Override + public void render(Vec2d pos, Camera camera, short meta) { + GlHelpers.color4(1, 1, 1, (Short.MAX_VALUE - (double)meta) / Short.MAX_VALUE); + super.render(pos, camera, meta); + GlHelpers.color4(1, 1, 1, 1); + } } diff --git a/src/shootergame/tiles/TileVertical.java b/src/shootergame/tiles/TileVertical.java index 5a5d2f9..1b6657d 100644 --- a/src/shootergame/tiles/TileVertical.java +++ b/src/shootergame/tiles/TileVertical.java @@ -23,8 +23,8 @@ public class TileVertical extends Tile } @Override - public void render(Vec2d pos, Camera camera) { - super.render(pos, camera); + public void render(Vec2d pos, Camera camera, short meta) { + super.render(pos, camera, meta); VerticalRender.render(pos, camera, tex, h); } diff --git a/src/shootergame/tiles/TileWall.java b/src/shootergame/tiles/TileWall.java new file mode 100644 index 0000000..b6364aa --- /dev/null +++ b/src/shootergame/tiles/TileWall.java @@ -0,0 +1,17 @@ +package shootergame.tiles; + +import shootergame.init.Textures; +import shootergame.util.gl.texture.TextureReference; + +public class TileWall extends TileFlat +{ + + public TileWall(String id) { + super(id, Textures.TILE_WALL); + + this.tileWalkable = false; + this.tileSolid = true; + this.tileHitbox = 1; + } + +} diff --git a/src/shootergame/tiles/TileWater.java b/src/shootergame/tiles/TileWater.java index e55e570..bed882e 100644 --- a/src/shootergame/tiles/TileWater.java +++ b/src/shootergame/tiles/TileWater.java @@ -1,25 +1,41 @@ package shootergame.tiles; import shootergame.display.Camera; +import shootergame.entity.Entity; +import shootergame.entity.particle.ParticleWater; import shootergame.init.Textures; import shootergame.util.gl.GlHelpers; import shootergame.util.math.vec.Vec2d; +import shootergame.util.math.vec.Vec2i; +import shootergame.world.chunk.Chunk; +import shootergame.world.layer.Layer; public class TileWater extends TileFlat { public TileWater(String id) { super(id, Textures.TILE_WATER); - - this.tileWalkable = false; + this.slowness = 0.5; } @Override - public void render(Vec2d pos, Camera camera) { + public void render(Vec2d pos, Camera camera, short meta) { GlHelpers.pushMatrix(); GlHelpers.translate(0, 0, 0.001); - super.render(pos, camera); + super.render(pos, camera, meta); GlHelpers.popMatrix(); } + + @Override + public void onWalkedOn(Chunk chunk, Layer layer, Vec2i pos, Entity entity, short meta) + { + // Call super + super.onWalkedOn(chunk, layer, pos, entity, meta); + + // Spawn some water particles + for(int i=0;i<4;i++) { + layer.spawnEntity(new ParticleWater(entity.pos.copy())); + } + } } diff --git a/src/shootergame/tiles/TileWaterFlow.java b/src/shootergame/tiles/TileWaterFlow.java index e73c4b3..3095abf 100644 --- a/src/shootergame/tiles/TileWaterFlow.java +++ b/src/shootergame/tiles/TileWaterFlow.java @@ -13,10 +13,10 @@ public class TileWaterFlow extends TileFlat } @Override - public void render(Vec2d pos, Camera camera) { + public void render(Vec2d pos, Camera camera, short meta) { GlHelpers.pushMatrix(); GlHelpers.translate(0, 0, 0.001); - super.render(pos, camera); + super.render(pos, camera, meta); GlHelpers.popMatrix(); } diff --git a/src/shootergame/util/math/MathHelpers.java b/src/shootergame/util/math/MathHelpers.java index f4f3ecf..93563c5 100644 --- a/src/shootergame/util/math/MathHelpers.java +++ b/src/shootergame/util/math/MathHelpers.java @@ -83,4 +83,16 @@ public class MathHelpers if(a < 0) return -a; else return a; } + + public static Vec2d rotate2(Vec2d pos, double angle) + { + // Get the angle and the distance from the centre to the point + double p_angle = Math.atan2(pos.y, pos.x); + double p_distance = Math.sqrt(pos.y*pos.y + pos.x*pos.x); + + // Return and calculate the new positions + return new Vec2d( + p_distance * Math.sin(angle - p_angle), + p_distance * Math.cos(angle - p_angle)); + } } diff --git a/src/shootergame/util/math/TileState.java b/src/shootergame/util/math/TileState.java new file mode 100644 index 0000000..2206b71 --- /dev/null +++ b/src/shootergame/util/math/TileState.java @@ -0,0 +1,21 @@ +package shootergame.util.math; + +import shootergame.init.Tiles; +import shootergame.tiles.Tile; + +public class TileState +{ + public static final TileState EMPTY = new TileState(Tiles.VOID, (short)0); + + public Tile tile; + public short meta; + + public TileState(Tile tile, short meta) { + this.tile = tile; + this.meta = meta; + } + + public TileState withMeta(short meta) { + return new TileState(tile, meta); + } +} diff --git a/src/shootergame/world/World.java b/src/shootergame/world/World.java index aae786f..03c9ea4 100644 --- a/src/shootergame/world/World.java +++ b/src/shootergame/world/World.java @@ -15,11 +15,13 @@ public class World public World(Random rand, LayerGen ... layergen) { + long seed = rand.nextLong(); + // Loop over the layer generators for(LayerGen lg : layergen) { // Create new layers - layers.add(new Layer(rand, lg)); + layers.add(new Layer(new Random(seed), lg)); } // Set the current layer @@ -44,6 +46,7 @@ public class World public void setLayerID(int id) { layer_id = id; + layer = layers.get(layer_id); } public Layer getLayer() { diff --git a/src/shootergame/world/chunk/Chunk.java b/src/shootergame/world/chunk/Chunk.java index 8c7d42b..2ee8fdb 100644 --- a/src/shootergame/world/chunk/Chunk.java +++ b/src/shootergame/world/chunk/Chunk.java @@ -9,6 +9,7 @@ import shootergame.entity.EntityAlive; import shootergame.init.Tiles; import shootergame.tiles.Tile; import shootergame.util.math.MathHelpers; +import shootergame.util.math.TileState; import shootergame.util.math.range.Range2i; import shootergame.util.math.vec.Vec2d; import shootergame.util.math.vec.Vec2i; @@ -23,6 +24,8 @@ public class Chunk private Tile tiles_back[] = new Tile[CHUNK_INDEX]; private Tile tiles_front[] = new Tile[CHUNK_INDEX]; + private short tiles_front_meta[] = new short[CHUNK_INDEX]; + private short tiles_back_meta[] = new short[CHUNK_INDEX]; public ArrayList entities = new ArrayList(); private Random rand; private Layer layer; @@ -53,8 +56,8 @@ public class Chunk Vec2i t_pos = Vec2i.fromId(CHUNK_SIZE, i); // Render the tiles - tiles_back[i].doRender(new Vec2d(t_pos.x + c_pos.x * 16, t_pos.y + c_pos.y * 16), camera); - tiles_front[i].doRender(new Vec2d(t_pos.x + c_pos.x * 16, t_pos.y + c_pos.y * 16), camera); + tiles_back[i].doRender(new Vec2d(t_pos.x + c_pos.x * 16, t_pos.y + c_pos.y * 16), camera, tiles_back_meta[i]); + tiles_front[i].doRender(new Vec2d(t_pos.x + c_pos.x * 16, t_pos.y + c_pos.y * 16), camera, tiles_front_meta[i]); } // Render all the entities @@ -116,7 +119,7 @@ public class Chunk } } - public void setBackTile(Tile tile, Vec2i pos) + public void setBackTile(TileState tile, Vec2i pos) { // Get the id Vec2i cpos = new Vec2i(0, 0); @@ -125,10 +128,11 @@ public class Chunk int id = cpos.getId(CHUNK_SIZE); // Set the back tile - this.tiles_back[id] = tile; + this.tiles_back[id] = tile.tile; + this.tiles_back_meta[id] = tile.meta; } - public void setFrontTile(Tile tile, Vec2i pos) + public void setFrontTile(TileState tile, Vec2i pos) { // Get the id Vec2i cpos = new Vec2i(0, 0); @@ -137,10 +141,11 @@ public class Chunk int id = cpos.getId(CHUNK_SIZE); // Set the front tile - this.tiles_front[id] = tile; + this.tiles_front[id] = tile.tile; + this.tiles_front_meta[id] = tile.meta; } - public Tile getBackTile(Vec2i pos) + public TileState getBackTile(Vec2i pos) { // Get the id Vec2i cpos = new Vec2i(0, 0); @@ -149,10 +154,10 @@ public class Chunk int id = cpos.getId(CHUNK_SIZE); // Send back the back tile - return this.tiles_back[id]; + return new TileState(this.tiles_back[id], this.tiles_back_meta[id]); } - public Tile getFrontTile(Vec2i pos) + public TileState getFrontTile(Vec2i pos) { // Get the id Vec2i cpos = new Vec2i(0, 0); @@ -161,7 +166,7 @@ public class Chunk int id = cpos.getId(CHUNK_SIZE); // Send back the front tile - return this.tiles_front[id]; + return new TileState(this.tiles_front[id], this.tiles_front_meta[id]); } public void killEntity(Entity e) { diff --git a/src/shootergame/world/chunk/ChunkEmpty.java b/src/shootergame/world/chunk/ChunkEmpty.java index 49f0802..ff05024 100644 --- a/src/shootergame/world/chunk/ChunkEmpty.java +++ b/src/shootergame/world/chunk/ChunkEmpty.java @@ -6,6 +6,7 @@ import shootergame.display.Camera; import shootergame.entity.Entity; import shootergame.init.Tiles; import shootergame.tiles.Tile; +import shootergame.util.math.TileState; import shootergame.util.math.vec.Vec2d; import shootergame.util.math.vec.Vec2i; @@ -27,20 +28,20 @@ public class ChunkEmpty extends Chunk public void spawnEntity(Entity e) {} @Override - public Tile getBackTile(Vec2i pos) { - return Tiles.VOID; + public TileState getBackTile(Vec2i pos) { + return TileState.EMPTY; } @Override - public Tile getFrontTile(Vec2i pos) { - return Tiles.VOID; + public TileState getFrontTile(Vec2i pos) { + return TileState.EMPTY; } @Override - public void setBackTile(Tile tile, Vec2i pos) {} + public void setBackTile(TileState tile, Vec2i pos) {} @Override - public void setFrontTile(Tile tile, Vec2i pos) {} + public void setFrontTile(TileState tile, Vec2i pos) {} @Override public void checkEntities() {} diff --git a/src/shootergame/world/layer/Layer.java b/src/shootergame/world/layer/Layer.java index 821f769..01cd885 100644 --- a/src/shootergame/world/layer/Layer.java +++ b/src/shootergame/world/layer/Layer.java @@ -8,6 +8,7 @@ import shootergame.display.Camera; import shootergame.entity.Entity; import shootergame.tiles.Tile; import shootergame.util.math.MathHelpers; +import shootergame.util.math.TileState; import shootergame.util.math.map.Map2D; import shootergame.util.math.map.Map2DElement; import shootergame.util.math.vec.Vec2d; @@ -65,7 +66,7 @@ public class Layer this.layergen.spawnEntities(this, rand); } - public void setBackTile(Tile tile, Vec2i pos) + public void setBackTile(TileState tile, Vec2i pos) { // Get the chunk pos Vec2i c_pos = getChunkPosFromPos(pos); @@ -74,7 +75,7 @@ public class Layer chunks.get(c_pos).setBackTile(tile, pos); } - public void setFrontTile(Tile tile, Vec2i pos) + public void setFrontTile(TileState tile, Vec2i pos) { // Get the chunk pos Vec2i c_pos = getChunkPosFromPos(pos); @@ -83,7 +84,7 @@ public class Layer chunks.get(c_pos).setFrontTile(tile, pos); } - public Tile getBackTile(Vec2i pos) + public TileState getBackTile(Vec2i pos) { // Get the chunk pos Vec2i c_pos = getChunkPosFromPos(pos); @@ -102,7 +103,7 @@ public class Layer MathHelpers.floor(pos.y / (double)Chunk.CHUNK_SIZE.my)); } - public Tile getFrontTile(Vec2i pos) + public TileState getFrontTile(Vec2i pos) { // Get the chunk pos Vec2i c_pos = getChunkPosFromPos(pos); diff --git a/src/shootergame/world/layer/layergen/LayerGenCaves.java b/src/shootergame/world/layer/layergen/LayerGenCaves.java new file mode 100644 index 0000000..caac5a6 --- /dev/null +++ b/src/shootergame/world/layer/layergen/LayerGenCaves.java @@ -0,0 +1,71 @@ +package shootergame.world.layer.layergen; + +import java.util.Random; + +import org.lwjgl.stb.STBPerlin; + +import shootergame.init.Tiles; +import shootergame.util.math.TileState; +import shootergame.util.math.random.OpenSimplexNoise; +import shootergame.util.math.random.RandomHelpers; +import shootergame.util.math.vec.Vec2i; +import shootergame.world.chunk.Chunk; +import shootergame.world.layer.Layer; + +public class LayerGenCaves extends LayerGen +{ + + @Override + public Chunk generateChunk(Layer layer, long seed, Random rand, Vec2i c_pos) + { + // Create a new chunk + Chunk chunk = new Chunk(layer, c_pos, rand); + + // Is there going to be a portal in this chunk + boolean portal = RandomHelpers.randrange(rand, 10) == 0; + Vec2i portal_pos = null; + if(portal) portal_pos = new Vec2i( + RandomHelpers.randrange(rand, Chunk.CHUNK_SIZE.mx), + RandomHelpers.randrange(rand, Chunk.CHUNK_SIZE.my)); + + // Get some noise generators + OpenSimplexNoise noisegen_n = new OpenSimplexNoise(seed); + + // Loop over the chunk + for(int x=0;x 60) { + chunk.setBackTile(Tiles.STONE.getDefaultState(), pos); + } + + else { + chunk.setBackTile(Tiles.WALL.getDefaultState(), pos); + } + + if(portal) { + chunk.setFrontTile(new TileState(Tiles.LADDER_UP, (short)0), portal_pos); + } + } + } + + // Send the chunk back + return chunk; + } + + @Override + public void spawnEntities(Layer layer, Random rand) + { + // TODO Auto-generated method stub + + } + +} diff --git a/src/shootergame/world/layer/layergen/LayerGenEarth.java b/src/shootergame/world/layer/layergen/LayerGenEarth.java index 08e2788..5183640 100644 --- a/src/shootergame/world/layer/layergen/LayerGenEarth.java +++ b/src/shootergame/world/layer/layergen/LayerGenEarth.java @@ -8,6 +8,7 @@ import shootergame.entity.EntityBullet; import shootergame.entity.EntityZombie; import shootergame.init.Tiles; import shootergame.tiles.Tile; +import shootergame.util.math.TileState; import shootergame.util.math.random.OpenSimplexNoise; import shootergame.util.math.random.RandomHelpers; import shootergame.util.math.range.Range2i; @@ -25,6 +26,13 @@ public class LayerGenEarth extends LayerGen // Create the new chunk Chunk chunk = new Chunk(layer, c_pos, rand); + // Is there going to be a portal in this chunk + boolean portal = RandomHelpers.randrange(rand, 10) == 0; + Vec2i portal_pos = null; + if(portal) portal_pos = new Vec2i( + RandomHelpers.randrange(rand, Chunk.CHUNK_SIZE.mx), + RandomHelpers.randrange(rand, Chunk.CHUNK_SIZE.my)); + // Get the noise generator OpenSimplexNoise noisegen_n = new OpenSimplexNoise(seed); @@ -41,18 +49,23 @@ public class LayerGenEarth extends LayerGen Vec2i pos = new Vec2i(x, y); // Tree and rock generation - if(rand.nextDouble() > 0.9) chunk.setFrontTile(Tiles.TREE, pos); - else if(rand.nextDouble() > 0.99) chunk.setFrontTile(Tiles.ROCK, pos); - else chunk.setFrontTile(Tiles.VOID, pos); + if(rand.nextDouble() > 0.9) chunk.setFrontTile(Tiles.TREE.getDefaultState(), pos); + else if(rand.nextDouble() > 0.99) chunk.setFrontTile(Tiles.ROCK.getDefaultState(), pos); + else chunk.setFrontTile(Tiles.VOID.getDefaultState(), pos); // Terrain generation if(noise_n < 40) { - chunk.setFrontTile(Tiles.WATER, pos); - chunk.setBackTile(Tiles.DIRT, pos); + chunk.setFrontTile(Tiles.WATER.getDefaultState(), pos); + chunk.setBackTile(Tiles.DIRT.getDefaultState(), pos); + } + else if(noise_n < 70) chunk.setBackTile(Tiles.GRASS.getDefaultState(), pos); + else if(noise_n < 90) chunk.setBackTile(Tiles.DIRT.getDefaultState(), pos); + else chunk.setBackTile(Tiles.STONE.getDefaultState(), pos); + + if(portal) { + chunk.setBackTile(new TileState(Tiles.PORTAL_DOWN, (short)1), portal_pos); + chunk.setFrontTile(Tiles.LADDER.getDefaultState(), portal_pos); } - else if(noise_n < 70) chunk.setBackTile(Tiles.GRASS, pos); - else if(noise_n < 90) chunk.setBackTile(Tiles.DIRT, pos); - else chunk.setBackTile(Tiles.STONE, pos); } }