Added temperature
|
|
@ -325,7 +325,7 @@ public class DisplayLighting
|
||||||
for(int x2=0;x2<lighting.w;x2++) {
|
for(int x2=0;x2<lighting.w;x2++) {
|
||||||
for(int y2=0;y2<lighting.h;y2++) {
|
for(int y2=0;y2<lighting.h;y2++) {
|
||||||
double temp = layer.layergen.getTemperatureStatic(layer, new Vec2d(x2 + lighting.x * 16, y2 + lighting.y * 16));
|
double temp = layer.layergen.getTemperatureStatic(layer, new Vec2d(x2 + lighting.x * 16, y2 + lighting.y * 16));
|
||||||
pixels[(x2 + y2 * lighting.w) * 3 + 0] = (float)temp;
|
pixels[(x2 + y2 * lighting.w) * 3 + 2] = (float)temp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package projectzombie.init;
|
package projectzombie.init;
|
||||||
|
|
||||||
import gl_engine.vec.Vec2d;
|
import gl_engine.vec.Vec2d;
|
||||||
|
import gl_engine.vec.Vec2i;
|
||||||
import projectzombie.model.Model;
|
import projectzombie.model.Model;
|
||||||
import projectzombie.model.ModelEmpty;
|
import projectzombie.model.ModelEmpty;
|
||||||
import projectzombie.model.ModelGrass;
|
import projectzombie.model.ModelGrass;
|
||||||
|
|
@ -8,6 +9,7 @@ import projectzombie.model.ModelGui;
|
||||||
import projectzombie.model.ModelItem;
|
import projectzombie.model.ModelItem;
|
||||||
import projectzombie.model.ModelRandom;
|
import projectzombie.model.ModelRandom;
|
||||||
import projectzombie.model.ModelTile;
|
import projectzombie.model.ModelTile;
|
||||||
|
import projectzombie.model.ModelTree;
|
||||||
import projectzombie.model.ModelVertical;
|
import projectzombie.model.ModelVertical;
|
||||||
|
|
||||||
public class Models
|
public class Models
|
||||||
|
|
@ -15,21 +17,30 @@ public class Models
|
||||||
public static final Model EMPTY = new ModelEmpty();
|
public static final Model EMPTY = new ModelEmpty();
|
||||||
|
|
||||||
public static final Model TILE_GRASS = new ModelGrass();
|
public static final Model TILE_GRASS = new ModelGrass();
|
||||||
public static final Model TILE_SAND = new ModelTile(Resources.ATLAS.get("/tile/sand.png"));
|
public static final Model TILE_TREE = new ModelTree();
|
||||||
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_CACTUS_1 = new ModelVertical(Resources.ATLAS.get("/tile/cactus1.png"), new Vec2d(1, 4));
|
||||||
public static final Model TILE_TREE = new ModelVertical(Resources.ATLAS.get("/tile/tree.png"), new Vec2d(1, 4));
|
public static final Model TILE_CACTUS_2 = new ModelVertical(Resources.ATLAS.get("/tile/cactus2.png"), new Vec2d(1, 4));
|
||||||
public static final Model TILE_ROCK = new ModelVertical(Resources.ATLAS.get("/tile/rock.png"));
|
public static final Model TILE_CACTUS_3 = new ModelVertical(Resources.ATLAS.get("/tile/cactus3.png"), new Vec2d(1, 4));
|
||||||
public static final Model TILE_LADDER = new ModelVertical(Resources.ATLAS.get("/tile/ladder.png"));
|
public static final Model TILE_CACTUS_4 = new ModelVertical(Resources.ATLAS.get("/tile/cactus4.png"), new Vec2d(1, 4));
|
||||||
public static final Model TILE_PORTAL = new ModelTile(Resources.ATLAS.get("/tile/tunnel_down.png"));
|
|
||||||
public static final Model TILE_WALL = new ModelTile(Resources.ATLAS.get("/tile/wall.png"));
|
public static final Model TILE_SNOW = new ModelTile(Resources.ATLAS.get("/tile/snow.png"));
|
||||||
public static final Model TILE_LADDER_UP = new ModelVertical(Resources.ATLAS.get("/tile/ladder_up.png"), new Vec2d(1, 16));
|
public static final Model TILE_SAND = new ModelTile(Resources.ATLAS.get("/tile/sand.png"));
|
||||||
public static final Model TILE_CHEST = new ModelVertical(Resources.ATLAS.get("/tile/chest.png"));
|
public static final Model TILE_STONE = new ModelTile(Resources.ATLAS.get("/tile/stone.png"));
|
||||||
public static final Model TILE_BOSS_PORTAL = new ModelVertical(Resources.ATLAS.get("/tile/boss_portal.png"), new Vec2d(2, 2));
|
public static final Model TILE_DIRT = new ModelTile(Resources.ATLAS.get("/tile/dirt.png"));
|
||||||
public static final Model TILE_WATER = new ModelTile(Resources.ATLAS.get("/tile/water.png"), 16, 10);
|
public static final Model TILE_ROCK = new ModelVertical(Resources.ATLAS.get("/tile/rock.png"));
|
||||||
public static final Model TILE_LAVA = new ModelTile(Resources.ATLAS.get("/tile/lava.png"), 16, 50);
|
public static final Model TILE_SNOW_PILE = new ModelVertical(Resources.ATLAS.get("/tile/snow_pile.png"));
|
||||||
public static final Model TILE_LAVA_FLOW = new ModelTile(Resources.ATLAS.get("/tile/lava_flow.png"), 16, 50);
|
public static final Model TILE_ROCK_SANDSTONE = new ModelVertical(Resources.ATLAS.get("/tile/rock_sandstone.png"));
|
||||||
public static final Model TILE_LANTERN = new ModelVertical(Resources.ATLAS.get("/tile/lantern.png"), 4, 5);
|
public static final Model TILE_LADDER = new ModelVertical(Resources.ATLAS.get("/tile/ladder.png"));
|
||||||
|
public static final Model TILE_PORTAL = new ModelTile(Resources.ATLAS.get("/tile/tunnel_down.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"), new Vec2d(1, 16));
|
||||||
|
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"), new Vec2d(2, 2));
|
||||||
|
public static final Model TILE_WATER = new ModelTile(Resources.ATLAS.get("/tile/water.png"), 16, 10);
|
||||||
|
public static final Model TILE_LAVA = new ModelTile(Resources.ATLAS.get("/tile/lava.png"), 16, 50);
|
||||||
|
public static final Model TILE_LAVA_FLOW = new ModelTile(Resources.ATLAS.get("/tile/lava_flow.png"), 16, 50);
|
||||||
|
public static final Model TILE_LANTERN = new ModelVertical(Resources.ATLAS.get("/tile/lantern.png"), 4, 5);
|
||||||
|
|
||||||
public static final Model ENTITY_BOSS_IDLE = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_still.png"), new Vec2d(4, 4));
|
public static final Model ENTITY_BOSS_IDLE = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_still.png"), new Vec2d(4, 4));
|
||||||
public static final Model ENTITY_BOSS_FIRING = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_firing.png"), new Vec2d(4, 4), 4, 50);
|
public static final Model ENTITY_BOSS_FIRING = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_firing.png"), new Vec2d(4, 4), 4, 50);
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
import projectzombie.tiles.Tile;
|
import projectzombie.tiles.Tile;
|
||||||
import projectzombie.tiles.TileBossPortal;
|
import projectzombie.tiles.TileBossPortal;
|
||||||
|
import projectzombie.tiles.TileCactus;
|
||||||
import projectzombie.tiles.TileChest;
|
import projectzombie.tiles.TileChest;
|
||||||
import projectzombie.tiles.TileDirt;
|
import projectzombie.tiles.TileDirt;
|
||||||
import projectzombie.tiles.TileGrass;
|
import projectzombie.tiles.TileGrass;
|
||||||
|
|
@ -15,6 +16,7 @@ import projectzombie.tiles.TileLavaFlow;
|
||||||
import projectzombie.tiles.TilePortalDown;
|
import projectzombie.tiles.TilePortalDown;
|
||||||
import projectzombie.tiles.TileRock;
|
import projectzombie.tiles.TileRock;
|
||||||
import projectzombie.tiles.TileSand;
|
import projectzombie.tiles.TileSand;
|
||||||
|
import projectzombie.tiles.TileSnow;
|
||||||
import projectzombie.tiles.TileStone;
|
import projectzombie.tiles.TileStone;
|
||||||
import projectzombie.tiles.TileTree;
|
import projectzombie.tiles.TileTree;
|
||||||
import projectzombie.tiles.TileVoid;
|
import projectzombie.tiles.TileVoid;
|
||||||
|
|
@ -41,10 +43,12 @@ public class Tiles
|
||||||
public static void init() {
|
public static void init() {
|
||||||
register(VOID);
|
register(VOID);
|
||||||
register(GRASS);
|
register(GRASS);
|
||||||
|
register(SNOW);
|
||||||
register(SAND);
|
register(SAND);
|
||||||
register(STONE);
|
register(STONE);
|
||||||
register(DIRT);
|
register(DIRT);
|
||||||
register(TREE);
|
register(TREE);
|
||||||
|
register(CACTUS);
|
||||||
register(ROCK);
|
register(ROCK);
|
||||||
register(LAVA);
|
register(LAVA);
|
||||||
register(WATER);
|
register(WATER);
|
||||||
|
|
@ -60,9 +64,11 @@ public class Tiles
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Tile GRASS = new TileGrass();
|
public static final Tile GRASS = new TileGrass();
|
||||||
|
public static final Tile SNOW = new TileSnow();
|
||||||
public static final Tile SAND = new TileSand();
|
public static final Tile SAND = new TileSand();
|
||||||
public static final Tile STONE = new TileStone();
|
public static final Tile STONE = new TileStone();
|
||||||
public static final Tile DIRT = new TileDirt();
|
public static final Tile DIRT = new TileDirt();
|
||||||
|
public static final Tile CACTUS = new TileCactus();
|
||||||
public static final Tile TREE = new TileTree();
|
public static final Tile TREE = new TileTree();
|
||||||
public static final Tile VOID = new TileVoid();
|
public static final Tile VOID = new TileVoid();
|
||||||
public static final Tile ROCK = new TileRock();
|
public static final Tile ROCK = new TileRock();
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,10 @@ public class ModelGrass extends Model
|
||||||
public float[] getVerticies()
|
public float[] getVerticies()
|
||||||
{
|
{
|
||||||
return new float[] {
|
return new float[] {
|
||||||
0.5f, 0, 0.5f, 1, 1, 0, GRASS.sy, GRASS.ey, 0, 0, 0, 1, 1, 0x100,
|
0.5f, 0, 0.5f, 1, 1, 0, GRASS.sy, GRASS.ey, 0, 0, 0, 1, 1, 0b100,
|
||||||
0.5f, 0, -0.5f, 1, 0, 0, GRASS.sy, GRASS.ey, 0, 0, 0, 1, 1, 0x100,
|
0.5f, 0, -0.5f, 1, 0, 0, GRASS.sy, GRASS.ey, 0, 0, 0, 1, 1, 0b100,
|
||||||
-0.5f, 0, -0.5f, 0, 0, 0, GRASS.sy, GRASS.ey, 0, 0, 0, 1, 1, 0x100,
|
-0.5f, 0, -0.5f, 0, 0, 0, GRASS.sy, GRASS.ey, 0, 0, 0, 1, 1, 0b100,
|
||||||
-0.5f, 0, 0.5f, 0, 1, 0, GRASS.sy, GRASS.ey, 0, 0, 0, 1, 1, 0x100,
|
-0.5f, 0, 0.5f, 0, 1, 0, GRASS.sy, GRASS.ey, 0, 0, 0, 1, 1, 0b100,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
package projectzombie.model;
|
||||||
|
|
||||||
|
import gl_engine.texture.TextureRef3D;
|
||||||
|
import projectzombie.init.Resources;
|
||||||
|
|
||||||
|
public class ModelTree extends Model
|
||||||
|
{
|
||||||
|
private static final TextureRef3D TREE_BASE = Resources.ATLAS.get("/tile/tree_base.png");
|
||||||
|
private static final TextureRef3D TREE_LEAVES = Resources.ATLAS.get("/tile/tree_leaves.png");
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSize() {
|
||||||
|
return 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] getIndicies() {
|
||||||
|
return new int[] {
|
||||||
|
0, 1, 2,
|
||||||
|
2, 3, 0,
|
||||||
|
|
||||||
|
4, 5, 6,
|
||||||
|
6, 7, 4,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float[] getVerticies()
|
||||||
|
{
|
||||||
|
return new float[] {
|
||||||
|
-0.5f, 0, 0, 0, 0, 0, TREE_BASE.sy, TREE_BASE.ey, 0, 0, 0, 1, 1, 0b001,
|
||||||
|
0.5f, 0, 0, 1, 0, 0, TREE_BASE.sy, TREE_BASE.ey, 0, 0, 0, 1, 1, 0b001,
|
||||||
|
0.5f, 4, 0, 1, 1, 0, TREE_BASE.sy, TREE_BASE.ey, 0, 0, 0, 1, 1, 0b001,
|
||||||
|
-0.5f, 4, 0, 0, 1, 0, TREE_BASE.sy, TREE_BASE.ey, 0, 0, 0, 1, 1, 0b001,
|
||||||
|
|
||||||
|
-0.5f, 0, 0, 0, 0, 0, TREE_LEAVES.sy, TREE_LEAVES.ey, 0, 0, 0, 1, 1, 0b101,
|
||||||
|
0.5f, 0, 0, 1, 0, 0, TREE_LEAVES.sy, TREE_LEAVES.ey, 0, 0, 0, 1, 1, 0b101,
|
||||||
|
0.5f, 4, 0, 1, 1, 0, TREE_LEAVES.sy, TREE_LEAVES.ey, 0, 0, 0, 1, 1, 0b101,
|
||||||
|
-0.5f, 4, 0, 0, 1, 0, TREE_LEAVES.sy, TREE_LEAVES.ey, 0, 0, 0, 1, 1, 0b101,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIndexSize() {
|
||||||
|
return 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TextureRef3D[] getTextures()
|
||||||
|
{
|
||||||
|
return new TextureRef3D[] {
|
||||||
|
TREE_BASE, TREE_BASE, TREE_BASE, TREE_BASE,
|
||||||
|
TREE_LEAVES, TREE_LEAVES, TREE_LEAVES, TREE_LEAVES
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getHeight() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
package projectzombie.tiles;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import projectzombie.init.Models;
|
||||||
|
import projectzombie.model.Model;
|
||||||
|
import projectzombie.util.math.TileState;
|
||||||
|
|
||||||
|
public class TileCactus extends Tile implements TileBulletBreakable
|
||||||
|
{
|
||||||
|
private static final Random rand = new Random();
|
||||||
|
|
||||||
|
public TileCactus() {
|
||||||
|
|
||||||
|
// Set some settings
|
||||||
|
this.tileSolid = true;
|
||||||
|
this.tileHitbox = 0.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getLightDissipation(TileState state) {
|
||||||
|
return 1/8.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getBulletBreakChance() {
|
||||||
|
return 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Model getModel(byte meta) {
|
||||||
|
switch(meta)
|
||||||
|
{
|
||||||
|
case 0: return Models.TILE_CACTUS_1;
|
||||||
|
case 1: return Models.TILE_CACTUS_2;
|
||||||
|
case 2: return Models.TILE_CACTUS_3;
|
||||||
|
case 3: return Models.TILE_CACTUS_4;
|
||||||
|
default: return Models.TILE_CACTUS_1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileState getDefaultState() {
|
||||||
|
return new TileState(this, (byte)(rand.nextDouble() * 4));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -41,7 +41,13 @@ public class TileRock extends Tile implements TileBulletBreakable
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Model getModel(byte meta) {
|
public Model getModel(byte meta) {
|
||||||
return Models.TILE_ROCK;
|
switch(meta)
|
||||||
|
{
|
||||||
|
case 0: return Models.TILE_ROCK;
|
||||||
|
case 1: return Models.TILE_SNOW_PILE;
|
||||||
|
case 2: return Models.TILE_ROCK_SANDSTONE;
|
||||||
|
default: return Models.TILE_ROCK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package projectzombie.tiles;
|
||||||
|
|
||||||
|
import projectzombie.init.Models;
|
||||||
|
import projectzombie.model.Model;
|
||||||
|
|
||||||
|
public class TileSnow extends Tile
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public Model getModel(byte meta) {
|
||||||
|
return Models.TILE_SNOW;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -69,16 +69,32 @@ public class LayerGenEarth extends LayerGen
|
||||||
Vec2d pos = new Vec2d(c_pos.x * 16 + x, c_pos.y * 16 + y);
|
Vec2d pos = new Vec2d(c_pos.x * 16 + x, c_pos.y * 16 + y);
|
||||||
double n = noise_terrain.eval(pos.x / 64.0, pos.y / 64.0);
|
double n = noise_terrain.eval(pos.x / 64.0, pos.y / 64.0);
|
||||||
|
|
||||||
|
byte rock_type = 0;
|
||||||
|
|
||||||
if(n < -0.5) {
|
if(n < -0.5) {
|
||||||
chunk.setBackTile(Tiles.SAND.getDefaultState(), pos.toInt());
|
chunk.setBackTile(Tiles.SNOW.getDefaultState(), pos.toInt());
|
||||||
|
rock_type = (byte)1;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(n > 0.5) {
|
else if(n > 0.5) {
|
||||||
chunk.setBackTile(Tiles.DIRT.getDefaultState(), pos.toInt());
|
chunk.setBackTile(Tiles.SAND.getDefaultState(), pos.toInt());
|
||||||
|
rock_type = (byte)2;
|
||||||
|
|
||||||
|
if(rand.nextDouble() > 0.98) {
|
||||||
|
chunk.setFrontTile(Tiles.CACTUS.getDefaultState(), pos.toInt());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
chunk.setBackTile(Tiles.GRASS.getDefaultState(), pos.toInt());
|
chunk.setBackTile(Tiles.GRASS.getDefaultState(), pos.toInt());
|
||||||
|
|
||||||
|
if(rand.nextDouble() > 0.95) {
|
||||||
|
chunk.setFrontTile(Tiles.TREE.getDefaultState(), pos.toInt());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rand.nextDouble() > 0.92) {
|
||||||
|
chunk.setFrontTile(new TileState(Tiles.ROCK, rock_type), pos.toInt());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ uniform vec2 lightmap_size;
|
||||||
uniform vec2 tex_cut;
|
uniform vec2 tex_cut;
|
||||||
uniform vec4 color;
|
uniform vec4 color;
|
||||||
|
|
||||||
uniform vec3 color_grass_min;
|
vec3 color_grass_min = vec3(0.05, 0.8, 0);
|
||||||
uniform vec3 color_grass_max;
|
vec3 color_grass_max = vec3(1, 0.6, 0);
|
||||||
|
|
||||||
float map(float x, float in_min, float in_max, float out_min, float out_max) {
|
float map(float x, float in_min, float in_max, float out_min, float out_max) {
|
||||||
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
|
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
|
||||||
|
|
@ -41,6 +41,10 @@ float scaleLight(float level) {
|
||||||
return pow(level, 1.5);
|
return pow(level, 1.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float smoothStep(float a) {
|
||||||
|
return a * a * (3 - 2 * a);
|
||||||
|
}
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec4 light = texture(lightmap, vec2(
|
vec4 light = texture(lightmap, vec2(
|
||||||
|
|
@ -51,9 +55,9 @@ void main()
|
||||||
vec3 light_src = vec3(1, 1, 1) * (scaleLight(light.g) - abs(pLightMapPos.y) * 0.1);
|
vec3 light_src = vec3(1, 1, 1) * (scaleLight(light.g) - abs(pLightMapPos.y) * 0.1);
|
||||||
|
|
||||||
vec4 color_white = vec4(1, 1, 1, 1);
|
vec4 color_white = vec4(1, 1, 1, 1);
|
||||||
vec4 color_grass = vec4(mapVec(light.b, 0, 1, color_grass_min, color_grass_max), 1);
|
vec4 color_grass = vec4(mapVec(smoothStep(light.b), 0, 1, color_grass_min, color_grass_max), 1);
|
||||||
|
|
||||||
FragColor = texture(atlas, pTexture) * (mod(pFlags >> 2, 1) == 1 ? color_grass : color_white) *
|
FragColor = texture(atlas, pTexture) * (mod(int(pFlags / 4), 2) == 1 ? color_grass : color_white) *
|
||||||
color * vec4(biggest(light_day, light_src), 1);
|
color * vec4(biggest(light_day, light_src), 1);
|
||||||
|
|
||||||
discard(FragColor.a == 0 || (pPos.x > tex_cut.y && tex_cut.x > 0.5));
|
discard(FragColor.a == 0 || (pPos.x > tex_cut.y && tex_cut.x > 0.5));
|
||||||
|
|
|
||||||
|
|
@ -1,149 +1,157 @@
|
||||||
./tile/rock.png
|
./text/char_question.png
|
||||||
./tile/ladder.png
|
./text/char_l_a.png
|
||||||
./tile/tree.png
|
./text/char_u_j.png
|
||||||
./tile/water.png
|
./text/char_l_u.png
|
||||||
./tile/ladder_up.png
|
./text/char_u_s.png
|
||||||
./tile/dirt.png
|
./text/char_l_s.png
|
||||||
./tile/wall.png
|
./text/char_plus.png
|
||||||
./tile/tunnel_down.png
|
./text/char_l_e.png
|
||||||
./tile/stone.png
|
./text/char_7.png
|
||||||
./tile/boss_portal.png
|
./text/char_minus.png
|
||||||
./tile/sand.png
|
./text/char_u_r.png
|
||||||
./tile/lantern.png
|
./text/char_u_l.png
|
||||||
./tile/chest.png
|
./text/char_obracket.png
|
||||||
./tile/lava.png
|
./text/char_u_m.png
|
||||||
./tile/lava_flow.png
|
./text/char_l_t.png
|
||||||
./tile/grass.png
|
./text/char_percent.png
|
||||||
|
./text/char_l_y.png
|
||||||
|
./text/char_0.png
|
||||||
|
./text/char_4.png
|
||||||
|
./text/char_l_r.png
|
||||||
|
./text/char_l_m.png
|
||||||
|
./text/char_cbracket.png
|
||||||
|
./text/char_u_g.png
|
||||||
|
./text/char_u_q.png
|
||||||
|
./text/char_u_i.png
|
||||||
|
./text/char_l_w.png
|
||||||
|
./text/char_l_v.png
|
||||||
|
./text/char_fslash.png
|
||||||
|
./text/char_u_p.png
|
||||||
|
./text/char_gthan.png
|
||||||
|
./text/char_8.png
|
||||||
|
./text/char_unknown.png
|
||||||
|
./text/char_u_n.png
|
||||||
|
./text/char_l_i.png
|
||||||
|
./text/char_u_y.png
|
||||||
|
./text/char_l_p.png
|
||||||
|
./text/char_lthan.png
|
||||||
|
./text/char_l_g.png
|
||||||
|
./text/char_bslash.png
|
||||||
|
./text/char_1.png
|
||||||
|
./text/char_u_z.png
|
||||||
|
./text/char_l_f.png
|
||||||
|
./text/char_u_w.png
|
||||||
|
./text/char_9.png
|
||||||
|
./text/char_l_x.png
|
||||||
|
./text/char_l_o.png
|
||||||
|
./text/char_equals.png
|
||||||
|
./text/char_l_d.png
|
||||||
|
./text/char_dollar.png
|
||||||
|
./text/char_hashtag.png
|
||||||
|
./text/char_l_q.png
|
||||||
|
./text/char_u_o.png
|
||||||
|
./text/char_6.png
|
||||||
|
./text/char_u_d.png
|
||||||
|
./text/char_u_e.png
|
||||||
|
./text/char_exclamation.png
|
||||||
|
./text/char_vertical.png
|
||||||
|
./text/char_u_k.png
|
||||||
|
./text/char_u_c.png
|
||||||
|
./text/char_l_n.png
|
||||||
|
./text/char_u_b.png
|
||||||
|
./text/char_u_f.png
|
||||||
|
./text/char_l_h.png
|
||||||
|
./text/char_l_k.png
|
||||||
|
./text/char_u_t.png
|
||||||
|
./text/char_3.png
|
||||||
|
./text/char_u_v.png
|
||||||
|
./text/char_u_h.png
|
||||||
|
./text/char_u_a.png
|
||||||
|
./text/char_l_b.png
|
||||||
|
./text/char_underscore.png
|
||||||
|
./text/char_u_x.png
|
||||||
|
./text/char_comma.png
|
||||||
|
./text/char_l_l.png
|
||||||
|
./text/char_5.png
|
||||||
|
./text/char_colon.png
|
||||||
|
./text/char_l_z.png
|
||||||
|
./text/char_space.png
|
||||||
|
./text/char_2.png
|
||||||
|
./text/char_l_j.png
|
||||||
|
./text/char_fullstop.png
|
||||||
|
./text/char_l_c.png
|
||||||
|
./text/char_u_u.png
|
||||||
./list.txt
|
./list.txt
|
||||||
./item/rock.png
|
./player/player_white_front_moving.png
|
||||||
./item/ammo_box.png
|
./player/player_white_back_moving.png
|
||||||
./item/shield_upgrade.png
|
./player/player_black_back_moving.png
|
||||||
./item/grappling_hook.png
|
./player/player_black_back_still.png
|
||||||
./item/health_potion.png
|
|
||||||
./item/gun_upgrade.png
|
|
||||||
./player/player_white_back_still.png
|
./player/player_white_back_still.png
|
||||||
./player/player_white_front_still.png
|
./player/player_white_front_still.png
|
||||||
./player/player_black_front_moving.png
|
./player/player_black_front_moving.png
|
||||||
./player/player_black_front_still.png
|
./player/player_black_front_still.png
|
||||||
./player/player_black_back_moving.png
|
./particle/smoke_trail.png
|
||||||
./player/player_black_back_still.png
|
./particle/water.png
|
||||||
./player/player_white_back_moving.png
|
./particle/smoke_0.png
|
||||||
./player/player_white_front_moving.png
|
./particle/smoke_1.png
|
||||||
./gui/gun.png
|
./particle/blood.png
|
||||||
|
./particle/lava.png
|
||||||
|
./particle/bullet.png
|
||||||
|
./particle/smoke_2.png
|
||||||
|
./particle/smoke_4.png
|
||||||
|
./particle/smoke_3.png
|
||||||
|
./particle/smoke_5.png
|
||||||
./gui/health_empty.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
|
./gui/button_hover.png
|
||||||
./text/char_bslash.png
|
./gui/button_normal.png
|
||||||
./text/char_dollar.png
|
./gui/hotbar.png
|
||||||
./text/char_l_w.png
|
./gui/health_full.png
|
||||||
./text/char_u_d.png
|
./gui/hotbar_selected.png
|
||||||
./text/char_u_t.png
|
./gui/shield.png
|
||||||
./text/char_space.png
|
./gui/gun.png
|
||||||
./text/char_l_x.png
|
./tile/cactus4.png
|
||||||
./text/char_l_k.png
|
./tile/dirt.png
|
||||||
./text/char_6.png
|
./tile/lantern.png
|
||||||
./text/char_unknown.png
|
./tile/wall.png
|
||||||
./text/char_comma.png
|
./tile/cactus2.png
|
||||||
./text/char_obracket.png
|
./tile/rock.png
|
||||||
./text/char_u_w.png
|
./tile/water.png
|
||||||
./text/char_7.png
|
./tile/stone.png
|
||||||
./text/char_l_f.png
|
./tile/tree_leaves.png
|
||||||
./text/char_vertical.png
|
./tile/ladder_up.png
|
||||||
./text/char_plus.png
|
./tile/lava_flow.png
|
||||||
./text/char_u_a.png
|
./tile/grass.png
|
||||||
./text/char_9.png
|
./tile/chest.png
|
||||||
./text/char_u_k.png
|
./tile/lava.png
|
||||||
./text/char_u_n.png
|
./tile/snow.png
|
||||||
./text/char_percent.png
|
./tile/rock_sandstone.png
|
||||||
./text/char_u_m.png
|
./tile/cactus1.png
|
||||||
./text/char_exclamation.png
|
./tile/tunnel_down.png
|
||||||
./text/char_1.png
|
./tile/snow_pile.png
|
||||||
./text/char_l_q.png
|
./tile/boss_portal.png
|
||||||
./text/char_l_z.png
|
./tile/ladder.png
|
||||||
./text/char_l_h.png
|
./tile/sand.png
|
||||||
./text/char_u_c.png
|
./tile/tree_base.png
|
||||||
./text/char_l_g.png
|
./tile/cactus3.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/flare.png
|
||||||
./entity/boss1/boss_walking.png
|
./entity/grappling_hook.png
|
||||||
|
./entity/zombie_back_moving.png
|
||||||
|
./entity/tnt.png
|
||||||
|
./entity/armored_zombie_back_moving.png
|
||||||
|
./entity/armored_zombie_front_moving.png
|
||||||
|
./entity/dummy.png
|
||||||
|
./entity/armored_zombie_front_still.png
|
||||||
|
./entity/armored_zombie_back_still.png
|
||||||
|
./entity/zombie_front_moving.png
|
||||||
|
./entity/boss1/boss_walking_firing.png
|
||||||
./entity/boss1/boss_firing.png
|
./entity/boss1/boss_firing.png
|
||||||
./entity/boss1/boss_still.png
|
./entity/boss1/boss_still.png
|
||||||
./entity/boss1/boss_walking_firing.png
|
./entity/boss1/boss_walking.png
|
||||||
./entity/armored_zombie_back_still.png
|
|
||||||
./entity/armored_zombie_front_moving.png
|
|
||||||
./entity/grappling_hook.png
|
|
||||||
./entity/zombie_back_still.png
|
./entity/zombie_back_still.png
|
||||||
./entity/dummy.png
|
./entity/zombie_front_still.png
|
||||||
./entity/zombie_back_moving.png
|
./item/grappling_hook.png
|
||||||
./entity/armored_zombie_front_still.png
|
./item/gun_upgrade.png
|
||||||
./entity/zombie_front_moving.png
|
./item/shield_upgrade.png
|
||||||
./particle/smoke_1.png
|
./item/rock.png
|
||||||
./particle/water.png
|
./item/ammo_box.png
|
||||||
./particle/blood.png
|
./item/health_potion.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
|
|
||||||
|
|
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 1.0 KiB |